दोहरी मूविंग एवरेज रिवर्सल ट्रेडिंग रणनीति


निर्माण तिथि: 2023-12-04 16:39:13 अंत में संशोधित करें: 2023-12-04 16:39:13
कॉपी: 0 क्लिक्स: 554
1
ध्यान केंद्रित करना
1619
समर्थक

दोहरी मूविंग एवरेज रिवर्सल ट्रेडिंग रणनीति

अवलोकन

यह एक द्विआधारी चलती औसत संकेतक पर आधारित एक उलटा ट्रेडिंग रणनीति है। यह रणनीति दो अलग-अलग पैरामीटर सेट की एक चलती औसत की गणना करके कीमतों की प्रवृत्ति को उनकी दिशा में परिवर्तन के आधार पर निर्धारित करती है और दिशा में परिवर्तन के लिए संवेदनशीलता पैरामीटर सेट करती है, जिससे ट्रेडिंग सिग्नल उत्पन्न होता है।

रणनीति सिद्धांत

इस रणनीति का केंद्रीय संकेतक दोहरी चलती औसत है। रणनीति चलती औसत के प्रकार (एसएमए, ईएमए, आदि), लंबाई और मूल्य स्रोत (समापन मूल्य, विशिष्ट मूल्य, आदि) का चयन करने की अनुमति देती है। दो सेटों की चलती औसत की गणना करने के बाद, एक पैरामीटर प्रतिक्रिया को परिभाषित करके इसकी दिशा निर्धारित की जाती है। एक खरीद संकेत उत्पन्न होता है जब तेज लाइन को धीमी लाइन से पार किया जाता है, और एक बिक्री संकेत उत्पन्न होता है जब नीचे की ओर पार किया जाता है। प्रतिक्रिया पैरामीटर का उपयोग टर्नओवर की पहचान करने की संवेदनशीलता को समायोजित करने के लिए किया जाता है।

इसके अलावा, रणनीति में परिवर्तन की दिशा और निरंतर वृद्धि / गिरावट के लिए शर्तें निर्धारित की गई हैं, ताकि गलत संकेतों को रोका जा सके। और विभिन्न रंगों के साथ मूल्य की गिरावट की स्थिति को प्रदर्शित किया जा सके। जब कीमत लगातार बढ़ रही है, तो movavg लाइन हरे रंग में दिखाई देती है, और जब यह गिरती है तो लाल दिखाई देती है।

श्रेष्ठता विश्लेषण

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

प्रतिक्रिया संवेदनशीलता पैरामीटर इस रणनीति को विभिन्न चक्रों और किस्मों के लिए लचीला बनाने की अनुमति देता है। रणनीति प्रक्रिया सरल और समझने और अनुकूलित करने के लिए आसान है।

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

इस रणनीति का सबसे बड़ा जोखिम यह है कि टर्निंग पॉइंट को याद करते हुए घाटा या रिवर्स पोजीशन हो। यह पैरामीटर प्रतिक्रिया सेटिंग से संबंधित है। यदि प्रतिक्रिया बहुत छोटी है, तो यह गलत सिग्नल के लिए आसान है; यदि प्रतिक्रिया बहुत बड़ी है, तो यह बेहतर प्रवेश बिंदु को याद कर सकता है।

एक अन्य जोखिम यह है कि घाटे को प्रभावी ढंग से नियंत्रित नहीं किया जा सकता है। जब कीमतों में भारी उतार-चढ़ाव होता है, तो घाटे को तेजी से बंद नहीं किया जा सकता है, जिससे घाटे का विस्तार होता है। इसे रोकने के लिए नुकसान की रणनीति की आवश्यकता होती है।

अनुकूलन दिशा

इस रणनीति का अनुकूलन दिशा मुख्य रूप से पैरामीटर प्रतिक्रिया, चलती औसत प्रकार और लंबाई की पसंद पर केंद्रित है। प्रतिक्रिया को गलत संकेतों को कम करने के लिए उचित रूप से बढ़ाया जा सकता है। चलती औसत पैरामीटर को विभिन्न अवधि और किस्मों के अनुसार परीक्षण किया जा सकता है, जिससे संकेत का सबसे अच्छा संयोजन चुना जा सकता है।

इसके अलावा, RSI, KD आदि जैसे अन्य सहायक संकेतकों के साथ व्यापार संकेतों की पुष्टि करने के लिए अनुकूलन विचार भी है। या मशीन सीखने के तरीकों का उपयोग करके स्वचालित रूप से अनुकूलित पैरामीटर।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-11-03 00:00:00
end: 2023-12-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(shorttitle="MA_color strategy", title="Moving Average Color", overlay=true)

// === INPUTS

ma_type   = input(defval="HullMA", title="MA Type: ", options=["SMA", "EMA", "WMA", "VWMA", "SMMA", "DEMA", "TEMA", "HullMA", "ZEMA", "TMA", "SSMA"])
ma_len    = input(defval=32, title="MA Lenght", minval=1)
ma_src    = input(close, title="MA Source")
reaction  = input(defval=2, title="MA Reaction", minval=1)

// SuperSmoother filter
// © 2013  John F. Ehlers
variant_supersmoother(src,len) =>
    a1 = exp(-1.414*3.14159 / len)
    b1 = 2*a1*cos(1.414*3.14159 / len)
    c2 = b1
    c3 = (-a1)*a1
    c1 = 1 - c2 - c3
    v9 = 0.0
    v9 := c1*(src + nz(src[1])) / 2 + c2*nz(v9[1]) + c3*nz(v9[2])
    v9
    
variant_smoothed(src,len) =>
    v5 = 0.0
    v5 := na(v5[1]) ? sma(src, len) : (v5[1] * (len - 1) + src) / len
    v5

variant_zerolagema(src,len) =>
    ema1 = ema(src, len)
    ema2 = ema(ema1, len)
    v10 = ema1+(ema1-ema2)
    v10
    
variant_doubleema(src,len) =>
    v2 = ema(src, len)
    v6 = 2 * v2 - ema(v2, len)
    v6

variant_tripleema(src,len) =>
    v2 = ema(src, len)
    v7 = 3 * (v2 - ema(v2, len)) + ema(ema(v2, len), len)              
    v7
    
variant(type, src, len) =>
    type=="EMA"     ? ema(src,len) : 
      type=="WMA"   ? wma(src,len): 
      type=="VWMA"  ? vwma(src,len) : 
      type=="SMMA"  ? variant_smoothed(src,len) : 
      type=="DEMA"  ? variant_doubleema(src,len): 
      type=="TEMA"  ? variant_tripleema(src,len): 
      type=="HullMA"? wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len))) :
      type=="SSMA"  ? variant_supersmoother(src,len) : 
      type=="ZEMA"  ? variant_zerolagema(src,len) : 
      type=="TMA"   ? sma(sma(src,len),len) : sma(src,len)


// === Moving Average
ma_series = variant(ma_type,ma_src,ma_len)

direction = 0
direction := rising(ma_series,reaction) ? 1 : falling(ma_series,reaction) ? -1 : nz(direction[1])
change_direction= change(direction,1)
change_direction1= change(direction,1)

pcol = direction>0 ? lime : direction<0 ? red : na
plot(ma_series, color=pcol,style=line,join=true,linewidth=3,transp=10,title="MA PLOT")

/////// Alerts ///////

alertcondition(change_direction,title="Change Direction MA",message="Change Direction MA")


longCondition = direction>0
shortCondition = direction<0
if (longCondition)
    strategy.entry("BUY", strategy.long)
if (shortCondition)
    strategy.entry("SELL", strategy.short)