Estrategia de negociación de bandas de Bollinger con doble desviación estándar

El autor:¿ Qué pasa?, Fecha: 2023-12-18 17:23:42
Las etiquetas:

img

Resumen general

Esta estrategia es una estrategia de negociación diseñada basándose en el modelo de desviación estándar dual de Bollinger Bands. Utiliza los carriles superior e inferior de Bollinger Bands y una y dos desviaciones estándar como señales de negociación.

Estrategia lógica

La estrategia primero calcula el carril medio, el carril superior y el carril inferior de las bandas de Bollinger.desviación estándar, y el carril inferior es el carril medio - 2Cuando el precio rompe el carril superior, se genera una señal de compra para ir largo. Cuando el precio rompe el carril inferior, se genera una señal de venta para ir corto. Además, la estrategia también traza las líneas de tren medio + 1 desviación estándar y tren medio - 1 desviación estándar. Se utilizan como líneas de stop loss. La lógica específica es:

  1. Calcular la SMA de CLOSE como el carril medio de las bandas de Bollinger
  2. Calcular la desviación estándar STD de CLOSE y calcular 2*STD
  3. Rejillo medio + 2STD es el carril superior de las bandas de Bollinger, el carril medio - 2STD es el carril inferior
  4. Ir largo cuando el precio rompe la barandilla superior
  5. Ir corto cuando el precio se rompe a través de la barandilla inferior
  6. Si la línea de stop loss está rota, cierre la posición.

Ventajas de la estrategia

  1. El diseño de doble desviación estándar hace que el juicio de ruptura sea más estricto para evitar señales erróneas
  2. El diseño de las líneas de stop loss dobles maximiza el control del riesgo
  3. Gran espacio de optimización de parámetros, el período del carril medio y el múltiplo de la desviación estándar se pueden ajustar
  4. El descenso puede controlarse ajustando el nivel de stop loss

Riesgos de la estrategia

  1. Las estrategias de Bollinger Bands son propensas a falsas rupturas, lo que lleva a señales comerciales inexactas.
  2. La doble desviación estándar y la configuración de líneas de stop loss dobles pueden ser demasiado estrictas, perdiendo oportunidades al filtrar demasiadas señales
  3. La configuración incorrecta de los parámetros puede aumentar el riesgo de la estrategia
  4. El control de la utilización no es lo suficientemente perfecto como para controlar eficazmente las pérdidas en condiciones extremas de mercado

Direcciones de optimización

  1. Considere combinar otros indicadores para filtrar las señales de negociación de Bollinger Bands para evitar falsos breakouts
  2. Prueba diferentes configuraciones de parámetros y optimiza los parámetros para una mejor relación de retorno/absorción
  3. Diseñar mecanismos dinámicos de detención de pérdidas tales como pérdidas de detención de pérdidas o pérdidas de detención de pérdidas por porcentaje de capital
  4. Combinar algoritmos de aprendizaje automático para optimizar automáticamente los parámetros

Conclusión

En general, esta estrategia es una estrategia típica de ruptura de bandas de Bollinger. Utiliza desviaciones estándar duales para aumentar la rigidez del juicio de la señal y adopta líneas de stop loss duales para controlar activamente los riesgos. La estrategia tiene cierto espacio de optimización de parámetros. Al ajustar parámetros como el período del tren medio y el multiplicador de desviación estándar, se puede obtener un mejor rendimiento de la estrategia. Al mismo tiempo, la estrategia también enfrenta el problema común de las fallas falsas en las estrategias de bandas de Bollinger. Además, hay espacio para una mayor mejora y optimización en el mecanismo de stop loss.


/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is 
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation

strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)

basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))

// Entry conditions
longCondition = ta.crossover(close, upper1)
shortCondition = ta.crossunder(close, lower1)

// Entry and exit strategy
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.entry("Sell", strategy.short, when=shortCondition)

strategy.close("Buy", when=shortCondition)
strategy.close("Sell", when=longCondition)

Más.