Diese Strategie ist eine langfristige Handelsstrategie, die einen dynamischen Trailing Stop Loss auf Basis von Simple Moving Average (SMA) und Average True Range (ATR) festlegt.
Die Strategie verwendet SMA 200 zur Bestimmung der Haupttrendrichtung und setzt die Stop-Loss-Linie dynamisch mit ATR 14 ein, um einen dynamischen Trailing-Stop-Loss zu realisieren. Insbesondere wird das Kaufsignal ausgelöst, wenn der Schlusskurs durch SMA 200 plus ATR 14 bricht. Dieser Ausbruch bedeutet, dass der aktuelle Markt im Aufwärtstrend bleibt. Das Stop-Loss-Signal wird ausgelöst, wenn der Schlusskurs durch SMA 200 minus ATR 14 bricht.
Diese Strategie kombiniert die Vorteile von SMA und ATR Indikatoren. SMA 200 filtert Marktlärm und schließt in primäre Trendrichtung. ATR 14 setzt Stopp-Loss-Linie basierend auf der Volatilität der letzten zwei Wochen, realisiert dynamische Trailing-Stop-Loss-Funktion. Dies erreicht nachhaltige Rentabilität innerhalb des Trends, während auch die Kontrolle von Ziehungen effektiv. Die allgemeinen Vorteile sind:
Eine höhere Gewinn-Verlust-Ratio. Trends zu folgen und Risiken zu kontrollieren führt zu einer höheren Gewinn-Verlust-Ratio.
Der dynamische Stop-Loss mit ATR verringert die Auswirkungen sporadischer Marktschocks.
Einfache Parameter, nur zwei Parameter, die Risiken und Erträge ausgleichen, um Überanpassung zu vermeiden.
Einige Risiken dieser Strategie sollten berücksichtigt werden:
Trendumkehrrisiko: Die Strategie selbst kann keine Trendumkehr erkennen, was bei plötzlicher Trendwende zu großen Verlusten führen kann.
SMA-Verzögerungsrisiko. SMA hat einen Verzögerungseffekt, der eine Trendänderung nicht sofort widerspiegeln kann.
Unzulässige Einstellung der ATR-Parameter kann die Strategieleistung beeinflussen.
Lösungen:
Diese Strategie kann aus folgenden Gesichtspunkten weiter optimiert werden:
Versuche verschiedene Kombinationen von SMA- und ATR-Parametern, um den optimalen zu finden.
Hinzufügen von mehr technischen Indikatoren zur Beurteilung der Umkehrung, z.B. MACD.
Optimieren Sie den Stop-Loss-Mechanismus mit Trailing Stop-Loss, Moving Stop-Loss usw.
Kombinieren Sie grundlegende Faktoren, um zu vermeiden, dass Aktien mit schwachen Grundlagen aufgekauft werden.
Diese Strategie integriert Trend-Tracking und dynamische Risikomanagement-Methoden, um Stop-Loss zu optimieren und während langer Halteperioden Gewinn zu erzielen. Sie verfügt über eine hohe Gewinn/Verlust-Ratio, kontrollierbare Drawdowns und ein ausgewogenes Risiko/Rendite-Profil. Sie hat jedoch auch einige Trendumkehrrisiken und Schwierigkeiten bei der Optimierung von Parametern. Insgesamt bietet diese einfache und effektive Strategie eine langfristige Handelsidee, die für den quantitativen Handel weiter getestet und optimiert werden sollte.
/*backtest start: 2023-01-30 00:00:00 end: 2024-02-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SMA+ATR Strategie", overlay=true) // Benutzer-Inputs für SMA, ATR und die Anzeigeoption smaLength = input(200, title="SMA Länge") atrLength = input(14, title="ATR Länge") showSMAandATR = input(true, title="Zeige SMA und ATR-Bänder") // Berechnung von SMA und ATR sma = ta.sma(close, smaLength) atr = ta.atr(atrLength) // Kauf- und Verkaufslogik basierend auf SMA und ATR buyCondition = close > sma + atr sellCondition = close < sma - atr // Variable zum Speichern des Eintrittspreises var float entryPrice = na // Kauf- und Verkaufssignale if (buyCondition) strategy.entry("Buy", strategy.long) entryPrice := close // Speichere den Eintrittspreis if (sellCondition) // Nur wenn ein Kauf stattgefunden hat if not na(entryPrice) // Berechne die Performance seit dem Kaufsignal performanceSinceBuy = ((close - entryPrice) / entryPrice) * 100 // Anzeigen der Performance // Wähle die Box-Farbe basierend auf dem Vorzeichen der Performance plColor = performanceSinceBuy >= 0 ? color.green : color.red // Anzeigen der Performance in der entsprechenden Farbe plBox = "P/L: " + str.tostring(performanceSinceBuy, "#.##") + "%" label.new(bar_index, high, text=plBox, color=plColor, textcolor=color.white, style=label.style_label_center, yloc=yloc.price) // Schließe den Trade und setze den Eintrittspreis zurück strategy.close("Buy") entryPrice := na // Optionale Anzeige von SMA und ATR-Band plot(showSMAandATR ? sma : na, color=color.blue, title="SMA 200") plot(showSMAandATR ? sma + atr : na, color=color.green, title="SMA 200 + ATR") plot(showSMAandATR ? sma - atr : na, color=color.red, title="SMA 200 - ATR")