
Il s’agit d’une stratégie de suivi de tendance basée sur les croisements de moyennes mobiles exponentielles (EMA) et la confirmation de l’indice de force relative (RSI). La stratégie combine les signaux de croisement des EMA à court et à long terme avec la confirmation de la dynamique RSI, tout en intégrant un mécanisme de stop-loss en pourcentage, visant à capturer les points de retournement importants dans les tendances du marché et à contrôler les risques. Le cœur de la stratégie est d’améliorer la précision et la fiabilité des transactions tout en garantissant la sécurité des transactions grâce à la synergie des indicateurs techniques.
La stratégie utilise un mécanisme de filtrage à double indicateur technique : tout d’abord, les points de retournement de tendance potentiels sont identifiés grâce au croisement de l’EMA à court terme (9 périodes) et de l’EMA à long terme (21 périodes). Lorsque l’EMA à court terme croise l’EMA à long terme vers le haut et que la valeur RSI est supérieure au niveau défini, le système génère un signal long ; lorsque l’EMA à court terme croise l’EMA à long terme vers le bas et que la valeur RSI est inférieure au-delà du niveau défini, le système génère un signal court. Dans le même temps, la stratégie introduit un mécanisme de stop-loss basé sur un pourcentage, fixant un prix de stop-loss dynamique pour chaque transaction afin de contrôler efficacement les risques de baisse.
Cette stratégie construit un système de trading complet de suivi des tendances en combinant le système de moyenne mobile et les indicateurs de momentum. Les principaux avantages de la stratégie résident dans son mécanisme de confirmation du signal fiable et dans son système de contrôle des risques parfait. Bien qu’il existe certaines limites inhérentes, les performances globales de la stratégie devraient être encore améliorées grâce à l’orientation d’optimisation proposée. Il s’agit d’un cadre stratégique robuste adapté aux traders de tendances à moyen et long terme.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Simple Trend Following Strategy", overlay=true)
// Inputs
shortEMA = input.int(9, title="Short EMA Length", minval=1)
longEMA = input.int(21, title="Long EMA Length", minval=1)
confirmationRSI = input.int(50, title="RSI Confirmation Level", minval=1, maxval=100)
stopLossPercent = input.float(2, title="Stop Loss Percentage", minval=0.1) // Stop Loss percentage
// Calculations
emaShort = ta.ema(close, shortEMA)
emaLong = ta.ema(close, longEMA)
rsiValue = ta.rsi(close, 14)
// Buy and Sell Conditions
buySignal = ta.crossover(emaShort, emaLong) and rsiValue > confirmationRSI
sellSignal = ta.crossunder(emaShort, emaLong) and rsiValue < confirmationRSI
// Plotting Signals
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Plotting EMAs
plot(emaShort, title="Short EMA", color=color.yellow)
plot(emaLong, title="Long EMA", color=color.purple)
// Strategy logic
strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)
// Calculate stop loss price based on stopLossPercent
longStopLossPrice = strategy.position_avg_price * (1 - stopLossPercent / 100)
shortStopLossPrice = strategy.position_avg_price * (1 + stopLossPercent / 100)
// Draw stop loss line for long positions
if (strategy.position_size > 0) // For long positions
line.new(x1=bar_index, y1=longStopLossPrice, x2=bar_index + 1, y2=longStopLossPrice, color=color.red, width=2, style=line.style_dashed)
// Draw stop loss line for short positions
if (strategy.position_size < 0) // For short positions
line.new(x1=bar_index, y1=shortStopLossPrice, x2=bar_index + 1, y2=shortStopLossPrice, color=color.green, width=2, style=line.style_dashed)