Dynamische Oszillationsbreakout-Strategie

Schriftsteller:ChaoZhang, Datum: 2023-11-16 15:40:25
Tags:

img

Übersicht

Diese Strategie verwendet einen dynamischen Schwingungskanal-Breakout, um Einstiegs- und Stop-Loss-Punkte basierend auf der Preisbewegung zu bestimmen.

Strategie Logik

Die Strategie berechnet zunächst das höchste Hoch und das niedrigste Tief der letzten 20 Tage, um einen dynamischen Schwingungskanal zu erhalten. Dann berechnet sie die 8-tägigen und 32-tägigen exponentiellen gleitenden Durchschnitte. Wenn der Schlusskurs durch das obere Band des Kanals bricht und der 8-tägige EMA über dem 32-tägigen EMA liegt, geht er lang. Wenn der Preis durch das untere Band bricht oder die 8-tägige EMA unter die 32-tägige EMA überschreitet, tritt er aus. Der Stop-Loss wird unter dem mittleren Band des Kanals gesetzt.

Insbesondere sind die Einreisebedingungen:

  1. Der Schlusskurs durchbricht das dynamische obere Band, das durch das höchste Hoch der letzten 20 Tage gebildet wurde.

  2. Der 8-Tage-EMA liegt über dem 32-Tage-EMA.

Die Bedingungen für den Ausstieg sind:

  1. Stop-Loss wird ausgelöst, wenn der Preis unter das mittlere Band fällt.

  2. Die 8-Tage-EMA geht unter die 32-Tage-EMA.

Die Strategie identifiziert die Trendrichtung anhand des dynamischen Kanals und den aktuellen Aufwärtstrendstatus anhand des EMA-Crossovers.

Vorteile

  • Der dynamische Kanalbruch identifiziert effektiv die Trendrichtung und vermeidet Whipsaws.
  • Die 8-Tage- und 32-Tage-EMA-Crossover-Filter gehen gut.
  • Einfache und klare Regeln, leicht zu verstehen.
  • Ein angemessener Stop-Loss-Mechanismus.

Risiken

  • Ein fehlgeschlagener Ausbruch kann zu Verlusten führen.
  • Eine unsachgemäße Einstellung des Kanalbereichs kann dazu führen, dass er zu breit oder zu eng ist.
  • Unzulässige EMA-Perioden können Auswirkungen auf die Performance haben.
  • Zu enge Stoppverluste können zu übermäßigen Stopps führen.

Die Risiken können durch Optimierung der Kanalperiode, EMA-Perioden und Stop-Loss-Positionierung verwaltet werden.

Verbesserungsbereiche

  • Optimierung der Kanalzeit für verschiedene Bestände.
  • Versuche verschiedene EMA-Kombinationen, um optimale Perioden zu finden.
  • Lautstärke, um Ausbrüche zu bestätigen.
  • Weghalt nach der Einfahrt.

Zusammenfassung

Die Dynamic Oscillation Breakout Strategie hat eine klare Logik, um Trends zu identifizieren und auf der Grundlage von Kanalbreakout und EMA-Crossover einzutreten. Der Stop-Loss hilft, das Risiko zu kontrollieren. Parameter-Tuning wie Kanalperiode und EMA-Perioden können den Gewinnfaktor verbessern. Diese Strategie funktioniert gut für Aktien mit Fortsetzungsmustern, insbesondere beim Brechen früherer Höchststände.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Robrecht99

//@version=5
strategy("My Strategy", overlay=true, margin_long=100, margin_short=100)

fast = ta.sma(close, 8)
slow = ta.sma(close, 32)

plot(fast, color=color.red)
plot(slow, color=color.navy)

entrycondition1 = ta.crossover(fast, slow)
entrycondition2 = fast > slow
sellcondition1 = ta.crossunder(fast, slow)
sellcondition2 = slow > fast

atr = ta.atr(14)

//Donchian Channels
days = 20
h1 = ta.highest(high[1], days)
l1 = ta.lowest(low[1], days)
mid = math.avg(h1, l1)
plot(mid, "channel", color=#FF6D00)
u = plot(h1, "Upper", color=#2962FF)
l = plot(l1, "Lower", color=#2962FF)
fill(u, l, color.new(color.blue, 90))

if (close > h1 and entrycondition2)
    strategy.entry("long", strategy.long)
    stoploss = close - atr * 3
    trail = close - atr * 3
    strategy.exit("exit", "long", stop=stoploss, trail_offset=trail)
if (sellcondition1 and sellcondition2)
    strategy.close(id="long")


Mehr