
Cette stratégie est un système de suivi des tendances basé sur des moyennes mobiles multi-indices (EMA) et des moyennes mobiles glissantes (SMMA). Elle utilise des croisements d’EMA à court et à long terme pour générer des signaux de négociation, tout en utilisant le SMMA comme indicateur de confirmation de tendance et en introduisant des lignes EMA supplémentaires comme référence pour les points de soutien et de résistance. Cette méthode permet à la fois de capturer les tendances du marché et de contrôler efficacement les risques liés aux fausses percées.
La stratégie utilise les EMA de 10 et 22 jours comme lignes principales, les EMA de 200 jours comme filtres de tendance et les EMA de 50, 100 et 200 jours comme jugements auxiliaires. Lorsque les EMA de court terme traversent les EMA de long terme à la hausse et que les prix sont au-dessus des EMA de long terme, le système génère un signal de multiplication.
Il s’agit d’une stratégie de suivi de tendance qui intègre le système de multiples moyennes, qui permet de capturer les tendances tout en contrôlant les risques grâce à l’utilisation combinée de différentes moyennes périodiques. Le principal avantage de la stratégie réside dans son mécanisme de confirmation multiple, mais il faut également faire attention à la performance dans les marchés en crise.
/*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)