Cette stratégie est un système de trading de suivi de tendance basé sur plusieurs moyennes mobiles exponentielles (MAE) et moyennes mobiles lisses (SMMA). Elle génère des signaux de trading à travers le croisement des moyennes mobiles à court et à long terme, utilise SMMA comme indicateur de confirmation de tendance et incorpore des lignes EMA supplémentaires comme références de support et de résistance. Cette approche permet à la fois de capturer la tendance et de contrôler efficacement les risques de fausse rupture.
La stratégie utilise des EMA de 10 jours et 22 jours comme lignes de signal primaires, une SMMA de 200 jours comme filtre de tendance, ainsi que des EMA de 50 jours, 100 jours et 200 jours comme indicateurs auxiliaires. Un signal d'achat est généré lorsque l'EMA à court terme franchit la EMA à long terme et que le prix est au-dessus de la SMMA; un signal de vente est généré lorsque l'EMA à court terme franchit la EMA à long terme et que le prix est au-dessous de la SMMA. Les trois lignes EMA supplémentaires fournissent des points de référence de support technique et de résistance supplémentaires.
Il s'agit d'une stratégie de suivi des tendances qui intègre plusieurs systèmes de moyennes mobiles, capturant les tendances tout en contrôlant les risques grâce à l'utilisation coordonnée de moyennes mobiles de différentes périodes.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 2d basePeriod: 2d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover with SMMA and Additional EMAs", overlay=true) // Input parameters for EMAs and SMMA emaShortLength = input.int(10, title="Short EMA Length") emaLongLength = input.int(22, title="Long EMA Length") smmaLength = input.int(200, title="SMMA Length") // Additional EMA lengths ema1Length = input.int(50, title="EMA 1 Length") ema2Length = input.int(100, title="EMA 2 Length") ema3Length = input.int(200, title="EMA 3 Length") // Calculate EMAs and SMMA emaShort = ta.ema(close, emaShortLength) emaLong = ta.ema(close, emaLongLength) smma = ta.sma(ta.sma(close, smmaLength), 2) // SMMA approximation ema1 = ta.ema(close, ema1Length) ema2 = ta.ema(close, ema2Length) ema3 = ta.ema(close, ema3Length) // Plot EMAs and SMMA on the chart plot(emaShort, color=color.blue, linewidth=2, title="Short EMA") plot(emaLong, color=color.red, linewidth=2, title="Long EMA") plot(smma, color=color.white, linewidth=2, title="SMMA") plot(ema1, color=color.green, linewidth=1, title="EMA 1") plot(ema2, color=color.purple, linewidth=1, title="EMA 2") plot(ema3, color=color.yellow, linewidth=1, title="EMA 3") // Buy condition: Short EMA crosses above Long EMA and price is above SMMA buyCondition = ta.crossover(emaShort, emaLong) and close > smma // Sell condition: Short EMA crosses below Long EMA and price is below SMMA sellCondition = ta.crossunder(emaShort, emaLong) and close < smma // Execute Buy order if (buyCondition) strategy.entry("Buy", strategy.long) alert("Buy Signal: Short EMA crossed above Long EMA and price is above SMMA.", alert.freq_once_per_bar_close) // Execute Sell order if (sellCondition) strategy.entry("Sell", strategy.short) alert("Sell Signal: Short EMA crossed below Long EMA and price is below SMMA.", alert.freq_once_per_bar_close)