Estrategia de seguimiento de tendencias de ruptura del canal de Donchian


Fecha de creación: 2024-01-29 11:51:08 Última modificación: 2024-01-29 11:51:08
Copiar: 0 Número de Visitas: 718
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias de ruptura del canal de Donchian

Descripción general

La estrategia de ruptura del canal de Dongguan es una estrategia de seguimiento de tendencias que forma un canal de precios calculando los precios más altos y más bajos en un período de tiempo determinado, y utiliza los límites del canal como una señal de compra y venta. Cuando el precio se rompa la vía, haga un descuento; cuando el precio se rompa la vía, haga más.

Principio de estrategia

La estrategia utiliza el indicador de los canales de Dongxian para determinar la tendencia de los precios y calcular los puntos de entrada y salida. Los canales de Dongxian se componen de trayectos superiores, inferiores y medios. El trayecto superior es el precio más alto, el trayecto inferior es el precio más bajo y el trayecto medio es el precio promedio en un período determinado.

La duración de los ciclos de entrada y salida puede configurarse de forma independiente. Cuando el precio se rompe hacia arriba, se hace más entrada; cuando el precio se rompe hacia abajo, se hace entrada en blanco. El punto de salida es el precio que vuelve a tocar la órbita correspondiente. También se puede elegir usar la órbita media como línea de pérdida.

Además, en la estrategia también se establece un punto de parada. El precio de parada de más posiciones es el precio de entrada ((1 + el precio de parada), mientras que las posiciones en blanco son el contrario. La activación de esta función puede bloquear las ganancias y evitar la expansión de las pérdidas.

En general, la estrategia juzga las tendencias y, al mismo tiempo, asegura que haya suficiente espacio para establecer paros y paradas. Esto lo hace especialmente adecuado para variedades con alta volatilidad, como las monedas digitales.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. La estrategia es clara, la generación de señales es sencilla y confiable.
  2. El indicador de la vía de Dongxian es insensible a las fluctuaciones de precios, lo que ayuda a capturar tendencias.
  3. Los parámetros del canal se pueden personalizar para adaptarse a diferentes variedades y períodos de tiempo.
  4. Función de bloqueo de daños incorporada para controlar el riesgo de manera efectiva.
  5. Se aplica a variedades de alta volatilidad como las monedas digitales, con un gran potencial de ganancias.

Análisis de riesgos

La estrategia también tiene los siguientes riesgos:

  1. Aunque tiene la función de detener los daños, no puede evitar por completo el riesgo de grandes ganancias.
  2. La configuración inadecuada de los parámetros puede conducir a operaciones demasiado frecuentes, aumentando los costos de las operaciones y el riesgo de deslizamiento.
  3. La estrategia no es sensible a las fluctuaciones de precios y puede perder algunas oportunidades de negociación.

Para controlar los riesgos mencionados, se recomienda tomar las siguientes medidas:

  1. Reducir adecuadamente el capital de inversión individual, diversificar las variedades de inversión y controlar el riesgo general.
  2. Optimización de parámetros, búsqueda de la combinación óptima de parámetros. Se puede intentar la optimización automática mediante métodos como el aprendizaje automático.
  3. Combinando los indicadores adicionales para determinar la fiabilidad de las señales de ruptura, se evita el error de transacción.

Dirección de optimización

La estrategia puede optimizarse aún más en las siguientes dimensiones:

  1. Prueba y optimiza más combinaciones de parámetros para encontrar los mejores. Los parámetros principales incluyen el ciclo de la vía, la proporción de paradas, si se permite hacer más vacío, etc.
  2. Se pueden añadir modelos de aprendizaje automático para identificar automáticamente los parámetros óptimos.
  3. En combinación con otros indicadores para determinar la tendencia y la fiabilidad de la señal, como la línea media, el volumen de transacciones, etc.
  4. Desarrollar estrategias de detención de pérdidas, como el seguimiento de las paradas, la salida de candelabro, etc., para controlar aún más el riesgo.
  5. Expanda a más variedades para encontrar las variedades comerciales que mejor se ajusten a la estrategia.

Resumir

La estrategia de ruptura del canal de Tōkyō es una estrategia de seguimiento de tendencias con claridad de juicio y control de riesgos. Es especialmente adecuada para variedades de alta volatilidad como las monedas digitales, con un gran potencial de ganancias. Al mismo tiempo, la estrategia también tiene cierto espacio para la optimización de parámetros y la posibilidad de combinar otros indicadores, que son direcciones que se pueden ampliar en el futuro.

Código Fuente de la Estrategia
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 4h
basePeriod: 15m
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/
// © algotradingcc
// Strategy testing and optimisation for free trading bot 

//@version=4
strategy("Donchian Channel Strategy [for free bot]", overlay=true )

//Long optopns
buyPeriodEnter = input(10, "Channel Period for Long enter position")
buyPeriodExit = input(10, "Channel Period for Long exit position")
isMiddleBuy = input(true, "Is exit on Base Line? If 'no' - exit on bottom line")
takeProfitBuy = input(2.5, "Take Profit (%) for Long position")
isBuy = input(true, "Allow Long?")

//Short Options
sellPeriodEnter = input(20, "Channel Period for Short enter position")
sellPeriodExit = input(20, "Channel Period for Short exit position")
isMiddleSell = input(true, "Is exit on Base Line? If 'no' - exit on upper line")
takeProfitSell = input(2.5, "Take Profit (%) for Short position")
isSell = input(true, "Allow Short?")

// Test Start
startYear = input(2005, "Test Start Year")
startMonth = input(1, "Test Start Month")
startDay = input(1, "Test Start Day")
startTest = timestamp(startYear,startMonth,startDay,0,0)

//Test End
endYear = input(2050, "Test End Year")
endMonth = input(12, "Test End Month")
endDay = input(30, "Test End Day")
endTest = timestamp(endYear,endMonth,endDay,23,59)

timeRange = time > startTest and time < endTest ? true : false

// Long&Short Levels
BuyEnter = highest(buyPeriodEnter)
BuyExit = isMiddleBuy ? ((highest(buyPeriodExit) + lowest(buyPeriodExit)) / 2): lowest(buyPeriodExit)

SellEnter = lowest(sellPeriodEnter)
SellExit = isMiddleSell ? ((highest(sellPeriodExit) + lowest(sellPeriodExit)) / 2): highest(sellPeriodExit)

// Plot Data
plot(BuyEnter, style=plot.style_line, linewidth=2, color=color.blue, title="Buy Enter")
plot(BuyExit, style=plot.style_line, linewidth=1, color=color.blue, title="Buy Exit", transp=50)
plot(SellEnter, style=plot.style_line, linewidth=2, color=color.red, title="Sell Enter")
plot(SellExit, style=plot.style_line, linewidth=1, color=color.red, title="Sell Exit", transp=50)

// Calc Take Profits
TakeProfitBuy = 0.0
TakeProfitSell = 0.0
if strategy.position_size > 0
    TakeProfitBuy := strategy.position_avg_price*(1 + takeProfitBuy/100)
    
if strategy.position_size < 0
    TakeProfitSell := strategy.position_avg_price*(1 - takeProfitSell/100)

// Long Position    
if isBuy and timeRange
    strategy.entry("Long", strategy.long, stop = BuyEnter, when = strategy.position_size == 0) 
    
strategy.exit("Long Exit", "Long", stop=BuyExit, limit = TakeProfitBuy, when = strategy.position_size > 0)

// Short Position
if isSell and timeRange
    strategy.entry("Short", strategy.short, stop = SellEnter, when = strategy.position_size == 0) 
    
strategy.exit("Short Exit", "Short", stop=SellExit, limit = TakeProfitSell, when = strategy.position_size < 0)

// Close & Cancel when over End of the Test
if time > endTest
    strategy.close_all()
    strategy.cancel_all()