Indicadores: McGinley Dynamic Indicator

 

McGinley Dynamic Indicator:

McGinley Dynamic Indicator fue diseñado por John McGinley y descrito en la revista "Journal Of Technical Analysis" de la Asociación de los analíticos del mercado en 1991. El objetivo de este indicador consiste en eliminar los defectos encontrados en las medias móviles: por ejemplo, las brechas (gaps) y la «sierra». El resultado es el indicador que sigue el precio medio del instrumento y se adapta a la velocidad actual del mercado.


Autor: Samuel Williams

 

Hola Samuel,
He estado probando con su indicador y parece que la configuración del período está trabajando al revés.
He estado usando un indicador .mq4 McGinley y la configuración del período se comporta igual que para un MA, cuanto mayor sea el número más plana se vuelve la curva.
La forma en que esto está funcionando la regla del 60% no se puede aplicar.
MT5 Build 1795

McGinley = 54 / MA = 90

 

Hay una diferencia con la fórmula original.

Usted:

MDBuffer[i]=MDBuffer[i-1]+(close[i]-MDBuffer[i-1])/(MD_smooth*(close[i]/MDBuffer[i-1]));

McGinley:

MDBuffer[i]=MDBuffer[i-1]+(close[i]-MDBuffer[i-1])/(0.6* MD_smooth*MathPow( close[i]/MDBuffer[i-1],4));
 
lippmaje:

Hay una diferencia con la fórmula original.

Tú:

McGinley:


¿Deberíamos cambiar el código a lo que mostraste como "McGinley"?

 
ali saqi:

¿Deberíamos cambiar el código a lo que has mostrado como "McGinley"?

No estoy seguro. Sólo lo señalé para que el autor pudiera comentarlo. Cualquiera que sea el significado de esta fórmula difiere de la original, véase Investopedia.
 
lippmaje:

Hay una diferencia con la fórmula original.

Tú:

McGinley:

Creo que veo el error, o descuido, parece que la fórmula fue tomada de:
https://www.investopedia.com/terms/m/mcginley-dynamic.asp

Esta tiene un error faltando la constante 0.6, y al autor del indicador se le ha pasado la potencia 4.


La fórmula correcta como lippmaje citado está en:

https://www.investopedia.com/articles/forex/09/mcginley-dynamic-indicator.asp

Así que si desea que el indicador McGinley dinámico como McGinley intención de corregirlo como se aconseja

McGinley Dynamic Indicator Definition
McGinley Dynamic Indicator Definition
  • www.investopedia.com
The McGinley Dynamic indicator is a type of moving average that was designed to track the market better than existing moving average indicators. It is a technical indicator that improves upon moving average lines by adjusting for shifts in market speed. John R. McGinley, a market technician, is the inventor of the eponymous indicator. Key...
 
if(useImprovedFormula)
          {
           mcg[i]   = ma[i+1]+(price-ma[i+1])/MathMin(McgPeriod,MathMax(1,(McgConstant*McgPeriod*MathPow(price/ma[i+1],4)))); //Mejorado
          }
          else
          {
            mcg[i]   = ma[i+1]+(price-ma[i+1])/(McgConstant*McgPeriod*MathPow(price/ma[i+1],4)); //Original
          }
Aquí está el ejemplo de código mql4 para la antigua fórmula original de McGiley y la versión mejorada de la misma fórmula.