Estrategia de seguimiento de tendencias de múltiples escalas temporales basada en el impulso MACD y el cruce de medias móviles dobles

MACD SMMA SMA ZLEMA EMA MA
Fecha de creación: 2024-05-17 15:33:02 Última modificación: 2024-05-17 15:33:02
Copiar: 5 Número de Visitas: 1201
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias de múltiples escalas temporales basada en el impulso MACD y el cruce de medias móviles dobles

Descripción general

La estrategia utiliza varios indicadores de promedios móviles, incluidos SMMA, SMA, ZLEMA y EMA, y construye un indicador MACD mejorado basado en ellos (Impulse MACD) para generar señales de negociación a través del cruce de Impulse MACD con su línea de señal. La idea principal de la estrategia es usar promedios móviles en diferentes escalas de tiempo para capturar tendencias en el mercado, mientras se usa Impulse MACD para confirmar la fuerza y la dirección de las tendencias.

Principio de estrategia

  1. El SMMA, ZLEMA, con una longitud de cálculo de 34 de precios altos, bajos y cerrados, obtiene el MACD de Impulse ((MD) }}.
  2. Calcula el SMA de 9 ciclos del MACD de impulso como una línea de señal ((SB) }}.
  3. Calcula el diferencial entre el MACD de impulso y la línea de señal (SH), que refleja la intensidad de la tendencia.
  4. Cuando el impulso MACD cruza la línea de señal, se genera una señal de compra, y cuando cruza la línea de señal baja, se hace una posición de paridad.
  5. En función de la relación entre el precio y el MACD de impulso, el SMMA de precios altos y bajos, el gráfico de columnas de MACD de impulso se traza en diferentes colores para reflejar intuitivamente la fuerza y la debilidad de la tendencia.

Ventajas estratégicas

  1. El uso de varios tipos de medias móviles permite una reflexión más completa de las tendencias del mercado.
  2. El indicador MACD Impulse, mejorado, toma en cuenta la posición relativa de los precios con respecto a las medias móviles y puede reflejar mejor la fuerza de la tendencia.
  3. La introducción de la línea de señal ayuda a filtrar algunas señales falsas y mejorar la calidad de la señal.
  4. El MACD de impulso se dibuja en diferentes colores según la intensidad de la tendencia, lo que ayuda a intuir el movimiento del mercado.

Riesgo estratégico

  1. La mala selección de los parámetros puede causar señales frecuentes o retrasadas, que necesitan ser optimizadas según los diferentes mercados y ciclos.
  2. En caso de crisis, esta estrategia podría generar más señales falsas y causar pérdidas.
  3. La estrategia carece de un mecanismo de suspensión de pérdidas, lo que podría provocar una mayor retirada en caso de una situación de alta tensión.

Dirección de optimización de la estrategia

  1. La introducción de indicadores de tendencia, como el ADX, para operar solo cuando la tendencia es clara, reduce las pérdidas en situaciones de crisis.
  2. Para las señales de negociación generadas, se puede combinar con otros indicadores como RSI, ATR, etc. para una segunda confirmación y mejorar la calidad de la señal.
  3. Establezca un stop loss y un stop loss razonables para controlar el riesgo de una sola transacción.
  4. Optimización de los parámetros, como el uso de algoritmos genéticos para encontrar la combinación óptima de parámetros.

Resumir

La estrategia se basa en varios tipos de promedios móviles, construye un indicador MACD mejorado y genera una señal de negociación mediante su cruce con la línea de señal, al mismo tiempo que muestra visualmente la fuerza de la tendencia, la claridad de la idea general y la ventaja evidente. Sin embargo, la estrategia también tiene ciertas limitaciones, como la falta de adaptabilidad a las situaciones de crisis, la falta de medidas de control de riesgos, etc. La estrategia puede mejorarse aún más teniendo en cuenta el juicio de tendencias, la confirmación de señales, el control de riesgos y la optimización de parámetros para mejorar la estabilidad y la rentabilidad de la estrategia.

Código Fuente de la Estrategia
/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Impulse MACD Strategy [LazyBear]", shorttitle="IMACD_Strategy", overlay=false)

// Function to calculate SMMA
calc_smma(src, len) =>
    var float smma = na
    smma := na(smma[1]) ? ta.sma(src, len) : (smma[1] * (len - 1) + src) / len
    smma

// Function to calculate SMA
	ta.sma(src, len)
    sum = 0.0
    for i = 0 to len - 1
        sum := sum + src[i]
    sum / len

// Function to calculate ZLEMA
calc_zlema(src, length) =>
    var float ema1 = na
    var float ema2 = na
    var float d = na
    ema1 := ta.ema(src, length)
    ema2 := ta.ema(ema1, length)
    d := ema1 - ema2
    ema1 + d

// Function to calculate EMA
calc_ema(src, len) =>
    ema = 0.0
    ema := ta.ema(src, len)
    ema

// Inputs
lengthMA = input(34, title="Length of Moving Average")
lengthSignal = input(9, title="Length of Signal Line")

// Calculations
src = hlc3
hi = calc_smma(high, lengthMA)
lo = calc_smma(low, lengthMA)
mi = calc_zlema(src, lengthMA) 

md = mi > hi ? (mi - hi) : mi < lo ? (mi - lo) : 0
sb = ta.sma(md, lengthSignal)
sh = md - sb
mdc = src > mi ? src > hi ? color.lime : color.green : src < lo ? color.red : color.orange

// Plotting
plot(0, color=color.gray, linewidth=1, title="MidLine")
plot(md, color=mdc, linewidth=2, title="ImpulseMACD", style=plot.style_histogram)
plot(sh, color=color.blue, linewidth=2, title="ImpulseHisto", style=plot.style_histogram)
plot(sb, color=color.maroon, linewidth=2, title="ImpulseMACDCDSignal")

// Execute trades based on signals
if (ta.crossover(md, sb))
    strategy.entry("Buy", strategy.long)
if (ta.crossunder(md, sb))
    strategy.close("Buy")