Schildkrötenhandelsstrategie auf der Grundlage von Donchian-Kanälen

Schriftsteller:ChaoZhang, Datum: 2023-12-25 10:57:52
Tags:

img

Übersicht

Der Name dieser Strategie lautet Turtle Trading Strategy Based on Donchian Channels. Sie entlehnt die Hauptidee der berühmten Turtle Trading Rules und verwendet Donchian Channels, um Markttrends zu bestimmen, kombiniert mit gleitenden Durchschnitten für die Filtration, um eine relativ einfache Trendfolgestrategie zu realisieren.

Strategieprinzip

Der Hauptindikator für die Beurteilung dieser Strategie ist der Donchian Channel. Der Donchian Channel besteht aus dem schwankenden Bereich der höchsten und niedrigsten Preise in der N-Tage-Periode. Wenn der Preis durch die obere Schiene des Kanals bricht, wird es ein langes Signal sein; wenn er durch die untere Schiene des Kanals bricht, wird es ein kurzes Signal sein. Diese Strategie verwendet schnelles Donchian Channel (10 Tage), um Signale auszugeben und langsames Donchian Channel (20 Tage), um den Verlust zu stoppen.

Darüber hinaus führt diese Strategie auch zwei gleitende Durchschnittslinien (50-Tage-Linie und 125-Tage-Linie) ein, um Signale zu filtern. Nur wenn die schnelle gleitende Durchschnittslinie über die langsame gleitende Durchschnittslinie überschreitet, werden lange Positionen gehandelt; Nur wenn die schnelle gleitende Durchschnittslinie unter die langsame gleitende Durchschnittslinie überschreitet, werden kurze Positionen gehandelt. Dies kann einige falsche Signale effektiv filtern.

Die Eröffnungsbedingungen dieser Strategie sind: Der Preis durchbricht die obere Schiene des Donchian Kanals und die schnelle gleitende Durchschnittslinie überquert die langsame gleitende Durchschnittslinie. Wenn beide Bedingungen erfüllt sind, werden Long-Positionen geöffnet; Der Preis durchbricht die untere Schiene des Donchian Kanals und die schnelle gleitende Durchschnittslinie überquert die langsame gleitende Durchschnittslinie und öffnet dann Short-Positionen. Die Schließbedingungen sind, wenn der Preis die entgegengesetzten langsamen Grenzen des Donchian Kanals berührt.

Analyse der Vorteile

Die Vorteile dieser Strategie sind:

  1. Der Donchian-Kanal wird verwendet, um die Trendrichtung zu bestimmen, um den großen Trend erfolgreich zu erfassen.

  2. Durch das Hinzufügen des Filters für gleitende Durchschnittswerte können einige falsche Signale herausgefiltert und Verluste vermieden werden.

  3. Die Kombination aus schnellen und langsamen Donchain-Kanälen und gleitenden Durchschnitten kann die Handelsfrequenz und die Stop-Loss-Genauigkeit ausgleichen;

  4. Das Risiko wird durch einen Stop-Loss-Mechanismus zur Kontrolle einzelner Verluste gut kontrolliert.

Risikoanalyse

Einige Risiken dieser Strategie:

  1. Auf dem Schockmarkt kann es zu kleineren Verlustbestellungen kommen.

  2. Wenn eine Trendwende eintritt, erhöht die Filterung der gleitenden Durchschnittswerte die Eröffnungskosten;

  3. In steilen Märkten kann ein Stop Loss verfolgt werden.

Gegenmaßnahmen und Lösungen:

  1. Passend an die Parameter anpassen, den Donchian-Zyklus verkürzen, den gleitenden Durchschnittszyklus reduzieren, um sich an verschiedene Märkte anzupassen.

  2. Erhöhen Sie das Urteilsvermögen über den wichtigsten Trend, um zu vermeiden, Positionen gegen den wichtigsten Trend aufzubauen.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Erhöhung der Durchbruchstärke, z. B. Einführung von Volumen, nur offene Positionen, wenn sich das Volumen vergrößert;

  2. Verbessern Sie das Urteilsvermögen für heiße Bereiche. Kombinieren Sie mit Unterstützung, Druck, Bänder, Muster und so weiter, um heiße Bereiche beim Öffnen von Positionen zu vermeiden;

  3. Optimieren Sie Stop-Loss-Strategien. Einführen Sie Stop-Loss-Tracking, Volatilitäts-Stop-Loss, Zeit-Stop-Loss usw., um Stop-Loss intelligenter zu machen.

Zusammenfassung

Im Allgemeinen ist diese Strategie eine sehr typische und einfache Trendfolgestrategie. Sie realisiert gute Backtest-Ergebnisse, indem sie die Richtung durch den Donchian Channel bestimmt und Signale durch gleitende Durchschnitte filtert. Diese Strategie eignet sich für Anleger, die große Trends verfolgen, mit guter Risikokontrolle und einfach im realen Handel umzusetzen. Durch die Optimierung einiger Parameter und Regeln können die Gewinnrate und die Rentabilität weiter verbessert werden.


/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Coded by Vladkos
strategy("Donchian strategy with filter", overlay=true,default_qty_type = strategy.percent_of_equity, default_qty_value = 4,pyramiding=5)

fromyear = input(2017, defval = 2018, minval = 1800, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(21, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
term = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))
ATR=input(20,minval=1)
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
needstoploss= input(true,defval=true,title="Stop LOSS")
///////////ATR
tra=atr(ATR)


////////////Переменные
Donchian_slow=input(20,minval=1)
Donchian_fast=input(10,minval=1)
Slow_EMA=input(125,minval=1)
Fast_EMA=input(50,minval=1)

/////////// Медленный Дончан
lower = lowest(Donchian_slow)
upper = highest(Donchian_slow)
basis = avg(upper, lower)
plot(lower,color=blue)
plot(upper,color=blue)

/////////// быстрый Дончан
lowerF = lowest(Donchian_fast)
upperF = highest(Donchian_fast)
basisF = avg(upperF, lowerF)
plot(lowerF,color=red)
plot(upperF,color=red)

////////// Скользящие средние
ema_S=ema(close,Slow_EMA)
ema_F=ema(close,Fast_EMA)
plot(ema_S,color=red)
plot(ema_F,color=green)

///////// Условия сделок
long_condition= close>=upper[1] and ema_F>ema_S  
long_exit= close<lowerF[1]

short_condition=close<=lower[1] and ema_F<ema_S
short_exit=close>upperF[1]

////////// Отправка ордеров
strategy.entry("Long",strategy.long,when=long_condition and term and needlong==true)
strategy.exit("stop loss","Long",stop=strategy.position_avg_price-(tra*2),when= (needstoploss==true))
strategy.close("Long",when=long_exit and (time < timestamp(toyear, tomonth, today, 23, 59)))
    
strategy.entry("Short",strategy.short,when=short_condition and term and (needshort==true))
strategy.exit("stoploss","Short",stop=strategy.position_avg_price+(tra*2),when= (needstoploss==true))
strategy.close("Short",when=short_exit and (time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()






Mehr