
La stratégie est un système de trading de suivi des tendances basé sur plusieurs indicateurs techniques. Elle combine les courbes moyennes (EMA), les indices de force relative (RSI), le volume (Volume) et l’indice de la marge d’onde réelle (ATR) pour déterminer le moment d’entrée et utilise l’ATR pour définir dynamiquement les positions de stop loss et de stop loss. La stratégie intègre également un mécanisme de confirmation de rupture de la ligne K pour améliorer la fiabilité du signal de trading.
La stratégie utilise un croisement des EMA rapides (cycle 9) et des EMA lentes (cycle 21) pour capturer les changements de tendance. Sur cette base, la combinaison de l’indicateur RSI (cycle 14) pour filtrer les zones d’excès d’achat et de vente, exigeant que les valeurs du RSI soient au-delà des zones de surachat (cycle 70) et de survente (cycle 30). De plus, la stratégie exige que le volume de transactions soit supérieur à la moyenne des transactions sur 20 cycles, et que les prix de clôture franchissent les hauts et les bas de la ligne K précédente comme confirmation supplémentaire d’entrée.
Paramètres de l’indicateur d’adaptation: Les paramètres cycliques des EMA et RSI peuvent être automatiquement ajustés en fonction des fluctuations du marché, ce qui permet de mieux adapter la stratégie aux différentes conditions du marché.
Ajouter un filtre d’environnement de marché : L’ajout d’indicateurs de force de tendance tels que l’ADX permet de réduire automatiquement les positions ou de suspendre les transactions sur les marchés horizontaux.
Optimiser le plan de coupe: On peut envisager d’améliorer l’efficacité de la suspension de perte en combinant le réglage de la position de résistance de soutien.
La gestion des volumes est améliorée: Adapter la taille des positions en fonction de la volatilité et de la liquidité du marché.
Il s’agit d’une stratégie de suivi de tendance structurée et logiquement rigoureuse. L’utilisation combinée de plusieurs indicateurs techniques assure la fiabilité des signaux de négociation et permet de contrôler efficacement les risques. Le paramètre de stop-loss dynamique offre un bon rapport risque-rendement.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"TRB_USDT"}]
*/
//@version=6
strategy("15m EMA RSI Strategy with ATR SL/TP and Candle Break Confirmation", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// INPUTS
fastLength = input.int(9, title="Fast EMA Length")
slowLength = input.int(21, title="Slow EMA Length")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
volLength = input.int(20, title="Volume MA Length")
atrLength = input.int(14, title="ATR Length")
atrMultiplierSL = input.float(1.5, title="ATR Multiplier for Stop Loss")
atrMultiplierTP = input.float(3.0, title="ATR Multiplier for Take Profit")
trailingStopMultiplier = input.float(1.0, title="ATR Multiplier for Trailing Stop")
// INDICATOR CALCULATIONS
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
rsiValue = ta.rsi(close, rsiLength)
volMA = ta.sma(volume, volLength)
atr = ta.atr(atrLength)
// Candle Breakout Conditions for Confirmation
longCandleBreak = close > high[1]
shortCandleBreak = close < low[1]
// Plot EMAs for visual reference
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.orange, title="Slow EMA")
// ENTRY CONDITIONS
longCondition = ta.crossover(fastEMA, slowEMA) and (rsiValue < rsiOverbought) and (volume > volMA) and longCandleBreak
shortCondition = ta.crossunder(fastEMA, slowEMA) and (rsiValue > rsiOversold) and (volume > volMA) and shortCandleBreak
// Plot Buy/Sell Signals on the Chart
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, size=size.normal)
plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, size=size.normal)
// TRADE EXECUTION WITH ATR-BASED STOP LOSS, TAKE PROFIT, AND TRAILING STOP
if longCondition
longStop = close - atrMultiplierSL * atr
longTP = close + atrMultiplierTP * atr
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", from_entry="Long", stop=longStop, limit=longTP, trail_points=atr * trailingStopMultiplier)
if shortCondition
shortStop = close + atrMultiplierSL * atr
shortTP = close - atrMultiplierTP * atr
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", from_entry="Short", stop=shortStop, limit=shortTP, trail_points=atr * trailingStopMultiplier)
// OPTIONAL: Plot RSI for reference
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsiValue, color=color.purple, title="RSI")