Estrategia de seguimiento de tendencias con tres EMA combinadas con DMI y MACD


Fecha de creación: 2024-01-25 15:48:59 Última modificación: 2024-01-25 15:48:59
Copiar: 0 Número de Visitas: 1177
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias con tres EMA combinadas con DMI y MACD

Descripción general

Se trata de una estrategia de seguimiento de tendencias que combina el uso de 3 indicadores: el promedio móvil (EMA), el indicador de tendencia (DMI) y el indicador de concentración de promedio móvil (MACD) para determinar la dirección de la tendencia y generar señales de compra y venta. Los componentes clave incluyen la señal de cruce de oro de la EMA, el DMI para determinar la fuerza de la tendencia y la confirmación de la dinámica del MACD.

Lógica de estrategia

La lógica central se basa en tres EMA calculados en el ciclo M5 - 34, 89 y 200 - para identificar la tendencia general. Los EMA de ciclo 34 proporcionan la dirección a corto plazo, mientras que los EMA de ciclo 89 y 200 definen la tendencia a medio y largo plazo.

Cuando se compra el disparo de la señal:

  • El precio de cierre se ha mantenido en 34 EMA.
  • +DI (movimiento de tendencia de los bulls) > 17
  • ADX (intensidad de la tendencia) > -DI

Cuando se genera la señal de venta:

  • El precio de la bolsa ha bajado a 34 EMA.
  • -DI (movimiento hacia abajo) > 17
  • ADX > +DI

Los indicadores MACD también proporcionan una confirmación adicional antes de la admisión.

Las ventajas

La estrategia tiene varias ventajas clave:

  1. Cruce de oro por EMA a corto plazo y captura temprana de la tendencia
  2. Usar múltiples EMAs para determinar la fuerza de la tendencia en diferentes marcos de tiempo
  3. Los filtros DMI ayudan a evitar señales falsas al examinar el movimiento de tendencias fuertes
  4. El MACD ofrece confirmación de dinámica para mejorar la calidad y la probabilidad de oportunidades de negociación
  5. La combinación de indicadores mejora la precisión y la puntualidad de las señales de entrada

El riesgo

Los principales riesgos:

  1. Los cruces de oro que dependen exclusivamente de EMA son susceptibles de ser engañados y mal ubicados
  2. La confirmación múltiple puede causar un retraso en la generación de la señal
  3. Susceptibles al cambio brusco de tendencias

La respuesta es simple:

  • La adopción de una gestión adecuada de los pérdidas y posiciones
  • Optimización de los parámetros de EMA en función de las condiciones actuales del mercado
  • Observa el movimiento de la entidad de precios para la confirmación visual

Dirección de optimización

Más mejoras en la estrategia:

  1. Aumento de indicadores como el RSI para determinar zonas de sobrecompra y sobreventa
  2. El análisis de tráfico combinado genera una señal más fuerte
  3. Optimización de indicadores y parámetros según los diferentes activos y marcos de tiempo
  4. Aprender de nuevos datos de mercado con tecnología de aprendizaje automático

Resumir

En general, se trata de un sistema de seguimiento de tendencias de gran alcance, que combina el uso de una serie de indicadores simples pero prácticos para determinar tendencias en múltiples marcos de tiempo, DMI y MACD para examinar oportunidades de entrada y probabilidades de ganancias. Junto con la optimización adecuada y la gestión de riesgos, puede convertirse en una herramienta eficaz para los operadores de tendencias.

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

//@version=5
strategy("2 EMA di+ Buy Sell, strategy ", overlay=true)

// Define the EMA calculation function
ema(src, length) =>
    ta.ema(src, length)

// Calculate and plot EMA on M5
ema34_M5 = ema(close, 34)
ema89_M5 = ema(close, 89)
ema200_M5 = ema(close, 200)

// Plot EMAs
plot(ema34_M5, color=color.green, title="EMA 34 M5", linewidth=2)
plot(ema89_M5, color=color.blue, title="EMA 89 M5", linewidth=2)
plot(ema200_M5, color=color.black, title="EMA 200 M5", linewidth=2)

// Define DMI parameters
len = input(14, title="DI Length")
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = ta.rma(ta.tr, len)
plusDI = 100 * ta.rma(plusDM, len) / trur
minusDI = 100 * ta.rma(minusDM, len) / trur

// Calculate ADX
adxValue = 100 * ta.rma(math.abs(plusDI - minusDI) / (plusDI + minusDI == 0 ? 1 : plusDI + minusDI), len)

// Define MACD parameters
fastLength = input(12, title="Fast Length")
slowLength = input(26, title="Slow Length")
signalLength = input(9, title="Signal Length")

// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)

// Create buy/sell conditions
buyCondition = close > ema34_M5 and plusDI > 17 and adxValue > minusDI 
sellCondition = close < ema34_M5 and minusDI > 17 and adxValue > plusDI 

// Strategy logic
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)

// Create alerts for buy/sell signals
alertcondition(buyCondition, title="Buy Signal", message="Buy Signal")
alertcondition(sellCondition, title="Sell Signal", message="Sell Signal")

// Plot buy/sell arrows on the price chart
bgcolor(buyCondition ? color.new(color.green, 90) : sellCondition ? color.new(color.red, 90) : na)

plotarrow(buyCondition ? 1 : sellCondition ? -1 : na, colorup=color.new(color.green, 0), colordown=color.new(color.red, 0), offset=-1)