दोहरी प्रवृत्ति ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-16 15:03:55
टैगः

img

अवलोकन

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

रणनीति तर्क

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

  1. सुपरट्रेंड इंडिकेटर: वर्तमान ट्रेंड दिशा निर्धारित करने के लिए ऊपर की ब्रेकआउट लाइन और नीचे की ब्रेकआउट लाइन की गणना करता है। यह खरीद संकेत उत्पन्न करता है जब कीमत सुपरट्रेंड लाइन से ऊपर की ओर टूटती है, और बिक्री संकेत उत्पन्न करता है जब कीमत नीचे की ओर टूटती है।

  2. डबल एक्सपोनेंशियल मूविंग एवरेज (डीईएमए): एक ट्रेंड ट्रैकिंग इंडिकेटर जो सरल मूविंग एवरेज और एक्सपोनेंशियल मूविंग एवरेज की विशेषताओं को जोड़ता है, जो मूल्य परिवर्तनों पर तेजी से प्रतिक्रिया कर सकता है। रणनीति लंबी अवधि की प्रवृत्ति दिशा का न्याय करने के लिए 200-दिवसीय डीईएमए निर्धारित करती है।

  3. बोलिंगर बैंड्स: कीमतों के उतार-चढ़ाव की सीमा का प्रतिनिधित्व करता है। बोलिंगर बैंड्स का असामान्य संकुचन या विस्तार संभावित प्रवृत्ति उलट का संकेत देता है।

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

लाभ

  1. कई संकेतकों का संयोजन झूठे संकेतों को कम करता है।

  2. सुपरट्रेंड सूचक मामूली मूल्य परिवर्तनों के प्रति असंवेदनशील होता है और केवल प्रवृत्ति मोड़ बिंदुओं पर संकेत उत्पन्न करता है, अत्यधिक ट्रेडिंग आवृत्ति से बचता है।

  3. डीईएमए चिकनी वक्र सटीक और विश्वसनीय रूप से दीर्घकालिक रुझानों का आकलन करता है।

  4. बोलिंगर बैंड्स रुझान उलटने के बिंदुओं को निर्धारित करने में सहायता करते हैं।

जोखिम और समाधान

  1. अति संवेदनशील सुपरट्रेंड मापदंड अधिक शोर उत्पन्न कर सकते हैं। एटीआर अवधि और गुणक मापदंडों का अनुकूलन इसे बेहतर बना सकता है।

  2. लंबे समय तक डीईएमए अवधि खराब प्रवृत्ति के बाद क्षमता का परिणाम है। 100 दिनों की तरह छोटी अवधि का परीक्षण कर सकते हैं।

  3. कई संकेतकों के निर्णय को जोड़ते समय असंगत संकेत। इस मामले में, सुपरट्रेंड संकेतक को प्राथमिक संकेत माना जा सकता है।

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

  1. सुपरट्रेंड सूचक के लिए इष्टतम संयोजन खोजने के लिए विभिन्न एटीआर अवधि और गुणक मापदंडों का परीक्षण करें।

  2. डीईएमए अवधि पैरामीटर का अनुकूलन करें.

  3. अन्य सहायक संकेतक जैसे कि केडीजे, एमएसीडी आदि जोड़ें।

  4. स्टॉप लॉस रणनीतियों का परिचय दें।

सारांश

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


/*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")


अधिक