Il s'agit d'une stratégie de trading quantitative basée sur le double croisement EMA et le suivi des tendances. La stratégie utilise principalement des moyennes mobiles exponentielles (EMA) de 47 périodes et 95 périodes pour capturer les tendances du marché, exécutant des transactions basées sur des signaux de croisement EMA.
Le mécanisme de base repose sur l'identification des changements de tendance à travers des croisements entre l'EMA à court terme (47-période) et l'EMA à long terme (95-période). Les signaux d'achat sont générés lorsque l'EMA à court terme franchit au-dessus de l'EMA à long terme, tandis que les positions sont fermées lorsque l'EMA à court terme franchit au-dessous. Cette conception est basée sur la dynamique des prix et les principes de continuation de la tendance, en utilisant les croisements de l'EMA pour confirmer les points de transition de la tendance.
Il s'agit d'une stratégie de suivi des tendances bien structurée et logiquement rigoureuse. Elle capture les tendances du marché grâce à des croisements doubles EMA, offrant une bonne operabilité et évolutivité. Bien que certaines limitations existent, l'optimisation et l'amélioration continues peuvent le développer en un système de trading stable et fiable. La clé est d'ajuster de manière flexible les paramètres en fonction des différentes caractéristiques du marché et d'établir des mécanismes complets de contrôle des risques.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy", overlay=true) // Define the EMA periods shortEmaPeriod = 47 longEmaPeriod = 95 // Calculate EMAs ema11 = ta.ema(close, shortEmaPeriod) ema21 = ta.ema(close, longEmaPeriod) // Plot EMAs on the chart plot(ema11, title="11 EMA", color=color.blue, linewidth=2) plot(ema21, title="21 EMA", color=color.red, linewidth=2) // Generate trading signals longSignal = ta.crossover(ema11, ema21) shortSignal = ta.crossunder(ema11, ema21) // Execute trades based on signals if (longSignal) strategy.entry("Buy", strategy.long) if (shortSignal) strategy.close("Buy") // Optional: Plot buy and sell signals on the chart plotshape(series=longSignal, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") plotshape(series=shortSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell") // Plot buy/sell signals on the main chart plotshape(series=longSignal, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") plotshape(series=shortSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")