Estrategia de cruce de media móvil exponencial doble y triple

El autor:¿ Qué pasa?, fecha: 2024-01-03 16:47:08
Las etiquetas:

img

I. Resumen de la estrategia

Esta estrategia se llama Estrategia de cruce de promedio móvil exponencial doble y triple. Combina las señales de cruce de promedio móvil exponencial doble (DEMA) y promedio móvil exponencial triple (TEMA) para determinar entradas y salidas.

II. Lógica de la estrategia

Esta estrategia utiliza principalmente el cruce de la media móvil exponencial doble (DEMA) y la media móvil exponencial triple (TEMA) para generar señales comerciales.

La fórmula para DEMA es:

DEMA = 2 * EMA1 - EMA2

Donde EMA1 y EMA2 son promedios móviles exponenciales con período N. DEMA combina la suavidad de EMA y la capacidad de respuesta.

La fórmula para TEMA es:

El valor de las emisiones de CO2 de las emisiones de gases de efecto invernadero se calculará en función de las emisiones de gases de efecto invernadero de las emisiones de gases de efecto invernadero.

Donde EMA1, EMA2 y EMA3 son promedios móviles exponenciales con período N. TEMA filtra las rupturas falsas mediante triple suavizado.

Cuando DEMA cruza por encima de TEMA, se genera una señal de compra. Cuando DEMA cruza por debajo de TEMA, se genera una señal de venta. De acuerdo con el principio de cruce, puede capturar la conversión del ciclo a tiempo.

III. Ventajas

  1. Tanto DEMA como TEMA optimizan la EMA, mejorando la precisión de las operaciones.
  2. DEMA suaviza el cambio de precio, TEMA filtra las falsificaciones, formando sinergias y mejorando la tasa de ganancia.
  3. Combinando DEMA rápido y TEMA lento, las señales cruzadas son más confiables.
  4. Captura de la conversión del ciclo de forma oportuna basada en el principio de cruce.

IV. Riesgos y soluciones

  1. El cruce frecuente bajo volatilidad causa señales falsas.
  2. La configuración inadecuada de parámetros afecta la calidad de la señal.
  3. Falta de validación fundamental: pueden ayudar otros indicadores o modelos.

V. Optimización

  1. Prueba y optimiza los parámetros de DEMA y TEMA para encontrar la mejor combinación.
  2. Añadir otros indicadores técnicos para el filtrado, por ejemplo, KDJ para la tendencia.
  3. Añadir predicción de aprendizaje automático para validar señales y reducir señales falsas.
  4. Verifique el volumen de operaciones o el sentimiento para juzgar el cruce verdadero o falso.

VI. Resumen

Esta estrategia genera señales comerciales de DEMA y TEMA cruzado, combinando la capacidad de respuesta de DEMA y la capacidad de filtrado de TEMA para mejorar la precisión.


/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("DEMA-TEMA Cross Strategy", shorttitle="DEMA-TEMA Cross", overlay=true)

// Input options for Double EMA (DEMA)
dema_length = input.int(10, title="DEMA Length", minval=1)
dema_src = input(close, title="DEMA Source")

// Calculate Double EMA (DEMA)
dema_e1 = ta.ema(dema_src, dema_length)
dema_e2 = ta.ema(dema_e1, dema_length)
dema = 2 * dema_e1 - dema_e2

// Input options for Triple EMA (TEMA)
tema_length = input.int(8, title="TEMA Length", minval=1)
tema_src = input(close, title="TEMA Source")

// Calculate Triple EMA (TEMA)
tema_ema1 = ta.ema(tema_src, tema_length)
tema_ema2 = ta.ema(tema_ema1, tema_length)
tema_ema3 = ta.ema(tema_ema2, tema_length)
tema = 3 * (tema_ema1 - tema_ema2) + tema_ema3

// Crossover signals for long (small green arrow below candle)
crossover_long = ta.crossover(dema, tema)

// Crossunder signals for short (small red arrow above candle)
crossunder_short = ta.crossunder(dema, tema)

plotshape(crossunder_short ? 1 : na, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
plotshape(crossover_long ? -1 : na, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)

plot(dema, "DEMA", color=color.green)
plot(tema, "TEMA", color=color.blue)

if (crossover_long)
    strategy.entry("Long", strategy.long)

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


Más.