Estrategia de negociación de reingreso de banda de Bollinger

El autor:¿ Qué pasa?, Fecha: 2024-03-08 14:08:53
Las etiquetas:

img

Resumen general

Esta estrategia se basa en el indicador de Bollinger Bands. La idea principal es esperar a que el precio vuelva a entrar en las Bollinger Bands después de salir de la banda superior o inferior, y luego establecer una posición en la misma dirección que la ruptura en el punto de reingreso. La estrategia aprovecha la característica de que los precios a menudo se invierten cuando están en áreas extremas. Al combinar las condiciones de ruptura y reingreso de Bollinger Band, tiene como objetivo capturar puntos de inflexión del mercado y lograr una mayor tasa de ganancia.

Principios de estrategia

  1. Calcule las bandas media, superior e inferior de las bandas de Bollinger. La banda media es la media móvil, y las bandas superior e inferior son la banda media más o menos un cierto número de desviaciones estándar.
  2. Determine si el precio rompe la banda superior o inferior de Bollinger. Si el precio de cierre excede la banda superior, se considera una ruptura al alza; si el precio de cierre cae por debajo de la banda inferior, se considera una ruptura a la baja.
  3. Si se produce una ruptura ascendente, registre el precio más alto de esa vela de ruptura como el pico. Si se produce una ruptura descendente, registre el precio más bajo de esa vela de ruptura como el pico. El pico se utiliza para determinar si el precio ha vuelto a entrar más tarde.
  4. Si el precio de cierre está entre las bandas superior e inferior en este momento, se considera que el precio ha vuelto a entrar.
  5. Cuando el precio vuelve a entrar, si la vela anterior fue una ruptura ascendente (break_up [1] e interior), vaya largo; si la vela anterior fue una ruptura descendente (break_down [1] e interior), vaya corto.
  6. Gestión de la posición: si se encuentra en una posición larga y el precio de cierre cruza la banda media, cierre la posición larga; si se encuentra en una posición corta y el precio de cierre cruza la banda media, cierre la posición corta.

Análisis de ventajas

  1. Las bandas de Bollinger tienen una gran adaptabilidad y pueden ajustarse dinámicamente de acuerdo con las fluctuaciones de precios, lo que es útil para capturar tendencias y volatilidad.
  2. En comparación con una estrategia simple de ruptura de la banda de Bollinger, añadir la condición de reentrada puede evitar perseguir máximos y vender mínimos hasta cierto punto y mejorar la calidad de entrada.
  3. La condición de salida utiliza la banda media como referencia, que es simple y fácil de usar, y puede proteger las ganancias relativamente bien.
  4. Los parámetros de las bandas de Bollinger, como la longitud y el multiplicador de desviación, se pueden personalizar, lo que proporciona una gran flexibilidad.

Análisis de riesgos

  1. La selección incorrecta de los parámetros de la banda de Bollinger puede conducir a entradas prematuras o tardías, lo que afecta el rendimiento de la estrategia.
  2. Cuando el precio oscila cerca de las bandas de Bollinger, puede ocurrir una apertura y cierre frecuentes de posiciones, lo que resulta en un aumento de los costos de transacción.
  3. Si la tendencia es muy fuerte y el precio no vuelve a entrar en las bandas de Bollinger durante mucho tiempo, las ganancias de tendencia pueden perderse.
  4. El uso del indicador de banda de Bollinger por sí solo puede no ser eficaz para algunos instrumentos o condiciones de mercado, y puede ser necesario utilizarlo junto con otras señales.

Direcciones de optimización

  1. Por ejemplo, una ruptura puede ser más confiable si el precio ha estado funcionando por encima de las bandas de Bollinger durante un período de tiempo, o utilizar indicadores de determinación de tendencia como el ángulo MA y el ADX para asistencia.
  2. Para los mercados oscilantes, se pueden añadir órdenes límite y temporizadores para evitar entradas a ciegas.
  3. Para las salidas, se pueden combinar ATR o medias móviles para controlar el tiempo de salida.
  4. Realizar la optimización de parámetros y el análisis de características para diferentes activos subyacentes y plazos para seleccionar objetivos y plazos de negociación adecuados.
  5. Considere la posibilidad de añadir una gestión de posiciones, como aumentar el tamaño de la posición cuando la volatilidad se contrae y reducir el tamaño de la posición cuando la volatilidad se expande.

Resumen de las actividades

La estrategia de negociación Bollinger Bands Breakout Reentry es una estrategia de negociación cuantitativa simple y práctica. Utiliza la reacción de los precios a situaciones extremas y construye condiciones de entrada y salida a través de la herramienta Bollinger Bands, que puede capturar los puntos de inicio y fin de tendencia hasta cierto punto y controlar la negociación frecuente. Al mismo tiempo, esta estrategia también tiene problemas como la selección de parámetros, el mal rendimiento en los mercados oscilantes y la captura de tendencias insuficiente. A través de la optimización de los detalles y la combinación con otras señales, se espera mejorar aún más la adaptabilidad y robustez de esta estrategia.


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

//@version=5
strategy(shorttitle="BB", title="Bollinger Bands", overlay=true)
length = input.int(20, 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.7, 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
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))

break_up = close > upper
break_down = close < lower
inside = close > lower and close < upper

sell_condition = break_up[1] and inside
buy_condition = break_down[1] and inside

// Conditions to close trades
close_sell_condition = close > basis
close_buy_condition = close < basis

trade_condition = sell_condition or buy_condition

// Tracking the high of the breakout candle
var float peak = na

if (not trade_condition)
    peak := close
if (break_up and peak < high)
    peak := high
if (break_down and peak > low)
    peak := low

// Entering positions
if (buy_condition)
    strategy.entry("Buy", strategy.long)
if (sell_condition)
    strategy.entry("Sell", strategy.short)

// Exiting positions when close crosses the basis
if (strategy.position_size > 0 and close_sell_condition) // If in a long position and close crosses above basis
    strategy.close("Buy")
if (strategy.position_size < 0 and close_buy_condition) // If in a short position and close crosses below basis
    strategy.close("Sell")

Más.