दोहरी चलती औसत क्रॉसओवर ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-10-07 16:39:01
टैगः

अवलोकन

यह रणनीति ट्रेंड को निर्धारित करने और खरीद और बिक्री संकेत उत्पन्न करने के लिए दोहरी चलती औसत के स्वर्ण क्रॉस और डेथ क्रॉस का उपयोग करती है। जब तेजी से चलती औसत नीचे से धीमी चलती औसत से ऊपर की ओर जाती है, तो एक स्वर्ण क्रॉस होता है और एक खरीद संकेत उत्पन्न होता है। जब तेजी से चलती औसत ऊपर से धीमी चलती औसत से नीचे की ओर जाती है, तो एक मृत्यु क्रॉस होता है और एक बिक्री संकेत उत्पन्न होता है।

रणनीति तर्क

इस रणनीति में निम्नलिखित घटक शामिल हैंः

  1. प्रतिशत के रूप में मूल्य के दोलनकर्ता मूल्य की गणना करें। दोलनकर्ता मूल्य मूल्य का प्रतिशत है, जिसमें एक मध्य मान घटाया गया है। मध्य मान की गणना उदाहरण 20 दिनों के उच्चतम और निम्नतम मूल्य के औसत के रूप में की जाती है।

  2. ऑसिलेटर मूल्यों के चलती औसत की गणना करें, जैसे कि 20-दिवसीय हुल चलती औसत।

  3. चलती औसत के विलंब मान की गणना करें, जैसे कि 12 दिन का विलंब।

  4. निर्धारित करें कि चलती औसत पिछड़ी चलती औसत से ऊपर या नीचे पार करती है, जिससे स्वर्ण क्रॉस या मृत्यु क्रॉस संकेत उत्पन्न होते हैं।

  5. खरीदने और बेचने के संकेत जारी करें।

विशेष रूप से, रणनीति पहले मूल्य के ऑसिलेटर मूल्य की गणना करती है, फिर ऑसिलेटर का चलती औसत, और फिर चलती औसत का पिछड़ा मूल्य।

जब ऑसिलेटर मूविंग एवरेज लेगिंग मूविंग एवरेज से ऊपर जाता है, तो लॉन्ग के लिए गोल्डन क्रॉस सिग्नल उत्पन्न होता है। जब ऑसिलेटर मूविंग एवरेज लेगिंग मूविंग एवरेज से नीचे जाता है, तो शॉर्ट के लिए डेथ क्रॉस सिग्नल उत्पन्न होता है।

द्विआधारी चलती औसत के क्रॉसओवर को देखते हुए व्यापार की दिशा निर्धारित की जाती है।

लाभ विश्लेषण

इस रणनीति के लाभों में निम्नलिखित शामिल हैंः

  1. दोहरी चलती औसत का प्रयोग झूठे संकेतों को फ़िल्टर करता है और संकेत की विश्वसनीयता में सुधार करता है।

  2. तेज और धीमी गति से चलने वाले औसत का संयोजन मध्यम अवधि के रुझानों को पकड़ता है। तेज एमए मूल्य परिवर्तनों के प्रति संवेदनशील है जबकि धीमी एमए में पिछड़ी गुणवत्ता है। दोनों को मिलाकर मध्यम अवधि के रुझान उलटने को पकड़ते हुए अल्पकालिक शोर को फ़िल्टर किया जाता है।

  3. ऑसिलेटर ब्रेकआउट बिंदुओं को उजागर करता है और स्पष्ट ट्रेडिंग संकेत उत्पन्न करता है।

  4. अनुकूलन योग्य एमए एल्गोरिदम और पैरामीटर विभिन्न बाजार वातावरणों के अनुकूल हैं।

  5. सरल और स्पष्ट रणनीति तर्क, समझने और लागू करने में आसान, शुरुआती के अनुकूल।

जोखिम विश्लेषण

इस रणनीति के जोखिमों में निम्नलिखित शामिल हैंः

  1. दोहरे एमए क्रॉसओवर में संकेतों में देरी होती है, संभावित रूप से सर्वोत्तम प्रवेश बिंदुओं को याद करते हैं।

  2. रेंज-बाउंड बाजारों के दौरान गलत संकेतों के लिए प्रवण।

  3. तेजी के दौरान तेजी की ताकत निर्धारित करने में असमर्थता, तेजी से बाजार से बाहर निकलने का जोखिम है।

  4. बहुत सारे समायोज्य पैरामीटर, सर्वोत्तम पैरामीटर संयोजनों के लिए अनुकूलित करना मुश्किल है।

  5. कोई स्टॉप लॉस तंत्र नहीं, एकल व्यापार हानि को नियंत्रित करने में असमर्थ।

अनुकूलन दिशाएँ

इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः

  1. एमए प्रकारों और मापदंडों का अनुकूलन, विभिन्न बाजारों में परीक्षण स्थिरता।

  2. गलत संकेतों से अनावश्यक ट्रेडों से बचने के लिए ADX जैसे रुझान निर्धारित करने वाले संकेतक जोड़ें।

  3. एकल व्यापार हानि को नियंत्रित करने के लिए ट्रेलिंग स्टॉप या प्रतिशत स्टॉप जैसे स्टॉप लॉस तंत्र जोड़ें।

  4. संकेत की गुणवत्ता में सुधार के लिए वॉल्यूम, आरएसआई जैसे अन्य संकेतकों को शामिल करें।

  5. अधिक मजबूत सेटिंग्स के लिए स्वचालित रूप से पैरामीटर अनुकूलित करने के लिए मशीन लर्निंग का उपयोग करें.

  6. चूक गए ट्रेडों को कम करने के लिए प्रवेश की शर्तों में थोड़ा ढील देने पर विचार करें।

सारांश

यह दोहरी चलती औसत क्रॉसओवर रणनीति, तेजी से और धीमी गति से चलती औसत को मिलाकर, अल्पकालिक बाजार शोर को फ़िल्टर करके, मध्यम अवधि के रुझान उलट बिंदुओं को कैप्चर करती है। इसका सरल, समझने में आसान और शुरुआती के अनुकूल होने का लाभ है। लेकिन इसमें गलत संकेत उत्पन्न करने और रुझान की ताकत निर्धारित करने में असमर्थता जैसे नुकसान भी हैं। रणनीति को एमए मापदंडों को अनुकूलित करके, प्रवृत्ति फिल्टर जोड़कर, स्टॉप लॉस स्थितियों को सेट करके, आदि को विभिन्न बाजार वातावरण के अनुरूप सुधार किया जा सकता है। कुल मिलाकर, दोहरी एमए रणनीति एक व्यावहारिक तकनीकी संकेतक आधारित रणनीति है जिसे अनुकूलन और लाइव परीक्षण के माध्यम से सत्यापित करने के लायक है।


/*backtest
start: 2023-09-06 00:00:00
end: 2023-10-06 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © EvoCrypto

//@version=4
strategy("Distance Oscillator Strategy- evo", shorttitle="Distance Oscillator Strategy")

// INPUTS {
na_1                =   input(false,    title="────────────{ Oscillator }──────────────")

// Osc_Src             =   input(close,    title="Oscillator Source                                ")

Example_Length      =   input(20,       title="Example Length", minval=1)
Osc_Src             =   (highest(Example_Length) + lowest(Example_Length)) / 2

// Strategy can not let you choose a Moving Average to connect with like the study version, so I use the MA above as example

Osc_Format          =   input("Percent",title="Oscillator Format",              options=["Percent", "Currency"]) 

na_2                =   input(false,    title="─────────────{ Average }──────────────")
Average_Type        =   input("Hull",   title="Average Type",                   options=["Hull", "Sma", "Ema", "Wma"])
Length              =   input(50,       title="Average Length", minval=1)
Lagg                =   input(12,       title="Average Lagg",   minval=1)
Display_MA          =   input(true,     title="Display Average")
// }

// SETTINGS {
Osc_Sum             =   
 Osc_Format == "Percent"  ? (close - Osc_Src) / close * 100 :
 Osc_Format == "Currency" ? (close - Osc_Src)               : na

Osc_MA              =   Display_MA == false ? na:
 Average_Type == "Hull"? hma(Osc_Sum, Length)   :
 Average_Type == "Sma" ? sma(Osc_Sum, Length)   :
 Average_Type == "Ema" ? ema(Osc_Sum, Length)   :
 Average_Type == "Wma" ? wma(Osc_Sum, Length)   : na
Osc_MA_1            =   Osc_MA[Lagg]

Cross_Up            =   crossover( Osc_MA, Osc_MA_1)
Cross_Down          =   crossunder(Osc_MA, Osc_MA_1)

Osc_Color           =   Osc_Sum > 0         ? color.new(#bbdefb, 70)  : Osc_Sum < 0          ? color.new(#000000, 70)  : na
Average_Color       =   Osc_MA  > Osc_MA_1  ? color.new(#311b92, 100) : Osc_MA  < Osc_MA_1   ? color.new(#b71c1c, 100) : na
// }

// PLOT {
plot(Osc_Sum,                           title="Oscillator", color=Osc_Color, style=plot.style_histogram, linewidth=2)

Plot_0              =   plot(Osc_MA,    title="Osc Average",color=#b71c1c, linewidth=2)
Plot_1              =   plot(Osc_MA_1,  title="Osc Average",color=#311b92, linewidth=2)
fill(Plot_0, Plot_1,                    title="Average",    color=Average_Color)

plotshape(Cross_Up   ? Osc_MA_1 : na,   title="Cross Up",   color=#bbdefb, location=location.absolute, size=size.tiny, style=shape.circle)
plotshape(Cross_Down ? Osc_MA_1 : na,   title="Cross Down", color=#000000, location=location.absolute, size=size.tiny, style=shape.circle)
// }

// STRATEGY {
if (Cross_Up)
    strategy.entry("Long", strategy.long)
if (Cross_Down)
    strategy.entry("Short", strategy.short)
// }

अधिक