Estrategia de despliegue de bandas de Bollinger de doble vía

El autor:¿ Qué pasa?, fecha: 2024-02-05 14:05:47
Las etiquetas:

img

Resumen general

Esta estrategia es una estrategia de negociación de avance de doble vía basada en las bandas de Bollinger.

Principio de la estrategia

La estrategia utiliza los rieles superior e inferior de las bandas de Bollinger. Las bandas de Bollinger consisten en un promedio móvil y dos canales de desviación estándar correspondientes. Se genera una señal de venta cuando el precio toca o rompe el rieles superior de las bandas de Bollinger; Se genera una señal de compra cuando el precio toca o rompe el rieles inferior de las bandas de Bollinger. Además, la estrategia también establece un punto de stop loss. Cuando el precio es inferior a un cierto porcentaje del promedio móvil, se identificará una stop loss.

Específicamente, la estrategia calcula el promedio móvil y el doble de la desviación estándar del ciclo especificado (como 20 días) para trazar las Bandas de Bollinger. El rieles superior es el promedio móvil más el doble de la desviación estándar, y el rieles inferior es el promedio móvil menos el doble de la desviación estándar. Cuando el precio de cierre es mayor o igual al rieles superior, se emite una señal de venta; cuando el precio de cierre es menor o igual al rieles inferior, se emite una señal de compra. Además, si el precio es menor que un cierto porcentaje (como el 1%) del promedio móvil, se emite una señal de stop loss.

Ventajas estratégicas

La estrategia utiliza las características de las bandas de Bollinger para emitir señales comerciales cuando ocurren fluctuaciones anormales de precios, capturando así oportunidades para reversiones de precios.

En comparación con las estrategias de avance simples de doble vía, esta estrategia agrega un mecanismo de stop-loss. Esto puede controlar eficazmente la pérdida causada por señales erróneas individuales.

Riesgos estratégicos

El mayor riesgo de esta estrategia es que las Bandas de Bollinger por sí mismas no pueden garantizar la validez de las señales comerciales. Cuando ocurren situaciones especiales en el mercado, los precios pueden fluctuar bruscamente y anormalmente, en cuyo caso las señales comerciales emitidas por las Bandas de Bollinger pueden ser incorrectas. Esto es probable que cause pérdidas considerables.

Además, la configuración de puntos de stop loss también puede ser demasiado agresiva o conservadora, lo que afectará al ingreso final.

Direcciones para la optimización de la estrategia

La estrategia se puede optimizar en los siguientes aspectos:

  1. Prueba de diferentes combinaciones de parámetros, tales como diferentes valores del ciclo de media móvil, multiplicador de desviación estándar, porcentaje de pérdida de parada, etc., para encontrar los parámetros óptimos;

  2. Aumentar otros indicadores para juzgar y formar condiciones de filtro múltiples para evitar señales erróneas;

  3. Optimizar las estrategias de stop loss, como el uso de stop loss móviles, stop loss por lotes en lugar de stop loss simples;

  4. Confirme las señales de negociación combinando bandas de Bollinger de diferentes ciclos de tiempo para evitar quedar atrapado.

Resumen de las actividades

En general, esta estrategia es una combinación práctica de seguimiento de tendencias y estrategias de avance de doble vía. Puede aprovechar las oportunidades de reversión cuando aumentan las fluctuaciones de precios y establece pérdidas de parada para controlar los riesgos. Mediante la optimización de parámetros, el aumento del filtrado de señales, las estrategias de pérdida de parada optimizadas, etc., la estabilidad y la rentabilidad de la estrategia pueden mejorarse aún más.


/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Strategy by Royce Mars", 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(2.0, minval=0.001, maxval=50, title="StdDev")
stopLossPercent = input.float(1.0, title="Stop Loss Percent", minval=0.1, maxval=10, step=0.1)

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

// Buy and Sell Conditions
buyCondition = close <= lower
sellCondition = close >= upper

// Stop Loss Condition
stopLossCondition = close < basis * (1 - stopLossPercent / 100)

// Strategy Execution
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition or stopLossCondition)

strategy.entry("Sell", strategy.short, when=sellCondition)
strategy.close("Sell", when=buyCondition)

// Plotting on the Chart
plotshape(buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(sellCondition or stopLossCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)

// Plotting the Bollinger Bands
plot(basis, "Basis", color=color.orange)
p1 = plot(upper, "Upper Band", color=color.blue)
p2 = plot(lower, "Lower Band", color=color.blue)
fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95))


Más.