La stratégie de rupture de double EMA est une stratégie de suivi de tendance. Elle utilise deux lignes EMA avec des périodes différentes et effectue des transactions lorsqu'il y a un écart suffisamment grand entre les deux EMA pour capturer la direction de la tendance.
La stratégie utilise une EMA rapide (EMA à courte période) et une EMA lente (EMA à longue période) pour les signaux de trading.
Calculer l'EMA rapide et l'EMA lente.
Lorsque l'EMA rapide dépasse l'EMA lent et que l'écart entre les deux EMA dépasse un seuil, passez long.
Lorsque l'EMA rapide dépasse l'EMA lente et que l'écart entre les deux EMA dépasse un seuil, passez à la vente à découvert.
Quand le prix tombe en dessous de la courbe moyenne rapide, fermez les positions longues.
Lorsque le prix dépasse la courte EMA, fermez les positions courtes.
De cette façon, il utilise la fluidité des EMA pour identifier la direction de la tendance, et la rupture de l'EMA pour déterminer le moment précis de l'entrée.
Les risques peuvent être réduits par la régulation de l'EMA, le seuil de spread et le placement de stop loss.
La stratégie de rupture de double EMA est une stratégie de suivi de tendance efficace mais simple. Elle peut bien profiter des marchés en tendance mais a besoin de paramètres appropriés. Avec l'optimisation et la gestion des risques, elle peut pleinement tirer parti de ses forces. Une stratégie de tendance utile à rechercher et à appliquer.
/*backtest start: 2023-09-24 00:00:00 end: 2023-10-24 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("2-EMA Strategy", overlay=true, initial_capital=100, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075) diffMinimum = input(0.95, step=0.01) small_ema = input(13, title="Small EMA") long_ema = input(26, title="Long EMA") ema1 = ema(close, small_ema) ema2 = ema(close, long_ema) orderCondition = ema1 > ema2?((ema1/ema2)*100)-100 > diffMinimum:((ema2/ema1)*100)-100 > diffMinimum longCondition = close > ema1 and ema1 > ema2 if (longCondition and orderCondition) strategy.entry("Long", strategy.long) shortCondition = close < ema1 and ema1 < ema2 if (shortCondition and orderCondition) strategy.entry("Short", strategy.short) strategy.close("Short", when=close > ema1) strategy.close("Long", when=close < ema1) plot(ema(close, small_ema), title="EMA 1", color=green, transp=0, linewidth=2) plot(ema(close, long_ema), title="EMA 2", color=orange, transp=0, linewidth=2)