
Il s’agit d’une stratégie de suivi de la tendance basée sur les signaux croisés des moyennes mobiles à trois indices (EMA). Cette stratégie utilise des indicateurs EMA à 9 cycles, 15 cycles et 50 cycles pour gérer le risque de négociation en déterminant les signaux croisés des moyennes à court terme et à moyen terme, en combinant les moyennes à long terme comme filtres de tendance, tout en s’accompagnant d’un mécanisme de stop-loss dynamique. Cette stratégie a été conçue en tenant pleinement compte des besoins de suivi des tendances et de gestion des risques et convient aux transactions à moyen et long terme.
La logique centrale de la stratégie est de déterminer le moment de la transaction en surveillant les signaux croisés de l’EMA de 9 cycles et de l’EMA de 15 cycles, et en utilisant l’EMA de 50 cycles comme indicateur de confirmation de tendance. Plus précisément:
Il s’agit d’une stratégie de suivi de tendance conçue de manière rationnelle et logique. L’utilisation combinée de plusieurs lignes de moyenne assure la fiabilité du signal et permet un suivi efficace de la tendance. Le mécanisme de gestion des risques intégré garantit le fonctionnement stable de la stratégie.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy with 50 EMA Filter", overlay=true)
// Customizable Inputs
ema9Length = input(9, title="EMA 9 Length")
ema15Length = input(15, title="EMA 15 Length")
ema50Length = input(50, title="EMA 50 Length")
stopLossPoints = input(100, title="Stop Loss Points")
takeProfitPoints = input(200, title="Take Profit Points")
// Calculate EMAs
ema9 = ta.ema(close, ema9Length)
ema15 = ta.ema(close, ema15Length)
ema50 = ta.ema(close, ema50Length)
// Detect crossovers
crossover_above = ta.crossover(ema9, ema15)
crossover_below = ta.crossunder(ema9, ema15)
// Plot EMAs
plot(ema9, color=color.blue, title="EMA 9")
plot(ema15, color=color.red, title="EMA 15")
// Make the 50 EMA invisible
plot(ema50, color=color.new(color.white, 100), title="EMA 50", display=display.none)
// Plot buy and sell signals as shapes
plotshape(crossover_above and close > ema50, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(crossover_below and close < ema50, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Execute trades
if (crossover_above and close > ema50)
strategy.entry("Buy", strategy.long)
if (crossover_below and close < ema50)
strategy.close("Buy")
// Apply stop loss and take profit
if (crossover_above and close > ema50)
strategy.exit("Exit", from_entry="Buy", loss=stopLossPoints, profit=takeProfitPoints)
// Alerts for notifications
if (crossover_above and close > ema50)
alert("EMA 9 crossed above EMA 15 with price above EMA 50 - Buy Signal", alert.freq_once_per_bar_close)
if (crossover_below and close < ema50)
alert("EMA 9 crossed below EMA 15 with price below EMA 50 - Sell Signal", alert.freq_once_per_bar_close)