Die Donchian Channel Breakout Strategie ist eine trendfolgende quantitative Handelsstrategie. Sie nutzt Donchian Channels, um Markttrends zu erfassen und dabei einen ATRSL Trailing Stop zum Risikomanagement zu verwenden. Wenn der Preis über das obere Band des Donchian Channel bricht, tritt die Strategie in eine Long-Position ein; wenn der Preis unter die ATRSL Trailing Stop-Linie fällt, schließt die Strategie die Position.
donLength
Parameter, berechnen Sie das höchste Hoch und das niedrigste Tief der VergangenheitdonLength
Zeiträume als OberbanddonUpper
und UnterbanddonLower
Die Mittellinie des Donchian-KanalsdonBasis
ist der Durchschnitt der oberen und unteren Bands.AP2
undAF2
Parameter berechnen den ATR-WertSL2
. Dann, dynamisch den Trailing-Stop-Preis anpassenTrail2
nach dem Verhältnis zwischen dem aktuellen SchlusskursSC
und der vorherige Trailing Stop-PreisTrail2[1]
.donLength
, AP2
, undAF2
Die Kommission hat die Kommission aufgefordert, die Ergebnisse der Studie zu überprüfen.Die Donchian Channel Breakout Strategie ist eine klassische Trendfolgestrategie, die Trends mithilfe von Donchian Channels erfasst und Risiken mit einem ATRSL Trailing Stop verwaltet. Zu den Vorteilen der Strategie gehören ihre einfache und klare Logik, die Leichtigkeit der Implementierung und das Optimierungspotenzial. Zu ihren Nachteilen zählen jedoch schlechte Performance bei unruhigen Märkten und Trendumkehrungen und erhebliche Auswirkungen von Parameter-Einstellungen auf die Strategieperformance. In der Praxis kann die Strategie durch Hinzufügen von Trendfiltern, Optimierung von Stop Loss und Einbeziehung von Positionsgrößenmodulen verbessert werden, um Stabilität und Rentabilität zu verbessern. Gleichzeitig ist es wichtig, die Handelsfrequenz und -kosten zu kontrollieren und die Parameter anhand von Marktmerkmalen und persönlichen Risikopräferenzen flexibel anzupassen.
/*backtest start: 2023-03-16 00:00:00 end: 2024-03-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Stock Trend USE THIS", overlay = true) donLength = input(100, minval=1) //Donchian Long donLower = lowest(donLength) donUpper = highest(donLength) donBasis = avg(donUpper,donLower) // ATRSL SC = close // Slow Trail // AP2 = input(10, title="Slow ATR period") // ATR Period AF2 = input(3, title="Slow ATR multiplier") // ATR Factor SL2 = AF2 * atr(AP2) // Stop Loss Trail2 = 0.0 iff_3 = SC > nz(Trail2[1], 0) ? SC - SL2 : SC + SL2 iff_4 = SC < nz(Trail2[1], 0) and SC[1] < nz(Trail2[1], 0) ? min(nz(Trail2[1], 0), SC + SL2) : iff_3 Trail2 := SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0) ? max(nz(Trail2[1], 0), SC - SL2) : iff_4 // Long and Short Conditions longCondition = (crossover(close,donUpper[1])) // Close Conditions closeLongCondition = crossunder(close,Trail2) // Strategy logic if (longCondition) strategy.entry("Long", strategy.long) alert("Open Long position") if (closeLongCondition) strategy.close("Long") alert("Close Long position") // Plot Donchian l = plot(donLower, color=color.blue) u = plot(donUpper, color=color.blue) plot(donBasis, color=color.orange) fill(u, l, color=color.blue) plot(Trail2, color=color.blue, title="ATRSL Trail")