
Die Strategie basiert auf der bekannten Seilhandelstrategie, bei der der Donchian-Kanal-Indikator verwendet wird, um den Preisbruch zu ermitteln, und in Kombination mit dem ATR-Indikator den Stop-Loss-Bereich zu setzen, um den Trend zu verfolgen. Der Vorteil der Strategie besteht darin, dass die Rückzugskontrolle stark ist und die Wahrscheinlichkeit von Einzelschaden effektiv kontrolliert und die Wahrscheinlichkeit von anhaltenden Verlusten reduziert. Die Strategie ist jedoch schwach an die Handelsvariante angepasst und erfordert die Optimierung der Kanalparameter.
Die Strategie basiert hauptsächlich auf zwei Indikatoren: Donchian Channel und ATR.
Die Donchian-Kanäle werden aus den Höchst- und Mindestpreisen berechnet. Die Strategie setzt die Kanallänge auf 20 Tage und zeichnet die Höchst- und Mindestpreise innerhalb von 20 Tagen. Wenn der Preis den Kanal überschreitet, wird ein Kaufsignal erzeugt.
Der ATR-Indikator dient zur Messung der Marktschwankungen und zum Setzen von Stop-Losses. Der Standard-ATR-Zyklus ist auf 20 Tage festgelegt. Die Strategie verwendet das Doppelte des ATR als Stop-Loss.
Die Transaktionslogik lautet wie folgt:
Wenn die Preise über die Kanäle gehen, dann mehr Eintritt.
Der Stop-Loss-Punkt ist der niedrigste Punkt beim Einstieg minus das Doppelte des ATR.
Wenn der Preis den unteren Teil des Kanals durchbricht, wird die Position platziert.
Wenn der Preis den unteren Teil des Kanals durchbricht, wird der Eintritt frei gemacht.
Der Stop-Loss-Punkt ist der Höhepunkt des Einstiegs plus das Doppelte des ATR.
Wenn der Preis den Kanal überschreitet, wird die Position aufgelöst.
Zusammenfassend lässt sich sagen, dass die Strategie auf die Donchian-Kanäle angewiesen ist, um die Richtung und den Zeitpunkt des Trends zu bestimmen, um das Risiko zu kontrollieren und den Trend zu verfolgen, indem die ATR-Stopps eingestellt werden.
Diese Strategie hat folgende Vorteile:
Der ATR-Indikator dient als Stop-Loss-System, um einzelne Verluste wirksam zu kontrollieren.
Die Donchian-Kanäle können die Preis-Breakage effektiv beurteilen und die Trendwende anzeigen.
Der ATR-Indikator berücksichtigt die Marktschwankungen und die Stop-Loss-Einstellungen entsprechen den Eigenschaften der verschiedenen Sorten.
Die Strategie ist einfach, klar und verständlich.
Flexible Schreib- und Optimierungsstrategien in der Python-Sprache verfügbar.
Die Strategie birgt auch einige Risiken, die zu beachten sind:
Die Kanalparameter müssen optimiert werden. Die Kanalparameter müssen für verschiedene Sorten und Zeiträume angepasst werden, um sie an die Merkmale des Marktes anzupassen.
Gefahr von Störungen in Folge. In ungewöhnlichen Fällen können mehrere Störungen in kurzer Zeit ausgelöst werden, was zu größeren Verlusten führt.
ATR-Parameter müssen getestet werden. ATR-Parameter beeinflussen direkt die Verlustbewältigung und müssen bei verschiedenen Sorten und Schwankungen angepasst werden.
Die Handelsfrequenz kann zu hoch sein. In einem unsicheren und wackligen Markt kann es zu viele Kreuzungen geben.
Die Gewinne können begrenzt sein. Die Strategie ist auf Stop Loss ausgerichtet und kann den gesamten Anstieg des Trendmarktes nicht effektiv erfassen.
In einigen außergewöhnlichen Situationen kann ein Preissprung den Stop-Loss direkt auslösen.
Diese Strategie kann optimiert werden durch:
Optimierung der Kanalparameter, um die Anpassung verschiedener Parameter an verschiedene Sorten zu testen.
Erhöhen Sie die Filterbedingungen, um zu vermeiden, dass zu viele Signale in einem schwankenden Umfeld erzeugt werden. Eine Breakout- oder Volumenfilterung kann berücksichtigt werden.
Optimierung der ATR-Zyklusparameter und Prüfung der Auswirkungen verschiedener Parameter auf die Stop-Loss-Effekte.
Erweiterung der Pyramiden-Eintrittsstrategie, zusätzliche Positionen in Trends und Erweiterung des Gewinnraums.
In Kombination mit anderen Indikatoren, um die Filterwirkung zu verbessern. Indikatoren wie MACD, KD und andere, um die Trendentwicklung zu beurteilen, um Rückwärtshandel zu vermeiden.
Optimierung der Stop-Loss-Punkte anhand der Transaktionskosten, wie z. B. Slip-Points und Gebühren. Verhindern Sie, dass Stop-Loss-Punkte zu nahe kommen.
Die Anpassungsfähigkeit verschiedener Sorten wird getestet und die Parameter auf bestimmte Sorten angepasst.
Diese Strategie ist eine Einführung in die Seehandelsmethode. Die Strategie ist im Allgemeinen einfach und klar, mit starken Rückzugskontrollen, die die Prinzipien der Seehandelsmethode wirksam überprüfen können. Die Strategie ist jedoch schwach an die Handelsvarianten angepasst und erfordert die Optimierung von Parametern für verschiedene Handelsvarianten, um die Strategie zu nutzen.
/*backtest
start: 2022-10-10 00:00:00
end: 2023-10-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//Based on Turtle traders strategy: buy/sell on Donchian breakouts and stop loss on ATR 2x
// initial version considerations :
//// 1. Does not consider filter for avoiding new entries after winning trades (filtering rule from Turtle Strategy on 20 day breakout strategy)
//// 2. Does not consider pyramiding (aditional entries after 1N price movements)
strategy("Turtle trading strategy (Donchian/ATR)", overlay=true)
enter_period = input(20, minval=1, title="Enter Channel")
exit_period = input(10, minval=1, title="Exit Channel")
offset_bar = input(0,minval=0, title ="Offset Bars")
direction = input("Long",options=["Long","Short"],title="Direction")
max_length = max(enter_period,exit_period)
atrmult = input(2,title="ATR multiplier (Stop Loss)")
atrperiod = input(20,title="ATR Period")
closed_pos = false
dir_long = direction == "Long"? true : false
atr = atr(atrperiod)
upper = dir_long ? highest(enter_period): highest(exit_period)
lower = dir_long ? lowest(exit_period): lowest(enter_period)
atrupper = close + atr
atrlower = close - atr
plotted_atr = dir_long ? atrlower : atrupper
//basis = avg(upper, lower)
l = plot(lower, style=line, linewidth=3, color=lime, offset=1)
u = plot(upper, style=line, linewidth=3, color=lime, offset=1)
a = plot(plotted_atr, style=line,linewidth=2,color=red,offset=1)
//plot(basis, color=yellow, style=line, linewidth=1, title="Mid-Line Average")
//break upper Donchian (with 1 candle offset) (buy signal)
break_up = (close >= upper[1])
//break lower Donchian (with 1 candle offset) (sell signal)
break_down = (close <= lower[1])
stop_loss = dir_long ? (close<=plotted_atr[1]) : (close>=plotted_atr[1])
if break_up and dir_long
strategy.entry("buy", strategy.long, 1)
closed_pos :=false
if (break_down or stop_loss) and dir_long
strategy.close("buy")
if break_down and not dir_long
strategy.entry("sell", strategy.short, 1)
closed_pos :=false
if (break_up or stop_loss) and not dir_long
strategy.close("sell")
closed_pos :=true
losing_trade = strategy.equity[0]<strategy.equity[1]
//plotshape(losing_trade,text="Losing!")
plotshape(stop_loss,style=dir_long?shape.labeldown:shape.labelup,text="Stop!")
//plot(strategy.equity)