Diese Strategie verwendet einen dynamischen Schwingungskanal-Breakout, um Einstiegs- und Stop-Loss-Punkte basierend auf der Preisbewegung zu bestimmen.
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:
Der Schlusskurs durchbricht das dynamische obere Band, das durch das höchste Hoch der letzten 20 Tage gebildet wurde.
Der 8-Tage-EMA liegt über dem 32-Tage-EMA.
Die Bedingungen für den Ausstieg sind:
Stop-Loss wird ausgelöst, wenn der Preis unter das mittlere Band fällt.
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.
Die Risiken können durch Optimierung der Kanalperiode, EMA-Perioden und Stop-Loss-Positionierung verwaltet werden.
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")