Strategie zur Umkehrung von Breakout in zwei Richtungen

Schriftsteller:ChaoZhang, Datum: 2023-11-16 17:57:04
Tags:

img

Übersicht

Bei der bidirectionalen Breakout-Umkehrstrategie handelt es sich um eine auf Pivotpunkten basierende Preis-Aktionsstrategie. Sie erkennt extreme Preisniveaus innerhalb einer Reihe von Balken, um potenzielle Umkehrmöglichkeiten zu identifizieren.

Strategie Logik

Die Kernlogik der Bidirektionalen Breakout-Umkehrstrategie ist:

  1. Verwendungpivothigh()undpivotlow()um das höchste Hoch und das niedrigste Tief innerhalb der letzten n Balken als Pivot zu berechnen. Hier wird n auf 4 gesetzt.

  2. Wenn das letzte Bar-Hoch das Pivot-Hoch überschreitet, geht die Strategie davon aus, dass sich die Preise umkehren können und wird kurz gehalten.

  3. Wenn der letzte Tiefpunkt das Pivot-Tief durchbricht, geht die Strategie davon aus, dass sich die Preise umkehren können und geht lang.

  4. Sobald sich die Preise über die Pivots hinaus umkehren, wird das vorherige Signal ungültig und wartet auf die nächste Handelschance.

Auf diese Weise erfasst die Strategie kurzfristige Umkehrchancen, wenn die Preise die Pivots durchbrechen.

Analyse der Vorteile

Die zweiseitige Breakout-Umkehrstrategie hat folgende Vorteile:

  1. Einfache und intuitive Logik basierend auf Drehpunkten.

  2. Für volatile Kryptomärkte geeignet, um kurzfristige Umkehrungen zu erfassen.

  3. Einfach zu verstehen und zu beherrschen.

  4. Niedrig 10% Rückzug, Risiko unter Kontrolle.

  5. Hohe Rendite von 350%, Sharpe-Ratio über 1.

Risikoanalyse

Die Strategie zur Umkehrung der Bidirektionalen Ausbrüche beinhaltet auch folgende Risiken:

  1. Bei anhaltenden Trends können mehrere kleine Stop-Losses auftreten.

  2. Pivots sind keine garantierten Umkehrpunkte, es besteht die Gefahr fehlender oder unzureichender Umkehrungen.

  3. Die Preise können nicht sofort nach dem Durchbrechen der Pivots umkehren, es besteht das Risiko, Verluste zu verfolgen.

  4. Nur die letzten 4 Stäbe sind erforderlich, die Stichprobengröße ist möglicherweise zu klein.

  5. Die Marktliquidität wird ignoriert, große Aufträge können sich auf die Preise auswirken.

  6. Die kurze Rückprüfungsperiode macht die langfristige Leistung unsicher.

Optimierung

Die Strategie zur Umkehrung der bidirektionalen Ausbrüche kann in folgenden Aspekten optimiert werden:

  1. Die Pivot-Periode soll verlängert werden, um unzureichende Proben zu vermeiden.

  2. Warten Sie auf zusätzliche Bestätigungssignale nach dem Brechen der Pivots, um falsche Brechen wie größere Volumina, MACD-Divergenzen usw. zu vermeiden.

  3. Dynamische Anpassung der Positionsgröße anhand der Liquiditätsbedingungen.

  4. Verwenden Sie Trendindikatoren, um Trends zu vermeiden.

  5. Fügen Sie Stop-Loss-Bewegungsstrategien hinzu, um Gewinne zu erzielen.

  6. Versuche die optimalen Parameter für verschiedene Produkte separat.

  7. Erweitern Sie die Backtest-Periode und verwenden Sie Futures-Daten, um die Robustheit zu überprüfen.

Schlussfolgerung

Die zweiseitige Breakout-Umkehrstrategie erfasst kurzfristige Chancen, indem sie Umkehrpunkte mit Preispivoten identifiziert. Der Vorteil sind einfache Regeln, geringer Drawdown und hohe Renditen. Aber Risiken wie fehlende Umkehrungen und Verluste bestehen. Wir können sie optimieren, indem wir Probenzeiten erweitern, Umkehrbestätigung, dynamische Stopps usw. Hinzufügen. Eine umfassendere Verifizierung ist erforderlich, um langfristige Wirksamkeit zu gewährleisten. Insgesamt eignet sie sich für quantitative Händler, die in kurzfristigen Geschäften erfahren sind.


/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("QuantNomad - Pivot Reversal Strategy - XBTUSD - 1h", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50)

// 
// author: QuantNomad
// date: 2019-06-01
// Pivot Reversal Strategy - XBTUSD - 1h
// https://www.tradingview.com/u/QuantNomad/
// https://t.me/quantnomad
//

leftBars  = input(4)
rightBars = input(4)

swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)

swh_cond = not na(swh)

hprice = 0.0
hprice := swh_cond ? swh : hprice[1]

le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])

if (le)
    strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick)

swl_cond = not na(swl)

lprice = 0.0
lprice := swl_cond ? swl : lprice[1]


se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])

if (se)
    strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)


Mehr