दोहरी चलती औसत रणनीति


निर्माण तिथि: 2023-10-07 15:18:44 अंत में संशोधित करें: 2023-10-07 15:18:44
कॉपी: 0 क्लिक्स: 641
1
ध्यान केंद्रित करना
1617
समर्थक

अवलोकन

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

सिद्धांत

यह रणनीति मुख्य रूप से चलती औसत रेखा की प्रवृत्ति ट्रैकिंग सुविधा का उपयोग करती है। चलती औसत रेखा एक निश्चित अवधि के भीतर ऐतिहासिक समापन मूल्य के आधार पर गणना की गई औसत कीमत है, यह दिन के भीतर छोटे उतार-चढ़ाव को हल कर सकती है, जो बड़े समय के भीतर मूल्य प्रवृत्ति को दर्शाती है। तेज औसत रेखा कम अवधि का उपयोग करती है, जो मूल्य परिवर्तनों के लिए अधिक तेज़ी से प्रतिक्रिया करती है; धीमी औसत रेखा लंबी अवधि का उपयोग करती है, जो लंबी अवधि की प्रवृत्ति को दर्शाती है। तेज औसत रेखा पर धीमी औसत रेखा को पार करना दीर्घकालिक प्रवृत्ति को तोड़ने के लिए अल्पकालिक स्थिति को दर्शाता है, यह दर्शाता है कि कीमत ऊपर की ओर प्रवृत्ति शुरू कर रही है; इसके विपरीत, तेज औसत रेखा के नीचे धीमी औसत रेखा को पार करना यह दर्शाता है कि लंबी अवधि की प्रवृत्ति को झटका लगा है और कीमतें गिर सकती हैं।

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

लाभ

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

जोखिम

  • द्वि-समान-रेखा क्रॉसिंग रणनीति में देरी, मूल्य परिवर्तन बिंदु से चूक सकता है
  • भूकंप की स्थिति के लिए उपयुक्त नहीं है, अधिक गलत संकेत पैदा करता है
  • गलत औसत चक्र पैरामीटर अतिसंवेदनशीलता या मंदता का कारण बन सकता है
  • पृष्ठभूमि के रुझानों और कार्रवाई के समय को निर्धारित करने के लिए अन्य संकेतकों के साथ सहयोग की आवश्यकता

अनुकूलन दिशा

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

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-01-01 00:00:00
end: 2023-04-14 00:00:00
period: 1d
basePeriod: 1h
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/
// © KivancOzbilgic


//@version=4
strategy("pomila", overlay=true)
Periods = input(title="ATR Period", type=input.integer, defval=10)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=false)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)
barcoloring = input(title="Bar Coloring On/Off ?", type=input.bool, defval=true)
atr2 = sma(tr, Periods)
atr= changeATR ? atr(Periods) : atr2
up=src-(Multiplier*atr)
up1 = nz(up[1],up)
up := close[1] > up1 ? max(up,up1) : up
dn=src+(Multiplier*atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green, transp=0)
plotshape(buySignal and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red, transp=0)
plotshape(sellSignal and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white
fill(mPlot, upPlot, title="UpTrend Highligter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highligter", color=shortFillColor)
FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 999)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 999)
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)       
window()  => time >= start and time <= finish ? true : false
longCondition = buySignal
if (longCondition)
    strategy.entry("BUY", strategy.long, when = window())
shortCondition = sellSignal
if (shortCondition)
    strategy.entry("SELL", strategy.short, when = window())
buy1= barssince(buySignal)
sell1 = barssince(sellSignal)
color1 = buy1[1] < sell1[1] ? color.green : buy1[1] > sell1[1] ? color.red : na
barcolor(barcoloring ? color1 : na)