सुपरट्रेंड आधारित ट्रेंड ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-12-08 17:07:53
टैगः

img

अवलोकन

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

रणनीति तर्क

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

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

लाभ

इस रणनीति का सबसे बड़ा लाभ प्रवृत्ति पहचान और ट्रैकिंग क्षमताओं का संयोजन हैः

  1. एटीआर आधारित सुपरट्रेंड लाइन प्रभावी रूप से बाजार के रुझानों की पहचान कर सकती है और शोर को फ़िल्टर कर सकती है।
  2. सुपरट्रेंड लाइन का लेगिंग प्रभाव गलत संकेतों को कम करने में मदद करता है।
  3. यह आसान संचालन के लिए प्रवृत्ति निर्णय और व्यापार संकेत दोनों दे सकता है।
  4. अधिक विविध बाजारों के लिए मापदंडों को अनुकूलित किया जा सकता है।
  5. दृश्य संकेतक सहज ज्ञान युक्त रुझान के आकलन की अनुमति देते हैं।

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

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

  1. एटीआर पैरामीटर की अनुचित सेटिंग से अतिसंवेदनशीलता या सुपरट्रेंड लाइनों में विलंब हो सकता है।
  2. यह शोर के प्रभाव से पूरी तरह से बच नहीं सकता है, जो कभी-कभी गलत संकेतों को ट्रिगर कर सकता है।
  3. बाजार में भारी उतार-चढ़ाव के दौरान इसकी सटीकता कम हो जाती है।
  4. यह रुझान उलटने के बिंदुओं की भविष्यवाणी नहीं कर सकता है, बल्कि केवल मौजूदा रुझानों को ट्रैक कर सकता है।

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

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

निम्नलिखित क्षेत्रों में और अधिक अनुकूलन स्थान मौजूद हैंः

  1. स्वचालित पैरामीटर अनुकूलन के लिए मशीन लर्निंग को अपनाना।
  2. सत्यापन के लिए घातीय चलती औसत जैसे संकेतक जोड़ना।
  3. परिष्कृत धन प्रबंधन के लिए स्टॉप लॉस/लाभ लेने की रणनीतियों की स्थापना।
  4. संभावित रुझान उलटने की भविष्यवाणी करने के लिए भावना संकेतक और समाचार विश्लेषण का संयोजन।
  5. अधिक ऐतिहासिक डेटा का विश्लेषण करने और सटीकता में सुधार करने के लिए गहरी शिक्षा का लाभ उठाना।

गहन अनुकूलन रणनीति की स्थिरता, अनुकूलन क्षमता और लाभप्रदता को और बढ़ाने का वादा करता है।

निष्कर्ष

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


/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Supertrend Strategy", overlay = true)

Periods = input(10, title="ATR Period")
src = input(hl2, title="Source")
Multiplier = input(3.0, title="ATR Multiplier", step=0.1)
changeATR = input(true, title="Change ATR Calculation Method?")
showsignals = input(true, title="Show Buy/Sell Signals?")
highlighting = input(true, title="Highlighter On/Off?")

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 Highlighter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highlighter", color=shortFillColor)

strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)

alertcondition(buySignal, title="SuperTrend Buy", message="SuperTrend Buy!")
alertcondition(sellSignal, title="SuperTrend Sell", message="SuperTrend Sell!")
changeCond = trend != trend[1]
alertcondition(changeCond, title="SuperTrend Direction Change", message="SuperTrend has changed direction!")


अधिक