Estrategia de canal para captar impulso


Fecha de creación: 2023-12-20 15:46:40 Última modificación: 2023-12-20 15:46:40
Copiar: 0 Número de Visitas: 599
1
Seguir
1621
Seguidores

Estrategia de canal para captar impulso

Descripción general

La estrategia de canal de captura de movimiento es una variante basada en el canal de Donchian. Consiste en una banda de precio más alta, una banda de precio más baja y una línea de base que sirve como promedio de la banda de precio más alta y la banda de precio más baja. Esta estrategia es muy útil en el perímetro y la línea de tiempo solar de las variedades de tendencia.

Puede configurar el modo de operación como multi-vacío o solo multi-cabeza.

También puede configurar un stop loss fijo o ignorarlo para que la estrategia funcione solo según las señales de entrada y salida.

Principio de estrategia

La lógica central de esta estrategia se basa en el indicador de los canales donchianos. Los canales donchianos consisten en el promedio de los máximos, mínimos y cierre de los precios de los últimos 20 días. La dirección de la tendencia y la posible reversión se juzgan en función de la subida y bajada de los precios de los canales de ruptura.

Esta estrategia es una variante de la vía Donchiana. Se compone de una franja de precios más alta, una franja de precios más baja y una línea base que sirve como promedio entre la franja de precios más alta y la franja de precios más baja. La lógica específica es la siguiente:

  1. Cálculo de los precios máximos y mínimos de un determinado período como un canal de subida y bajada
  2. Calcula el promedio de subida y bajada como base
  3. Haga más cuando los precios se desborden
  4. El precio de las acciones se mantiene bajo la línea de base.
  5. Cuando el precio se desploma, hacer un descuento (si se permite)
  6. El precio de las acciones se desplomará cuando vuelva a la base.

La ventaja de esta estrategia es que es capaz de capturar la dinámica de la tendencia de los precios de manera efectiva. Al esperar a que los precios rompan la vía para determinar el inicio de la verdadera tendencia, se puede evitar la pérdida innecesaria causada por la conversación.

Análisis de las ventajas

  1. Capturar el impulso de las tendencias de los precios para lograr un crecimiento de los beneficios
  2. Evitar la falsa brecha en las celdas y reducir las pérdidas innecesarias
  3. Parámetros flexibles para diferentes variedades
  4. Opciones para operar solo más o todo el almacén, para satisfacer diferentes necesidades
  5. Un mecanismo integrado de detención de pérdidas para controlar eficazmente las pérdidas individuales

Análisis de riesgos

  1. Capturar la tendencia y al mismo tiempo aumentar los costos de un fracaso de la brecha
  2. La suspensión de pérdidas es demasiado flexible y las pérdidas individuales pueden aumentar.
  3. La configuración incorrecta de los parámetros puede conducir a transacciones frecuentes y aumentar los costos de las transacciones
  4. El fallo de la señal de penetración está retrasado y podría haber perdido el punto de entrada óptimo.

La solución:

  1. La elección del Stop Loss Ratio debe ser prudente, tanto para controlar las pérdidas como para dar suficiente espacio a la tendencia
  2. Aumentar el número de ciclos de parámetros y reducir la frecuencia de las transacciones
  3. En combinación con otros indicadores para determinar la fiabilidad de las señales de tendencia, se elige una mejor hora de entrada

Dirección de optimización

  1. La integración de otros indicadores para determinar el momento de entrada
  2. Ajuste dinámico de la posición de parada
  3. Parámetros de optimización según las características de la variedad
  4. La combinación de aprendizaje automático y la tasa de éxito de las brechas
  5. Logística de gestión de posiciones

Resumir

La estrategia de captura de movimiento del canal ofrece una oportunidad de ganancias considerables mediante la captura de las tendencias de precios. Al mismo tiempo, también conlleva un cierto riesgo que requiere un ajuste adecuado de los parámetros para el control de riesgos. Mediante la optimización continua de la selección de la hora de entrada y la lógica de stop loss, la estrategia puede convertirse en un excelente sistema de seguimiento de tendencias.

Código Fuente de la Estrategia
/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
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/
// © QuantCT

//@version=4
strategy("Donchian Channel Strategy Idea",
         shorttitle="Donchian", 
         overlay=true,
         pyramiding=0,     
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100, 
         initial_capital=1000,           
         commission_type=strategy.commission.percent, 
         commission_value=0.075)

// ____ Inputs

high_period = input(title="High Period", defval=10) 
low_period = input(title="Low Period", defval=10)
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)

// ____ Logic

highest_high = highest(high, high_period)
lowest_low = lowest(low, low_period)
base_line = (highest_high + lowest_low) / 2
    
enter_long = (close > highest_high[1])
exit_long = (close < base_line)
enter_short = (close < lowest_low[1])
exit_short = (close > base_line)

strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long) 
if (not long_only)
    strategy.entry("Short", strategy.short, when=enter_short)
    strategy.close("Short", when=exit_short) 
   
// ____ SL

sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
    strategy.exit(id="SL", from_entry="Long", stop=sl_long)
    strategy.exit(id="SL", from_entry="Short", stop=sl_short)
    
// ____ Plots

colors = 
 strategy.position_size > 0 ? #27D600 :
 strategy.position_size < 0 ? #E30202 :
 color.orange

highest_high_plot = plot(highest_high, color=colors)
lowest_low_plot = plot(lowest_low, color=colors)
plot(base_line, color=color.silver)
fill(highest_high_plot, lowest_low_plot, color=colors, transp=90)