Estrategias de trading basadas en los indicadores EMA y MAMA


Fecha de creación: 2023-10-31 14:20:56 Última modificación: 2023-10-31 14:20:56
Copiar: 0 Número de Visitas: 817
1
Seguir
1617
Seguidores

Estrategias de trading basadas en los indicadores EMA y MAMA

Descripción general

La estrategia se basa en dos indicadores, EMA (medios móviles de índice) y MAMA (medios móviles adaptativos de MESA), para juzgar las tendencias de los mercados y generar señales de negociación en función de su intersección. La EMA se utiliza a menudo para determinar la dirección de las tendencias del mercado, mientras que la MAMA puede capturar con mayor precisión los puntos de inflexión del mercado, que en combinación pueden mejorar el rendimiento de la estrategia.

Principio de estrategia

  1. Calcular los EMA rápidos y los EMA lentos, que reflejan las tendencias del mercado a corto y largo plazo, respectivamente
  2. Calcular las líneas MAMA y FAMA, que son respectivamente las medias móviles adaptadas
  3. Cuando un EMA rápido atraviesa un EMA lento, genera una señal de compra
  4. Cuando un EMA rápido atraviesa un EMA lento, genera una señal de venta
  5. Cuando el MAMA se pone en el FAMA, genera una señal de compra
  6. Cuando MAMA pasa por FAMA, genera una señal de venta
  7. El cruce de MAMA y FAMA se puede utilizar para verificar la señal de cruce de EMA o para capturar un cambio de tendencia anticipado

En concreto, la estrategia calcula primero el EMA rápido (fl) y el EMA lento (sl), que reflejan las tendencias a corto y largo plazo respectivamente.

Luego se calculan MAMA y FAMA según la fórmula de John Ehlers:

  1. Calcula la Transformación de Hilbert del precio y extrae la información de la fase de la señal
  2. Se calcula el ciclo instantáneo p de la señal en función de la información de fase
  3. Peso α calculado por el valor de p
  4. MAMA y FAMA calculados por peso α

Por último, la estrategia genera una señal de negociación basada en la intersección de EMA y MAMA/FAMA:

  • EMA hace más con el tenedor
  • La EMA está libre en el momento de la caída
  • MAMA hace más que FAMA
  • MAMA bajo FAMA en el vacío

Análisis de las ventajas

La estrategia combina las ventajas de los indicadores EMA y MAMA para mejorar la precisión de las señales de negociación.

Las ventajas de la EMA:

  • El objetivo es que los datos de precios sean más transparentes y menos ruidosos.
  • Puede seguir las tendencias del mercado y tiene un poco de atraso
  • Los parámetros son flexibles y se pueden ajustar en la sensibilidad a las tendencias a corto y largo plazo

Las ventajas de MAMA:

  • Parámetros de adaptación, sin necesidad de un ciclo de asignación artificial
  • Responda rápidamente y capte el cambio de tendencia con anticipación
  • Identificar con precisión las áreas de soporte y resistencia

Las ventajas de usar ambas cosas:

  • La EMA considera las principales tendencias
  • MAMA verifica las señales y captura el giro con anticipación
  • Mejora de la precisión y la tasa de éxito de las señales

Análisis de riesgos

El principal riesgo de esta estrategia es:

  • La EMA y el MAMA son indicadores de confirmación tardía, con el punto de entrada un poco atrasado, lo que puede conllevar un riesgo de deslizamiento
  • En situaciones de gran movimiento, EMA y MAMA se cruzan con frecuencia, lo que produce casquetes múltiples y casquetes vacíos
  • Los parámetros EMA y MAMA están mal configurados, lo que puede hacer que se pierda la tendencia o que se produzca una señal falsa

Respuesta:

  • El uso de stop loss para controlar las pérdidas
  • Elegir los parámetros de manera razonable y evitar ser demasiado sensible
  • Se usa en combinación con otros indicadores para confirmar la señal

Dirección de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  • Optimización de los parámetros del ciclo EMA para adaptarlos mejor a las características de las diferentes variedades
  • Ajuste la sensibilidad del parámetro MAMA α para optimizar la velocidad de captura de giro
  • Añadir filtros de otros indicadores, como MACD, RSI, etc., para evitar falsas señales
  • Aumentar las estrategias de stop loss para controlar el riesgo
  • Optimización de la respuesta para seleccionar la mejor combinación de parámetros
  • Aumentar las paradas automáticas para maximizar los beneficios

Resumir

La estrategia integra las ventajas de los dos indicadores EMA y MAMA, y es capaz de capturar los giros de tendencia de forma dinámica y oportuna. Es una estrategia de tipo de tendencia de seguimiento fiable. A través de la optimización de los parámetros y el control del riesgo, se puede mejorar la ganancia y la rentabilidad de la estrategia.

Código Fuente de la Estrategia
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("EMAMA strategy", overlay=true)
//This entire strategy is courtesy of LazyBear for programming the original EMAMA system, I simply added a strategy element to everything to round things out. 

src=input(hl2, title="Source")
fl=input(.5, title="Fast Limit")
sl=input(.05, title="Slow Limit")
sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0
dt = (.0962*sp + .5769*nz(sp[2]) - .5769*nz(sp[4])- .0962*nz(sp[6]))*(.075*nz(p[1]) + .54)
q1 = (.0962*dt + .5769*nz(dt[2]) - .5769*nz(dt[4])- .0962*nz(dt[6]))*(.075*nz(p[1]) + .54)
i1 = nz(dt[3])
jI = (.0962*i1 + .5769*nz(i1[2]) - .5769*nz(i1[4])- .0962*nz(i1[6]))*(.075*nz(p[1]) + .54)
jq = (.0962*q1 + .5769*nz(q1[2]) - .5769*nz(q1[4])- .0962*nz(q1[6]))*(.075*nz(p[1]) + .54)
i2_ = i1 - jq
q2_ = q1 + jI
i2 = .2*i2_ + .8*nz(i2[1])
q2 = .2*q2_ + .8*nz(q2[1])
re_ = i2*nz(i2[1]) + q2*nz(q2[1])
im_ = i2*nz(q2[1]) - q2*nz(i2[1])
re = .2*re_ + .8*nz(re[1])
im = .2*im_ + .8*nz(im[1])
p1 = iff(im!=0 and re!=0, 360/atan(im/re), nz(p[1]))
p2 = iff(p1 > 1.5*nz(p1[1]), 1.5*nz(p1[1]), iff(p1 < 0.67*nz(p1[1]), 0.67*nz(p1[1]), p1))
p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2))
p = .2*p3 + .8*nz(p3[1])
spp = .33*p + .67*nz(spp[1])
phase = atan(q1 / i1)
dphase_ = nz(phase[1]) - phase
dphase = iff(dphase_< 1, 1, dphase_)
alpha_ = fl / dphase
alpha = iff(alpha_ < sl, sl, iff(alpha_ > fl, fl, alpha_))
mama = alpha*src + (1 - alpha)*nz(mama[1])
fama = .5*alpha*mama + (1 - .5*alpha)*nz(fama[1])
pa=input(false, title="Mark crossover points")

plotarrow(pa?(cross(mama, fama)?mama<fama?-1:1:na):na, title="Crossover Markers")

fr=input(false, title="Fill MAMA/FAMA Region")

duml=plot(fr?(mama>fama?mama:fama):na, style=circles, color=gray, linewidth=0, title="DummyL")

mamal=plot(mama, title="MAMA", color=red, linewidth=2)

famal=plot(fama, title="FAMA", color=green, linewidth=2)

fill(duml, mamal, red, transp=70, title="NegativeFill")

fill(duml, famal, green, transp=70, title="PositiveFill")

ebc=input(false, title="Enable Bar colors")

bc=mama>fama?lime:red

barcolor(ebc?bc:na)

longCondition = crossover(mama, fama)
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(mama, fama)
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)