Индикаторы: McGinley Dynamic Indicator

 

McGinley Dynamic Indicator:

McGinley Dynamic Indicator был разработан Джоном МакГинли и описан в журнале "Journal Of Technical Analysis" Ассоциации аналитиков рынка в 1991 году. Цель этого индикатора — устранить недостатки, найденные у обычных скользящих средних: например, гэпы и "пилу". Результат — индикатор, который следует за средней ценой инструмента и адаптируется к текущей скорости рынка.


Автор: Samuel Williams

 

Привет, Сэмюэль,
Я тестировал ваш индикатор, и оказалось, что настройка периода работает в обратную сторону.
Я использовал индикатор МакГинли в формате .mq4, и настройка периода ведет себя так же, как и для MA, чем больше число, тем более плоской становится кривая.
При таком подходе правило 60% не может быть применено.
MT5 Build 1795

Макгинли = 54 / MA = 90

 

Есть отличие от оригинальной формулы.

Вы:

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

Макгинли:

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

Есть отличие от оригинальной формулы.

Вы:

Макгинли:


следует ли нам изменить код на тот, который вы показали как "McGinley"?

 
ali saqi:

Нужно ли изменить код на тот, который вы указали как "McGinley"?

Не уверен. Я просто указал на это, чтобы автор мог прокомментировать. Что бы ни означала эта формула, она отличается от оригинальной, см. Investopedia.
 
lippmaje:

Есть отличие от оригинальной формулы.

Вы:

Макгинли:

Кажется, я вижу ошибку или недосмотр, похоже, что формула была взята из:
https://www.investopedia.com/terms/m/mcginley-dynamic.asp.

В ней есть ошибка, в которой отсутствует константа 0.6, а автор индикатора пропустил мощность 4.


Правильная формула, которую процитировал lippmaje, находится в:

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

Поэтому, если вы хотите получить индикатор McGinley Dynamic в том виде, в котором он был задуман МакГинли, я бы исправил его так, как советует

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)))); //Improved
          }
          else
          {
            mcg[i]   = ma[i+1]+(price-ma[i+1])/(McgConstant*McgPeriod*MathPow(price/ma[i+1],4)); //Original
          }
Вот пример кода mql4 для оригинальной старой формулы Макгили и улучшенной версии той же формулы.