Estrategia de ruptura de tendencia basada en bandas de Bollinger

El autor:¿ Qué pasa?, Fecha: 2023-11-16 16:24:12
Las etiquetas:

img

Resumen general

Esta es una estrategia de seguimiento de tendencias basada en bandas de Bollinger. Utiliza bandas de Bollinger para calcular los canales de precios y combina patrones de velas para determinar la dirección de la tendencia. Las posiciones largas / cortas se abrirán cuando el precio rompe las bandas de Bollinger.

Estrategia lógica

Esta estrategia utiliza la banda superior, la banda media y la banda inferior de las bandas de Bollinger para determinar los rangos de precios. Las bandas superior e inferior cubren los movimientos de precios, mientras que la banda media es el promedio móvil. El ancho de la banda cambia en función de la volatilidad de los precios. Cuando el precio se rompe por encima de la banda superior, indica una ruptura ascendente y una entrada larga. Cuando el precio se rompe por debajo de la banda inferior, indica una ruptura descendente y una entrada corta.

Después de determinar la dirección de la tendencia con la ruptura de Bollinger Bands, la estrategia también la confirma con patrones de velas. Si el cuerpo de la vela se alinea con la tendencia, como una vela alcista en una tendencia alcista, se abrirá una posición. Si el cuerpo de la vela muestra un patrón inverso, como una vela bajista en una tendencia alcista, la señal se ignorará.

Las reglas detalladas de las señales de negociación son:

  1. Calcular la banda superior, la banda media y la banda inferior de las bandas de Bollinger para determinar el rango de precios

  2. Cuando el precio se rompe por encima de la banda superior, indica una tendencia al alza / larga

  3. Si el candelero es alcista, confirme la tendencia y vaya largo

  4. Cuando el precio se rompe por debajo de la banda inferior, indica una tendencia a la baja / corta

  5. Si el candelero es bajista, confirme la tendencia y vaya corto

  6. Establecer el stop loss y el take profit basados en el porcentaje

Al entrar en las rupturas de Bollinger Bands y confirmar con velas, esta estrategia puede identificar efectivamente la dirección de la tendencia y obtener buenas entradas durante las primeras etapas de la tendencia.

Análisis de ventajas

Esta es una tendencia típica que sigue una estrategia con las siguientes fortalezas:

  1. Las bandas de Bollinger son adaptables y pueden ajustar los rangos para las acciones con una volatilidad diferente

  2. La confirmación de candlestick filtra las faltas falsas

  3. La tenencia a medio plazo reduce la frecuencia de negociación y reduce los costes/deslizamiento

  4. La captación de las tendencias a medio plazo evita el ruido a corto plazo y ofrece una buena relación riesgo-recompensa

  5. Los resultados de las pruebas de retroceso son sólidos y el comercio real es estable debido a la sistematización

  6. La lógica de la estrategia es clara y fácil de entender, con espacio para mejoras

Al determinar la tendencia con bandas de Bollinger y entrar en la confirmación del candelero, esta estrategia captura efectivamente el impulso a mediano plazo impulsado por el volumen.

Análisis de riesgos

También hay algunos riesgos a tener en cuenta para esta estrategia:

  1. El riesgo de ruptura fallido.

  2. El riesgo de reversión: las tendencias a medio plazo también pueden revertirse, se deben establecer paradas razonables

  3. Los parámetros y paradas de Bollinger Bands necesitan ajuste para diferentes acciones

  4. Riesgo de sobreajuste: la optimización excesiva de los parámetros causa el ajuste de la curva

  5. El riesgo de ejecución: existe una divergencia entre backtest y trading real

Para hacer frente a estos riesgos, se pueden realizar las siguientes mejoras:

  1. Optimizar los parámetros y el ancho de las bandas de Bollinger para un mejor ajuste

  2. Añadir más factores como el volumen para confirmar la tendencia

  3. Utilice paradas dinámicas para evitar pérdidas enormes en las reversiones

  4. Aplicar el análisis de marcha hacia adelante para evitar el sobreajuste

  5. Mejorar la ejecución de órdenes para mejorar la eficiencia real de las operaciones

Direcciones de optimización

Esta estrategia puede reforzarse aún más en los siguientes aspectos:

  1. Añadir más indicadores como KDJ, MACD para confirmar las señales y mejorar la precisión

  2. Utilice el aprendizaje automático para optimizar dinámicamente los parámetros en lugar de valores fijos

  3. Establecer zonas de precios alrededor de los puntos de ruptura para generar señales más precisas

  4. Optimizar las salidas con paradas de espera o toma parcial de ganancias

  5. Introducir el tamaño de las posiciones para una mejor gestión del riesgo

  6. Utilice tipos de orden avanzados para mejorar los resultados de ejecución

  7. Añadir filtros de régimen de mercado para apagar la estrategia en ciertos entornos

Al introducir más técnicas y optimizaciones, la estabilidad y la rentabilidad de esta estrategia pueden mejorarse aún más para obtener mejores resultados de prueba posterior y comerciales reales.

Conclusión

Esta es una estrategia típica de seguimiento de tendencia que utiliza bandas de Bollinger como rangos dinámicos para determinar la dirección de la tendencia.

Las ventajas de esta estrategia incluyen el uso de bandas de Bollinger para la tendencia, candlestick para la confirmación de entrada, baja frecuencia de negociación y fácil sistematización. También tiene riesgos como breakouts falsos, dificultades de optimización de stop loss y divergencia de ejecución.

En general, como una tendencia típica que sigue la estrategia, tiene una lógica clara y es fácil de implementar con una fuerte viabilidad.


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


//@version=2
strategy("Noro's Bands Scalper Strategy v1.2", shorttitle = "Scalper str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needct = input(false, defval = false, title = "Counter-trend entry")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
src = close

//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd1 = center + distsma / 2
ld1 = center - distsma / 2

//Trend
trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Body
body = abs(close - open)
smabody = sma(body, 100)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and close < open)) ? 1 : 0
dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and close > open)) ? 1 : 0

if up7 == 1 or up8 == 1 
    strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na)

if dn7 == 1 or dn8 == 1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)

Más.