Cette stratégie combine l'ATR et la moyenne mobile T3 pour la détermination et le suivi de la tendance.
L'ATR forme des canaux de prix, la direction du canal détermine la tendance principale.
La moyenne mobile T3 aide à déterminer le moment d'entrée spécifique, en achetant sur la ligne de rupture de prix T3.
Une rupture de prix en dessous de la bande inférieure déclenche une sortie stop loss; une rupture au-dessus de la bande supérieure entraîne un profit.
Options de négociation à long terme ou bidirectionnelle.
Optimisation des paramètres combinée à la nature des indicateurs pour trouver des réglages optimaux.
Les canaux ATR permettent d'identifier clairement la tendance et la direction.
Paramètres T3 réglables pour capturer les tendances à différents niveaux.
Les règles d'arrêt des pertes et de prise de bénéfices cohérentes évitent les sorties arbitraires.
Une faible fréquence de négociation convient aux stratégies de détention à long terme.
Une divergence d'indicateur peut entraîner de mauvaises transactions.
Le fait de ne pas prendre en compte les modèles de volatilité des actions individuelles risque d'être trop adapté.
La faible fréquence des échanges risque de manquer des opportunités et de limiter le potentiel de profit.
La détention de positions lourdes entraîne des risques de glissement à la fin de la journée.
Ajouter d'autres indicateurs pour assurer la validité des échanges.
Le réglage des paramètres pour différents produits améliore l'adaptabilité.
Optimiser la taille des positions pour équilibrer la fréquence et le risque.
Considérez le stop-loss dynamique et la prise de profit pour élargir la marge bénéficiaire.
Ajouter des FILTRE au niveau de la stratégie pour améliorer la robustesse.
La stratégie intègre les moyennes mobiles ATR et T3 pour un suivi de tendance simple et efficace.
/*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)