Breakout-Umkehrstrategie mit Stop Loss

Schriftsteller:ChaoZhang, Datum: 2024-02-05 14:56:16
Tags:

img

Übersicht

Dies ist eine lange/kurze quantitative Handelsstrategie, die auf der Breakout-Theorie basiert. Sie berechnet den höchsten Schlusskurs in den letzten 100 Handelstagen und bestimmt, ob ein Breakout stattfindet, basierend darauf, ob der letzte Schlusskurs dieses Niveau überschreitet. Wenn ein Breakout erkannt wird, wird ein Long-Signal ausgelöst. Nach dem Eintritt in den Long wird die Position nach 25 Bars durch einen Stop-Loss geschlossen.

Strategie Logik

Die Kernlogik dieser Strategie nutzt die Breakout-Theorie in der technischen Analyse. Die Breakout-Theorie glaubt, dass, wenn der Preis über einen Zeitraum den jüngsten Höchst- oder Tiefstand durchbricht, dies eine Umkehrung signalisiert und der Markt einen neuen Auf- oder Abwärtstrend starten kann.

Insbesondere diese Strategie verwendet die Pine Script eingebaute Funktionta.highest()Wenn der Schlusskurs durchbricht und den 100-Tage-Höchstschlusskurs übersteigt, wird ein Long-Entry-Signal ausgelöst.

Nach dem Eintritt in eine Long-Position setzt die Strategie eine Stop-Loss-Bedingung, um die Position zu schließen.ta.barssince()Um die Anzahl der Bars zu zählen, die seit dem Long-Eintreffen vergangen sind, wird es gezwungen, die Position nach 25 Bars zu schließen.

Die Logik der Eingabe kann wie folgt zusammengefasst werden:

  1. Berechnung des höchsten Schlusses der letzten 100 Handelstage
  2. Vergleichen Sie, ob der Schlusskurs der aktuellen Bar über dem höchsten Schlusskurs liegt
  3. Wenn überschritten, lösen Sie das Längen-Eingangssignal aus
  4. Schließen der Long-Position durch Stop-Loss nach 25 Bar

Analyse der Vorteile

Der größte Vorteil dieser Strategie besteht darin, Preisumkehrpunkte mit einer relativ hohen Erfolgsrate von Trend-nachfolgenden Trades zu erfassen.

Die konkreten Vorteile sind:

1. Trendfolgung, höhere Erfolgsrate

Die Breakout-Theorie geht davon aus, dass nach einer Preisüberschreitung eines Schlüsselniveaus ein neuer Trend ausgelöst werden kann.

2. Kontrollierbares Risiko mit Stop-Loss

Die Strategie setzt einen erzwungenen Stop-Loss-Ausgang nach 25 Bars auf maximale Einzelverluste, wodurch ein großer Verlust vermieden wird.

3. Geeignet für mittelfristige bis langfristige Anlagen

Die Standardaufbewahrungszeit beträgt 25 Bar, etwa 1 Monat. Diese Frequenz eignet sich für mittelfristige bis langfristige Strategien, nicht zu kurz für Whipsaws und nicht zu lang, um das Risiko zu erhöhen.

4. Wenige Parameter, leicht zu optimieren

Es gibt hauptsächlich 2 einstellbare Parameter, mit wenigen Parametern ist es leicht, optimale Parameter für den tatsächlichen Handel zu testen und zu finden.

5. Übertragbar auf verschiedene Produkte

Diese Strategie bezieht sich nicht auf spezifische Indikatoren bestimmter Produkte. Ihre Logik gilt für Aktien, Devisen, Rohstoffe, Kryptowährungen usw. Es ist also flexibel, zwischen Produkten zu wechseln.

Risikoanalyse

Diese Strategie hat zwar einige Vorteile, aber auch einige Risiken, wenn sie im tatsächlichen Handel eingesetzt wird, insbesondere:

1. Risiko, Verlustpositionen zu halten

Die Strategie hat keinen Trailing Stop Loss, um profitablen Positionen zu folgen. Wenn der Kurstrend nicht wie erwartet verläuft oder sich der Ausbruch als falscher Ausbruch herausstellt, kann ein erzwungener Ausstieg an einem vorgegebenen Stop-Loss-Punkt zu einem großen Verlust führen. Dies ist das größte Risiko.

2. Es kann erforderlich sein, die Parameter einzustellen.

Standardparameter sind möglicherweise nicht optimal. Sie müssen während des Live-Handels optimiert werden, um die beste Passform für bestimmte Produkt- und Marktregime zu finden. Dies fügt zusätzliche Arbeit hinzu.

3. Leistungskorelation mit den Märkten

Die Strategie stützt sich zu sehr auf anhaltende Preistrends. Sie funktioniert nicht gut während von Range-bound-Regimes. Wenn auf Whipsaw-Märkte gestoßen wird, tritt häufig ein erzwungener Austritt auf, der zu instabilen Gewinnen/Verlusten führt.

Optimierung

Um diese Strategie für den tatsächlichen Einsatz robuster und rentabler zu gestalten, können einige Verbesserungen in den folgenden Aspekten vorgenommen werden:

1. Hinzufügen von Trailing Stop Loss Mechanismus

Hinzufügen von Stop-Loss-Logik, um profitable Positionen zu verfolgen, indem der Stop-Loss-Punkt dynamisch basierend auf schwebenden Gewinnen aktualisiert wird.

2. Marktorientierte Anpassungsparameter

Parameter wie Breakout-Periode und Holding-Periode anpassungsfähig machen, basierend auf der Marktstärke, quantifiziert mit Metriken wie ATR. Dies kann dynamisch Parameter anpassen.

**3. Kombination von Trendfiltern **

Eine bessere Filterung unklarer Trends bei der Anwendung der Strategie durch eine vorherige Trendanalyse, entweder diskretionär oder quantitativ.

4. Prüfung auf verschiedenen Produkten und in verschiedenen Intervallen

Die Prüfung der optimierten Parameter und Regeln auf verschiedenen Produkten (z. B. Indizes, Rohstoffe, Devisen, Kryptowährungen) und Intervallen (z. B. täglich, 60 Mio. Balken) wird diese Strategie robuster und breiter anwendbar machen.

Schlussfolgerung

Diese Breakout-Umkehrstrategie mit Stop-Loss ist mit klaren Regeln für die Trendenkennung und das Positionsmanagement einfach umzusetzen. Wir analysieren ihre Stärke und Risiken, geben Vorschläge zur Verbesserung ihrer Rentabilität und Anwendbarkeit. Mit weiterer Optimierung kann sie zu einer soliden quantitativen Handelsstrategie werden.


/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © All_Verklempt

//@version=5
strategy("Breakout Strategy", overlay=true)

// Input variable for breakout period
breakoutPeriod = input.int(100, title="Breakout Period", minval=1)

// Calculate the highest close of the past breakout period
highestClose = ta.highest(close, breakoutPeriod)

// Input variables for start and end dates
startYear = input.int(2022, title="Start Year", minval=1900)
startMonth = input.int(1, title="Start Month", minval=1, maxval=12)
startDay = input.int(1, title="Start Day", minval=1, maxval=31)

endYear = input.int(2023, title="End Year", minval=1900)
endMonth = input.int(12, title="End Month", minval=1, maxval=12)
endDay = input.int(31, title="End Day", minval=1, maxval=31)

// Convert start and end dates to timestamp
startDate = timestamp(startYear, startMonth, startDay, 00, 00)
endDate = timestamp(endYear, endMonth, endDay, 23, 59)

// Entry condition: Breakout and higher close within the specified date range
enterLong = close > highestClose[1] and close > close[1]

// Exit condition: Close the long position after twenty-five bars
exitLong = ta.barssince(enterLong) >= 25

// Strategy logic
if (enterLong)
    strategy.entry("Long", strategy.long)

if (exitLong)
    strategy.close("Long")


Mehr