La estrategia de ruptura de bandas de Bollinger de momento es una estrategia de negociación cuantitativa que combina el indicador de bandas de Bollinger y el indicador de promedio móvil para realizar operaciones de ruptura bajo ciertas condiciones de momento.
La estrategia se basa principalmente en el indicador de bandas de Bollinger y el indicador de promedio móvil de MA. Las bandas de Bollinger y los promedios móviles pertenecen a los indicadores que siguen la tendencia. Las bandas de Bollinger utilizan el concepto de desviación estándar para representar el rango de fluctuación alta y baja de los precios. El promedio móvil suaviza los datos de precios y juzga la dirección de la tendencia del precio.
La lógica central de la estrategia es la siguiente:
Inicie los parámetros de las bandas de Bollinger y calcule el carril medio, el carril superior y el inferior.
Inicie los parámetros de la media móvil.
Si el precio rompe la barrera inferior de las bandas de Bollinger de abajo hacia arriba y la media móvil está por debajo de la barrera inferior, vaya largo.
Señales de venta: cuando el precio atraviesa la barrera superior de las bandas de Bollinger de arriba a abajo y la media móvil está por encima de la barrera superior, sea corto.
Signa de salida: cuando el precio vuelve a entrar en el rango de bandas de Bollinger, cierre la posición.
La estrategia combina el uso de bandas de Bollinger y indicadores de promedios móviles para generar señales de negociación bajo ciertas condiciones de impulso, que es una estrategia típica de seguimiento de tendencias.
Utilizando bandas de Bollinger para juzgar claramente el rango de fluctuación de precios y la media móvil para determinar la dirección de la tendencia de los precios, las señales de negociación formadas por la combinación de filtro de indicadores duales tienen una fiabilidad relativamente alta.
Además de que el precio rompa el límite de las bandas de Bollinger, también requiere que el promedio móvil rompa, lo que garantiza un soporte de impulso suficiente para evitar fallas falsas.
Los parámetros de la estrategia se establecen de manera razonable y flexible, lo que permite ajustar los parámetros de las bandas de Bollinger y los ciclos de medias móviles para adaptarse a las diferentes variedades y condiciones del mercado.
La idea de la estrategia es clara y fácil de entender, fácil de implementar y verificar.
El indicador de volatilidad de Bollinger Bands en sí tiene un posible retraso en las tendencias que cambian rápidamente, lo que puede generar señales comerciales inválidas.
Cuando se utiliza como un indicador de filtrado, la configuración de sus parámetros afecta directamente a la frecuencia de la estrategia.
Confiando tanto en el indicador Bollinger Bands como en el indicador de la media móvil para formar señales efectivas, una vez que una de ellas falla, toda la estrategia se verá afectada.
Las estrategias de ruptura son más agresivas, cuando los precios se retrocedían para probar el límite de las bandas de Bollinger, eran propensos a quedar atrapados.
Optimizar los parámetros de las bandas de Bollinger para adaptarse a las variedades con diferentes ciclos y volatilidad, por ejemplo, modificar los parámetros del multiplicador del período y la desviación estándar de las bandas de Bollinger.
Optimizar los parámetros del ciclo de media móvil para equilibrar la frecuencia y el efecto de filtración.
Aumentar la estrategia de stop loss para controlar la pérdida máxima por operación.
Combinar con otros indicadores como el RSI y el MACD para formar indicadores compuestos y enriquecer las señales comerciales para la estrategia.
Combinar modelos de aprendizaje automático para ayudar a juzgar la dirección de la tendencia del precio y la tasa de éxito de la ruptura.
Esta estrategia integra el indicador de bandas de Bollinger con el indicador de promedio móvil para generar señales de entrada y salida después de garantizar un cierto impulso de ruptura de precios. La idea de la estrategia es clara y fácil de implementar, y puede rastrear eficazmente las tendencias de los mercados.
/*backtest start: 2022-12-28 00:00:00 end: 2024-01-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // strategy("Advanced Bollinger Bands Strategy", overlay=true) //BB Values wall1= input(defval=true,title="===BB Values===",type=input.bool) source = input(defval=close,title="BB Source",type=input.source) length = input(20,title="BB Length", minval=1) mult = input(2.0,title="BB Multiplier",minval=0.001, maxval=50) basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev offset = input(0, " BB Offset", type = input.integer, minval = -500, maxval = 500) plot(basis, "Basis", color=#872323, offset = offset) p1 = plot(upper, "Upper", color=color.teal, offset = offset) p2 = plot(lower, "Lower", color=color.teal, offset = offset) fill(p1, p2, title = "Background", color=#198787, transp=95) //Moving Average Values wall2= input(defval=true,title="===MA Values===",type=input.bool) nfl= input(defval=14,title="Moving Average Period",type=input.integer,minval=1,maxval=100) source1= input(defval=close,title="Moving Average Source",type=input.source) noisefilter= sma(source1,nfl) plot(noisefilter,style=plot.style_line,linewidth=2,color=color.yellow,title=" Moving Average Filter") bgcolor(noisefilter<lower?color.green:noisefilter>upper?color.red:na,title="Moving Average Filter") //Strategy Conditions wall3= input(defval=true,title="===Strategy Conditions===",type=input.bool) bl= input(defval=false,title="Exit at Basis Line?",type=input.bool) nflb= input(defval=false,title="Use Moving Average Filter?",type=input.bool) //Strategy Condition buyEntry = crossover(source, lower) sellEntry = crossunder(source, upper) if (nflb?(crossover(source,lower) and noisefilter<lower): crossover(source, lower)) strategy.entry("BBandLE", strategy.long, oca_name="BollingerBands", comment="BBandLE") else strategy.cancel(id="BBandLE") if (nflb?(crossunder(source,lower) and noisefilter>upper): crossunder(source, lower)) strategy.entry("BBandSE", strategy.short, oca_name="BollingerBands", comment="BBandSE") else strategy.cancel(id="BBandSE") strategy.close_all(when=bl?crossover(source,basis) or crossunder(source,basis):crossover(source,upper) or crossunder(source,lower))