Cette stratégie est un système de trading quantitatif basé sur le croisement de deux moyennes mobiles exponentielles (EMA). Elle utilise une EMA à court terme (14 périodes) et une EMA à long terme (100 périodes) pour capturer les points de transition de la tendance du marché en déterminant le moment d'entrée à travers l'intersection des moyennes mobiles à court et à long terme.
La logique de base de la stratégie est basée sur les changements d'élan dans les tendances des prix. L'EMA à court terme est plus sensible aux changements de prix, tandis que l'EMA à long terme filtre mieux le bruit du marché et reflète la tendance principale. Lorsque la moyenne mobile à court terme dépasse la moyenne mobile à long terme, elle indique un renforcement de l'élan à court terme et une éventuelle tendance haussière; lorsque la moyenne mobile à court terme dépasse la moyenne mobile à long terme, elle suggère un élan en baisse et une tendance baissière potentielle. La stratégie utilise les fonctions ta.crossover et ta.crossunder pour capturer précisément ces points de croisement et exécuter les opérations de position aux moments appropriés.
La stratégie quantitative Dynamic EMA Trend Crossover Entry est un système classique et pratique de suivi des tendances. En combinant des moyennes mobiles exponentielles à court et à long terme, la stratégie capte efficacement les opportunités de transition des tendances du marché. Bien qu'il existe des risques de retard et de faux signaux, des résultats commerciaux stables peuvent toujours être obtenus grâce à une optimisation appropriée des paramètres et à des mesures de contrôle des risques.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-11 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy", overlay=true) // Input for EMAs shortEmaLength = input(14, title="Short EMA Length") longEmaLength = input(100, title="Long EMA Length") // Calculate EMAs shortEma = ta.ema(close, shortEmaLength) longEma = ta.ema(close, longEmaLength) // Plot EMAs plot(shortEma, color=color.blue, title="9 EMA") plot(longEma, color=color.red, title="100 EMA") // Historical Signal Tracking var float lastBuyPrice = na var float lastSellPrice = na // Buy and Sell Signals buySignal = ta.crossover(shortEma, longEma) sellSignal = ta.crossunder(shortEma, longEma) // Track last buy and sell prices if (buySignal) lastBuyPrice := close if (sellSignal) lastSellPrice := close // Plot buy and sell signals on the chart plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy Logic if (buySignal) strategy.entry("Buy", strategy.long) if (sellSignal) strategy.close("Buy")