La línea de impulso cruzada de la EMA Nueve acciones Estrategia MACD

El autor:¿ Qué pasa?, Fecha: 2024-02-27 16:49:10
Las etiquetas:

img

Resumen general

Esta estrategia utiliza ampliamente el indicador EMA, el indicador Bollinger Bands y el indicador MACD. Sobre la base de la cruz de oro y la cruz de la muerte de la EMA de 9 días y la EMA de 30 días, determina el momento de compra y venta en combinación con el rango de distribución de precios e indicadores de impulso.

Principio de la estrategia

  1. Calcular la EMA de 3 días, la EMA de 9 días y la EMA de 30 días.

  2. Calcular la desviación estándar dentro de los 20 días del precio y dibujar las bandas de Bollinger con 1 y 2 veces la desviación estándar.

  3. Calcule la línea de señal de 12 días, 26 días y 9 días.

  4. Cuando la EMA de 9 días supera la EMA de 30 días y el precio excede el límite superior de las bandas de Bollinger de 1x de desviación estándar, se emite una señal de compra.

  5. Cuando la EMA de 30 días cae por debajo de la EMA de 9 días y el precio es inferior al límite inferior de las bandas de Bollinger de 1x desviación estándar, se emite una señal de venta.

Análisis de ventajas

Al combinar indicadores de media móvil e indicadores de impulso, esta estrategia permite comprender mejor las tendencias y el calendario del mercado, con las siguientes ventajas:

  1. El indicador EMA puede responder rápidamente a los cambios de precios para determinar las tendencias del mercado; el indicador MACD juzga el impulso para evitar fallas falsas.

  2. La combinación de los indicadores de desviación estándar de Bollinger Bands y las EMA puede determinar con mayor precisión el momento de compra y venta.

  3. La combinación de múltiples indicadores puede complementarse entre sí. Diferentes indicadores pueden verificar el juicio en un solo avance.

Análisis de riesgos y optimización

Esta estrategia también tiene algunos riesgos. Preste atención a los siguientes puntos de optimización:

  1. La combinación de medias móviles de la EMA puede ajustarse y optimizarse.

  2. Los parámetros de las bandas de Bollinger se pueden optimizar cambiando la multiplicación de las desviaciones estándar para filtrar las señales falsas.

  3. Los parámetros y la combinación del indicador MACD se pueden optimizar para mejorar el efecto de juzgar el impulso.

Resumen de las actividades

Esta estrategia integra el indicador EMA para determinar la tendencia principal, complementado por el indicador Bollinger Bands que puede capturar con precisión los puntos de compra y venta cuando el impulso es relativamente grande; el indicador MACD complementa la confirmación de tendencia y puede filtrar eficazmente las señales falsas.


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

//@version=5
strategy("emabb_collab", shorttitle="emabb", overlay=true)

// Input parameters
ema3 = input(3, title="3 EMA")
ema9 = input(9, title="9 EMA")
ema30 = input(30, title="30 EMA")
macdShort = input(12, title="MACD Short")
macdLong = input(26, title="MACD Long")
macdSignal = input(9, title="MACD Signal")
length = input.int(20, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev1 = mult * ta.stdev(src, length)
upper1 = basis + dev1
lower1 = basis - dev1
dev2 = mult * 2 * ta.stdev(src, length)
upper2 = basis + dev2
lower2 = basis - dev2
plot(basis, "Basis", color=#FF6D00)
p1 = plot(upper1, "Upper1", color=#2962FF)
p2 = plot(lower1, "Lower1", color=#2962FF)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))
plot(basis, "Basis", color=#FF6D00)
p3 = plot(upper2, "Upper2", color=#00FF8C)
p4 = plot(lower2, "Lower2", color=#00FF8C)
fill(p3, p4, title = "Background", color=color.rgb(0, 153, 140, 95))

// Calculate EMAs
ema3Value = ta.ema(close, ema3)
ema9Value = ta.ema(close, ema9)
ema30Value = ta.ema(close, ema30)


// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, macdShort, macdLong, macdSignal)


// Conditions for buy signal
buyCondition = ta.crossover(ema9Value, ema30Value)  and ta.stdev(close, 20) > ta.stdev(close, 20)[1]

//Conditions for sell signal
sellCondition = ta.crossover(ema30Value, ema9Value)  and ta.stdev(close, 20) < ta.stdev(close, 20)[1]

// Plot signals on the chart

plotshape(buyCondition, title='Buy Label', style=shape.triangleup, location=location.belowbar, size=size.normal, text='Buy', textcolor=color.new(color.white, 0), color=color.new(color.green, 0))
plotshape(sellCondition, title='sell Label', style=shape.triangledown, location=location.abovebar, size=size.normal, text='sell', textcolor=color.new(color.white, 0), color=color.new(color.red, 0))

// Plot EMAs
plot(ema3Value, title="3 EMA", color=color.orange)
plot(ema9Value, title="9 EMA", color=color.purple)
plot(ema30Value, title="30 EMA", color=color.red)


if buyCondition
    strategy.entry('Long', strategy.long)
if sellCondition
    strategy.entry('Short', strategy.short)






Más.