Estrategia de ruptura de la banda de Bollinger

El autor:¿ Qué pasa?, Fecha: 2024-01-03 17:53:32
Las etiquetas:

img

Resumen general

La estrategia de ruptura de la banda de Bollinger es una estrategia de seguimiento de tendencias. Utiliza rangos de volatilidad para determinar los puntos de entrada y salida. En concreto, utiliza las bandas superior e inferior de las bandas de Bollinger para juzgar si los precios están rompiendo.

Estrategia lógica

La estrategia se basa en el indicador Bollinger Bands, que contiene tres líneas:

  1. Línea media - media móvil simple de n períodos
  2. Banda superior - Línea media + desviación estándar de k * n períodos
  3. Banda inferior - Línea media - desviación estándar k * n período.

Cuando los precios se rompen por encima de la banda superior, indica que la acción está entrando en una zona fuerte y por lo tanto va largo. Cuando los precios se rompen por debajo de la banda inferior, indica que la acción está entrando en una zona débil y por lo tanto cierra posiciones.

Esta estrategia utiliza una línea media de 20 períodos y 1.5 desviaciones estándar para construir las bandas de Bollinger.

  1. Utilice la banda inferior como un stop loss
  2. Utilice la línea media como un stop loss

La opción 1 funciona mejor para las acciones altamente volátiles.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. Puede realizar un seguimiento efectivo de las tendencias de los precios y captar señales de ruptura a tiempo
  2. Utiliza rangos de volatilidad para determinar los puntos de entrada, que filtran efectivamente el ruido.
  3. Proporciona dos opciones de stop loss que se pueden seleccionar en función de las características de las acciones

Análisis de riesgos

Esta estrategia también tiene algunos riesgos:

  1. Las señales de ruptura pueden ser rupturas falsas y no rastrear eficazmente las tendencias
  2. La posición incorrecta de la pérdida de parada podría conducir a una salida excesiva.
  3. No puede manejar eficazmente los mercados de rango limitado

Estos riesgos pueden reducirse mediante la optimización de parámetros, la incorporación de otros indicadores, etc.

Direcciones de optimización

Esta estrategia puede optimizarse en varios aspectos:

  1. Optimizar los parámetros de Bollinger Bands para encontrar las mejores combinaciones de parámetros
  2. Incorporar el volumen de operaciones y otros indicadores para verificar la fiabilidad de la señal de ruptura
  3. Construir filtros con otros indicadores para evitar errores
  4. Ajuste dinámico de las posiciones de stop loss para reducir los riesgos de stop loss

Conclusión

La estrategia de ruptura de la banda de Bollinger es en general una estrategia de tendencia más bien clásica. Se puede mejorar a través de la optimización de parámetros y reglas para adaptarse mejor a diferentes entornos de mercado.


/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 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/
// © Senthaamizh

//@version=4
strategy(title="Bollinger Band Breakout", shorttitle = "BB-BO", overlay=true)
source = close
length = input(20, minval=1, title = "Period") //Length of the Bollinger Band 
mult = input(1.5, minval=0.001, maxval=50, title = "Standard Deviation") // Use 1.5 SD for 20 period MA; Use 2 SD for 10 period MA 
exit = input(1, minval=1, maxval=2,title = "Exit Option") // Use Option 1 to exit using lower band; Use Option 2 to exit using moving average

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

if (crossover(source, upper))
    strategy.entry("Long", strategy.long, qty=1)

if(exit==1)
    if (crossunder(source, lower))
        strategy.close("Long")

if(exit==2) //basis is good for N50 but lower is good for BN (High volatility)
    if (crossunder(source, basis))
        strategy.close("Long")

plot(basis, color=color.red,title= "SMA")
p1 = plot(upper, color=color.blue,title= "UB")
p2 = plot(lower, color=color.blue,title= "LB")
fill(p1, p2)


Más.