//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- код страны для Германии по стандарту ISO 3166-1 Alpha-2
string germany_code="DE";
//--- получим события для Германии
MqlCalendarEvent events[];
int events_count=CalendarEventByCountry(germany_code,events);
//--- выведем события для Германии в Журнал
if(events_count>0)
{
PrintFormat("События для Германии: %d",events_count);
ArrayPrint(events);
}
else
{
PrintFormat("Не удалось получить события для кода страны %s, ошибка %d",
germany_code,GetLastError());
//--- досрочное завершение скрипта
return;
}
//--- получим описание последнего события из массива events[]
MqlCalendarEvent event;
ulong event_id=events[events_count-1].id;
if(CalendarEventById(event_id,event))
{
MqlCalendarCountry country;
CalendarCountryById(event.country_id,country);
PrintFormat("Получено описания события с event_id=%d",event_id);
PrintFormat("Cтрана: %s (код страны = %d)",country.name,event.country_id);
PrintFormat("Имя события: %s",event.name);
PrintFormat("Код события: %s",event.event_code);
PrintFormat("Важность события: %s",EnumToString((ENUM_CALENDAR_EVENT_IMPORTANCE)event.importance));
PrintFormat("Тип события: %s",EnumToString((ENUM_CALENDAR_EVENT_TYPE)event.type));
PrintFormat("Сектор события: %s",EnumToString((ENUM_CALENDAR_EVENT_SECTOR)event.sector));
PrintFormat("Периодичность события: %s",EnumToString((ENUM_CALENDAR_EVENT_FREQUENCY)event.frequency));
PrintFormat("Режим выхода события: %s",EnumToString((ENUM_CALENDAR_EVENT_TIMEMODE)event.time_mode));
PrintFormat("Единица измерения значения: %s",EnumToString((ENUM_CALENDAR_EVENT_UNIT)event.unit));
PrintFormat("Количество знаков после запятой: %d",event.digits);
PrintFormat("Множитель значения: %s",EnumToString((ENUM_CALENDAR_EVENT_MULTIPLIER)event.multiplier));
PrintFormat("URL источника: %s",event.source_url);
}
else
PrintFormat("Не удалось получить описание события для event_d=%s, ошибка %d",
event_id,GetLastError());
}
/*
Результат:
События для Германии: 50
[id] [type] [sector] [frequency] [time_mode] [country_id] [unit] [importance] [multiplier] [digits] [source_url] [event_code] [name] [reserved]
[ 0] 276010001 1 6 2 0 276 1 1 0 1 "https://www.destatis.de/EN/Homepage.html" "exports-mm" "Exports m/m" 0
[ 1] 276010002 1 6 2 0 276 1 1 0 1 "https://www.destatis.de/EN/Homepage.html" "imports-mm" "Imports m/m" 0
[ 2] 276010003 1 4 2 0 276 1 1 0 1 "https://www.destatis.de/EN/Homepage.html" "import-price-index-mm" "Import Price Index m/m" 0
[ 3] 276010004 1 4 2 0 276 1 1 0 1 "https://www.destatis.de/EN/Homepage.html" "import-price-index-yy" "Import Price Index y/y" 0
....
[47] 276500001 1 8 2 0 276 0 2 0 1 "https://www.markiteconomics.com" "markit-manufacturing-pmi" "Markit Manufacturing PMI" 0
[48] 276500002 1 8 2 0 276 0 2 0 1 "https://www.markiteconomics.com" "markit-services-pmi" "Markit Services PMI" 0
[49] 276500003 1 8 2 0 276 0 2 0 1 "https://www.markiteconomics.com" "markit-composite-pmi" "Markit Composite PMI" 0
Получено описания события с event_id=276500003
Cтрана: Germany (код страны = 276)
Имя события: Markit Composite PMI
Код события: markit-composite-pmi
Важность события: CALENDAR_IMPORTANCE_MODERATE
Тип события: CALENDAR_TYPE_INDICATOR
Сектор события: CALENDAR_SECTOR_BUSINESS
Периодичность события: CALENDAR_FREQUENCY_MONTH
Режим выхода события: CALENDAR_TIMEMODE_DATETIME
Единица измерения значения: CALENDAR_UNIT_NONE
Количество знаков после запятой: 1
Множитель значения: CALENDAR_MULTIPLIER_NONE
URL источника: https://www.markiteconomics.com
*/
|