Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Пополняй свой счет через платежную систему Visa QIWI Wallet
Forex Trader
114257
Forex Trader 2009.03.16 08:30 

Добрый день!

Никак не могу обнаружить причину расхождения расчетных и графических данных индикатора 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
114257
Forex Trader 2009.03.16 19:02  

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

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

Forex Trader
114257
Forex Trader 2009.03.17 02:16  

To Slawa

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

Спасибо!

Forex Trader
114257
Forex Trader 2009.03.17 10:22  

Почитайте статью 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);

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