La stratégie de suivi de tendance basée sur l'EMA et la SMA est une stratégie de trading basée sur le croisement des moyennes mobiles exponentielles (MMA) et des moyennes mobiles simples (MMA).
Cette stratégie génère des signaux de trading basés sur deux conditions:
Lorsque les deux conditions sont vraies, un signal d'achat est généré. Lorsque les deux conditions sont fausses, un signal de vente est généré.
En comparant les croisements EMA et SMA sur différentes périodes, cette stratégie juge de manière exhaustive la direction de la tendance et génère des signaux de trading. L'EMA à court terme reflète les changements de prix de manière plus sensible tandis que l'EMA à long terme a une meilleure capacité de filtrage de tendance. Lorsque l'EMA à court terme franchit le sommet de la SMA à long terme, il indique un léger renversement de tendance et génère un signal d'achat. Inversement, lorsque l'EMA à court terme franchit le sommet de la SMA à long terme, il indique un renversement de tendance et génère un signal de vente.
L'ajout de l'intersection EMA et SMA de 4 heures filtre le bruit à court terme et rend les signaux de trading plus fiables.
Cette stratégie présente les avantages suivants:
Cette stratégie comporte également certains risques:
Les risques peuvent être gérés en intégrant le stop loss/take profit, l'optimisation des paramètres, etc.
Certaines façons d'améliorer cette stratégie:
En résumé, il s'agit d'une tendance de base suivant la stratégie en utilisant des règles de croisement EMA et SMA simples. Il peut être amélioré via l'optimisation des paramètres, le filtrage des signaux, etc. pour mieux s'adapter et améliorer les performances de la stratégie.
/*backtest start: 2023-12-17 00:00:00 end: 2024-01-12 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA and SMA Crossover Strategy", shorttitle="Shashank Cross", overlay=true) // Condition 1: Latest EMA (Close, 5) crossed above Latest SMA (Close, 20) ema5 = ta.ema(close, 5) sma20 = ta.sma(close, 20) condition1 = ta.crossover(ema5, sma20) // Condition 2: [0] 4-hour EMA ([0] 4-hour Close, 5) crossed above [0] 4-hour SMA ([0] 4-hour Close, 20) ema5_4h = request.security(syminfo.tickerid, "240", ta.ema(close, 5)) sma20_4h = request.security(syminfo.tickerid, "240", ta.sma(close, 20)) condition2 = ta.crossover(ema5_4h, sma20_4h) // Combine both conditions for a buy signal buy_signal = condition1 and condition2 // Plotting signals on the chart plotshape(buy_signal, color=color.green, style=shape.labelup, location=location.belowbar, size=size.small, text="Buy Signal") // Strategy logic if (buy_signal) strategy.entry("Buy", strategy.long) // Exit long position on the next bar at market price if (ta.barssince(buy_signal) == 1) strategy.close("Exit") // You can add more code for stop-loss, take-profit, etc., as per your strategy.