Donchians quantitative Handelsstrategie basiert auf dem Durchbruch des Preiskanals


Erstellungsdatum: 2023-12-08 11:00:05 zuletzt geändert: 2023-12-08 11:00:05
Kopie: 0 Klicks: 655
1
konzentrieren Sie sich auf
1621
Anhänger

Donchians quantitative Handelsstrategie basiert auf dem Durchbruch des Preiskanals

Überblick

Die Kernidee der Strategie ist die Durchführung von Kauf- und Verkaufshandlungen basierend auf Preisbruchfällen im Dongqian-Kanal, eine quantitative Strategie der Trendverfolgung. Sie kann automatisch einen Preiskanal identifizieren, eine Position aufnehmen, wenn der Preis den Kanal überschreitet, und eine Position platzieren, wenn der Preis in der Nähe oder am Stopppunkt unterhalb des Kanals zurückfällt. Die Strategie zielt darauf ab, mittlere und längere Preistrends zu erfassen und ist für den Handel mit Algorithmen für Finanzderivate wie Aktienindizes geeignet.

Grundsätze

Die Strategie basiert auf dem Dongxian-Kanal-Indikator, dem Kanalbereich, der durch Höchst- und Tiefstpreise in einem bestimmten Zeitraum gezeichnet wird. Die Berechnung erfolgt wie folgt:

Aufwärts = Höchstpreis in nahezu n Zyklen Abwärtskurs = niedrigster Kurs in nahezu n Zyklen

Bei einem Kursbruch wird als in einen mehrseitigen Trend eingegangen angesehen, bei einem Kursbruch als in einen ungebundenen Trend eingegangen. Die Strategie berücksichtigt nur den Fall, dass ein Kursbruch in einen oberen Trend eingegangen ist.

Die Transaktionslogik lautet wie folgt:

  1. Mit dem Höchstpreis von n-Zyklen wird der Start des Dongjian-Kanals gezeichnet.
  2. Wenn der Schlusskurs auf die Bahn geht, dann mehr Geld.
  3. Stop-Loss-Methode für den Rückfall des Schlusskurses in der Nähe der Unterbahn des Kanals oder eines festgelegten Stop-Loss-Punktes

Vorteile

Diese Strategie hat folgende Vorteile:

  1. Die Strategie ist klar, einfach zu verstehen und umzusetzen.
  2. Die Dongjian-Straße zeigt eine gute Entwicklung und ist sehr zuverlässig.
  3. Automatische Kennzeichnung der Wege ohne manuelle Beurteilung
  4. Konfigurierbare Parameter, sehr anpassungsfähig
  5. Es enthält Stop-Loss-Mechanismen, die Verluste begrenzen.

Die Gefahr

Die Strategie birgt auch einige Risiken:

  1. Der Kanal von Dongxian könnte durch einen Falschbruch unnötig beschädigt werden.
  2. Die falsche Einstellung der Stop-Loss-Position kann die Verluste vergrößern
  3. Vorsicht bei der Annäherung an den Durchgang
  4. Fehlende Parameter-Einstellungen (z. B. Zykluslänge) beeinflussen die Effektivität der Strategie

Entsprechende Lösungen:

  1. In Kombination mit anderen Indikatoren
  2. Optimierung der Stop-Loss-Position, glatter Ausstieg
  3. Erwägen Sie eine größere Anzahl von Transaktionen oder eine größere Sperrfläche in der Nähe der Kanäle
  4. Verschiedene Parameter testen, um die optimalen Parameter zu finden

Optimierungsrichtung

Die Strategie kann auch in folgenden Bereichen optimiert werden:

  1. Hinzufügen von anderen Indikatoren, um ein falsches Durchbruch zu vermeiden, wie MACD, KD usw.
  2. Optimierung von Stop-Loss-Mechanismen, wie beispielsweise mobile Stop-Loss-Mechanismen bei Preisschwankungen
  3. Optimierte Beteiligungskontrollen, z. B. nur bei steigender Volatilität handeln
  4. Parameteroptimierung, Suche nach der optimalen Kombination von Parametern

Zusammenfassen

Die Strategie ist übersichtlich, leicht zu verstehen und zu implementieren, nutzt die etablierten Tongan-Channel-Indikatoren, um die Richtung der Trends automatisch zu erkennen. Die Konfiguration ist flexibel und kann an die tatsächlichen Bedürfnisse angepasst werden. Durch Stop-Loss- und Parameteroptimierung können bessere Ergebnisse erzielt werden.

Strategiequellcode
/*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])