La stratégie détermine la direction de la tendance par le biais de la direction de la pente et de la relation croisée de plusieurs groupes d’EMAs, permettant une négociation de tendance sans arrêt. Elle peut toujours tenir une position haussière ou baissière.
Calculer les EMA de 3 groupes de différentes périodes, soit les EMA rapides, moyennes et lentes.
Lorsque l’EMA rapide traverse l’EMA moyenne et que l’EMA moyenne est inclinée, un signal de multiplication est généré.
Lorsque l’EMA rapide est inférieure à l’EMA moyenne et que la pente de l’EMA moyenne est négative, un signal de blanchiment est généré.
Les prix ont tendance à être plus élevés lorsque les EMA sont à la hausse et plus bas lorsqu’ils sont à la baisse.
La relation entre la courbe rapide et lente de l’EMA reflète la variation de la tendance.
Plus d’un groupe d’EMA peut juger de la direction de la tendance avec plus de précision.
Les EMA rapides et lents permettent de distinguer raisonnablement les tendances et les chocs.
La variation de la pente de la ligne moyenne indique une variation de tendance.
Les prix croisés sont à nouveau confirmés, afin d’éviter de fausses ruptures.
Il est important de garder une position forte et de saisir les opportunités de tendance.
Le risque de détention d’une position en période de turbulence est élevé sur la seule base des EMA.
Le paramètre EMA n’est pas correctement défini et peut manquer le point de basculement.
Il n’est pas possible de déterminer si la tendance est forte ou faible et il est possible que la reprise soit prématurée.
Les pertes individuelles ne peuvent être contrôlées efficacement.
Testez différentes combinaisons de paramètres EMA pour trouver les meilleurs.
Ajouter d’autres indicateurs de force ou de faiblesse, comme le MACD.
Ajout d’un mécanisme de contrôle des risques.
Il faut évaluer les tendances en termes de force et de faiblesse, et éviter d’ouvrir trop tôt les positions inversées.
Optimisation de la gestion des fonds et ajustement de la taille des positions.
Il est également important de prendre des mesures pour éviter les fluctuations de la tendance.
La stratégie utilise les tendances de jugement de combinaison multiple de l’EMA, ce qui est raisonnable. Cependant, il y a un certain point aveugle qui repose uniquement sur l’EMA, il y a beaucoup de place pour l’optimisation et il est possible d’introduire plus de jugements d’indicateurs. Il est également nécessaire d’ajouter un mécanisme de contrôle des risques 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)