//+------------------------------------------------------------------+
//| Fonction de lancement du programme |
//+------------------------------------------------------------------+
void OnStart()
{
//--- code du pays pour Germany (ISO 3166-1 Alpha-2)
string germany_code="DE";
//--- récupère les évènements allemands
MqlCalendarEvent events[];
int events_count=CalendarEventByCountry(germany_code,events);
//--- affiche les évènements allemands dans le Journal
if(events_count>0)
{
PrintFormat("Evènements allemands : %d",events_count);
ArrayPrint(events);
}
else
{
PrintFormat("Echec de l'obtention des évènements pour le code de pays %s, erreur %d",
germany_code,GetLastError());
//--- fin prématurée du script
return;
}
//--- retourne la description du dernier évènements du tableau events[]
MqlCalendarEvent event;
ulong event_id=events[events_count-1].id;
if(CalendarEventById(event_id,event))
{
MqlCalendarCountry country;
CalendarCountryById(event.country_id,country);
PrintFormat("Description de l'évènement avec event_id=%d reçu",event_id);
PrintFormat("Pays : %s (code du pays = %d)",country.name,event.country_id);
PrintFormat("Nom de l'évènement : %s",event.name);
PrintFormat("Code de l'évènement : %s",event.event_code);
PrintFormat("Importance de l'évènement : %s",EnumToString((ENUM_CALENDAR_EVENT_IMPORTANCE)event.importance));
PrintFormat("Type de l'évènement : %s",EnumToString((ENUM_CALENDAR_EVENT_TYPE)event.type));
PrintFormat("Secteur de l'évènement : %s",EnumToString((ENUM_CALENDAR_EVENT_SECTOR)event.sector));
PrintFormat("Fréquence de l'évènement : %s",EnumToString((ENUM_CALENDAR_EVENT_FREQUENCY)event.frequency));
PrintFormat("Mode de publication de l'évènement : %s",EnumToString((ENUM_CALENDAR_EVENT_TIMEMODE)event.time_mode));
PrintFormat("Unité de mesure de l'évènement : %s",EnumToString((ENUM_CALENDAR_EVENT_UNIT)event.unit));
PrintFormat("Nombre de décimales : %d",event.digits);
PrintFormat("Multiplicateur de l'évènement : %s",EnumToString((ENUM_CALENDAR_EVENT_MULTIPLIER)event.multiplier));
PrintFormat("URL source : %s",event.source_url);
}
else
PrintFormat("Echec de l'obtention de la description de l'évènement pour event_d=%s, erreur %d",
event_id,GetLastError());
}
/*
Résultat :
Evènement allemands : 50
[id] [type] [secteur][fréquence] [time_mode] [country_id] [unité][importance] [multiplicateur] [chiffres] [url_source] [code_evenement] [nom] [réservé]
[ 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
Description de l'évènement avec event_id=276500003 reçu
Pays : Allemagne (code du pays = 276)
Nom de l'évènement : Markit Composite PMI
Code de l'évènement : markit-composite-pmi
Importance de l'évènement : CALENDAR_IMPORTANCE_MODERATE
Type de l'évènement : CALENDAR_TYPE_INDICATOR
Secteur de l'évènement : CALENDAR_SECTOR_BUSINESS
Fréquence de l'évènement : CALENDAR_FREQUENCY_MONTH
Mode de publication de l'évènement : CALENDAR_TIMEMODE_DATETIME
Unité de mesure de l'évènement : CALENDAR_UNIT_NONE
Nombre de décimales : 1
Multiplicateur de la valeur : CALENDAR_MULTIPLIER_NONE
URL source : https://www.markiteconomics.com
*/
|