Estrategia de ruptura de bandas de Bollinger

El autor:¿ Qué pasa?, Fecha: 2024-02-20 15:53:12
Las etiquetas:

img

Resumen general

La estrategia de ruptura de Bollinger Bands es una estrategia de trading cuantitativa simple basada en el indicador de Bollinger Bands. La estrategia utiliza los niveles de soporte y resistencia dinámicos proporcionados por las bandas superior e inferior de Bollinger Bands para establecer reglas de entrada para posiciones largas cuando los precios rompen las bandas y reglas de salida cuando los precios vuelven a romper las bandas, con el objetivo de capturar oportunidades de tendencia en los movimientos de precios.

Estrategia lógica

El indicador de Bandas de Bollinger fue desarrollado por John Bollinger en la década de 1980. Consiste en un promedio móvil de n períodos y m veces la desviación estándar por encima y por debajo de él. El promedio móvil actúa como el punto medio, mientras que la desviación estándar explica la volatilidad.

Las condiciones de entrada para esta estrategia son: se tomará una posición larga cuando el precio de cierre se rompa por debajo de la banda inferior de Bollinger; se tomará una posición corta cuando el precio de cierre se rompe por encima de la banda superior de Bollinger. Las reglas de salida son: para las posiciones largas existentes, liquidar cuando el precio de cierre se rompe por encima de la banda superior; para las posiciones cortas existentes, cubrir cuando el precio de cierre se rompe por debajo de la banda inferior.

Se trata de una estrategia de seguimiento de tendencias, que captura la continuación de la tendencia señalada por la ruptura de las bandas de Bollinger y tiene como objetivo beneficiarse de los movimientos sostenidos de precios direccionales.

Ventajas

  1. El uso de bandas de Bollinger como niveles dinámicos de soporte/resistencia en lugar de precios fijos hace que la estrategia se adapte a la evolución de las condiciones del mercado.

  2. Las decisiones se basan tanto en los niveles de precios como en las condiciones de volatilidad, evitando algunas señales falsas.

  3. El marco de escape es simple e intuitivo.

  4. El ajuste flexible de los parámetros hace que la estrategia sea adaptable a todos los productos y mercados.

Los riesgos

  1. El mal ajuste de los parámetros de los indicadores puede causar una negociación demasiado frecuente y costes innecesarios.

  2. Las señales de ruptura pueden ser solo fluctuaciones de precios a corto plazo en lugar de tendencias sostenibles.

  3. La falta de stop loss expone a la estrategia a riesgos de pérdidas incontroladas.

  4. El sistema puramente técnico se pierde las inversiones de tendencia fundamentales.

  5. El rendimiento puede variar entre diferentes productos sin ajustes.

Oportunidades de mejora

  1. Optimizar los parámetros para mejorar la robustez.

  2. Incorporar órdenes de stop loss para limitar las pérdidas.

  3. Construir un sistema de marcos de tiempo múltiples para mejorar las decisiones.

  4. Añadir filtros de volumen para evitar señales falsas.

  5. Complementar los fundamentos para mejores entradas de tiempo y posiciones de tamaño.

  6. Evaluar la estrategia en más productos para probar la adaptabilidad.

Resumen de las actividades

La estrategia de ruptura de bandas de Bollinger proporciona un enfoque simple de seguimiento de tendencias mediante el impulso de la conducción señalado por las rupturas basadas en indicadores. Su fuerza radica en la identificación dinámica de las continuidades de tendencias.


/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Strategy", overlay=true)

length = input.int(20, title="Bollinger Bands Length", minval=1)
maType = input.string("SMA", title="Basis MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, title="StdDev Multiplier", minval=0.001, maxval=50)
offset = input.int(0, title="Offset", minval=-500, maxval=500)

ma(source, length, _type) =>
    switch _type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev + offset
lower = basis - dev - offset

// Define strategy entry and exit conditions
strategy.entry("Buy", strategy.long, when=close < lower)
strategy.close("Buy", when=close > upper)

strategy.entry("Sell", strategy.short, when=close > upper)
strategy.close("Sell", when=close < lower)

// Plotting the Bollinger Bands
plot(basis, color=color.blue, title="Basis")
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")


Más.