Estrategia de seguimiento de tendencias basada en canales de precios


Fecha de creación: 2024-01-08 11:05:11 Última modificación: 2024-01-08 11:05:11
Copiar: 2 Número de Visitas: 722
1
Seguir
1664
Seguidores

Estrategia de seguimiento de tendencias basada en canales de precios

Descripción general

La estrategia es una estrategia de seguimiento de tendencias basada en el principio de canal de precios. Se trata de una estrategia de seguimiento de tendencias de precios mediante el cálculo de precios máximos y mínimos en un determinado período histórico, formando un canal de precios y utilizando los límites del canal como una señal de compra y venta.

Principio de estrategia

La idea central de la estrategia de canal de precios es que los precios de las acciones superan los máximos históricos en la tendencia al alza y los mínimos históricos en la tendencia a la baja. Por lo tanto, se puede construir un canal de precios en función de los máximos y mínimos de un período histórico determinado (por ejemplo, 21 días), a lo largo y a lo largo del canal como una señal de compra y venta, respectivamente.

En concreto, la estrategia calcula los máximos y mínimos de los últimos 21 días mediante la función “highest () ” y “lowest () ” para formar una canal de precios. Si el precio de cierre del día es superior al máximo de los últimos 21 días, se genera una señal de compra; si el precio de cierre del día es inferior al mínimo de los últimos 21 días, se genera una señal de venta.

Además, la estrategia también examina si hay un hueco para determinar la posibilidad de una ruptura de tendencia. Si hay un hueco a la baja, se establece el canal de precios en rojo para prevenir el riesgo; si hay un hueco al alza, se establece en verde.

Análisis de las ventajas

Las principales ventajas de una estrategia de canal de precios son:

  1. La estrategia es simple, fácil de entender y de implementar.
  2. Identificar las tendencias de los precios de las acciones y seguirlas en tiempo real
  3. Se puede reducir el número de transacciones y reducir los costos de las transacciones mediante compras y ventas de ruptura.
  4. El establecimiento de un canal de precios puede actuar como un bloqueo
  5. Examinar las brechas para detectar cambios en la tendencia

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. La información se basa solo en el precio y no en otros aspectos básicos, indicadores técnicos, etc.
  2. La configuración incorrecta de los parámetros del canal de precios puede resultar demasiado radical o conservadora
  3. Las compras de ruptura pueden provocar un recorte que ocasione pérdidas.
  4. No tiene en cuenta la volatilidad y la liquidez de las acciones
  5. Las diferencias entre sectores y características individuales no se toman en cuenta.

Para superar estos riesgos, se puede considerar la optimización de los siguientes aspectos:

  1. Combinación de indicadores técnicos clave para evitar señales erróneas
  2. Adición de algoritmos de parámetros de canal adaptados
  3. Combinado con un sistema lineal para determinar la continuidad de la tendencia
  4. Configurar el factor de ancho de canal para ajustar la variación de la velocidad
  5. Separar industrias y conceptos para establecer parámetros

Dirección de optimización

La estrategia también incluye las siguientes mejoras:

  1. Métodos de cálculo de los parámetros para optimizar los canales de precios, como la introducción de canales de adaptación, canales de fluctuación, etc.
  2. En combinación con otros indicadores técnicos para determinar el momento de compra/venta y mejorar la efectividad de la estrategia
  3. Incorporar estrategias de stop loss y stop loss para controlar el riesgo y bloquear las ganancias
  4. Distinguir las características de las industrias y las acciones individuales, establecer parámetros dinámicos
  5. Estrategias de mejora combinadas con información básica y factores impulsores de eventos
  6. Aplicación de algoritmos de aprendizaje automático para la autoadaptación de parámetros y el juicio de estado

Resumir

La estrategia de canal de precios es una estrategia de seguimiento de tendencias típica que se construye a través de un simple precio máximo y mínimo histórico, con el límite del canal como señal de transacción. La estrategia es fácil de entender y implementar, puede seguir la tendencia de precios de manera efectiva y configurar un canal de precios con función de parada.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//
//  作品: [LunaOwl] 樂活投資:價格通道
//  英文: [LunaOwl] LOHAS Investor - PriceChannel
//
///////////////////////////////
//     ~~!!*(๑╹◡╹๑) **      //
//  製作: @LunaOwl 彭彭      //
//  一版: 2019年12月07日     //
//  二版: 2019年12月09日     //
///////////////////////////////
//
//  介紹:
//--價格通道是一個古老的投資策略,對於「肯做功課選股」的上班族投資人非常方便。
//--由於大多數股市散戶沒有時間操作,即時有時間操作也只是加快輸錢的速度,所以,
//--上班族投資法,或「樂活投資」的條件有幾點:
//--**********
//--1) 設定溫和的投資報酬率期望
//--2) 使用適合的選股方式建立投資組合,減少單一股票的失誤率
//--3) 使用簡單的進出場策略,規律的執行它
//--4) 財富依靠時間積累,每天學習
//--**********
//
//==定義回測條件==//

strategy("[LunaOwl] 價格通道",
     initial_capital = 10000, commission_value = 0.07, 
     default_qty_type = strategy.percent_of_equity,
     default_qty_value = 50, overlay = true,
     calc_on_order_fills = true
     )

//==設定價格通道==//

Channel_Price  = input(close, title = "通道價格")
Channel_Length = input(21, title = "通道回溯長度")
Channel_High = highest(high, Channel_Length)
Channel_Low  = lowest(low, Channel_Length)

gapUp   = (low > high[1])
gapDown = (high < low[1])

BackgroundColour = (gapUp == true) ? color.green :
                   (gapDown == true) ? color.red : na
                   
bgcolor(BackgroundColour, transp=60)

BorderlineA = plot(Channel_High, title = "通道上線", color = color.red, style = plot.style_line)
BorderlineB = plot(Channel_Low, title = "通道下線", color = color.blue, style = plot.style_line)
fill(BorderlineA, BorderlineB, title = "通道底色", color = color.gray, transp = 85)

Long_entry = close >= Channel_High
Long_close_all = close <= Channel_Low

if (not na(close[Channel_Length]))
    strategy.entry("買入", strategy.long, comment = "高於近期", stop = Channel_High)
    strategy.entry("賣出", strategy.short, comment = "低於近期", stop = Channel_Low)