
डबल ट्रेंड ट्रैकिंग रणनीति एक सुपर ट्रेंडिंग सूचक, द्वि-सूचक चलती औसत (डीईएमए) और ब्रिन बैंड के संयोजन की एक जटिल रणनीति है। इसका उद्देश्य कई तकनीकी संकेतकों का लाभ उठाना है ताकि ट्रेंड रिवर्स के दौरान समय पर खरीद और बिक्री के संकेतों को पकड़ सके।
इस रणनीति में तीन मुख्य भाग हैं:
सुपरट्रेंड सूचक: यह एक अपट्रेंड लाइन और डाउनट्रेंड लाइन की गणना करता है ताकि यह पता लगाया जा सके कि वर्तमान प्रवृत्ति किस दिशा में है। यह एक खरीद संकेत उत्पन्न करता है जब कीमत एक सुपरट्रेंड लाइन को नीचे से ऊपर तक तोड़ती है; यह एक बिक्री संकेत उत्पन्न करता है जब यह एक सुपरट्रेंड लाइन को ऊपर से नीचे तक तोड़ती है।
द्विआधारी चलती औसत (डीईएमए): एक ट्रेंड ट्रैकिंग सूचक जो सरल चलती औसत और सूचकांक चलती औसत की विशेषताओं को जोड़ता है, जो मूल्य परिवर्तनों के लिए अधिक तेज़ी से प्रतिक्रिया करता है। रणनीति में 200 दिन का डीईएमए सेट किया गया है, जिसका उपयोग दीर्घकालिक प्रवृत्ति की दिशा का निर्धारण करने के लिए किया जाता है।
बुलिन बैंडः मूल्य में उतार-चढ़ाव की सीमा को दर्शाता है। जब बुलिन बैंड असामान्य रूप से संकुचित या विस्तारित होता है, तो यह एक संभावित रुझान उलट को इंगित करता है।
जब सुपरट्रेंड सूचक और डीईएमए दोनों खरीद / बेचने के संकेत देते हैं, तो संबंधित स्थिति में प्रवेश किया जाता है। इसके अलावा, ब्रिन बैंड की असामान्यताएं सहायक निर्णय के संकेत के रूप में भी काम कर सकती हैं।
दोहरी प्रवृत्ति ट्रैकिंग रणनीति बहु-सूचक संयोजन, सुपरट्रेंड, डीईएमए और ब्रिन बैंड के तीनों के लाभों का समग्र उपयोग, प्रवृत्ति को पकड़ने के साथ-साथ सिग्नल की गुणवत्ता में सुधार, पैरामीटर अनुकूलन के माध्यम से बेहतर रणनीति प्रभाव प्राप्त करने की उम्मीद है। स्टॉप-लॉस तंत्र का जोड़ना भी भविष्य के अनुकूलन पर ध्यान केंद्रित है।
/*backtest
start: 2023-01-09 00:00:00
end: 2024-01-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Supertrend + DEMA + Bollinger Bands", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, precision=2)
// Input parameters for Supertrend
atrLength = input(title="ATR Period", type=input.integer, defval=12)
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)
showSupertrend = input(title="Show Supertrend Indicator?", type=input.bool, defval=true)
// Input parameters for DEMA
demaLength = input(200, title="DEMA Period")
showDEMA = input(title="Show DEMA Indicator?", type=input.bool, defval=true)
// Calculate ATR for Supertrend
atr2 = sma(tr, atrLength)
atr = changeATR ? atr(atrLength) : atr2
// Calculate Supertrend
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
// Plot Supertrend
upPlot = plot(showSupertrend ? (trend == 1 ? up : na) : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0))
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.new(color.green, 0))
plotshape(buySignal ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0))
dnPlot = plot(showSupertrend ? (trend == 1 ? na : dn) : na, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
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.new(color.red, 0))
plotshape(sellSignal ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = (trend == 1 ? color.new(color.green, 80) : color.new(color.white, 0))
shortFillColor = (trend == -1 ? color.new(color.red, 80) : color.new(color.white, 0))
fill(mPlot, upPlot, title="UpTrend Highlighter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highlighter", color=shortFillColor)
// Alert conditions
alertcondition(buySignal, title="Custom Supertrend Buy", message="Custom Supertrend Buy!")
alertcondition(sellSignal, title="Custom Supertrend Sell", message="Custom Supertrend Sell!")
// Calculate DEMA
ema1 = ema(close, demaLength)
dema = 2 * ema1 - ema(ema1, demaLength)
// Plot DEMA with white color
plot(showDEMA ? dema : na, color=color.new(color.white, 0), title="DEMA", linewidth=2)
// Add push notification on mobile if buy and sell occurred
if (buySignal)
strategy.entry("Buy", strategy.long)
strategy.exit("Sell")
alert("Buy Signal - Supertrend")
if (sellSignal)
strategy.entry("Sell", strategy.short)
strategy.exit("Cover")
alert("Sell Signal - Supertrend")