Donchian Channels Breakout Quantitative Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-12-08 11:00:05 Uhr
Tags:

img

Übersicht

Die Kernidee dieser Strategie besteht darin, Handelsentscheidungen auf der Grundlage von Preisbrechungen von Donchian Channels zu treffen. Sie gehört zu den folgenden Trends der quantitativen Strategien. Sie kann automatisch Preiskanäle identifizieren. Wenn die Preise durch die obere Schiene des Kanals durchbrechen, werden lange Positionen geöffnet. Wenn die Preise in der Nähe der unteren Schiene des Kanals oder des Stop-Loss-Punkts zurückfallen, werden Positionen geschlossen. Diese Strategie zielt darauf ab, mittelfristige bis langfristige Preistrends zu erfassen und eignet sich für den algorithmischen Handel mit Finanzderivaten wie Index-Futures.

Grundsätze

Diese Strategie basiert auf dem Indikator Donchian Channels. Donchian Channels sind Kanäle, die von den höchsten und niedrigsten Preisen in einem bestimmten Zeitraum gezogen werden.

Upper Rail = Höchster Preis in den letzten n Perioden Lower Rail = niedrigster Preis in den letzten n Perioden

Wenn die Preise die obere Schiene durchbrechen, wird davon ausgegangen, dass ein langer Trend begonnen hat. Wenn die Preise die untere Schiene durchbrechen, wird davon ausgegangen, dass ein kurzer Trend begonnen hat. Diese Strategie berücksichtigt nur Fälle, in denen die obere Schiene gebrochen wird.

Die spezifische Handelslogik lautet:

  1. Zeichnen Sie die oberen Schienen der Donchian Kanäle mit dem höchsten Preis in den letzten n Perioden
  2. Wenn der Schlusskurs durch die obere Schiene bricht, gehen Sie lang
  3. Gewinnentnahme durch Trailing Stop, wenn der Schlusskurs in der Nähe der unteren Schiene oder zu einem vorgegebenen Stop-Loss-Punkt zurückfällt

Vorteile

Zu den Vorteilen dieser Strategie gehören:

  1. Die Strategieidee ist klar und leicht zu verstehen und umzusetzen
  2. Donchian Channels ist ein ausgereifter und zuverlässiger Indikator zur Beurteilung der Trendrichtung
  3. Es identifiziert automatisch Kanäle ohne manuelle Interferenz
  4. Anpassbare Parameter machen es sehr anpassungsfähig
  5. Es enthält Stop-Loss-Mechanismen zur Begrenzung von Verlusten

Risiken

Es gibt auch einige Risiken:

  1. Donchian Kanäle könnten falsche Ausbrüche haben, die unnötige Verluste verursachen.
  2. Eine falsche Stop-Loss-Positionierung könnte die Verluste erhöhen
  3. Achten Sie auf die Umkehrrisiken, wenn der Preis in der Nähe der Kanalräder liegt
  4. Unzureichende Parameter-Einstellungen könnten sich negativ auf die Strategieentwicklung auswirken

Lösungen:

  1. Hinzufügen von Filtern durch Einbeziehung anderer Indikatoren, um falsche Ausbrüche zu vermeiden
  2. Optimierung der Stop-Loss-Positionierung für reibungslose Ausgänge
  3. Erwägen Sie eine Erhöhung der Positionsgröße oder eine Erweiterung der Gewinnspanne, wenn der Preis in der Nähe von Kanalrädern liegt
  4. Verschiedene Parameter testen, um optimale Werte zu finden

Optimierungsrichtlinien

Diese Strategie kann in folgenden Bereichen weiter optimiert werden:

  1. Hinzufügen anderer Indikatoren wie MACD, KD, um falsche Ausbrüche zu vermeiden
  2. Optimierung von Stop-Loss-Mechanismen, z. B. Bewegung von Stop-Loss
  3. Optimierung der Teilnahmequote, z. B. Handel nur bei steigender Volatilität
  4. Parameteroptimierung zur Suche nach optimaler Kombination

Zusammenfassung

Die Gesamtidee dieser Strategie ist klar und leicht zu verstehen und umzusetzen. Sie nutzt ausgereifte Donchian-Kanäle, um die Trendrichtung automatisch zu identifizieren. Die Konfiguration ist auch sehr flexibel, um unterschiedlichen Bedürfnissen gerecht zu werden. Mit einem ordnungsgemäßen Stop-Loss und Parameteroptimierung können gute Ergebnisse erzielt werden. Abschließend hat diese Strategie eine niedrige Lernkurve, aber eine angemessene Effizienz. Sie eignet sich als Startquantitative Handelsstrategie.


/*backtest
start: 2022-12-07 00:00:00
end: 2023-12-07 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/
// © Giovanni_Trombetta

// Strategy to capture price channel breakouts

//@version=4
strategy("ChannelsBreakout", max_bars_back=50, overlay=true)

instrument = input(1, title = "Select 1: Stock/Forex, 2: Future")
money = input(10000, title = "Money for each trade")
backtest_start = input(2000, "Insert first year to backtest")
period = input(50, title = "Period in bars of Donchian Channel")
monetary_stoploss = input(1000, title = "Monetary Stop Loss")

quantity = if instrument != 1 
    1
else
    int(money / close)
    
upBarrier = highest(high,period)
downBarrier = lowest(low,period)
up = highest(high,period / 4)
down = lowest(low,period / 4)

plot(upBarrier, color=color.green, linewidth=2)
plot(downBarrier, color=color.red, linewidth=2)
plot(up, color=color.lime, linewidth=1)
plot(down, color=color.orange, linewidth=2)

longCondition = crossover(close, upBarrier[1]) and year >= backtest_start

if (longCondition)
    strategy.entry("Long", strategy.long, quantity, when = strategy.position_size == 0)

closeCondition = crossunder(close, down[1]) or down < down[1]

if (closeCondition)
    strategy.close("Long", comment = "Trailing")
    
stop_level = strategy.position_avg_price - monetary_stoploss / strategy.position_size
strategy.exit("StopLoss", from_entry = "Long", stop = stop_level)
plot(stop_level, color=color.yellow, linewidth=2)

// l = label.new(bar_index, na,
//   text="PineScript Code", color= color.lime, textcolor = color.white,
//   style=label.style_labelup, yloc=yloc.belowbar, size=size.normal)
// label.delete(l[1])

Mehr