Die Ressourcen sind geladen. Beförderung...

Donchian Breakout Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-04-29 14:56:35
Tags:

img

Übersicht

Die Donchian Breakout Trading Strategie ist ein Handelssystem, das auf dem Donchian Channel-Indikator basiert. Die Hauptidee dieser Strategie besteht darin, Markttrends zu erfassen, indem man die oberen und unteren Bands des Donchian Channel durchbricht und eine feste Risk Reward Ratio (RR) für Take Profit und Stop Loss verwendet. Wenn der Preis über das obere Band des Donchian Channel bricht und ein neues Hoch im Verhältnis zur Donchian Channel-Periode erzeugt, geht er lang; wenn er unter das untere Band bricht und ein neues Tief erzeugt, geht er kurz.

Strategieprinzip

  1. Berechnung des Donchian-Kanals: Auf der Grundlage des festgelegten Donchian-Kanal-Zeitraums (Standard 20) berechnen Sie die höchsten und niedrigsten Preise innerhalb dieses Zeitraums als die oberen bzw. unteren Bands des Donchian-Kanals und berechnen den Mittelpunkt der oberen und unteren Bands als das mittlere Band des Donchian-Kanals.
  2. Bestimmen, ob ein neues Hoch/Tief erzeugt wird: Durch Looping und Vergleich der aktuellen Donchian Channel oberen und unteren Bands mit den oberen und unteren Bands der vorangegangenen Perioden, bestimmen, ob ein neues Hoch oder niedrig im Verhältnis zur Donchian Channel Periode erstellt wird.
  3. Breakout-Eintrag: Wenn der Schlusskurs über das blaue Donchian-Oberband bricht, tritt er in eine Long-Position ein; wenn er unter das blaue Donchian-Unterband bricht, tritt er in eine Short-Position ein. Das heißt, nur Breakouts, die nach der Erstellung eines neuen Hochs/Tiefs auftreten, sind gültig.
  4. Take Profit und Stop Loss: Bei der Eröffnung einer Position werden der Einstiegspreis und der aktuelle Donchian Channel-Mittebandpreis aufgezeichnet und die Preisdifferenz zwischen den beiden berechnet.
  5. Schließungsposition: Wenn der Preis den Take-Profit- oder Stop-Loss-Preis erreicht, wird die Position geschlossen.

Strategische Vorteile

  1. Geeignet für Trendmärkte: Die Donchian Breakout-Strategie tritt in Positionen ein, indem sie die oberen/unten Bands durchbricht und der Richtung des Markttrends folgt.
  2. Neue Hoch/Niedrigfilterung: Die Strategie filtert einige Geräuschsignale und falsche Ausbrüche aus, indem sie feststellt, ob innerhalb des Donchian-Kanals ein neuer Hoch/Niedrig erzeugt wird, wodurch die Qualität der Eingangssignale verbessert wird.
  3. Festgelegte Risikovergütungsquote: Die Take-Profit- und Stop-Loss-Positionen für jeden Handel basieren auf einer festen Risikovergütungsquote, wodurch das Risiko kontrollierbar und für das Geldmanagement günstig ist.
  4. Einfache Parameter: Die Strategieparameter sind relativ einfach einzustellen, hauptsächlich die Donchian-Kanal-Periode und die Risiko-Rendite-Ratio, was die Optimierung und Kontrolle erleichtert.

Strategische Risiken

  1. Magnitude-Verlust: Die Stop-Loss-Position der Strategie ist das Donchian Channel Middle Band. Bei unklaren Trends oder schwankenden Märkten kann es Situationen geben, in denen eine einzelne Transaktion einen großen Verlust erleidet.
  2. Häufiger Handel: Wenn die Donchian-Kanal-Periode zu kurz eingestellt wird, kann dies zu häufiger Eröffnung und Schließung von Positionen führen und die Transaktionskosten erhöhen.
  3. Trendumkehrung: Bei Trendumkehrungen kann die Strategie mehrere aufeinanderfolgende Stop-Losses erleiden.
  4. Parameterempfindlichkeit: Die Strategieleistung ist an die Parameter-Einstellungen angepaßt und muss auf der Grundlage verschiedener Marktmerkmale und Handelszyklen optimiert werden.

Strategieoptimierungsrichtlinien

  1. Dynamischer Stop-Loss: Anpassung der Stop-Loss-Position in Echtzeit anhand von Kursbewegungen, Volatilität usw., beispielsweise mit ATR als Stop-Loss-Referenz zur Verringerung des Einzeltransaktionsrisikos.
  2. Trendfilterung: Hinzufügen von Trendbeurteilungsindikatoren wie gleitenden Durchschnitten und nur offene Positionen, wenn die Trendrichtung klar ist, um die Signalqualität zu verbessern.
  3. Kombination mit anderen Indikatoren: Kombination mit Dynamikindikatoren wie RSI und MACD zur umfassenden Bewertung des Timings der Eröffnungspositionen.
  4. Positionsmanagement: Dynamische Anpassung der Positionsgrößen anhand der Markttrendstärke, Volatilität usw. zur Kontrolle des Gesamtrisikos.
  5. Anpassung von Parametern: Verwenden Sie maschinelles Lernen und andere Methoden, um die Parameter-Einstellungen anpassungsfähig zu optimieren.

Zusammenfassung

Die Donchian Breakout Trading Strategie ist ein Trend-folgendes Handelssystem, das auf dem klassischen Donchian Channel-Indikator basiert. Es eröffnet Positionen durch Breakouts der oberen und unteren Bands des Donchian Channel und Urteile über neue Höhen/Tiefstände, mit Gewinn und Stop-Loss basierend auf einem festen Risiko-Reward-Verhältnis. Die Strategie hat eine einfache Logik und ist für Trendmärkte geeignet. Sie funktioniert jedoch schlecht in schwankenden Märkten und ist empfindlich auf Parameter-Einstellungen. Sie kann durch die Einführung dynamischer Stop-Losses, Trendfilterung, Positionsmanagement usw. weiter optimiert werden, um die Robustheit der Strategie zu verbessern.


/*backtest
start: 2023-04-23 00:00:00
end: 2024-04-28 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/
// © Dillon_Grech
//---------------------------------------------//

//---------------------------------------------//
// Simple donchian channel break out strategy
// which only enters trades when price closes
// above donchian upper and creates new high 
// (long) or price closes below donchian lower
// and creates new low, relative to the donchian
// length. This is indicated by the donchian
// upper and lower color (blue). Stop loss is
// located at donchian basis and take profit
// is set at Risk Reward (RR) profit target.
//---------------------------------------------//
//@version=5
strategy("Donchian New High/Low Strategy [Dillon Grech]", overlay=true)

//---------------------------------------------//

//---------------------------------------------//
//INDICATOR 1 - Donchian New High Low Price Close
don_length = input.int(20, minval = 1)
don_lower  = ta.lowest(don_length)
don_upper  = ta.highest(don_length)
don_basis  = math.avg(don_upper, don_lower)

//loop
don_lower_upper  = true
don_higher_lower = true
for i = 0 to don_length - 1
    //Check for higher high over don_length
    if don_upper > don_upper[i]
        don_lower_upper := false
    //Check for lower low over don_length
    if don_lower < don_lower[i]
        don_higher_lower := false

//Plot
c_ora = color.orange
c_blu = color.blue
c_gra = color.gray
color_basis = c_ora
color_upper = don_lower_upper  ? c_blu : c_gra
color_lower = don_higher_lower ? c_blu : c_gra
plot(don_basis,     "Don Basis", color_basis, 2)
u = plot(don_upper, "Don Upper", color_upper, 2)
l = plot(don_lower, "Don Lower", color_lower, 2)

//Conditions
Ind_1_L = ta.crossover(close, don_upper[1]) and 
   don_lower_upper[1]
Ind_1_S = ta.crossunder(close,don_lower[1]) and 
   don_higher_lower[1]
//---------------------------------------------//

//---------------------------------------------//
//ENTRY CONDITIONS
entry_long  = strategy.position_size<=0 and
   Ind_1_L
entry_short = strategy.position_size>=0 and
   Ind_1_S

if(entry_long)
    strategy.entry("Long Entry", strategy.long)
if(entry_short)
    strategy.entry("Short Entry", strategy.short)
//---------------------------------------------/

//---------------------------------------------//
//TAKE PROFIT AND STOP LOSS CONDITIONS
profit_RR = input.float(5.0,"RR Profit Target")

//Store Price on new entry signal
entry_price = strategy.opentrades.entry_price(
   strategy.opentrades-1)

//Store Donchain Channel Basis
entry_don_basis = float(0.0)
if entry_long or entry_short
    entry_don_basis := don_basis
else
    entry_don_basis := entry_don_basis[1]

//Get stop loss distance
stop_distance = math.abs(entry_price -
   entry_don_basis)
stop_L   = entry_price - stop_distance
profit_L = entry_price + stop_distance*profit_RR
stop_S   = entry_price + stop_distance
profit_S = entry_price - stop_distance*profit_RR

//Plot TP and SL
plot(entry_long or entry_short ? na :
   strategy.position_size > 0 ? profit_L : na,
   color=color.lime, style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na :
   strategy.position_size > 0 ? stop_L : na,
   color=color.red,  style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na : 
   strategy.position_size < 0 ? profit_S : na,
   color=color.lime, style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na :
   strategy.position_size < 0 ? stop_S : na,
   color=color.red,  style=plot.style_linebr,
   linewidth=2)

//Exit long trades
strategy.exit(id = 'Exit Long', 
   from_entry ='Long Entry', 
   stop = stop_L, limit = profit_L)
strategy.exit(id = 'Exit Short', 
   from_entry ='Short Entry', 
   stop = stop_S, limit = profit_S)
//---------------------------------------------//

Mehr