Скачать MetaTrader 5

Несоответствие расчетных и графических данных индикатора ADX (MT4, build 221).

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114293
Forex Trader  

Добрый день!

Никак не могу обнаружить причину расхождения расчетных и графических данных индикатора ADX. Расчетные данные получены в МТ4 build 221 по формуле

TodayDIPlus=iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,0);
TodayDIMinus=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,0);
TodayADX=iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,0);

Print(" TodayDIPlus="+TodayDIPlus+" TodayDIMinus="+TodayDIMinus+" ADX="+TodayADX);


Соответствие ADX нашел на максимумах, примерно каждые 7 дней, причем D+ cходится с графиком первые три дня, D- остальные 3 дня.

В чем может быть проблема?



Forex Trader
114293
Forex Trader  

Вы сравниваете данные, полученные на зарождающемся баре, с данными, посчитанными когда бар уже полностью сформировался.

Добро пожаловать на www.mql4.com

Forex Trader
114293
Forex Trader  

To Slawa

Не подскажете как изменить индикатор ADX, чтобы он считал на сформировавшихся барах и результаты бы совпадали?

Спасибо!

Forex Trader
114293
Forex Trader  

Почитайте статью Strategy Tester: режимы моделирования при тестировании торговых стратегий и остальные из раздела Тестер

По ценам открытия

Некоторые трейдеры не желают зависеть от особенностей внутрибарного моделирования и пишут эксперты, которые торгуют на сформировавшихся барах. То, что текущий ценовой бар полностью сформировался, можно узнать по появлению следующего. Именно для таких экспертов предназначен режим моделирования "По ценам открытия".



В этом режиме сначала моделируется открытие бара (Open = High = Low = Close, Volume=1), что дает возможность эксперту точно идентифицировать окончание формирования предыдущего ценового бара. Именно на этом зарождающемся баре запускается тестирование эксперта. На следующем шаге выдается уже полностью сформированный текущий бар, но на нем тестирование не производится!

То есть. перепишите так:

TodayDIPlus=iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,1);

TodayDIMinus=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,1);

TodayADX=iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,1);

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий