La estrategia de la zona repetitiva de Bollinger Bands es una estrategia de negociación cuantitativa basada en las bandas de Bollinger.
La estrategia se basa principalmente en los siguientes indicadores de evaluación:
Bollinger Middle Band: SMA de promedio móvil simple, que representa la tendencia general del mercado.
Banda superior de Bollinger: media + N veces la desviación estándar.
Banda inferior de Bollinger: media - N veces la desviación estándar. La banda inferior representa el límite inferior de la volatilidad del mercado.
Cuando el precio de cierre es más alto que el carril inferior y el precio de apertura es más bajo que el carril inferior, se juzga como un fondo potencial y un posible punto de entrada. Cuando el precio de cierre es más alto que el carril superior y el precio de apertura es más bajo que el carril superior, se juzga como una señal de ruptura potencial por encima del carril superior, que también puede ingresar al mercado.
Cuando el precio de cierre es inferior al de la línea superior y el precio de apertura es superior al de la línea superior, se determina que ha entrado en la parte superior de la banda de Bollinger y se debe considerar la salida. Cuando el precio de cierre es superior al precio de apertura y la distancia entre los carriles superior e inferior supera 2 veces la línea media, se juzga que la volatilidad ha aumentado y también se debe considerar la salida.
La combinación del juicio de doble carril mejora la precisión de las señales. La combinación del precio de cierre y el precio de apertura puede filtrar algunas señales falsas.
El intervalo de volatilidad se calcula sobre la base de la desviación típica, adaptándose automáticamente a los cambios del mercado, sin necesidad de establecer manualmente intervalos de precios fijos.
Combinado con el juicio de tendencia de la línea media para evitar choques repetidos en el mercado sin tendencia.
Utilizar el avance del tren medio para determinar los puntos de reversión de tendencia.
Las estrategias operativas a medio plazo no son adecuadas para las tenencias a largo plazo.
Las bandas de Bollinger solo son válidas dentro de un cierto período de tiempo.
En un mercado de rango limitado, la línea media fluctúa mucho, y el desencadenamiento alternativo de los rieles superior e inferior puede ser más frecuente.
Ajustar los parámetros para adaptarse a ciclos de tiempo más largos.
Añadir indicadores de volatilidad como ATR para evitar aún más los avances falsos.
Combine otros indicadores para lograr el efecto de filtro de Barry. Por ejemplo, agregue reglas de juicio del volumen de transacciones, solo opere cuando el volumen de transacciones se expanda.
La estrategia de la zona repetitiva de Bollinger Bands identifica automáticamente los extremos potenciales en el mercado para definir los canales de precios como oportunidades comerciales potenciales. Es muy adecuado para capturar inversiones de precios a mediano plazo y puede complementar las estrategias de seguimiento de tendencias. A través de una optimización razonable, los riesgos pueden controlarse de manera efectiva y mejorar la rentabilidad.
/*backtest start: 2023-02-13 00:00:00 end: 2024-02-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("BB Strategy", shorttitle="BB", overlay=true) length = input.int(55, minval=1) maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) src = input(close, title="Source") mult = input.float(1., minval=0.001, maxval=50, title="StdDev") 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 lower = basis - dev // Entry conditions enterCondition = (close > lower and open < lower and close > open) or (close > upper and open < upper and close > open) // Exit conditions exitCondition = (close < upper and open > upper) or (close > open and (upper - lower) > 2 * basis) or (close < lower) strategy.entry("Long", strategy.long, when=enterCondition) strategy.close("Long", when=exitCondition) // Plotting offset = input.int(0, "Offset", minval = -500, maxval = 500) plot(basis, "Basis", color=#FF6D00, offset = offset) p1 = plot(upper, "Upper", color=#2962FF, offset = offset) p2 = plot(lower, "Lower", color=#2962FF, offset = offset) fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))