Estrategia de comercio cuantitativa de la brecha de canales de Donchian

El autor:¿ Qué pasa?, Fecha: 2023-12-08 11:00:05
Las etiquetas:

img

Resumen general

La idea central de esta estrategia es tomar decisiones comerciales basadas en las rupturas de precios de los canales Donchian. Pertenece a la tendencia siguiente tipo de estrategias cuantitativas. Puede identificar automáticamente los canales de precios. Cuando los precios rompen el carril superior del canal, se abrirán posiciones largas. Cuando los precios caen cerca del carril inferior del canal o el punto de stop loss, las posiciones se cerrarán. Esta estrategia tiene como objetivo capturar las tendencias de precios a medio y largo plazo y es adecuada para el comercio algorítmico de derivados financieros como futuros de índices.

Principios

Esta estrategia se basa en el indicador de canales de Donchian, los canales son los canales dibujados por los precios más altos y más bajos durante un período determinado.

Precio superior = Precio más alto durante los últimos n períodos Precio más bajo en los últimos n períodos

Cuando los precios rompen el carril superior, se considera que ha comenzado una tendencia larga. Cuando los precios rompen el carril inferior, se considera que ha comenzado una tendencia corta. Esta estrategia solo considera los casos en que se rompe el carril superior.

La lógica de negociación específica es:

  1. Trace el carril superior de los canales de Donchian utilizando el precio más alto durante los últimos n períodos
  2. Cuando el precio de cierre se rompe a través de la barandilla superior, ir largo
  3. Tome de ganancias mediante parada de seguimiento cuando el precio de cierre vuelva a caer cerca de la línea inferior o a un punto de parada de pérdida preestablecido

Ventajas

Las ventajas de esta estrategia incluyen:

  1. La idea de la estrategia es clara y fácil de entender e implementar
  2. Donchian Channels es un indicador maduro y confiable para juzgar la dirección de la tendencia
  3. Identifica automáticamente los canales sin interferencia manual
  4. Los parámetros personalizables lo hacen altamente adaptable
  5. Contiene mecanismos de stop loss para limitar las pérdidas

Los riesgos

También hay algunos riesgos:

  1. Los canales de Donchian podrían tener falsas fugas, causando pérdidas innecesarias.
  2. La posición de stop loss incorrecta podría aumentar las pérdidas
  3. Preste atención a los riesgos de reversión cuando el precio está cerca de los carriles del canal
  4. Los parámetros no adecuados podrían afectar negativamente al rendimiento de la estrategia

Soluciones:

  1. Añadir filtros mediante la incorporación de otros indicadores para evitar falsas rupturas
  2. Optimizar el posicionamiento de stop loss para salidas suaves
  3. Considere aumentar el tamaño de la posición o ampliar el rango de ganancias cuando el precio esté cerca de los carriles del canal
  4. Prueba diferentes parámetros para encontrar valores óptimos

Direcciones de optimización

Esta estrategia puede optimizarse aún más en los siguientes ámbitos:

  1. Añadir otros indicadores como el MACD, KD para evitar falsos breakouts
  2. Optimizar los mecanismos de stop loss, por ejemplo, mover el stop loss
  3. Optimizar el control de las tasas de participación, por ejemplo, solo operar cuando aumente la volatilidad
  4. Optimización de parámetros para encontrar la combinación óptima

Resumen de las actividades

La idea general de esta estrategia es clara y fácil de entender e implementar. Utiliza canales Donchian maduros para identificar automáticamente la dirección de la tendencia. La configuración también es muy flexible para satisfacer diferentes necesidades. Con una parada de pérdida adecuada y optimización de parámetros, se pueden lograr buenos resultados. En conclusión, esta estrategia tiene una curva de aprendizaje baja pero una eficiencia razonable. Es adecuada como una estrategia de negociación cuantitativa de inicio.


/*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])

Más.