Doppelte Bestätigungsbereichsfilterstrategie kombiniert mit ATR-dynamischer Position und Trailing-Stop-Loss-System

Range Filter ATR SMA Trailing Stop POSITION SIZING
Erstellungsdatum: 2025-05-26 14:22:36 zuletzt geändert: 2025-05-26 14:22:36
Kopie: 0 Klicks: 311
2
konzentrieren Sie sich auf
319
Anhänger

Doppelte Bestätigungsbereichsfilterstrategie kombiniert mit ATR-dynamischer Position und Trailing-Stop-Loss-System Doppelte Bestätigungsbereichsfilterstrategie kombiniert mit ATR-dynamischer Position und Trailing-Stop-Loss-System

Überblick

Die Strategie ist ein Low-Retracement-Quantifizierungssystem für den Handel, das einen Range-Filter (Range Filter) und eine durchschnittliche reale Breite (ATR) kombiniert. Sie identifiziert die Trendrichtung durch den Range-Filter, während die ATR verwendet wird, um die Positionstärke dynamisch anzupassen und die Nachlaufverluste einzustellen, um das Risiko effektiv zu kontrollieren. Die Strategie verlangt, dass der Preis zwei aufeinanderfolgende Perioden durchbricht, um den Trend auf dem Range-Filter zu bestätigen, und diese Doppel-Mechanismus bestätigt, um den Trend effektiv zu reduzieren.

Strategieprinzip

Die Kernprinzipien der Strategie sind die Kombination von Spektrumfilter-Trenderkennung und ATR-Risikomanagementsystemen:

  1. Berechnung der Reichweite des Filters:

    • Zuerst berechnen wir den einfachen Moving Average (SMA) der Preise als Mittellinie.
    • Dann berechnen wir den Moving Average der Absolute Abweichung des Preises von dieser Mittellinie, als Bandbreite für die Schwankungen.
    • Oberbahn = Mittellinie + Schwankungsbereich
    • Unterbahn = Mittellinie - Schwankungsbereich
  2. Trendbestätigung:

    • Aufwärtstrend: Preise beenden zwei aufeinanderfolgende Zyklen über der Spur
    • Abwärtstrend: Die Preise sind in zwei aufeinanderfolgenden Phasen unter der Bahn
    • Diese doppelte Bestätigung reduziert die Anzahl der Falschmeldungen.
  3. ATR dynamische Positionen:

    • ATRs zur Messung der aktuellen Marktvolatilität
    • Positionsberechnungsformel: (Kontoinlagen * Risikoprozentsatz) / (ATR * Punktwert)
    • Je schwankender der Markt, desto geringer die Position; je geringer die Schwankung, desto größer die Position
  4. ATR-Nachlaufschaden:

    • Die Stop-Loss-Einstellung für die Mehrköpfe lautet:
    • Die Stop-Loss-Einstellung für den Leerlauf lautet: Aktueller Preis + (ATR * Multiplikator)
    • Wenn sich der Preis in eine günstige Richtung bewegt, bewegt sich auch die Stop-Loss-Linie, um die Gewinne zu sperren.

Strategische Vorteile

  1. Anpassungsfähigkeit:

    • Der Spektrumfilter passt sich automatisch an die schwankenden Eigenschaften verschiedener Marktzyklen an
    • ATR-Positionsanpassungsmechanismen ermöglichen die automatische Anpassung der Strategie an unterschiedliche Umgebungen
  2. Gute Risikokontrolle:

    • Prozentsatz des festen Risikos pro Transaktion (default 1%)
    • Positionsgröße, angepasst an die Dynamik der Marktfluktuation
    • Ein Tracking-Stopp-Mechanismus, der die Gewinne und die Verluste wirksam sperrt
  3. Gute Signalqualität:

    • Doppelte Bestätigungsmechanismen ((zwei aufeinanderfolgende Durchbrüche) reduzieren Falschsignale)
    • Umfangsfilter filtern Marktgeräusche ab und erkennen echte Trends
  4. Niedrige Rückzugseigenschaften:

    • Der Trailing Stop begrenzt den maximalen Verlust eines einzelnen Handels.
    • Die konservative Einstellung der Risikoparameter (Risiko 1%) reduziert den Gesamtrückzug
    • Dynamische Positionen werden automatisch während hoher Volatilität verkleinert, um das Risiko zu verringern
  5. Transparent und individuell:

    • Strategie-Parameter sind klar und logisch
    • Die Parameter können an unterschiedliche Märkte und individuelle Risikopräferenzen angepasst werden

Strategisches Risiko

  1. Der Horizontalmarkt schneidet.:

    • In einem Trendlosen Markt kann es zu häufigen Falschbrüchen kommen.
    • Lösung: Sie können zusätzliche Trendfilter hinzufügen oder die Anzahl der Bestätigungszyklen erhöhen.
  2. Das Risiko einer schnellen Umkehrung:

    • Bei einer plötzlichen Umkehrung des starken Trends kann es sein, dass die Nachschub-Stopps nicht rechtzeitig eingesetzt werden können.
    • Lösung: Erhöhung der Schwankungsrate in Kombination mit einem Indikator oder Verkürzung der Nachschubdistanz
  3. Parameterempfindlichkeit:

    • Die Auswahl der Reichweite-Filter-Perioden und ATR-Multiplizierte beeinflussen die Strategie-Performance
    • Die Lösung: Eine ausreichende Rückvergleiche durchführen, um eine solide Kombination von Parametern zu finden.
  4. Risiken von fortlaufenden Verlusten:

    • Selbst wenn die Risiken für jede Transaktion gut kontrolliert sind, kann eine Reihe von Verlustgeschäften zu einem größeren Rückzug führen.
    • Lösung: Setzen Sie eine maximale Anzahl von Verlusten in Folge oder fügen Sie einen Filter für die Marktumgebung hinzu
  5. Einfluss von Schlupfpunkten und Gebühren:

    • In Live-Trading können Gleitpunkte und Gebühren die Strategie-Performance erheblich beeinflussen
    • Lösung: Ein angemessener Gebühren- und Schlupfpunkt in die Rückmessung einfügen, um genügend Gewinnspielraum zu behalten

Richtung der Strategieoptimierung

  1. Hinzufügen eines Marktumfeldfilters:

    • Die Einführung von Volatilitätsindikatoren (z. B. Bollinger Bandbreite) zur Identifizierung von Marktzuständen
    • Unterbrechung des Handels oder Anpassung der Parameter bei geringer Volatilität oder in einem konsolidierten Markt
    • Dies könnte falsche Signale in den OTC-Märkten reduzieren und die Gesamtgewinnrate erhöhen.
  2. Optimierung der Reichweite des Filterzyklus:

    • Erwägen Sie die Verwendung von Adaptionszyklen anstelle von Fixzyklen
    • Filterzyklen, die sich automatisch an die Marktfluktuation anpassen lassen
    • Dies ermöglicht eine bessere Anpassung der Strategie an die verschiedenen Marktphasen.
  3. Einführung von Multiple-Time-Framework-Bestätigungen:

    • Erhöhung der Trendbestätigungskonditionen auf höheren Zeiträumen
    • Handeln Sie nur in Richtung der Hauptrends und vermeiden Sie Gegenwärtigen
    • Dies würde die Signalqualität und die Siegertarife erheblich verbessern.
  4. Dynamische Anpassung der ATR-Multiplikatoren:

    • ATR-Multiplikatoren, die auf Basis von dynamischen Anpassungen der Marktschwankungen an die Stop-Loss-Dynamik angepasst sind
    • Kleinere und größere Multiplikatoren in schwachen Märkten
    • Dies erhöht die Effizienz und Flexibilität der Schadensbegrenzung.
  5. Hinzufügen eines zeitbasierten Ausstiegsmechanismus:

    • Setzen Sie eine maximale Haltedauer
    • Wenn der Preis nicht in der erwarteten Richtung innerhalb einer bestimmten Zeit entwickelt, wird eine Zwangsflossung erzwungen
    • Dies verhindert, dass das Geld für längere Zeit in ungültigen Geschäften festsitzt.

Zusammenfassen

Die Doppelbestätigungs-Range-Filterstrategie kombiniert ATR-Dynamische Positionen mit einem Trailing-Loss-System ist eine quantitative Handelsstrategie, die auf Risikokontrolle ausgerichtet ist. Sie identifiziert die Trendrichtung durch die Range-Filter, erfordert zwei aufeinanderfolgende Zyklus-Breakthroughs, um das Signal zu bestätigen, verwendet ATR, um die Positionsgröße und den Trailing-Loss dynamisch anzupassen, um das Risiko für jeden Handel innerhalb eines voreingestellten Prozentsatzes effektiv zu kontrollieren. Die Hauptvorteile der Strategie liegen in der starken Anpassungsfähigkeit und der hervorragenden Risikokontrolle, die besonders für Märkte mit großer Schwankung, aber offensichtlichen Trends geeignet sind.

Strategiequellcode
/*backtest
start: 2025-02-01 00:00:00
end: 2025-05-25 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("Range Filter + ATR Strategy (Low Drawdown)", overlay=true, 
     pyramiding=0, default_qty_type=strategy.percent_of_equity, 
     default_qty_value=100, commission_type=strategy.commission.percent, 
     commission_value=0.1, initial_capital=10000)

// Input parameters
rangePeriod = input.int(14, title="Range Filter Period")
atrPeriod = input.int(14, title="ATR Period")
riskPercent = input.float(1.0, title="Risk % per Trade", minval=0.1, maxval=5)
useATRSizing = input(true, title="Use ATR Position Sizing")
trailATR = input(1.5, title="Trailing Stop ATR Multiple")

// Calculate Range Filter
src = close
smooth = ta.sma(src, rangePeriod)
filter = ta.sma(math.abs(src - smooth), rangePeriod)
upper = smooth + filter
lower = smooth - filter

// Calculate ATR
atr = ta.atr(atrPeriod)

// Trend direction
upTrend = src > upper and src[1] > upper[1]
downTrend = src < lower and src[1] < lower[1]

// Position sizing based on ATR
atrPositionSize = (strategy.equity * riskPercent/100) / (atr * syminfo.pointvalue)

// Strategy logic
if (upTrend)
    strategy.entry("Long", strategy.long, qty=useATRSizing ? atrPositionSize : na)
    
if (downTrend)
    strategy.entry("Short", strategy.short, qty=useATRSizing ? atrPositionSize : na)

// Corrected trailing stop using trail_offset instead of trail_points
if (strategy.position_size > 0)
    strategy.exit("Long Exit", "Long", trail_price=na, trail_offset=trailATR * atr)
    
if (strategy.position_size < 0)
    strategy.exit("Short Exit", "Short", trail_price=na, trail_offset=trailATR * atr)

// Plotting
plot(upper, color=color.green, title="Upper Range")
plot(lower, color=color.red, title="Lower Range")
plot(smooth, color=color.blue, title="Smooth Line")