सुपरट्रेंड रणनीति का पालन करना

लेखक:चाओझांग, दिनांक: 2023-12-26 15:58:55
टैगः

img

अवलोकन

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

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

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

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

लाभ

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

जोखिम

  1. स्वयं के स्टॉक से निहित व्यवस्थित जोखिम
  2. सुपरट्रेंड सूचक कुछ बाजारों में पीछे रह सकता है
  3. गलत एटीआर पैरामीटर सेटिंग्स संकेत विचलन का कारण बन सकती हैं
  4. अपर्याप्त व्यापारिक मात्रा से नुकसान को पूरी तरह से कम करना मुश्किल हो सकता है

मुख्य जोखिम निवारण उपाय:

  1. अच्छी तरलता और बड़े उतार-चढ़ाव वाले शेयरों का चयन करें
  2. देरी की संभावना को कम करने के लिए मापदंडों को उचित रूप से अनुकूलित करें
  3. संकेत की सटीकता में सुधार के लिए पैरामीटर परीक्षण और अनुकूलन
  4. घाटे में कटौती करने के लिए लेनदेन की मात्रा में उचित वृद्धि करना

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

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

सारांश

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


/*backtest
start: 2023-11-25 00:00:00
end: 2023-12-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Supertrend TEST 2 Strategy", overlay = true, format=format.price, precision=2)

Periods = input(title="ATR Period", type=input.integer, defval=4)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=4.7)
changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=true)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)
tp=close
sl=close

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 )
plotshape(buySignal and showsignals ? up : na, title="Лонг", text="Лонг", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white )
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 )
plotshape(sellSignal and showsignals ? dn : na, title="Шорт", text="Шорт", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white )
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

sPeriods=input(title="ATR Period", type=input.integer, defval=8)
sMultiplier=input(title="dop ATR Multiplier", type=input.float, step=0.1, defval=1.5)
satr2 = sma(tr, sPeriods)
satr= changeATR ? atr(sPeriods) : satr2
ssup=ohlc4-(sMultiplier*satr)
ssup1 = nz(ssup[1],ssup)
ssup := close[1] > ssup1 ? max(ssup,ssup1) : ssup
sdn=ohlc4+(sMultiplier*satr)
sdn1 = nz(sdn[1], sdn)
sdn := close[1] < sdn1 ? min(sdn, sdn1) : sdn
strend = 1
strend := nz(strend[1], strend)
strend := strend == -1 and close > sdn1 ? 1 : strend == 1 and close < ssup1 ? -1 : strend
sbuySignal = strend == 1 and strend[1] == -1
ssellSignal = strend == -1 and strend[1] == 1

fPeriods=input(title="ATR Period", type=input.integer, defval=10)
fMultiplier=input(title="filter ATR Multiplier", type=input.float, step=0.1, defval=5)
fatr2 = sma(tr, fPeriods)
fatr= changeATR ? atr(fPeriods) : fatr2
fup=ohlc4-(fMultiplier*fatr)
fup1 = nz(fup[1],fup)
fup := close[1] > fup1 ? max(fup,fup1) : fup
fdn=ohlc4+(fMultiplier*fatr)
fdn1 = nz(fdn[1], fdn)
fdn := close[1] < fdn1 ? min(fdn, fdn1) : fdn
ftrend = 1
ftrend := nz(ftrend[1], ftrend)
ftrend := ftrend == -1 and close > fdn1 ? 1 : ftrend == 1 and close < fup1 ? -1 : ftrend
fbuySignal = ftrend == 1 and ftrend[1] == -1
fsellSignal = ftrend == -1 and ftrend[1] == 1
tcolor=color.new(color.gray,50)
fdnPlot = plot(ftrend == 1 ? na : fdn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=tcolor)
fupPlot = plot(ftrend == 1 ? fup : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=tcolor)



if (strategy.position_size > 0)
	tp:=tp[1]
	sl:=up
	strategy.exit("Long_TP/SL","Long",limit=tp, stop=sl)
	
if (strategy.position_size < 0)
	tp:=tp[1]
	sl:=dn
	strategy.exit("Short_TP/SL","Short",limit=tp, stop=sl)



if ((buySignal and  ftrend==1) or (sbuySignal and trend==1 and  ftrend==1)) 
	tp:=close+(close-up)*0.382
    strategy.entry("Long", strategy.long,  limit=tp, comment=tostring(round(tp)))
if ((sellSignal and ftrend==-1) or (ssellSignal and trend==-1 and  ftrend==-1)) 
	tp:=close-(dn-close)*0.382
    strategy.entry("Short", strategy.short, limit=tp, comment=tostring(round(tp)))


अधिक