Die Breakback-Storm-Strategie spezialisiert sich darauf, Rückschlagchancen nach Preisbruch zu ergreifen, um versteckte explosive Bewegungen innerhalb von kurzfristigen Umkehrungen zu erfassen. Sie kombiniert Trendbestimmungen und Umkehrsignale, um lange nach Aufbruch zu gehen, wenn die Preise auf frühere Unterstützungsniveaus zurückziehen, und kurz nach Abbruch zu gehen, wenn die Preise auf frühere Widerstandsniveaus zurückkehren. Die Strategie filtert die meisten falschen Ausbrüche durch strenge Breakout-Validierungen aus und gewährleistet qualitativ hochwertige Einträge.
Die Strategie basiert auf zwei Haupttriggern: jüngsten High/Low Breakouts auf dem langfristigen Zeitrahmen und Pullback-Mustern auf dem kurzfristigen. Insbesondere erfordert sie zunächst, dass die Preise über das 80-Perioden-Hoch durchbrechen, um einen Aufwärtstrend aus dem höheren Zeitrahmen zu bestimmen. Zweitens erfordert sie, dass die Preise das Vortagshöhe durchbrechen, um einen kurzfristigen Aufwärtstrend zu bestätigen. Das lange Signal wird dann ausgelöst, wenn die Preise nach dem Breakout unter dem Vortagshöhen schließen.
Das Short-Signal funktioniert symmetrisch und erfordert einen jüngsten niedrigen Ausbruch sowie einen Rückprall auf das Vortagshöchstniveau.
Diese Strategie kombiniert dual directional Trading und Breakout-Konzepte mit erheblichen Vorteilen:
Der 80-Perioden-Filter vermeidet insbesondere die meisten falschen Ausbrüche bei kurzfristigen Geräuschen. Durch das Durchbrechen der Extrempunkte des vorherigen Tages werden kurzfristige Trendentwicklungen zuverlässig erfasst. Solche Qualitätssignale gewährleisten die Richtgenauigkeit der Trades.
Der Pullback-Eintrag, der einen bestimmten Stop-Loss-Puffer bietet, erfasst dann den größten Teil des Trendmittelabschnitts.
Schließlich balanciert der zeitlich begrenzte Ausstiegsmechanismus sowohl die Rentabilität als auch die Risikokontrollfaktoren, indem er Ausgangsszenarien vordefiniert und emotionale Störungen minimiert.
Diese Strategie birgt jedoch einige Risiken:
Wenn gleichzeitige Aufwärtstrend- und Abwärtstrendwellen auf dem Markt auftreten, können sich die Eintrittssignale auf beiden Seiten überfüllen und Eintritte auf beiden Seiten verhindern.
Dies kann vermieden werden, indem man die Ausgangsfilter anpasst und die Mindestbrechungsbereiche für die Abstandssignale festlegt.
Das zweite Risiko bezieht sich auf Schlagsägen durch häufige Umkehrungen: Übermäßige Lang-/Kurzschalter erhöhen Kosten und tatsächliche Verluste.
Dies kann reduziert werden, indem die Haltezeit und die Stop-Loss-Parameter angepasst werden, um unnötige Ausgänge zu minimieren.
Schließlich kann die daraus resultierende Umkehrmomentum auch manchmal nicht genügend Größe innerhalb der Konsolidierungsspanne haben.
Auf der Grundlage der Analyse sind folgende weitere Optimierungen möglich:
Bewegliche Profit-Stopps oder Break-Even-Stopps können zunächst Gewinne einfangen und Retracements vermeiden.
Volatilitätsindikatoren wie ATR und RVI können auch Schwingungsregime messen, um Zeiträume mit geringer Chance zu vermeiden.
Schließlich bieten zyklische Trends rund um saisonale Verschiebungen auch größere Trendräume, um Nebenwirkungen zu minimieren.
Insgesamt zielt die Breakback Storm-Strategie darauf ab, kurzfristige Trendumkehrchancen nach Trendbruch zu erfassen. Durch die Kombination von langfristigen Trendfiltern, kurzfristigen Umkehrsignalen, Breakout-Validierungen und Pullback-Einträgen bietet sie einen robusten Rahmen für den Handel von Pullbacks innerhalb größerer Trendbewegungen. Wenn sie mit geeigneter Gewinnnahme, Volatilitätsmetriken und saisonalen Filtern optimiert wird, kann ein solcher Rahmen stabile Gewinne unter verschiedenen Marktbedingungen generieren.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Smash Day Pattern (Type B)", overlay=true, default_qty_type = strategy.fixed, default_qty_value = 1, initial_capital = 10000) in1 = input(40, "Max Days to Hold") - 1 isLong = strategy.position_size > 0 isShort = strategy.position_size < 0 longTrigger = close[1]<low[2] shortTrigger = close[1]>high[2] longFilter = close[1] > close[80] shortFilter = close[1] < close[80] longEntry = (not isLong) and longTrigger and longFilter shortEntry = (not isShort) and shortTrigger and shortFilter longStop = valuewhen(longEntry, low[1], 0) longPrice = valuewhen(longEntry, high[1], 0) shortStop = valuewhen(shortEntry, high[1],0) shortPrice = valuewhen(shortEntry, low[1], 0) strategy.entry(id = "Long", long = true, stop = longPrice+.001, when = longEntry) strategy.exit(id = "Stop Long", from_entry = "Long", stop = longStop, when = isLong) strategy.close("Long", barssince(longEntry==true)>=in1) strategy.entry(id = "Short", long = false, stop = shortPrice-.001, when = shortEntry) strategy.exit(id = "Stop Short", from_entry = "Short", stop = shortStop, when = isShort) strategy.close("Short", barssince(shortEntry==true)>=in1)