Stratégie de tendance optimisée basée sur la plage réelle moyenne v6 (capture de tendance fixe)

ATR EMA SMMA RSI TSL
Date de création: 2025-03-31 16:50:30 Dernière modification: 2025-03-31 16:50:41
Copier: 0 Nombre de clics: 417
2
Suivre
319
Abonnés

Stratégie de tendance optimisée basée sur la plage réelle moyenne v6 (capture de tendance fixe) Stratégie de tendance optimisée basée sur la plage réelle moyenne v6 (capture de tendance fixe)

Aperçu

Il s’agit d’une stratégie de suivi de tendance basée sur l’étendue réelle moyenne (ATR) conçue pour capturer des transactions à haute probabilité en combinant plusieurs indicateurs techniques. La stratégie intègre le filtrage ATR, l’indicateur de tendance super, les moyennes mobiles indicielles (EMA) et les moyennes mobiles simples (SMMA), les bandes de tendance, les confirmations d’indicateurs relativement faibles (RSI) et le système d’arrêt dynamique, afin de fournir une méthode de négociation complète et flexible.

Principe de stratégie

Le principe central de la stratégie est basé sur la synergie de plusieurs indicateurs techniques:

  1. Identification de la tendance: l’indicateur de super-tendance (paramètre: facteur 2, longueur 5) et les tendances de 50 jours EMA et 8 jours SMMA sont utilisés pour définir la direction de la tendance du marché. La tendance est codée en couleur:

    • Vert: tendance à la hausse
    • Rouge: tendance à la baisse
    • Gris: phase neutre
  2. Filtrage ATR intelligent: détectez l’expansion de la volatilité à l’aide d’ATR à 14 cycles et de moyennes mobiles simples à 50 cycles, ne négociez que lorsque l’ATR augmente ou est supérieur à 101% de sa SMA, assurez-vous d’entrer uniquement dans une tendance forte.

  3. Conditions d’entrée :

    • Plus d’entrée: prix au-dessus de l’EMA de 50 jours, super tendance positive, RSI > 45, ATR confirme la force de la tendance
    • Entrée en bourse: prix en dessous de l’EMA du 50e jour, tendance supérieure, RSI < 45, ATR confirme la force de la tendance
  4. Le système de freinage est un système de freinage qui fonctionne à l’aide d’un système de freinage.

    • Arrêt automatique: Arrêt automatique basé sur 5 fois l’ATR
    • Stop-loss: Stop-loss de suivi à 3,5 fois le ATR
    • Stop-loss: activé après un mouvement de 2 fois l’ATR
    • Stop fixe: gestion du risque avec un multiplicateur ATR de 0,8 fois

Avantages stratégiques

  1. Filtre efficacement les marchés volatiles et évite de négocier dans des zones à faible volatilité
  2. La réouverture prématurée est évitée grâce à un mécanisme de verrouillage de blocage.
  3. Capturer une tendance forte et suivre les arrêts de perte permet de maintenir les bénéfices
  4. Réduction des retraits, arrêt de l’ATR de base pour éviter les pertes importantes
  5. Les paramètres sont réglables et peuvent être ajustés pour différents marchés ATR multiplicateur, stop loss, stop stop and RSI filtres

Risque stratégique

  1. Une dépendance excessive à l’égard des indicateurs techniques peut conduire à de faux signaux
  2. La Chine pourrait être en panne sur un marché en crise
  3. Une mauvaise configuration des paramètres peut augmenter les coûts de transaction
  4. Le RSI confirme qu’il a peut-être manqué une tendance rapide

Orientation de l’optimisation de la stratégie

  1. L’introduction d’algorithmes d’apprentissage automatique et de paramètres de réglage dynamique
  2. Ajout de filtres supplémentaires, tels que la confirmation de livraison
  3. Une combinaison optimale de paramètres pour différents marchés et périodes
  4. Développement d’un mécanisme de vérification à plusieurs périodes

Résumer

Il s’agit d’une stratégie avancée de suivi des tendances qui offre aux traders un outil de trading flexible et puissant grâce à la synergie multi-indicateurs et à la gestion dynamique des risques. Le retour continu et l’optimisation sont essentiels pour appliquer cette stratégie avec succès.

Code source de la stratégie
/*backtest
start: 2024-03-31 00:00:00
end: 2025-03-29 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("Optimized ATR-Based Trend Strategy v6 (Fixed Trend Capture)", overlay=true)

// 🔹 Input parameters
lengthSMMA = input(8, title="SMMA Length")
lengthEMA = input(50, title="EMA Length")
supertrendFactor = input(2.0, title="Supertrend Factor")
supertrendLength = input(5, title="Supertrend Length")
atrLength = input(14, title="ATR Length")  
atrSmoothing = input(50, title="ATR Moving Average Length")  
atrMultiplierTP = input.float(5.0, title="ATR Multiplier for Take-Profit", minval=1.0, step=0.5)  
atrMultiplierTSL = input.float(3.5, title="ATR Multiplier for Trailing Stop-Loss", minval=1.0, step=0.5)  // 🔹 Increased to ride trends
atrStopMultiplier = input.float(0.8, title="ATR Stop Multiplier", minval=0.5, step=0.1)  
breakEvenMultiplier = input.float(2.0, title="Break-Even Trigger ATR Multiplier", minval=1.0, step=0.1)
rsiLength = input(14, title="RSI Length")  

// 🔹 Indicator calculations
smma8 = ta.sma(ta.sma(close, lengthSMMA), lengthSMMA)  
ema50 = ta.ema(close, lengthEMA)  

// 🔹 Supertrend Calculation
[superTrend, _] = ta.supertrend(supertrendFactor, supertrendLength)

// 🔹 Supertrend Conditions
isBullishSupertrend = close > superTrend
isBearishSupertrend = close < superTrend

// 🔹 ATR Calculation for Smarter Filtering
atrValue = ta.atr(atrLength)
atrMA = ta.sma(atrValue, atrSmoothing)
atrRising = ta.rising(atrValue, 3)  // 🔹 More sensitive ATR detection
isTrending = atrValue > atrMA * 1.01 or atrRising  // 🔹 Loosened ATR filter

// 🔹 RSI Calculation
rsi = ta.rsi(close, rsiLength)

// 🔹 RSI Conditions (More Flexible)
isRSIBullish = rsi > 45  // 🔹 Lowered to capture early trends
isRSIBearish = rsi < 45  

// 🔹 TP Lock Mechanism
var bool tpHit = false  
if strategy.position_size == 0 and strategy.closedtrades > 0
    tpHit := true  

// 🔹 Supertrend Flip Detection (Resumes Trading After Trend Change)
trendFlip = (isBullishSupertrend and not isBullishSupertrend[1]) or (isBearishSupertrend and not isBearishSupertrend[1])
if trendFlip
    tpHit := false  

// 🔹 Entry Conditions
bullishEntry = close > ema50 and isBullishSupertrend and isRSIBullish and isTrending and not tpHit
bearishEntry = close < ema50 and isBearishSupertrend and isRSIBearish and isTrending and not tpHit

// 🔹 Dynamic Take-Profit, Stop-Loss, and Break-Even Stop
longTakeProfit = close + (atrValue * atrMultiplierTP)  
shortTakeProfit = close - (atrValue * atrMultiplierTP)  
longTrailStop = atrValue * atrMultiplierTSL  
shortTrailStop = atrValue * atrMultiplierTSL  

// ✅ Adjusted SL to Reduce Drawdown
longStopLoss = close - (atrValue * atrMultiplierTSL * atrStopMultiplier)
shortStopLoss = close + (atrValue * atrMultiplierTSL * atrStopMultiplier)

// ✅ Break-Even Stop Trigger (More Room for Trends)
longBreakEven = strategy.position_avg_price + (atrValue * breakEvenMultiplier)
shortBreakEven = strategy.position_avg_price - (atrValue * breakEvenMultiplier)

// 🔹 Strategy Execution (Fixed Take-Profit & Stop-Loss)
if (bullishEntry)
    strategy.entry("Buy", strategy.long)
    strategy.exit("TSL/TP", from_entry="Buy", stop=longStopLoss, trail_offset=longTrailStop, limit=longTakeProfit)
    strategy.exit("BreakEven", from_entry="Buy", stop=longBreakEven)

if (bearishEntry)
    strategy.entry("Sell", strategy.short)
    strategy.exit("TSL/TP", from_entry="Sell", stop=shortStopLoss, trail_offset=shortTrailStop, limit=shortTakeProfit)
    strategy.exit("BreakEven", from_entry="Sell", stop=shortBreakEven)

// 🔹 Trend Band
trendColor = isBullishSupertrend and smma8 > ema50 and close > ema50 ? color.green :
             isBearishSupertrend and smma8 < ema50 and close < ema50 ? color.red : color.gray
fill(plot(smma8, color=color.new(trendColor, 60), title="8 SMMA Band"),
     plot(ema50, color=color.new(trendColor, 60), title="50 EMA Band"),
     color=color.new(trendColor, 80), title="Trend Band")

// 🔹 Supertrend Line
plot(superTrend, color=color.gray, title="Supertrend", style=plot.style_line)