Estrategia comercial de detección de señales de cruce de bandas de Bollinger

BB SMA DEV SIGNAL
Fecha de creación: 2025-02-18 14:47:16 Última modificación: 2025-02-18 14:47:16
Copiar: 1 Número de Visitas: 454
1
Seguir
1617
Seguidores

Estrategia comercial de detección de señales de cruce de bandas de Bollinger

Descripción general

Se trata de una estrategia de negociación basada en indicadores de la franja de Brin para identificar tendencias en el mercado y generar señales de negociación a través de la relación cruzada de los precios con la franja de Brin. La estrategia utiliza una media móvil de 55 ciclos como el medio de la franja de Brin y se basa en un cálculo de la franja de Brin de 1.0 veces la diferencia estándar como la baja y alta de la franja de Brin.

Principio de estrategia

El funcionamiento de la estrategia incluye principalmente las siguientes partes clave:

  1. Cálculo de la banda de Bryn: se utiliza el promedio móvil simple de 55 periodos (SMA) como trayectoria media, con una diferencia estándar multiplicada por 1.0, para calcular la trayectoria ascendente y descendente.
  2. Logía de generación de señales:
    • Cuando el precio de cierre se desvía, se genera una señal múltiple.
    • Cuando el precio de cierre se rompe la vía descendente, se genera una señal de corto plazo
  3. Mecanismo de confirmación de señales: Utiliza la función barssince para calcular el número de ciclos desde la última ruptura, para determinar la dirección final de la operación mediante la comparación de la distancia de los ciclos de las señales en blanco.
  4. Parte de la visualización: muestra las señales de negociación en el gráfico mediante el marcado de triángulos, con diferentes colores para distinguir los espacios.

Ventajas estratégicas

  1. Claridad de la señal: genera una señal de transacción a través de una clara relación cruzada entre el precio y la banda de Brin, evitando la zona de oscuridad.
  2. Seguimiento de la tendencia: La estrategia es esencialmente de seguimiento de la tendencia, lo que permite obtener mejores ganancias en situaciones fuertes.
  3. Intuitividad visual: La identificación de las señales de negociación es muy intuitiva a través del relleno de color y el marcado de forma.
  4. Parámetros de flexibilidad: el ciclo de la banda de Bryn y el múltiplo de la diferencia estándar se pueden ajustar según las diferentes condiciones del mercado.
  5. Sistema completo: Contiene la generación completa de la señal, la visualización y la función de alarma.

Riesgo estratégico

  1. Riesgo de oscilación: Las falsas señales pueden ser frecuentes en los mercados de oscilación horizontal.
  2. Riesgo de retraso: debido a que se utiliza una media móvil de períodos más largos, la señal puede tener un cierto retraso.
  3. Riesgo de reversión: puede sufrir una mayor reversión en caso de una reversión repentina de la tendencia.
  4. Sensibilidad de los parámetros: La elección de los parámetros de la banda de Bryn tiene un gran impacto en el rendimiento de la estrategia.

Dirección de optimización de la estrategia

  1. Introducción de la confirmación del volumen de tránsito: se puede agregar un indicador de volumen de tránsito como condición auxiliar para la confirmación de la señal.
  2. Optimización de parámetros dinámicos: el múltiplo de la diferencia estándar de la banda de Bryn puede ajustarse a la dinámica de la volatilidad del mercado.
  3. Añade un filtro de tendencia: se puede agregar un indicador de tendencia de un período más largo para filtrar las señales falsas.
  4. Mecanismos de detención de pérdidas: Se recomienda la adición de detención móvil o fija para controlar el riesgo.
  5. Clasificación de estados de mercado: Se puede agregar un módulo de identificación de estados de mercado, utilizando diferentes configuraciones de parámetros en diferentes estados de mercado.

Resumir

Se trata de una estrategia de seguimiento de tendencias clásica basada en el Brin Belt, que capta las tendencias del mercado a través de la relación cruzada entre el precio y el Brin Belt. El diseño de la estrategia es conciso y claro, con buenos efectos visuales y un mecanismo de generación de señales. Aunque puede ser desafiante en un mercado convulso, se puede mejorar aún más la estabilidad y la fiabilidad de la estrategia mediante la optimización de los parámetros adecuados y el aumento de los indicadores auxiliares.

Código Fuente de la Estrategia
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Filter [Strategy]", overlay=true)

// -- INPUTS (kratke tooltipy, ziadne prelomenie riadku)
src    = input.source(close, title="Source", tooltip="Source for BB calc")
length = input.int(55, minval=1, title="SMA length", tooltip="Period for BB basis")
mult   = input.float(1.0, minval=0.1, maxval=5, title="Std Dev", tooltip="Std Dev multiplier")
CC     = input.bool(true, "Color Bars", tooltip="If true, color bars by BB logic")

// -- Bollinger calc
basis = ta.sma(src, length)
dev   = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// -- Long/Short logic
longCondition  = close > upper
shortCondition = close < lower

L1 = ta.barssince(longCondition)
S1 = ta.barssince(shortCondition)

longSignal  = L1 < S1 and not (L1 < S1)[1]
shortSignal = S1 < L1 and not (S1 < L1)[1]

// -- Plot signals
plotshape(shortSignal ? close : na, color=color.red, style=shape.triangledown, size=size.small, location=location.abovebar, title="Short Signal")
plotshape(longSignal  ? close : na, color=color.green, style=shape.triangleup,  size=size.small, location=location.belowbar, title="Long Signal")

// -- Plot BB lines
plot(upper, color=color.new(color.red,  40), title="Upper BB")
plot(lower, color=color.new(color.green,40), title="Lower BB")
plot(basis, color=color.new(color.blue, 10), title="Basis")

// -- Fill
fill(plot(na), plot(na)) // 'dummy' fill reset
fill(plot(upper, display=display.none), plot(basis, display=display.none), color=color.new(color.teal, 80))
fill(plot(lower, display=display.none), plot(basis, display=display.none), color=color.new(color.orange, 80))

// -- barcolor
bcol = close > upper ? color.lime : close < lower ? color.red : na
barcolor(CC ? bcol : na)

// -- Alerts
alertcondition(longSignal,  title="Long - BB",  message="BB Filter Long")
alertcondition(shortSignal, title="Short - BB", message="BB Filter Short")

// -- Strategy entries
if longSignal
    strategy.entry("Long", strategy.long)

if shortSignal
    strategy.entry("Short", strategy.short)