Cette stratégie utilise la direction de la pente et les relations croisées entre plusieurs EMA pour déterminer la direction de la tendance, pour le trading de tendance non-stop.
Calculer 3 groupes d'EMAs - rapide, moyenne et lente.
Lorsque l'EMA rapide traverse l'EMA moyenne et que la pente de l'EMA moyenne devient positive, un signal long est généré.
Lorsque l'EMA rapide traverse l'EMA moyenne et que la pente de l'EMA moyenne devient négative, un signal court est généré.
Allez long lorsque le prix dépasse la courte EMA et court lorsque le prix dépasse la courte EMA.
Les relations de pente de l'EMA reflètent les changements de tendance. Les croisements de prix confirment l'entrée.
Les EMA multiples améliorent la précision du jugement des tendances.
Les EMA rapides, moyennes et lentes distinguent raisonnablement la tendance et la consolidation.
Les variations de pente de l'EMA donnent des indications précoces sur les changements de tendance.
Les croisements de prix confirment davantage pour éviter de fausses ruptures.
Toujours garder une position pour saisir pleinement les opportunités de tendance.
Le fait de s'appuyer uniquement sur les EMA comporte des risques de position importants pendant les périodes de plage.
Des paramètres EMA incorrects peuvent manquer des points tournants.
L'impossibilité de déterminer la force de la tendance risque de provoquer une reprise prématurée.
Aucun contrôle efficace des pertes commerciales uniques.
Testez différentes combinaisons d'EMA pour trouver les paramètres optimaux.
Ajoutez d'autres indicateurs comme le MACD pour déterminer la force.
Ajouter des mécanismes de stop loss pour contrôler les risques.
Évaluer la force de la tendance afin d'éviter des entrées inversées prématurées.
Optimiser la taille des positions pour la gestion des capitaux.
Arrêtez temporairement de négocier lorsque la tendance devient agitée.
La stratégie utilise judicieusement des combinaisons EMA pour déterminer la tendance. Mais la seule dépendance à l'EMA a des limites, laissant une grande marge d'optimisation pour incorporer plus d'indicateurs. Des mécanismes de contrôle des risques sont également nécessaires pour améliorer la stabilité.
/*backtest start: 2023-08-20 00:00:00 end: 2023-09-19 00:00:00 period: 6h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("EMA Slope + EMA Cross Strategy (by ChartArt)", shorttitle="CA_-_EMA_slope_cross", overlay=true) // ChartArt's EMA Slope + EMA Cross Strategy // // Version 1.0 // Idea by ChartArt on March 10, 2018. // // This strategy uses divergences between // three moving averages and their slope // directions as well as crosses between // the price and the moving averages // to switch between long/short positions. // // The strategy is non-stop in the market // and always either long or short. // // In addition the moving averages are colored // depending if they are trending up or down. // // List of my work: // https://www.tradingview.com/u/ChartArt/ // Input price = input(close) MA1_Length = input(2,step=1, title="EMA 1 Length") MA2_Length = input(4,step=1, title="EMA 2 Length") MA3_Length = input(20,step=1, title="EMA 3 Length") switch1=input(true, title="Show Bar Color?") switch2=input(true, title="Show Moving Averages?") // Calculation MA1 = ema(price, MA1_Length) MA2 = ema(price, MA2_Length) MA3 = ema(price, MA3_Length) // Strategy long = crossunder(price, MA3) or ( change(price)<0 and change(MA1)<0 and crossunder(price,MA1) and change(MA2)>0 ) short = crossover(price, MA3) or ( change(price)>0 and change(MA1)>0 and crossover(price,MA1) and change(MA2)<0 ) if long strategy.entry("Long", strategy.long, comment="Long") if short strategy.entry("Short", strategy.short, comment="Short") // Strategy Alert alertcondition(long, title='EMA Slope + EMA Cross Strategy, Long Alert', message='Go Long!') alertcondition(short, title='EMA Slope + EMA Cross Strategy, Short Alert', message='Go Short!') // MA trend bar color up = change(MA2)>0 and change(MA3)>0 dn = change(MA2)<0 and change(MA3)<0 bar_color = up?green:dn?red:blue barcolor(switch1?bar_color:na) // MA trend output color MA2_color = change(MA2)>0?lime:change(MA2)<0?red:blue MA3_color = change(MA3)>0?lime:change(MA3)<0?red:blue // MA output EMA2 = plot(switch2?MA2:na, title="EMA 2", style=linebr, linewidth=2, color=MA2_color) EMA3 = plot(switch2?MA3:na, title="EMA 3", style=linebr, linewidth=4, color=MA3_color) fill(EMA2, EMA3, color=silver, transp=50) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)