Optimierte Trendstrategie basierend auf dem durchschnittlichen wahren Bereich v6 (feste Trenderfassung)

ATR EMA SMMA RSI TSL
Erstellungsdatum: 2025-03-31 16:50:30 zuletzt geändert: 2025-03-31 16:50:41
Kopie: 0 Klicks: 417
2
konzentrieren Sie sich auf
319
Anhänger

Optimierte Trendstrategie basierend auf dem durchschnittlichen wahren Bereich v6 (feste Trenderfassung) Optimierte Trendstrategie basierend auf dem durchschnittlichen wahren Bereich v6 (feste Trenderfassung)

Überblick

Dies ist eine Trend-Tracking-Strategie, die auf einer durchschnittlichen realen Bandbreite (ATR) basiert, um high-probability Trades durch die Kombination mehrerer technischer Indikatoren zu erfassen. Die Strategie kombiniert ATR-Filter, Supertrend-Indikatoren, Indikator-Moving-Averages (EMA) und Simple Moving-Averages (SMMA), Trendbänder, relativ starke Indikatoren (RSI) und ein dynamisches Stop-Loss-System, um eine umfassende und flexible Handelsmethode bereitzustellen.

Strategieprinzip

Die Kernprinzipien der Strategie basieren auf dem Zusammenspiel mehrerer technischer Indikatoren:

  1. Trenderkennung: Die Richtung der Markttrends wird durch den Supertrend-Indikator ((Parameter: Faktor 2, Länge 5) und den 50-Tage-EMA und den 8-Tage-SMMA-Trend definiert. Die Trends sind farblich codiert:

    • Grün: Positiver Trend
    • Rot: Abwärtstrend
    • Grau: Neutrale Phase
  2. ATR-Smart-Filterung: Erfassung von Volatilitätserweiterungen durch 14-Zyklus-ATR und 50-Zyklus-Simple-Moving-Averages, nur Handel, wenn der ATR steigt oder höher als seine SMA 101% ist, um sicherzustellen, dass nur in einem starken Trend eingegeben wird.

  3. Teilnahmebedingungen:

    • Mehrere Eintritte: Preis über der 50-Tage-EMA, Supertrend ist positiv, RSI > 45, ATR bestätigt die Trendstärke
    • Eintritt in den Leerlauf: Preis unterhalb der 50-Tage-EMA, Supertrend-Bewegung, RSI < 45, ATR-Bestätigung der Trendstärke
  4. Die Dynamik von Stop Loss und Stop Stop:

    • Anpassung an die 5-fache ATR
    • Tracking-Verlust von 3,5 mal ATR
    • Stop-Loss-Sicherheitsschutz: Einleitung nach einer 2-fachen ATR-Bewegung
    • Fixed Stop Loss: Risikomanagement mit einem ATR von 0,8 Mal

Strategische Vorteile

  1. Effektive Filterung von Marktschwankungen und Vermeidung von Geschäften in Niedrigfluktuationszonen
  2. Überhändlungen verhindert und vorzeitige Wiedereingänge verhindert
  3. Der Trend ist stark und die Stop-Loss-Verfolgung erlaubt es, die Gewinne zu halten.
  4. Reduzierung der Rücknahmen, Verhinderung von Verlusten durch ATR-Basisstopps
  5. Parameter sind einstellbar und können ATR-Multiplikatoren, Stop Losses, Stop Stops und RSI-Filter für verschiedene Märkte verfeinern

Strategisches Risiko

  1. Übermäßige Abhängigkeit von technischen Indikatoren kann zu Falschsignalen führen
  2. In einem wackligen Markt könnte es schlecht laufen.
  3. Unkorrekt eingestellte Parameter können die Transaktionskosten erhöhen
  4. Der RSI bestätigt, dass er einen schnellen Trendwechsel übersehen hat

Richtung der Strategieoptimierung

  1. Einführung von Algorithmen für maschinelles Lernen, dynamische Anpassung von Parametern
  2. Zusätzliche Filter hinzufügen, wie z. B. die Bestätigung von Lieferungen
  3. Die optimale Kombination von Parametern für verschiedene Märkte und Zeitrahmen erforschen
  4. Entwicklung eines Multi-Time-Framework-Verifizierungsmechanismus

Zusammenfassen

Es ist eine fortgeschrittene Trend-Tracking-Strategie, die den Händlern ein flexibles und leistungsfähiges Handelsinstrument bietet, das durch Multi-Indikator-Synergie und dynamisches Risikomanagement genutzt wird. Die kontinuierliche Rückmeldung und Optimierung ist der Schlüssel zur erfolgreichen Anwendung dieser Strategie.

Strategiequellcode
/*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)