Esta es una estrategia de negociación de ruptura de impulso basada en el canal de Donchian, que combina la ruptura de precios y la confirmación de volumen como condiciones clave. La estrategia captura las tendencias al alza del mercado al observar las rupturas de precios más allá de un rango predefinido mientras requiere soporte de volumen. Incorpora un parámetro de retraso para mejorar la estabilidad del canal y ofrece condiciones de salida flexibles.
La lógica central incluye los siguientes componentes clave: 1. Utiliza un canal de Donchian rezagado como indicador técnico principal, construido utilizando los precios más altos y más bajos en 27 períodos. Las condiciones de entrada requieren: - Los precios de cierre se rompen por encima de la banda superior del Canal de Donchian - El volumen actual es superior a 1,4 veces el volumen promedio de 27 períodos Condiciones de salida flexibles: - Puede salir cuando el precio cae por debajo de la banda superior, media o inferior - La banda media se utiliza como señal de salida predeterminada Implementa un parámetro de retraso de 10 períodos para mejorar la estabilidad del canal y reducir las fallas.
Esta es una estrategia de seguimiento de tendencias bien diseñada con lógica clara. Al combinar la ruptura de precios y la confirmación de volumen, la estrategia mantiene la confiabilidad al tiempo que preserva la flexibilidad. El diseño parametrizado proporciona una buena adaptabilidad, aunque los inversores necesitan optimizar los parámetros basados en condiciones específicas del mercado. En general, esto representa un marco estratégico digno de una mayor optimización e implementación práctica.
/*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")