Diese Strategie verwendet zwei ATR-Stopps mit unterschiedlichen Parametern, um dynamische Stop-Loss-Levels zu setzen - einen schnellen Stop und einen langsamen Stop. Es etabliert Long-Positionen basierend auf Preis-Breakouts der verschiedenen Stop-Levels und verlässt Positionen mit den Trailing-Stopps. Das Ziel ist es, ATR-Stopps zu verwenden, um angemessene Stop-Loss-Levels zu setzen und gleichzeitig die Trendfolgfähigkeit zu maximieren.
Die Strategie verwendet den ATR-Indikator, um zwei Stop-Loss-Levels zu berechnen. Der Fast Stop verwendet 5-Perioden-ATR multipliziert mit 0,5 als Stop-Distanz. Der Slow Stop verwendet 10-Perioden-ATR multipliziert mit 3 als Stop-Distanz. Wenn der Preis über die Fast Stop-Level bricht, wird eine Long-Position eingerichtet. Wenn der Preis weiterhin über die Slow Stop-Level bricht, wird der Stop auf die Slow Stop-Level angepasst. Wenn der Preis nach unten geht, wird der Stop-Level basierend auf den Crossover-Beziehungen angepasst.
Die Logik lautet:
Berechnung des Schnellstops Trail1: 5-Perioden-ATR * 0,5
Berechnung des langsamen Stopps Trail2: 10-Perioden-ATR * 3
Wenn der Preis über Trail1 bricht, setzen Sie eine Long-Position ein.
Wenn der Preis weiterhin über Trail2 bricht, passen Sie den Stopp auf Trail2 an
Wenn der Preis nach unten dreht sich Breaking Trail1, Anpassen Stop zurück zu Trail1
Wenn der Preis weiter sinkt und den Trail2 überschreitet, passt man den Stop auf den Trail2 an.
Schließlich, wenn der Preis den Stop-Level erreicht, verlassen Sie die Position mit Stop-Loss
Auf diese Weise kann die Strategie den Gewinn während Aufwärtstrends mit den Trailing-Stops maximieren und gleichzeitig schnell Verluste stoppen, wenn der Trend umkehrt.
ATR-Stopps setzen dynamische Stop-Loss-Level auf der Grundlage der Marktvolatilität fest
Der Doppelstop-Mechanismus gleicht die Verluste zwischen dem Stoppen und dem Nachlassen der Trends aus.
Lange Richtung entspricht dem allgemeinen Aufwärtstrend, höhere Rentabilität
Einfache und klare Logik, leicht zu verstehen und umzusetzen
Strenge Stop-Loss-Regeln begrenzen Verluste wirksam
Fehlende ATR-Parameter können dazu führen, dass die Haltestellen zu breit oder zu eng sind
Lange Richtung hat eine Richtungsverzerrung, anfällig für Stopps an den Markttoppen
Zweifelhaftes Anhalten ist kompliziert und kann fehlschlagen, wenn es nicht richtig eingestellt wird.
Keine Filter wie EMA-Kreuzungen können zu schlechten Trades führen
Keine Positions- oder Risikomanagement, Risiken eines Überhandels
Diese Risiken können durch die Optimierung der ATR-Parameter, das Hinzufügen von Filtern und die Durchsetzung des Risikomanagements verringert werden.
Optimierung der ATR-Parameterkombinationen für optimale Ergebnisse
Fügen Sie Filter wie EMA hinzu, um Eingangssignale zu qualifizieren
Einbeziehung von Indikatoren wie dem Stoch RSI für zusätzliche Vorteile
Hinzufügen von Wiedereintrittslogik zur Optimierung des Positionsmanagements
Optimierung der Risikomanagementregeln zur Begrenzung von Stop-Loss pro Handel
Einbeziehung von Analysen auf Marktebene zur Vermeidung von Richtungsfehlern
Überlegen Sie schnelleren Zeitrahmen Strategien wie stündlich
Erweiterung auf eine universelle Strategie für mehrere Märkte
Einsatz einer Hochleistungs-Handelsmaschine
Mit diesen Verbesserungen kann die Strategie robuster, stabiler und profitabler sein.
Die Strategie verwendet klare ATR-Trailing-Stops für lange Ein- und Ausstiege. Die Vorteile liegen in den strengen Stop-Loss-Regeln, um Verluste zu begrenzen, während Trends verfolgt werden. Es hat Richtungsverzerrungsrisiken, die durch Optimierungen wie bessere Parameter, das Hinzufügen von Filtern und die Verbesserung des Risikomanagements reduziert werden können.
/*backtest start: 2023-10-25 00:00:00 end: 2023-11-01 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("ATR Trailing Stop Strategy (Long Position Only)", overlay=true) SC = input(close, "Source", input.source) // Fast Trail AP1 = input(5, "Fast ATR period", input.integer) AF1 = input(0.5, "Fast ATR multiplier", input.float) SL1 = AF1 * atr(AP1) Trail1 = 0.0 Trail1 := iff(SC > nz(Trail1[1], 0) and SC[1] > nz(Trail1[1], 0), max(nz(Trail1[1], 0), SC - SL1), iff(SC < nz(Trail1[1], 0), SC + SL1, na)) // Slow Trail AP2 = input(10, "Slow ATR period", input.integer) AF2 = input(3, "Slow ATR multiplier", input.float) SL2 = AF2 * atr(AP2) Trail2 = 0.0 Trail2 := iff(SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0), max(nz(Trail2[1], 0), SC - SL2), iff(SC < nz(Trail2[1], 0), SC + SL2, na)) Green = Trail1 > Trail2 and close > Trail2 and low > Trail2 Buy = crossover(Trail1, Trail2) plotshape(Buy, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) strategy.entry("Buy", strategy.long, when = Buy) var float trailingStopPrice = na if (Trail2 > trailingStopPrice) trailingStopPrice := Trail2 if (crossover(Trail1, Trail2)) trailingStopPrice := Trail2 strategy.exit("Exit", from_entry = "Buy", stop=trailingStopPrice)