
Die Strategie bildet eine Auf- und Abbahn, indem sie die Höchst- und Tiefstpreise innerhalb eines bestimmten Zeitraums berechnet und bei einem Preisbruch auf die Aufbahn überschreitet. Die Strategie erfasst die starke Phase des Trends und beurteilt den Zeitpunkt des Eintritts durch einen Trendbruch.
Die Strategie berechnet zunächst die Höchst- und Tiefstpreise der letzten 20 K-Linien, um eine Oberbahn und eine Unterbahn zu bilden. Wenn der aktuelle K-Linien-Abschlusspreis höher als die Oberbahn ist, wird ein Plus gemacht; wenn der Preis unter die Unterbahn fällt, wird ein Ausgleichs-Stopp gemacht.
Konkret berechnet die Strategie die Höchst- und Tiefstpreise der letzten 20 K-Linien durch die Funktion “highest” und “lowest”, um eine Spanne zu bilden. Dann wird beurteilt, ob der aktuelle K-Linien-Abschlusspreis höher als der oberen Bahn ist, und wenn ja, wird mehr getan.
Diese Strategie basiert auf dem Trendbruch, um den Zeitpunkt des Eintritts zu bestimmen. Sie gehört zu den Trend-Tracking-Strategien. Sie ist nur für Sorten mit deutlichen Trendmerkmalen geeignet.
Diese Strategie hat folgende Vorteile:
Die Strategie ist einfach, klar und verständlich.
Der Trend-Breakout kann als Einstiegsmoment genutzt werden, um die starken Phasen des Trends zu erfassen.
Die Verwendung von mobilen Stop-Losses zur Risikokontrolle kann einzelne Verluste wirksam begrenzen.
Es ist nur für die Sorten geeignet, bei denen die Tendenz offensichtlich ist.
Anpassbare Parameter, Anpassungsdauer und Stop Loss.
Die Strategie birgt auch folgende Risiken:
Es ist unmöglich zu sagen, ob die Tendenz sich umkehrt, was zu einer Nachjagd führen könnte.
Eine Stop-Loss-Position kann leicht durch einen momentanen, massiven Preisanstieg ausgelöst werden.
Bei einem Trendwechsel kann es zu mehreren kleinen Stopps kommen.
Wenn Sie nur mehr tun, ohne sich zu öffnen, können Sie den Abwärtstrend nicht nutzen.
Die falsche Einstellung der Parameter kann zu einer Überempfindlichkeit oder Langsamkeit führen.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Hinzufügen von Trendmessungen, um zu vermeiden, dass bei einer Trendumkehr noch mehr getan wird. Zum Beispiel die Einbeziehung von Trendmessungen wie MACD.
Optimierung der mobilen Stop-Strategie, die Risikokontrolle ist vernünftiger. Zum Beispiel die Verwendung von mobilen Stopps mit Preisschwankungen.
Es ist auch möglich, in einem Abwärtstrend Positionen zu eröffnen und zu verlieren.
Testoptimierung der Parameter, um die optimale Parameterkombination zu finden.
Hinzugefügt wurde eine automatische Optimierung der Parameter, die die Parameter dynamisch an die Marktlage anpasst.
Vergessen Sie nicht, dass Sie von einer einzigen Periode getäuscht werden können.
Die Strategie ist klar und verständlich, die Trendbrechungen nutzt, um die Eintrittszeit zu beurteilen und die starken Phasen des Trends zu erfassen. Die Strategie enthält jedoch einige Risiken, wie z. B. ungenaue Trendbeurteilung, Stopps, die durchbrochen werden. Wir können die Strategie umfassender und stabiler machen, indem wir Trendbeurteilungen, Stopps und Leerlaufstrategien optimieren.
/*backtest
start: 2023-10-22 00:00:00
end: 2023-10-24 17:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Donchian Wicks Strategy - Long Only with Customizable Donchian Exit and Stop Loss", "DWS", overlay = true)
// INPUTS
iLength = input(20, "Length", minval = 1)
stopLossPercent = input(1.0, "Stop Loss Percentage", type=input.float) / 100
// SETTING
float up = na
up := close > open ? high : nz(up[1])
float down = na
down := close < open ? low : nz(down[1])
highest = highest(up, iLength)
lowest = lowest(down, iLength)
// PLOT
p1 = plot(highest, "Highest", color.black, 2)
p2 = plot(lowest, "Lowest", color.black, 2)
fill(p1, p2, color.new(color.navy, 90), title="Range")
// ENTRY SIGNALS
wickDown = low < lowest
// STRATEGY IMPLEMENTATION
strategy.entry("Buy", strategy.long, when = wickDown)
strategy.exit("Sell at Donchian High", from_entry="Buy", limit=highest)
// Customizable Stop Loss
stopLossLevel = close * (1 - stopLossPercent)
strategy.exit("Stop Loss", from_entry="Buy", stop=stopLossLevel)