
Descripción general
La estrategia combina dos indicadores técnicos: el canal de Tōkyō y el promedio móvil simple. La estrategia se aplica a mercados con una fuerte tendencia. La posición de la cabeza vacía se mantiene cuando el precio toca la órbita de Tōkyō y la posición de la cabeza vacía se mantiene cuando el precio toca la órbita de Tōkyō.
Principio de estrategia
- Calcular la subida y bajada del canal de Dongxian. La subida y bajada del canal de Dongxian son los precios más altos de los últimos n ciclos y los precios más bajos de los últimos n ciclos.
- Calcula una media móvil simple. La media móvil simple es el promedio aritmético de los precios de cierre en los últimos m períodos.
- Abrir posiciones con más cabeza: Abrir posiciones con más cabeza cuando el precio está por debajo de la línea descendente del canal de Dongxian y el precio de cierre está por encima de la media móvil simple.
- Posiciones en blanco: cuando el precio es más alto que el precio de salida de la ruta de Dongguan y el precio de cierre es inferior a la media móvil simple.
- Posicionamiento de más de uno: cuando el precio toca la vía de Dongxian, se hace más de uno.
- Posicionamiento en blanco: cuando el precio toca la línea descendente del canal de Dongxian, la posición en blanco.
Ventajas estratégicas
- La combinación de los dos elementos de mercado, tendencia y fluctuación. El promedio móvil simple captura la tendencia, y el canal de Dongxian captura la fluctuación, lo que permite una mejor captura de las oportunidades de reversión en la situación de tendencia.
- Las condiciones de parada son claras, lo que ayuda a bloquear los beneficios a tiempo. Las posiciones de venta libre y de venta libre se cierran cuando el precio toca la vía ascendente y descendente de la ruta de Dongxian, respectivamente, y pueden cerrar posiciones de venta libre a tiempo antes de que la tendencia se revierta.
- La estrategia tiene solo tres parámetros para la optimización: el ciclo de la vía de Dongguan, el desplazamiento y el ciclo de la media móvil simple.
Riesgo estratégico
- La estrategia tiene una alta frecuencia de apertura de posiciones cerradas, lo que puede afectar los ingresos en mercados con altos costos de operación. Se puede reducir el número de operaciones al relajar moderadamente las condiciones de apertura de posiciones o aumentar el marco de tiempo.
- La estrategia puede sufrir más pérdidas cuando la tendencia no es clara. La estrategia puede suspenderse mediante el uso de indicadores de volatilidad estadística para identificar la situación de la economía en crisis.
- La estabilidad de los parámetros es insuficiente. Los parámetros óptimos pueden variar mucho entre diferentes parámetros y períodos. La estabilidad de los parámetros es deficiente y el rendimiento en disco duro puede no ser lo suficientemente bueno como para la medición.
Dirección de optimización de la estrategia
- La adición de condiciones opcionales para abrir posiciones en combinación con otros indicadores, como requerir que el ADX en el DMI sea mayor que un umbral para permitir la apertura de posiciones, o abrir más posiciones cuando el RSI sale de la zona de sobreventa, para aumentar la ganancia de la apertura de posiciones.
- El uso de un stop line dinámico en lugar de un stop line fijo en el canal de Dongxian permite el seguimiento de las ganancias. Por ejemplo, los operadores pueden cerrar una posición en el stop line ATR o SAR después de que el precio toque el canal de Dongxian.
- Ajuste dinámico del ciclo del canal de Dongxian en función del nivel de volatilidad, acorte el ciclo del canal de Dongxian en un mercado de alta volatilidad y alargue el ciclo en un mercado de baja volatilidad. Esto ayuda a adaptarse a los diferentes mercados.
Resumir
La combinación de la estrategia de los canales dinámicos de Tongan con las medias móviles simples es un marco de estrategia de comercio cuantitativo simple y fácil de usar. Construye la lógica de apertura de posición de equilibrio desde el seguimiento de la tendencia y la ruptura de la volatilidad, adecuada para las variedades con una fuerte tendencia. Sin embargo, la estrategia no funciona bien en mercados con frecuentes fluctuaciones, y la estabilidad de los parámetros es general.
Código Fuente de la Estrategia
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("FBK Donchian Channel Strategy", overlay=true)
// Inputs
donchian_period = input.int(20, title="Donchian Channel Period")
donchian_offset = input.int(1, title="Donchian Channel Offset")
sma_period = input.int(200, title="SMA Period")
start_date = input(timestamp("2023-01-01 00:00 +0000"), title="Start Date")
end_date = input(timestamp("2023-12-31 23:59 +0000"), title="End Date")
trade_type = input.string("Both", title="Trade Type", options=["Buy Only", "Sell Only", "Both"])
// Calculate indicators
donchian_upper = ta.highest(high, donchian_period)[donchian_offset]
donchian_lower = ta.lowest(low, donchian_period)[donchian_offset]
sma = ta.sma(close, sma_period)
// Plot indicators
plot(donchian_upper, color=color.red, title="Donchian Upper")
plot(donchian_lower, color=color.green, title="Donchian Lower")
plot(sma, color=color.blue, title="SMA")
// Helper function to check if within testing period
is_in_testing_period() => true
// Entry conditions
long_condition = low <= donchian_lower and close > sma
short_condition = high >= donchian_upper and close < sma
// Exit conditions
exit_long_condition = high >= donchian_upper
exit_short_condition = low <= donchian_lower
// Open long position
if (is_in_testing_period() and (trade_type == "Buy Only" or trade_type == "Both") and long_condition)
strategy.entry("Long", strategy.long)
// Close long position
if (is_in_testing_period() and exit_long_condition)
strategy.close("Long")
// Open short position
if (is_in_testing_period() and (trade_type == "Sell Only" or trade_type == "Both") and short_condition)
strategy.entry("Short", strategy.short)
// Close short position
if (is_in_testing_period() and exit_short_condition)
strategy.close("Short")
// Close all positions at the end of the testing period
if not is_in_testing_period()
strategy.close_all()