Estrategia de tendencia de impulso basada en las bandas MACD y Bollinger

El autor:¿ Qué pasa?, fecha: 2024-02-29 13:49:03
Las etiquetas:

img

Resumen general

La estrategia se llama Momentum Trend. Combina las ventajas del indicador MACD y las bandas de Bollinger para implementar una estrategia de seguimiento de tendencias. La estrategia utiliza la línea rápida y lenta de MACD para construir las bandas de Bollinger. La línea media de las bandas de Bollinger es la línea de señal MACD. Se corta cuando el precio rompe el carril superior de las bandas de Bollinger y se hace largo cuando el precio rompe el carril inferior de las bandas de Bollinger. Espera el retroceso para probar la línea media de las bandas de Bollinger antes de ingresar al mercado para rastrear las tendencias a medio y largo plazo.

Principio de la estrategia

Los indicadores principales de esta estrategia son el MACD y las bandas de Bollinger. El indicador MACD consiste en una línea rápida, una línea lenta e un histograma MACD. La línea rápida es generalmente una EMA de 12 días y la línea lenta es una EMA de 26 días. La diferencia entre ellos es el histograma MACD. Esta estrategia utiliza la diferencia entre la línea rápida y la línea lenta como la línea media base de las bandas de Bollinger.

Una señal de compra se genera cuando el precio rompe el carril inferior de las bandas de Bollinger hacia arriba. Una señal de venta se genera cuando el precio rompe el carril superior de las bandas de Bollinger hacia abajo. Para reducir el riesgo de quedar atrapado y perder oportunidades de inversión, esta estrategia no entra en el mercado inmediatamente después de la ruptura. En su lugar, espera el retroceso para probar la línea media de las bandas de Bollinger antes de entrar.

Además, los rieles superiores e inferiores también se pueden usar como resistencia y soporte respectivamente. Cuando el precio sube, el rieles superior es resistencia y el rieles inferior es soporte. Cuando el precio baja, el rieles superior se convierte en soporte y el rieles inferior en resistencia.

Análisis de ventajas

Esta estrategia combina las ventajas del MACD y de las bandas de Bollinger para lograr el seguimiento de tendencias, con las siguientes fortalezas:

  1. El MACD tiene una fuerte capacidad de juicio de tendencia. Las bandas de Bollinger pueden ajustarse de manera adaptativa. La combinación puede determinar efectivamente los puntos de inversión de tendencia.

  2. La entrada de retroceso puede evitar eficazmente el riesgo de pérdida de liquidación y realizar un seguimiento de las tendencias a medio y largo plazo.

  3. Utilizando resistencia y soporte en las bandas de Bollinger puede bloquear aún más las ganancias.

  4. Los parámetros del MACD y de las bandas de Bollinger pueden ajustarse de forma flexible para adaptarse a diferentes entornos de mercado.

Análisis de riesgos

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

  1. En las tendencias oscilantes, las bandas de MACD y Bollinger pueden generar múltiples señales inválidas.

  2. El valor de las pérdidas de suspensión debe fijarse durante la entrada de retroceso para evitar el aumento de las pérdidas por retroceso excesivo.

  3. Los parámetros de las bandas de Bollinger deben ajustarse en función de la volatilidad del mercado.

  4. Una buena gestión del riesgo y el tamaño de las posiciones son la clave para mantener los beneficios de esta estrategia.

Direcciones de optimización

La estrategia también puede optimizarse en los siguientes aspectos:

  1. Optimice los parámetros del MACD para una línea rápida de 8 días y una línea lenta de 20 días. Ajuste basado en diferentes productos y plazos para mejorar la sensibilidad del indicador.

  2. Agregue el juicio de tendencia ascendente y descendente para optimizar los parámetros de Bollinger Bands, reduciendo las señales falsas en los mercados oscilantes.

  3. Agregue una estrategia de stop loss. Establezca una línea de stop loss con las bandas de Bollinger en los rieles superior e inferior para controlar los riesgos.

  4. Incorporar otros indicadores de verificación para mejorar la estabilidad de la estrategia.

Conclusión

La estrategia de tendencia de momento basada en MACD y Bollinger Bands rastrea las tendencias a medio y largo plazo a través de un combo de indicadores y entra en retrocesos para reducir riesgos. Optimiza la configuración de parámetros y controla los riesgos. Tiene un buen rendimiento en productos de tendencia. Pero ninguna estrategia es perfecta. Necesitamos seguir optimizando y mejorando desde múltiples perspectivas para adaptarnos a los entornos de mercado en constante cambio.


/*backtest
start: 2023-02-22 00:00:00
end: 2024-02-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Simple strategy based on MACD and Bollinger Bands, where BBs are calculatend from macd signal.
strategy("Strategy MACD vs BB", overlay=false)

fast_length = input(title="Fast MA period", type=input.integer, defval=8)
slow_length = input(title="Slow MA period", type=input.integer, defval=21)
src = input(close,"Source")


// ----------MA calculation - ChartArt-------------
smoothinput = input(1, minval=1, maxval=4, title='Moving Average Calculation: (1 = SMA), (2 = EMA), (3 = WMA), (4 = Linear)')

fast_ma = smoothinput == 1 ? sma(src, fast_length):smoothinput == 2 ? ema(src, fast_length):smoothinput == 3 ? wma(src, fast_length):smoothinput == 4 ? linreg(src, fast_length,0):na
slow_ma = smoothinput == 1 ? sma(src, slow_length):smoothinput == 2 ? ema(src, slow_length):smoothinput == 3 ? wma(src, slow_length):smoothinput == 4 ? linreg(src, slow_length,0):na
//----------------------------------------------
macd = fast_ma - slow_ma
p1=plot(macd,"macd signal",color=color.blue)
length = input(40, minval=1)
mult = input(2.0,"BB multiplier")

basis = sma(macd, length)
dev = mult * stdev(macd, length)
plot(basis,"BB basis",color=color.orange)
upper = basis + dev
lower = basis - dev
p2=plot(upper,"BB upper",color=color.red)
p3=plot(lower,"BB basis",color=color.green)

longCondition = crossover(macd, lower)
shortCondition = crossunder(macd, upper)

plotshape(longCondition?lower:na, title="Long", style=shape.xcross, location=location.absolute, text="Long", color=color.green, transp=0, size=size.tiny)
plotshape(shortCondition?upper:na, title="Short", style=shape.xcross, location=location.absolute, text="Short", color=color.red, transp=0, size=size.tiny)
fill(p1,p3,color=macd<lower?color.green:na,transp=90,title="support")
fill(p1,p2,color=macd>upper?color.red:na,transp=90,title="resistance")

if longCondition
    strategy.entry("Long",strategy.long)
if shortCondition
    strategy.entry("Short",strategy.short)


Más.