Индикаторы: Мультивалютный индикатор "Индекс доллара" iUSDx

 

Мультивалютный индикатор "Индекс доллара" iUSDx:

Пример использвания Панели управления мультивалютным режимом "Control panel MCM" для построения мультивалютных индикаторов. В качестве примера выбран мультивалютный индикатор "Индекс доллара".

USDx - индекс, показывающий отношение доллара США к корзине из шести основных валют: Евро (EUR), Иена (JPY), Фунт стерлингов (GBP), Канадский доллар (CAD), Шведская крона (SEK) и Швейцарский франк (CHF). Рассчитывается с марта 1973 года. Март 1973 года был выбран в качестве базового периода, поскольку с этого времени крупнейшие торговые страны ввели плавающие курсы валют. Базовым значением индекса USDx был принят уровень 100,00. Этот индекс является основным индикатором фондового рынка США и дает общее представление о международной стоимости доллара США.

Индекс рассчитывается как среднее геометрическое взвешенное этих валют по формуле:

USDx = 50,14348112 * EURUSD^(-0,576) * USDJPY^0,136 * GBPUSD^(-0,119) * USDCAD^0,091 * USDSEK^0,042 * USDCHF^0,036

В формуле степенные коэффициенты соответствуют весам валют в корзине.


Особенности и достоинства данной реализации индикатора индекса USDx:

  • Использует сервис предоставляемый "Control panel MCM".
  • Работает в реальном мультивалютном режиме: получает все тики по каждому символу в реальном времени без задержек. По каждому символу может приходить по несколько тиков в секунду, все они будут обработаны.
  • Полная синхронизация между собой данных всех валютных пар. Если по какой-то валютной паре есть "дыра" в истории, то индекс не будет посчитан и на линии индикатора тоже будет "дыра":

Индикатор индекса USDx

Кстати, при появлении нового бара иногда линия индикатора отрисовывается не сразу, она появится когда будут данные по всем валютным парам.

  • Полный контроль синхронизации данных с сервером по каждой валютной паре в отдельности. Это достигается благодаря событию "Инициализация" панели управления "Control panel MCM". Это позволяет экономить на перерасчете индикатора после, например, докачки истории, пересчитывая данные только по той паре, по которой пришло событие "Инициализация".
  • Код индикатора проще, чем если бы его реализовывать через OnTick() или OnTimer(). И нет задержки получения данных по времени.
  • Можно "на лету" менять интенсивность получения котировок для перерасчета индекса. Например. Если вы расчитываете индекс на часовом графике и у вас нет необходимости следить за изменением индекса каждый тик, то при помощи "Control panel MCM" можно настроить события так, чтобы индекс пересчитывался, к примеру, раз в минуту или раз в пять минут или просто раз в час. Хотя я рекомендую оставить событие "новый тик" на каждом инструменте. Это связано с работой функций CopyXXXX, которые не всегда имеют возможность предоставить данные по символу и приходится их запрашивать еще раз. Лучше это сделать на следующем тике.

Автор: Константин

 

При компиляции iControl panel MCM.mq5 выдает:

'menu_control_panel' - struct or class type expected    iControl panel MCM.mq5    280    7
'CControlElement' - undeclared identifier    iControl panel MCM.mq5    291    7
'element' - undeclared identifier    iControl panel MCM.mq5    291    24
'*' - expression has no effect    iControl panel MCM.mq5    291    23


 
gisip:

При компиляции iControl panel MCM.mq5 выдает:

возможно, не все файлы скопированы в нужные папки (если Win7, то поместите их в ..\Roaming\..)

\MQL5\Indicators\iUSDx\iUSDx.mqh
\MQL5\Indicators\iUSDx\iUSDx.mq5

\MQL5\Include\Control panel MCM.mqh
\MQL5\Experts\exControl panel MCM.mq5
\MQL5\Indicators\iControl panel MCM.mq5
\MQL5\Indicators\Spy Control panel MCM.mq5
\MQL5\Scripts\sscControl panel MCM.mq5

 
- Если ДЦ не предоставляет это удобство (iUSDX и iEURX), то оно конечно индикатор необходим. Не знал, что такие ДЦ есть.)
 
brici:
- Если ДЦ не предоставляет это удобство (iUSDX и iEURX), то оно конечно индикатор необходим. Не знал, что такие ДЦ есть.)
Не подскажите в каком ДЦ есть такие индексы?
 
gisip:
Не подскажите в каком ДЦ есть такие индексы?

http://www.forextrade.ru/trader/metatrader5/

Причина обращения: