Stratégie des moyennes mobiles ATR et T3

Auteur:ChaoZhang est là., Date: 2023-09-17 18h30 et 48 min
Les étiquettes:

Résumé

Cette stratégie combine l'ATR et la moyenne mobile T3 pour la détermination et le suivi de la tendance.

La logique de la stratégie

  1. L'ATR forme des canaux de prix, la direction du canal détermine la tendance principale.

  2. La moyenne mobile T3 aide à déterminer le moment d'entrée spécifique, en achetant sur la ligne de rupture de prix T3.

  3. 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.

  4. Options de négociation à long terme ou bidirectionnelle.

  5. Optimisation des paramètres combinée à la nature des indicateurs pour trouver des réglages optimaux.

Analyse des avantages

  1. Les canaux ATR permettent d'identifier clairement la tendance et la direction.

  2. Paramètres T3 réglables pour capturer les tendances à différents niveaux.

  3. Les règles d'arrêt des pertes et de prise de bénéfices cohérentes évitent les sorties arbitraires.

  4. Une faible fréquence de négociation convient aux stratégies de détention à long terme.

Analyse des risques

  1. Une divergence d'indicateur peut entraîner de mauvaises transactions.

  2. Le fait de ne pas prendre en compte les modèles de volatilité des actions individuelles risque d'être trop adapté.

  3. La faible fréquence des échanges risque de manquer des opportunités et de limiter le potentiel de profit.

  4. La détention de positions lourdes entraîne des risques de glissement à la fin de la journée.

Directions d'optimisation

  1. Ajouter d'autres indicateurs pour assurer la validité des échanges.

  2. Le réglage des paramètres pour différents produits améliore l'adaptabilité.

  3. Optimiser la taille des positions pour équilibrer la fréquence et le risque.

  4. Considérez le stop-loss dynamique et la prise de profit pour élargir la marge bénéficiaire.

  5. Ajouter des FILTRE au niveau de la stratégie pour améliorer la robustesse.

Résumé

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)



Plus de