Структуры экономического календаря

В этом разделе описываются структуры для работы с Экономическим календарем, который доступен прямо в платформе MetaTrader. Экономический календарь является готовой энциклопедией с описанием макроэкономических индикаторов, даты их выхода и степени важности. Актуальные значения макроэкономических показателей поступают в платформу MetaTrader моментально прямо в момент публикации и отображаются на графике в виде меток – это позволяет визаульно отслеживать нужные показатели в разрезе стран, валют и важности.

Функции Экономического календаря позволяют проводить автоматический анализ поступающих событий по собственным критериям важности и в разрезе нужных стран/валютных пар.

Описания стран задаются структурой MqlCalendarCountry. Используется в функциях CalendarCountryById() и CalendarCountries()

struct MqlCalendarCountry
  {
   ulong                               id;                    // идентификатор страны по стандарту ISO 3166-1
   string                              name;                  // текстовое имя страны (в текущей кодировке терминала)
   string                              code;                  // кодовое имя страны ISO 3166-1 alpha-2
   string                              currency;              // код валюты страны
   string                              currency_symbol;       // символ/знак валюты страны
   string                              url_name;              // имя страны, используемое в URL на сайте mql5.com
  };

 

Описания событий задаются структурой MqlCalendarEvent. Используется в функциях CalendarEventById(), CalendarEventByCountry() и CalendarEventByCurrency()

struct MqlCalendarEvent
  {
   ulong                               id;                    // идентификатор события
   ENUM_CALENDAR_EVENT_TYPE            type;                  // тип события из перечисления ENUM_CALENDAR_EVENT_TYPE
   ENUM_CALENDAR_EVENT_SECTOR          sector;                // сектор, к которому относится событие
   ENUM_CALENDAR_EVENT_FREQUENCY       frequency;             // частота (периодичность) события
   ENUM_CALENDAR_EVENT_TIMEMODE        time_mode;             // режим времени события
   ulong                               country_id;            // идентификатор страны
   ENUM_CALENDAR_EVENT_UNIT            unit;                  // единица измерения значения экономического индикатора
   ENUM_CALENDAR_EVENT_IMPORTANCE      importance;            // важность события
   ENUM_CALENDAR_EVENT_MULTIPLIER      multiplier;            // множитель значения экономического индикатора
   uint                                digits;                // количество знаков после запятой
   string                              source_url;            // URL источника, где публикуется событие
   string                              event_code;            // код события
   string                              name;                  // текстовое имя события на языке терминала (в текущей кодировке терминала)
  };

 

Значения событий задаются структурой MqlCalendarValue. Используется в функциях CalendarValueById(), CalendarValueHistoryByEvent(), CalendarValueHistory(), CalendarValueLastByEvent() и CalendarValueLast()

struct MqlCalendarValue
  {
   ulong                               id;                    // ID значения
   ulong                               event_id;              // ID события
   datetime                            time;                  // время и дата события
   datetime                            period;                // отчетный период события
   int                                 revision;              // ревизия публикуемого индикатора по отношению к отчетному периоду
   long                                actual_value;          // актуальное значение показателя
   long                                prev_value;            // предыдущее значение показателя
   long                                revised_prev_value;    // пересмотренное предыдущее значение показателя
   long                                forecast_value;        // прогнозное значение показателя
   ENUM_CALENDAR_EVENT_IMPACT          impact_type;           // потенциальное влияние на курс валюты
  };

 

Частота (периодичность) события указывается в структуре MqlCalendarEvent. Возможные значения указаны в перечислении ENUM_CALENDAR_EVENT_FREQUENCY

Идентификатор

Описание

CALENDAR_FREQUENCY_NONE

Частота публикации не задана

CALENDAR_FREQUENCY_WEEK

Публикация один раз в неделю

CALENDAR_FREQUENCY_MONTH

Публикация один раз в месяц

CALENDAR_FREQUENCY_QUARTER

Публикация один раз в квартал

CALENDAR_FREQUENCY_YEAR

Публикация один раз в год

CALENDAR_FREQUENCY_DAY

Публикация один раз в день

 

Тип события указывается в структуре MqlCalendarEvent. Возможные значения указаны в перечислении ENUM_CALENDAR_EVENT_TYPE

Идентификатор

Описание

CALENDAR_TYPE_EVENT

Событие (митинг, речь и так далее)

CALENDAR_TYPE_INDICATOR

Индикатор

CALENDAR_TYPE_HOLIDAY

Праздник

 

Сектор экономики, к которому относится событие, указывается в структуре MqlCalendarEvent. Возможные значения указаны в перечислении ENUM_CALENDAR_EVENT_SECTOR

Идентификатор

Описание

CALENDAR_SECTOR_NONE

Сектор не задан

CALENDAR_SECTOR_MARKET

Рынок, биржа

CALENDAR_SECTOR_GDP

Валовый внутренний продукт (GDP)

CALENDAR_SECTOR_JOBS

Рынок труда

CALENDAR_SECTOR_PRICES

Цены

CALENDAR_SECTOR_MONEY

Деньги

CALENDAR_SECTOR_TRADE

Торговля

CALENDAR_SECTOR_GOVERNMENT

Правительство

CALENDAR_SECTOR_BUSINESS

Бизнес

CALENDAR_SECTOR_CONSUMER

Потребление

CALENDAR_SECTOR_HOUSING

Жилье

CALENDAR_SECTOR_TAXES

Налоги

CALENDAR_SECTOR_HOLIDAYS

Праздники

 

Важность события указывается в структуре MqlCalendarEvent. Возможные значения указаны в перечислении ENUM_CALENDAR_EVENT_IMPORTANCE

Идентификатор

Описание

CALENDAR_IMPORTANCE_NONE

Степень важности не задана

CALENDAR_IMPORTANCE_LOW

Низкая важность

CALENDAR_IMPORTANCE_MODERATE

Средняя важность

CALENDAR_IMPORTANCE_HIGH

Высокая важность

 

Тип единицы измерения, в которых даются значения события, указывается в структуре MqlCalendarEvent. Возможные значения указаны в перечислении ENUM_CALENDAR_EVENT_UNIT

Идентификатор

Описание

CALENDAR_UNIT_NONE

Единица измерения не задана

CALENDAR_UNIT_PERCENT

Проценты

CALENDAR_UNIT_CURRENCY

Национальная валюта

CALENDAR_UNIT_HOUR

Количество часов

CALENDAR_UNIT_JOB

Количество рабочих мест

CALENDAR_UNIT_RIG

Буровые установки

CALENDAR_UNIT_USD

Доллары США

CALENDAR_UNIT_PEOPLE

Число людей

CALENDAR_UNIT_MORTGAGE

Количество ипотечных кредитов

CALENDAR_UNIT_VOTE

Число голосов

CALENDAR_UNIT_BARREL

Количество баррелях

CALENDAR_UNIT_CUBICFEET

Объем в кубических футах

CALENDAR_UNIT_POSITION

Чистый объем спекулятивных позиций в контрактах

CALENDAR_UNIT_BUILDING

Количество строений

 

В некоторых случаях значения экономического показателя требуют указания множителя, который указывается в структуре MqlCalendarEvent. Возможные значения множителей указаны в перечислении ENUM_CALENDAR_EVENT_MULTIPLIER

Идентификатор

Описание

CALENDAR_MULTIPLIER_NONE

Множитель не задан

CALENDAR_MULTIPLIER_THOUSANDS

Тысячи

CALENDAR_MULTIPLIER_MILLIONS

Миллионы

CALENDAR_MULTIPLIER_BILLIONS

Миллиарды

CALENDAR_MULTIPLIER_TRILLIONS

Триллионы

 

Потенциальное влияние события на курс национальной валюты указывается в структуре MqlCalendarValue. Возможные значения указаны в перечислении ENUM_CALENDAR_EVENT_IMPACT

Идентификатор

Описание

CALENDAR_IMPACT_NA

Влияния не указано

CALENDAR_IMPACT_POSITIVE

Положительное влияние

CALENDAR_IMPACT_NEGATIVE

Отрицательное влияние

 

Время наступления события указывается в структуре MqlCalendarEvent. Возможные значения указаны в перечислении ENUM_CALENDAR_EVENT_TIMEMODE

Идентификатор

Описание

CALENDAR_TIMEMODE_DATETIME

Источник публикует точное время наступления события

CALENDAR_TIMEMODE_DATE

Событие занимает весь день

CALENDAR_TIMEMODE_NOTIME

Источник не публикует время события

CALENDAR_TIMEMODE_TENTATIVE

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

 

Смотри также

Экономический календарь