एटीआर और टी3 चलती औसत रणनीति

लेखक:चाओझांग, दिनांक: 2023-09-17 18:30:48
टैगः

अवलोकन

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

रणनीति तर्क

  1. एटीआर मूल्य चैनलों का निर्माण करता है, चैनल दिशा मुख्य प्रवृत्ति को निर्धारित करती है।

  2. T3 चलती औसत विशिष्ट प्रवेश समय निर्धारित करने में मदद करता है, मूल्य तोड़ने वाली T3 लाइन पर खरीदता है।

  3. निचले बैंड से नीचे की कीमत तोड़ने से स्टॉप लॉस बाहर निकलता है; ऊपरी बैंड से ऊपर तोड़ने से लाभ होता है।

  4. केवल लंबी अवधि के लिए या दो-दिशात्मक व्यापार के लिए विकल्प।

  5. इष्टतम सेटिंग्स खोजने के लिए सूचक प्रकृति के साथ संयोजन में पैरामीटर अनुकूलन।

लाभ विश्लेषण

  1. एटीआर चैनल स्पष्ट रूप से रुझान की पहचान और दिशा प्रदान करते हैं।

  2. विभिन्न स्तरों पर रुझानों को पकड़ने के लिए समायोज्य T3 मापदंड।

  3. लगातार स्टॉप लॉस और ले लाभ के नियम मनमाने ढंग से बाहर निकलने से बचते हैं।

  4. कम व्यापार आवृत्ति दीर्घकालिक होल्डिंग रणनीतियों के अनुकूल है।

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

  1. सूचक विचलन गलत ट्रेडों का कारण बन सकता है।

  2. व्यक्तिगत शेयर अस्थिरता पैटर्न पर विचार न करने से ओवरफिट होने का खतरा होता है।

  3. कम व्यापारिक आवृत्ति से अवसरों को खोने और लाभ की सीमित संभावनाओं का खतरा होता है।

  4. भारी स्थिति रखने से दिन के अंत में फिसलने का जोखिम होता है।

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

  1. व्यापार वैधता सुनिश्चित करने के लिए अन्य संकेतक जोड़ें।

  2. विभिन्न उत्पादों के लिए पैरामीटर ट्यूनिंग अनुकूलन क्षमता में सुधार करती है।

  3. आवृत्ति और जोखिम को संतुलित करने के लिए स्थिति आकार को अनुकूलित करें।

  4. लाभ के कमरे का विस्तार करने के लिए गतिशील ट्रेलिंग स्टॉप लॉस और लाभ लेने पर विचार करें।

  5. मजबूतता में सुधार के लिए रणनीति स्तर के फ़िल्टर जोड़ें।

सारांश

यह रणनीति सरल और प्रभावी ट्रेंड ट्रैकिंग के लिए एटीआर और टी3 चलती औसत को एकीकृत करती है। लेकिन संकेतक तर्क और पैरामीटर अनुकूलन में आगे के सुधार त्रुटियों को कम कर सकते हैं और इसे अधिक व्यावहारिक बना सकते हैं।


/*backtest
start: 2023-09-09 00:00:00
end: 2023-09-16 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//Author - CryptoJoncis
strategy("ATR and T3 strategy", shorttitle="AT3S_CryptoJoncis", overlay=true)

shorting = input(false, title="shorts on?")
precentage_diff = input(5,title="Precantage")/100
Lengthx = input(25, title="Lenght of T3")

//For best results use 0.7 or 0.618
Vfactx = input(0.72, minval=0.01,step=0.01, title="Volume Factor of T3 with HA source")

Source_of_T3_Normal = close
Source_of_T3 =  Source_of_T3_Normal 
FirstEMAx = ema(Source_of_T3, Lengthx)
SecondEMAx = ema(FirstEMAx, Lengthx)
ThirdEMAx = ema(SecondEMAx, Lengthx)
FourthEMAx = ema(ThirdEMAx, Lengthx)
FifthEMAx = ema(FourthEMAx, Lengthx)
SixthEMAx = ema(FifthEMAx, Lengthx)

//Doing all the calculations which are from 
c1x = -Vfactx*Vfactx*Vfactx
c2x = 3*Vfactx*Vfactx + 3*Vfactx*Vfactx*Vfactx
c3x = -6*Vfactx*Vfactx -3*Vfactx -3*Vfactx*Vfactx*Vfactx
c4x = 1 + 3*Vfactx + Vfactx*Vfactx*Vfactx + 3*Vfactx*Vfactx

//Assigning EMAS to T3 Moving average
T3MAx = c1x * SixthEMAx + c2x * FifthEMAx + c3x * FourthEMAx + c4x * ThirdEMAx

color_of_Tilson_Moving_Average = T3MAx > T3MAx[1] ? lime : red
plot(T3MAx, title="Tilson Moving Average(ema)", color=color_of_Tilson_Moving_Average)

t_up = T3MAx + (T3MAx * precentage_diff)
t_dn = T3MAx - (T3MAx * precentage_diff)

x=plot(t_up, color=color_of_Tilson_Moving_Average)
z=plot(t_dn, color=color_of_Tilson_Moving_Average)
fill(x,z, color= T3MAx[1] < T3MAx ? lime : gray)

Factor=input(5, minval=1)
Pd=input(5, minval=1)
//

Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))


TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn

Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown

linecolor = Trend == 1 ? green : red
//
b=plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "")

Factor1=input(1, minval=1)
Pd1=input(1, minval=1)
//

Up1=hl2-(Factor1*atr(Pd1))
Dn1=hl2+(Factor1*atr(Pd1))


TrendUp1=close[1]>TrendUp1[1]? max(Up1,TrendUp1[1]) : Up1
TrendDown1=close[1]<TrendDown1[1]? min(Dn1,TrendDown1[1]) : Dn1

Trend1 = close > TrendDown1[1] ? 1: close< TrendUp1[1]? -1: nz(Trend1[1],1)
Tsl1 = Trend1==1? TrendUp1: TrendDown1

linecolor1 = Trend1 == 1 ? green : red
//
a=plot(Tsl1, color = linecolor1 , style = line , linewidth = 2,title = "")

long = (close > Tsl and close > Tsl1 and close > T3MAx)

short = (close < Tsl and close < Tsl1 and close < T3MAx)

if(shorting==true)
    strategy.entry("MacdSE", strategy.short, comment="Open Short", when=short)
    strategy.entry("MacdLE", strategy.long, comment="Open Long", when=long)
    strategy.close("MacdLE", when=hl2 < t_dn)
    strategy.close("MacdSE", when=hl2 > t_up)
if(shorting==false)
    strategy.entry("MacdLE", strategy.long, comment="Open Long", when=long)
    strategy.close("MacdLE", when=hl2 < t_dn)
fill(a,b,color=linecolor)



अधिक