Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Индикаторы

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

Просмотров:
9161
Рейтинг:
(31)
Опубликован:
2010.12.24 10:45
Обновлен:
2016.11.22 07:33
iusdx.zip (4.12 KB)
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

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, которые не всегда имеют возможность предоставить данные по символу и приходится их запрашивать еще раз. Лучше это сделать на следующем тике. ИМХО, конечно.

Особенности установки:

  • Загрузите на свой компьютер Панель управления мультивалютным режимом "Control panel MCM" и скомпилируйте файлы "iControl panel MCM.mq5" и "Spy Control panel MCM.mq5".
  • В окне "Обзор рынка" нужно выставить символы в следующем порядке: 1. EURUSD, 2. USDJPY, 3. GBPUSD, 4. USDCAD, 5. USDSEK, 6 USDCHF. Это условие вызвано лишь тем, что я не вставил в индикатор соответствующую проверку и эта последовательность нужна для правильного расчета индикатора.
  • Распакуйте архив iUSDx.zip в каталог /MQL5. Из папки /MQL5/Indicators/iUSDx/ запустите файл iUSDx.ex5, например, на графике EURUSD с периодом М1. Должны получить картинку, которая подобна картинке выше.
  • Последовтельно по всем шести символам в меню "Событие" панели "Control panel MCM" установите событие "Новый тик" как описано здесь.
  • Дополнительно по символу EURUSD установите событие "новый бар" на минутном графике. В индикаторе это событие используется для синхронизации при появлении нового бара на текущем таймфрейме, который у нас равен М1.

Дальше можно наслаждаться.... как минимум, я так задумывал. Писалось "на скору руку", так что если обнаружите баги, пишите в личку.

History of trade History of trade

Перенос истории сделок на график.

Graphic Panel Contest Graphic Panel Contest

Панель управления для конкурса "Лучшая панель управления на MQL5".

OptimReport v2.15 OptimReport v2.15

Функция подбора критерия для переменной "Custom мax" для функции OnTester(), с просмотром таблицы результатов оптимизации со всеми показателями через HTML файл

Grr-al Grr-al

Тестерный грааль для режимов "по ценам открытия" и "OHLC на M1".