En la carga de los recursos... Cargando...

Estrategia de negociación de ruptura de Donchian

El autor:¿ Qué pasa?, fecha: 2024-04-29 14:56:35
Las etiquetas:

img

Resumen general

La estrategia de negociación de ruptura de Donchian es un sistema de negociación basado en el indicador del canal de Donchian. La idea principal de esta estrategia es capturar las tendencias del mercado rompiendo las bandas superior e inferior del canal de Donchian, y utilizar una relación de recompensa de riesgo (RR) fija para obtener ganancias y detener pérdidas. Cuando el precio se rompe por encima de la banda superior del canal de Donchian y crea un nuevo máximo relativo al período del canal de Donchian, se hace largo; cuando se rompe por debajo de la banda inferior y crea un nuevo mínimo, se hace corto. Al mismo tiempo, la stop loss se establece en la banda media del canal de Donchian, y la toma de ganancias se calcula sobre la base de la relación de recompensa de riesgo establecida.

Principio de la estrategia

  1. Calcular el canal de Donchian: basándose en el período del canal de Donchian establecido (default 20), calcular los precios más altos y más bajos dentro de ese período como las bandas superior e inferior del canal de Donchian, respectivamente, y calcular el punto medio de las bandas superior e inferior como la banda media del canal de Donchian.
  2. Determinar si se crea un nuevo alto/bajo: al hacer un bucle y comparar las bandas superior e inferior del canal de Donchian actual con las bandas superior e inferior de los períodos anteriores, se determina si se crea un nuevo alto o bajo en relación con el período del canal de Donchian.
  3. Entrada de ruptura: cuando el precio de cierre se rompe por encima de la banda superior azul de Donchian, entra en una posición larga; cuando se rompe por debajo de la banda inferior azul de Donchian, entra en una posición corta.
  4. Tomar ganancias y detener pérdidas: al abrir una posición, registre el precio de entrada y el precio actual de la banda media del canal de Donchian, y calcule la diferencia de precio entre los dos.
  5. Posición cerrada: cuando el precio alcanza el precio de toma de ganancias o stop loss, la posición se cierra.

Ventajas estratégicas

  1. Adecuado para mercados de tendencia: La estrategia de ruptura de Donchian entra en posiciones rompiendo las bandas superior/inferior, siguiendo la dirección de la tendencia del mercado, y tiene un buen rendimiento en mercados de tendencia.
  2. Nuevo filtro alto/bajo: la estrategia filtra algunas señales de ruido y falsas rupturas determinando si se crea un nuevo alto/bajo dentro del período del Canal de Donchian, mejorando la calidad de las señales de entrada.
  3. Relación fija de riesgo-recompensación: Las posiciones de toma de ganancias y de stop loss para cada operación se basan en una relación fija de riesgo-recompensación, lo que hace que el riesgo sea controlado y propicio para la gestión del dinero.
  4. Parámetros sencillos: Los parámetros de la estrategia son relativamente fáciles de establecer, principalmente el período del canal de Donchian y la relación riesgo-recompensa, lo que facilita la optimización y el control.

Riesgos estratégicos

  1. Pérdida de magnitud: La posición de stop loss de la estrategia es la banda media del canal de Donchian. En tendencias poco claras o mercados fluctuantes, puede haber situaciones en las que una sola transacción sufre una gran pérdida.
  2. Comercio frecuente: si el período del canal de Donchian se establece demasiado corto, puede dar lugar a una apertura y cierre frecuentes de posiciones, aumentando los costes de transacción.
  3. Inversión de tendencia: durante las inversiones de tendencia, la estrategia puede experimentar múltiples pérdidas de parada consecutivas.
  4. Sensibilidad a los parámetros: el rendimiento de la estrategia es sensible a la configuración de parámetros y debe optimizarse en función de las diferentes características del mercado y los ciclos comerciales.

Direcciones para la optimización de la estrategia

  1. Posición de stop loss dinámica: ajustar la posición de stop loss en tiempo real en función de los movimientos de los precios, la volatilidad, etc., por ejemplo, utilizando ATR como referencia de stop loss para reducir el riesgo de una sola transacción.
  2. Filtración de tendencia: añadir indicadores de juicio de tendencia como promedios móviles y sólo abrir posiciones cuando la dirección de la tendencia sea clara para mejorar la calidad de la señal.
  3. Combinar con otros indicadores: Combinar con indicadores de impulso como el RSI y el MACD para evaluar de manera exhaustiva el momento de apertura de posiciones.
  4. Gestión de posiciones: ajustar dinámicamente el tamaño de las posiciones en función de la fuerza de la tendencia del mercado, la volatilidad, etc., para controlar el riesgo general.
  5. Adaptación de parámetros: Utilice el aprendizaje automático y otros métodos para optimizar de manera adaptativa los ajustes de parámetros.

Resumen de las actividades

La estrategia de negociación de ruptura de Donchian es un sistema de negociación de tendencia basado en el indicador clásico del canal de Donchian. Abre posiciones a través de rupturas de las bandas superior e inferior del canal de Donchian y juicios de nuevos máximos / mínimos, con tomar ganancias y detener pérdidas basadas en una relación de recompensa por riesgo fija. La estrategia tiene una lógica simple y es adecuada para mercados de tendencia. Sin embargo, tiene un rendimiento pobre en mercados fluctuantes y es sensible a la configuración de parámetros. Se puede optimizar aún más mediante la introducción de pérdidas de parada dinámicas, filtrado de tendencias, gestión de posiciones, etc., para mejorar la robustez de la estrategia.


/*backtest
start: 2023-04-23 00:00:00
end: 2024-04-28 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/
// © Dillon_Grech
//---------------------------------------------//

//---------------------------------------------//
// Simple donchian channel break out strategy
// which only enters trades when price closes
// above donchian upper and creates new high 
// (long) or price closes below donchian lower
// and creates new low, relative to the donchian
// length. This is indicated by the donchian
// upper and lower color (blue). Stop loss is
// located at donchian basis and take profit
// is set at Risk Reward (RR) profit target.
//---------------------------------------------//
//@version=5
strategy("Donchian New High/Low Strategy [Dillon Grech]", overlay=true)

//---------------------------------------------//

//---------------------------------------------//
//INDICATOR 1 - Donchian New High Low Price Close
don_length = input.int(20, minval = 1)
don_lower  = ta.lowest(don_length)
don_upper  = ta.highest(don_length)
don_basis  = math.avg(don_upper, don_lower)

//loop
don_lower_upper  = true
don_higher_lower = true
for i = 0 to don_length - 1
    //Check for higher high over don_length
    if don_upper > don_upper[i]
        don_lower_upper := false
    //Check for lower low over don_length
    if don_lower < don_lower[i]
        don_higher_lower := false

//Plot
c_ora = color.orange
c_blu = color.blue
c_gra = color.gray
color_basis = c_ora
color_upper = don_lower_upper  ? c_blu : c_gra
color_lower = don_higher_lower ? c_blu : c_gra
plot(don_basis,     "Don Basis", color_basis, 2)
u = plot(don_upper, "Don Upper", color_upper, 2)
l = plot(don_lower, "Don Lower", color_lower, 2)

//Conditions
Ind_1_L = ta.crossover(close, don_upper[1]) and 
   don_lower_upper[1]
Ind_1_S = ta.crossunder(close,don_lower[1]) and 
   don_higher_lower[1]
//---------------------------------------------//

//---------------------------------------------//
//ENTRY CONDITIONS
entry_long  = strategy.position_size<=0 and
   Ind_1_L
entry_short = strategy.position_size>=0 and
   Ind_1_S

if(entry_long)
    strategy.entry("Long Entry", strategy.long)
if(entry_short)
    strategy.entry("Short Entry", strategy.short)
//---------------------------------------------/

//---------------------------------------------//
//TAKE PROFIT AND STOP LOSS CONDITIONS
profit_RR = input.float(5.0,"RR Profit Target")

//Store Price on new entry signal
entry_price = strategy.opentrades.entry_price(
   strategy.opentrades-1)

//Store Donchain Channel Basis
entry_don_basis = float(0.0)
if entry_long or entry_short
    entry_don_basis := don_basis
else
    entry_don_basis := entry_don_basis[1]

//Get stop loss distance
stop_distance = math.abs(entry_price -
   entry_don_basis)
stop_L   = entry_price - stop_distance
profit_L = entry_price + stop_distance*profit_RR
stop_S   = entry_price + stop_distance
profit_S = entry_price - stop_distance*profit_RR

//Plot TP and SL
plot(entry_long or entry_short ? na :
   strategy.position_size > 0 ? profit_L : na,
   color=color.lime, style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na :
   strategy.position_size > 0 ? stop_L : na,
   color=color.red,  style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na : 
   strategy.position_size < 0 ? profit_S : na,
   color=color.lime, style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na :
   strategy.position_size < 0 ? stop_S : na,
   color=color.red,  style=plot.style_linebr,
   linewidth=2)

//Exit long trades
strategy.exit(id = 'Exit Long', 
   from_entry ='Long Entry', 
   stop = stop_L, limit = profit_L)
strategy.exit(id = 'Exit Short', 
   from_entry ='Short Entry', 
   stop = stop_S, limit = profit_S)
//---------------------------------------------//

Más.