Estrategia de trading de ruptura de Donchian


Fecha de creación: 2024-04-29 14:56:35 Última modificación: 2024-04-29 14:56:35
Copiar: 0 Número de Visitas: 701
1
Seguir
1617
Seguidores

Estrategia de trading de ruptura de Donchian

Descripción general

La estrategia Donchian breakout trading es un sistema de trading basado en indicadores del canal Donchian. La idea principal de la estrategia es capturar la tendencia del mercado a través de breakouts en el camino ascendente y descendente del canal Donchian, y realizar un stop loss con un riesgo-beneficio-ratio fijo (RR). Cuando el precio rompe el camino ascendente del canal Donchian y crea un nuevo máximo en relación con el ciclo del canal Donchian, abre una posición más alta, y rompe el camino descendente y crea un nuevo mínimo.

Principio de estrategia

  1. Cálculo de la vía Donchiana: de acuerdo con el ciclo de la vía Donchiana establecido ((default 20), se calculan el precio más alto y el precio más bajo en el ciclo, respectivamente, como la vía superior y la vía inferior de la vía Donchiana, y se calcula el punto medio de la vía superior y la vía inferior como la vía media de la vía Donchiana.
  2. Determina si se ha creado un nuevo alto/baja: mediante la comparación recurrente de la vía ascendente y descendente del canal Donchian actual con la vía ascendente y descendente de los ciclos anteriores, determina si se ha creado un nuevo alto o una nueva baja en relación con el ciclo del canal Donchian. Si se crea un nuevo alto, el canal ascendente de Donchian se muestra en azul; si se crea un nuevo bajo, el canal descendente de Donchian se muestra en azul.
  3. Abrir posiciones de ruptura: abrir posiciones de ruptura cuando el precio se cierra, abrir posiciones de ruptura cuando el precio se cierra, abrir posiciones de ruptura cuando el precio se cierra, abrir posiciones de ruptura cuando el precio se cierra, abrir posiciones de ruptura cuando el precio se cierra.
  4. Stop loss: el precio de apertura y el precio medio de la vía Donchian actual se registran al abrir la posición y se calcula la diferencia. La posición de stop loss se establece en la vía Donchian, la posición de stop loss se calcula en función de la tasa de ganancia por riesgo establecida (default 5 veces) y la diferencia se obtiene.
  5. Posicionamiento cerrado: cuando el precio toca el precio de parada o de pérdida.

Ventajas estratégicas

  1. Apto para mercados de tendencia: estrategias de ruptura Donchian por la ruptura de la posición de apertura de la vía ascendente / descendente, para negociar en la dirección de la tendencia del mercado, para desempeñarse bien en situaciones de tendencia.
  2. Filtración de nuevo alto/nuevo bajo: estrategia para mejorar la calidad de la señal de apertura mediante la determinación de si se crea un ciclo de nuevo alto/nuevo bajo en el canal Donchian, filtrando parte de la señal de ruido y de la falsa brecha.
  3. Posiciones de stop y stop loss para cada transacción basadas en una proporción de riesgo y ganancias fijas, con un riesgo controlado, que favorece la administración de fondos.
  4. Parámetros sencillos: La configuración de los parámetros de la estrategia es más sencilla, principalmente por el ciclo de la vía Donchian y el riesgo-beneficio, es más fácil de optimizar y controlar.

Riesgo estratégico

  1. Pérdidas de amplitud: la estrategia de pérdidas se detiene en la vía media del canal Donchian, donde puede haber grandes pérdidas en una sola transacción en un contexto de tendencia incierta o de crisis.
  2. Negociación frecuente: Si el ciclo de la Canal Donchian es pequeño, puede dar lugar a la apertura de posiciones abiertas frecuentes, aumentando los costos de negociación.
  3. Reversión de la tendencia: en el período de reversión de la tendencia, la estrategia puede tener varios paros consecutivos.
  4. Sensible a los parámetros: la estrategia de rendimiento es más sensible a los parámetros de configuración, y se requiere la optimización de los parámetros de acuerdo con las diferentes características del mercado y el ciclo de la situación.

Dirección de optimización de la estrategia

  1. Detención dinámica: ajuste de la posición de parada en tiempo real de acuerdo con el movimiento del precio, la volatilidad, etc., como la adopción de ATR como referencia de parada, para reducir el riesgo de una sola transacción.
  2. Filtración de tendencias: añade indicadores de tendencia como las medias móviles y abre posiciones solo cuando la dirección de la tendencia es clara, mejorando la calidad de la señal.
  3. En combinación con otros indicadores: como la combinación de RSI, MACD y otros indicadores de dinámica, para evaluar integralmente el momento de abrir una posición.
  4. Gestión de posiciones: ajuste el tamaño de las posiciones en función de la intensidad de las tendencias del mercado y la volatilidad, para controlar el riesgo general.
  5. Adaptación de parámetros: Utiliza métodos como el aprendizaje automático para adaptarse y optimizar la configuración de los parámetros.

Resumir

La estrategia de ruptura Donchian es un sistema de seguimiento de tendencias basado en el indicador clásico de la vía Donchian. Se abre una posición con una ruptura de la vía Donchian y un nuevo alto/nuevo bajo, y se detiene la pérdida basándose en un riesgo/beneficio fijo. La estrategia tiene una lógica simple, adecuada para mercados de tendencia.

Código Fuente 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)
//---------------------------------------------//