Dies ist eine Dynamik-Breakout-Handelsstrategie, die auf dem Donchian-Kanal basiert und Preisbreakout und Volumenbestätigung als Schlüsselbedingungen kombiniert. Die Strategie erfasst Aufwärtstrends des Marktes, indem Preisbreakouts über einen vordefinierten Bereich hinaus beobachtet werden, während Volumenunterstützung erforderlich ist. Sie enthält einen Lag-Parameter, um die Stabilität des Kanals zu verbessern, und bietet flexible Ausgangskonditionen.
Die Kernlogik umfasst folgende Schlüsselelemente: 1. Verwendet als primären technischen Indikator einen zurückgebliebenen Donchian-Kanal, der anhand der höchsten und niedrigsten Preise über 27 Zeiträume ermittelt wurde. 2. Die Einreisebedingungen erfordern beides: - Schlusskurs über dem oberen Donchian Channel Band - Das aktuelle Volumen übersteigt das 1,4fache des durchschnittlichen Volumens über 27 Perioden 3. Flexible Ausstiegsbedingungen: - Kann aussteigen, wenn der Preis unter den oberen, mittleren oder unteren Band fällt - Das mittlere Band wird als Standard-Ausgangssignal verwendet. 4. Implementiert einen 10-Perioden-Verzögerungsparameter zur Verbesserung der Kanalstabilität und zur Verringerung von falschen Ausbrüchen.
Dies ist eine gut konzipierte Trend-Folge-Strategie mit klarer Logik. Durch die Kombination von Preis-Breakout und Volumen-Bestätigung, die Strategie beibehält die Zuverlässigkeit bei gleichzeitiger Erhaltung der Flexibilität. Das parametrierte Design bietet eine gute Anpassungsfähigkeit, obwohl die Anleger müssen die Parameter basierend auf spezifischen Marktbedingungen zu optimieren. Insgesamt stellt dies einen strategischen Rahmen für weitere Optimierung und praktische Umsetzung.
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-15 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=6 strategy("Breakout Strategy", overlay=true, calc_on_every_tick=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, pyramiding=1, fill_orders_on_standard_ohlc=true) // Input Parameters start_date = input(timestamp("2018-01-01 00:00"), "Start Date") end_date = input(timestamp("2060-01-01 00:00"), "End Date") in_time_range = true length = input.int(27, title="Donchian Channel Length", minval=1, tooltip="Number of bars used to calculate the Donchian channel.") lag = input.int(10, title="Donchian Channel Offset", minval=1, tooltip = "Offset to delay the Donchian channel, enhancing stability.") volume_mult = input.float(1.4, title="Volume Multiplier", minval=0.1, step=0.1, tooltip="Multiplier for the average volume to filter breakout conditions.") closing_condition = input.string("Mid", title="Trade Closing Band", options= ["Upper","Lower","Mid"], tooltip = "Donchian Channel Band to use for exiting trades: Upper, Lower, or Middle.") // // Donchian Channel (Lagged for Stability) upper_band = ta.highest(high[lag], length) lower_band = ta.lowest(low[lag], length) middle_band = (upper_band + lower_band) / 2 plot(upper_band, color=color.blue, title="Upper Band (Lagged)") plot(middle_band, color=color.orange, title="Middle Band") plot(lower_band, color=color.blue, title="Lower Band (Lagged)") // Volume Filter avg_volume = ta.sma(volume, length) volume_condition = volume > avg_volume * volume_mult // Long Breakout Condition long_condition = close > upper_band and volume_condition bool reverse_exit_condition = false // Exit Condition (Close below the middle line) if closing_condition == "Lower" reverse_exit_condition := close < lower_band else if closing_condition == "Upper" reverse_exit_condition := close < upper_band else reverse_exit_condition := close < middle_band // Long Strategy: Entry and Exit if in_time_range and long_condition strategy.entry("Breakout Long", strategy.long) // Exit on Reverse Signal if in_time_range and reverse_exit_condition strategy.close("Breakout Long", comment="Reverse Exit")