
La triple EMA croisée est une stratégie de négociation basée sur trois signaux croisés de moyennes mobiles indicielles (EMA) de trois périodes différentes. La stratégie utilise les EMA rapides (EMA à 10 périodes), les EMA moyennes (EMA à 25 périodes) et les EMA lentes (EMA à 50 périodes) pour capturer les tendances du marché, tout en utilisant l’amplitude réelle moyenne (ATR) pour définir les niveaux de stop loss et de stop loss pour s’adapter aux différentes conditions de fluctuation du marché.
La stratégie de croisement triple EMA offre aux traders une méthode efficace de suivi des tendances et de gestion des risques en exploitant les signaux de croisement des moyennes mobiles des indices de différentes périodes, en combinant les paramètres de stop-loss et de stop-loss ATR. Bien que la stratégie ait bien fonctionné dans les marchés tendance, elle peut être confrontée à des défis dans les marchés en turbulence.
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Triple EMA Crossover Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Input for EMA periods
fastLength = input(10, title="Fast EMA Length")
mediumLength = input(25, title="Medium EMA Length")
slowLength = input(50, title="Slow EMA Length")
riskMultiplier = input(3.0, title="Risk Multiplier for Stop Loss and Take Profit")
// Calculating EMAs
fastEMA = ta.ema(close, fastLength)
mediumEMA = ta.ema(close, mediumLength)
slowEMA = ta.ema(close, slowLength)
// Plot EMAs
plot(fastEMA, color=color.red, title="Fast EMA")
plot(mediumEMA, color=color.orange, title="Medium EMA")
plot(slowEMA, color=color.yellow, title="Slow EMA")
// Define the crossover conditions for a bullish and bearish signal
bullishCrossover = ta.crossover(fastEMA, slowEMA) and mediumEMA > slowEMA
bearishCrossover = ta.crossunder(fastEMA, slowEMA) and mediumEMA < slowEMA
// ATR for stop and limit calculations
atr = ta.atr(14)
longStopLoss = close - atr * riskMultiplier
shortStopLoss = close + atr * riskMultiplier
longTakeProfit = close + atr * riskMultiplier * 2
shortTakeProfit = close - atr * riskMultiplier * 2
// Entry signals with visual shapes
plotshape(series=bullishCrossover, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal", text="BUY")
plotshape(series=bearishCrossover, location=location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal", text="SELL")
// Strategy execution
if (bullishCrossover)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", "Long", stop=longStopLoss, limit=longTakeProfit)
if (bearishCrossover)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", "Short", stop=shortStopLoss, limit=shortTakeProfit)
// Color bars based on EMA positions
barcolor(fastEMA > slowEMA ? color.green : slowEMA > fastEMA ? color.red : na, title="Bar Color")