
La stratégie est un système de suivi des tendances basé sur des moyennes mobiles quadrilatérales ((EMA)), qui identifie les tendances du marché par la croisée et l’alignement des EMAs de 9, 21, 50 et 200 cycles, et contrôle les risques en combinant des arrêts de pourcentage. La stratégie détermine la direction des tendances du marché en jugeant l’ordre des quatre lignes d’équilibre.
La stratégie utilise les moyennes mobiles indexées de quatre périodes différentes (9, 21, 50, 200) pour juger de la tendance du marché en observant la relation entre ces moyennes. Lorsque l’EMA du 9 est au-dessus de l’EMA du 21, de l’EMA du 21 est au-dessus de l’EMA du 50, de l’EMA du 50 est au-dessus de l’EMA du 200, le système considère que le marché est en forte tendance haussière et émet plus.
Il s’agit d’un système de trading de suivi de tendance structuré, qui offre un mécanisme de reconnaissance de tendance plus fiable grâce à l’utilisation combinée de multiples moyennes, tout en utilisant un pourcentage fixe de stop-loss pour contrôler le risque. Bien que le système soit un peu en retard, la stabilité et la rentabilité de la stratégie peuvent être encore améliorées grâce à une optimisation raisonnable des paramètres et à l’ajout d’indicateurs supplémentaires. Cette stratégie est particulièrement adaptée aux marchés très volatils et aux transactions de suivi de tendance à moyen et long terme.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-23 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("4 EMA Strategy with Stop Loss", overlay=true)
// Define the EMA lengths
ema1_length = input(9, title="EMA 1 Length")
ema2_length = input(21, title="EMA 2 Length")
ema3_length = input(50, title="EMA 3 Length")
ema4_length = input(200, title="EMA 4 Length")
// Calculate the EMAs
ema1 = ta.ema(close, ema1_length)
ema2 = ta.ema(close, ema2_length)
ema3 = ta.ema(close, ema3_length)
ema4 = ta.ema(close, ema4_length)
// Plot EMAs on the chart
plot(ema1, color=color.blue, title="EMA 9")
plot(ema2, color=color.orange, title="EMA 21")
plot(ema3, color=color.green, title="EMA 50")
plot(ema4, color=color.red, title="EMA 200")
// Define conditions for Buy and Sell signals
buy_condition = (ema1 > ema2 and ema2 > ema3 and ema3 > ema4)
sell_condition = (ema1 < ema2 and ema2 < ema3 and ema3 < ema4)
// Input stop loss percentage
stop_loss_perc = input(2.0, title="Stop Loss %")
// Execute buy signal
if (buy_condition)
strategy.entry("Buy", strategy.long)
// Set stop loss at a percentage below the entry price
strategy.exit("Sell", "Buy", stop=strategy.position_avg_price * (1 - stop_loss_perc / 100))
// Execute sell signal
if (sell_condition)
strategy.entry("Sell", strategy.short)
// Set stop loss at a percentage above the entry price
strategy.exit("Cover", "Sell", stop=strategy.position_avg_price * (1 + stop_loss_perc / 100))