Die Kernidee dieser Strategie besteht darin, Handelsentscheidungen auf der Grundlage von Preisbrechungen von Donchian Channels zu treffen. Sie gehört zu den folgenden Trends der quantitativen Strategien. Sie kann automatisch Preiskanäle identifizieren. Wenn die Preise durch die obere Schiene des Kanals durchbrechen, werden lange Positionen geöffnet. Wenn die Preise in der Nähe der unteren Schiene des Kanals oder des Stop-Loss-Punkts zurückfallen, werden Positionen geschlossen. Diese Strategie zielt darauf ab, mittelfristige bis langfristige Preistrends zu erfassen und eignet sich für den algorithmischen Handel mit Finanzderivaten wie Index-Futures.
Diese Strategie basiert auf dem Indikator Donchian Channels. Donchian Channels sind Kanäle, die von den höchsten und niedrigsten Preisen in einem bestimmten Zeitraum gezogen werden.
Upper Rail = Höchster Preis in den letzten n Perioden Lower Rail = niedrigster Preis in den letzten n Perioden
Wenn die Preise die obere Schiene durchbrechen, wird davon ausgegangen, dass ein langer Trend begonnen hat. Wenn die Preise die untere Schiene durchbrechen, wird davon ausgegangen, dass ein kurzer Trend begonnen hat. Diese Strategie berücksichtigt nur Fälle, in denen die obere Schiene gebrochen wird.
Die spezifische Handelslogik lautet:
Zu den Vorteilen dieser Strategie gehören:
Es gibt auch einige Risiken:
Lösungen:
Diese Strategie kann in folgenden Bereichen weiter optimiert werden:
Die Gesamtidee dieser Strategie ist klar und leicht zu verstehen und umzusetzen. Sie nutzt ausgereifte Donchian-Kanäle, um die Trendrichtung automatisch zu identifizieren. Die Konfiguration ist auch sehr flexibel, um unterschiedlichen Bedürfnissen gerecht zu werden. Mit einem ordnungsgemäßen Stop-Loss und Parameteroptimierung können gute Ergebnisse erzielt werden. Abschließend hat diese Strategie eine niedrige Lernkurve, aber eine angemessene Effizienz. Sie eignet sich als Startquantitative Handelsstrategie.
/*backtest start: 2022-12-07 00:00:00 end: 2023-12-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Giovanni_Trombetta // Strategy to capture price channel breakouts //@version=4 strategy("ChannelsBreakout", max_bars_back=50, overlay=true) instrument = input(1, title = "Select 1: Stock/Forex, 2: Future") money = input(10000, title = "Money for each trade") backtest_start = input(2000, "Insert first year to backtest") period = input(50, title = "Period in bars of Donchian Channel") monetary_stoploss = input(1000, title = "Monetary Stop Loss") quantity = if instrument != 1 1 else int(money / close) upBarrier = highest(high,period) downBarrier = lowest(low,period) up = highest(high,period / 4) down = lowest(low,period / 4) plot(upBarrier, color=color.green, linewidth=2) plot(downBarrier, color=color.red, linewidth=2) plot(up, color=color.lime, linewidth=1) plot(down, color=color.orange, linewidth=2) longCondition = crossover(close, upBarrier[1]) and year >= backtest_start if (longCondition) strategy.entry("Long", strategy.long, quantity, when = strategy.position_size == 0) closeCondition = crossunder(close, down[1]) or down < down[1] if (closeCondition) strategy.close("Long", comment = "Trailing") stop_level = strategy.position_avg_price - monetary_stoploss / strategy.position_size strategy.exit("StopLoss", from_entry = "Long", stop = stop_level) plot(stop_level, color=color.yellow, linewidth=2) // l = label.new(bar_index, na, // text="PineScript Code", color= color.lime, textcolor = color.white, // style=label.style_labelup, yloc=yloc.belowbar, size=size.normal) // label.delete(l[1])