Doppelte Donchian Channel Breakout-Strategie


Erstellungsdatum: 2024-02-04 09:42:14 zuletzt geändert: 2024-02-04 09:42:14
Kopie: 0 Klicks: 990
1
konzentrieren Sie sich auf
1617
Anhänger

Doppelte Donchian Channel Breakout-Strategie

Überblick

Die Doppel-Dongxian-Break-Strategie ist eine auf der Dongxian-Strecke basierende Quantitative-Trading-Strategie. Die Strategie nutzt eine Kombination aus schnellen und langsamen Dongxian-Strecken, um einen brechenden Handel mit niedrigem Risiko und hohen Erträgen zu erzielen. Eintritt ist ein Plus/Lose, wenn der Preis den langsamen Kanal durchbricht, und ein Stop oder Stop, wenn der Preis den schnellen Kanal erneut durchbricht.

Strategieprinzip

Die Strategie basiert hauptsächlich auf zwei Dongqian-Kanälen, einer langsamer Dongqian-Kanal mit längerer Periode und einer schnelleren Dongqian-Kanal mit kürzerer Periode.

Langsame Dongxian-Kanal hat einen längeren Zyklus, um Marktgeräusche zu beseitigen, und sein Durchbruchsignal hat eine hohe Zuverlässigkeit. Wenn der Preis den langsamen Kanal überschreitet, wird mehr eingegeben; Wenn der Preis den langsamen Kanal überschreitet, wird der Eintritt unterbrochen.

Die kurze Periode des schnellen Tangjian-Kanals ermöglicht eine schnelle Reaktion auf kurzfristige Preisänderungen. Wenn der Preis diesen Kanal erneut durchbricht, ist dies ein Hinweis auf eine Trendwende, die eine sofortige Stop-Loss- oder Stopp-Ausfahrt erfordert.

Darüber hinaus wurde eine Fluktuationsrate-Bedingung als Eintrittsfilter für die Strategie eingestellt. Eintritt wird nur ausgelöst, wenn die Kursbewegung über den vorab gesetzten Schwellenwertprozentsatz hinausgeht. Dies verhindert häufige Eintritte bei der Querverarbeitung.

Analyse der Stärken

  • Mit einem Dual-Channel-System mit zwei Verteidigungslinien können Risiken wirksam kontrolliert werden.
  • Schnelle und langsame Kanäle, um Trends effizient zu erfassen
  • Fluktuationsfilter können unwirksame Transaktionen reduzieren
  • Trends zu verfolgen und Kategorien zu verhindern
  • Die Regeln sind klar, einfach und leicht zu verstehen.

Risikoanalyse

  • In einem heftigen Aufprall kann der Stop-Loss-Punkt überschritten werden, was zu größeren Verlusten führt.
  • Fehlende Parameter-Einstellungen (z. B. die Länge der Kanal-Zyklus) können zu einer Diskontierung führen.
  • Die Transaktionskosten haben auch einen Einfluss auf die Gewinne.
  • Aufmerksamkeit für die Verzögerungen, die durch die großen Ereignisse verursacht werden

Diese Risiken können durch Maßnahmen wie Parameteroptimierung, vernünftige Einstellung von Stop-Loss-Punkten und Aufmerksamkeit auf wichtige Ereignisse verringert werden.

Optimierungsrichtung

  • Verschiedene Kombinationen von Parametern für die Periode der Dongqian-Kanalprüfung
  • Optimierung der Volatilitätsparameter und Suche nach dem besten Einstiegsmoment
  • Hinzufügen von Trend-Anzeigen und Vermeidung von Gegenhandel
  • In Kombination mit den Fundamentalen der Aktienoption
  • Anpassung der Stop-Loss-Mechanismen zur Verhinderung von Verlusten

Zusammenfassen

Die Double-Dong-Channel-Breakout-Strategie ist insgesamt eine relativ stabile und zuverlässige Trendverfolgungsstrategie. Sie bietet die Vorteile der Trendfangung und Risikokontrolle und ist ein grundlegendes Modul für verschiedene Aktienhandelsstrategien. Durch die Optimierung der Parameter und die Vervollkommnung der Regeln kann die Wirksamkeit der Strategie weiter verbessert werden.

Strategiequellcode
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © omererkan

//@version=5
strategy(title="Double Donchian Channel Breakout", overlay=true, initial_capital = 1000, commission_value = 0.05, default_qty_value = 100, default_qty_type = strategy.percent_of_equity)


slowLen = input.int(50, title="Slow Donchian")
fastLen = input.int(30, title="Fast Donchian")
volatility = input.int(3, title="Volatility (%)")
longProfitPerc = input.float(2, title="Long TP1 (%)", minval=0.0, step=0.1) * 0.01
shortProfitPerc = input.float(2, title="Short TP1 (%)", minval=0.0, step=0.1) * 0.01
TP1Yuzde =input.int(50, title = "TP1 Position Amount (%)")

ubSlow = ta.highest(close, slowLen)[1]
lbSlow = ta.lowest(close, slowLen)[1]

ubFast = ta.highest(close, fastLen)[1]
lbFast = ta.lowest(close, fastLen)[1]

plot(ubSlow, color=color.green, linewidth=2, title="Slow DoCh - Upperband")
plot(lbSlow, color=color.green, linewidth=2, title="Slow DoCh - Lowerband")
plot(ubFast, color=color.blue, linewidth=2, title="Fast DoCh - Upperband")
plot(lbFast, color=color.blue, linewidth=2, title="Fast DoCh - Lowerband")

fark = (ubSlow - lbSlow) / lbSlow * 100

longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)

longCondition = ta.crossover(close, ubSlow) and fark > volatility
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = ta.crossunder(close, lbSlow) and fark > volatility
if (shortCondition)
    strategy.entry("Short", strategy.short)

if strategy.position_size > 0 and ta.crossunder(close, lbFast) 
    strategy.close("Long", "Close All")

if strategy.position_size < 0 and ta.crossover(close, ubFast)
    strategy.close("Short", "Close All")

// Take Profit
if strategy.position_size > 0
    strategy.exit("TP1", "Long", qty_percent = TP1Yuzde, limit = longExitPrice)

if strategy.position_size < 0
    strategy.exit("TP1", "Short", qty_percent = TP1Yuzde, limit = shortExitPrice)