Die Donchian-Kanal-Breakout-Strategie ist eine Trendfolgestrategie, die auf Preiskanälen basiert.
Die Strategie berechnet zunächst den höchsten Höchst, niedrigsten Tief und mittleren gleitenden Durchschnitt der Preise über einen bestimmten Zeitraum. Die oberen und unteren Bänder bilden den Preiskanal, während die mittlere Linie in der Mitte des Kanals liegt. Wenn der Preis über die mittlere Linie bricht, signalisiert er einen Aufwärtstrend und geht lang. Wenn der Preis unter die mittlere Linie bricht, signalisiert er einen Abwärtstrend und geht kurz.
Die Strategie umfaßt insbesondere folgende Schritte:
Die obige Logik beschreibt das grundlegende Handelsprinzip der Strategie - Trends durch Preisbruch und Richtungswechsel an Drehpunkten zu erfassen.
Die Strategie weist folgende Vorteile auf:
Es gibt auch einige Risiken:
Lösungen:
Die Strategie kann in folgenden Bereichen weiter optimiert werden:
Zusammenfassend ist die Donchian-Kanal-Breakout-Strategie ein effektives Trendfolgensystem mit einer soliden theoretischen Grundlage, einfacher Logik und der Fähigkeit, Trends durch Breakouts zu steuern.
/*backtest start: 2024-01-26 00:00:00 end: 2024-02-25 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "dc", overlay = true) testStartYear = input(2018, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testEndYear = input(2018, "Backtest Start Year") testEndMonth = input(12) testEndDay = input(31, "Backtest Start Day") testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testPeriod() => true //time >= testPeriodStart ? true : false dcPeriod = input(20, "Period") dcUpper = highest(close, dcPeriod)[1] dcLower = lowest(close, dcPeriod)[1] dcAverage = (dcUpper + dcLower) / 2 plot(dcLower, style=line, linewidth=3, color=red, offset=1) plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1) plot(dcAverage, color=black, style=line, linewidth=3, title="Mid-Line Average") strategy.entry("simpleBuy", strategy.long, when=close > dcAverage) strategy.close("simpleBuy",when=close < dcLower) strategy.entry("simpleSell", strategy.short,when=close < dcAverage) strategy.close("simpleSell",when=close > dcAverage)