- CalendarCountryById
- CalendarEventById
- CalendarValueById
- CalendarCountries
- CalendarEventByCountry
- CalendarEventByCurrency
- CalendarValueHistoryByEvent
- CalendarValueHistory
- CalendarValueLastByEvent
- CalendarValueLast
CalendarValueLast
Retourne le tableau des valeurs de tous les évènements, avec la possibilité de trier par pays et/devise depuis le statut de la base de données du calendrier avec un change_id spécifié.
int CalendarValueLast(
|
Paramètres
change_id
[in][out] Identifiant du changement.
values[]
[out] Tableau d'éléments de type MqlCalendarValue pour retourner les valeurs des évènements. Voir l'exemple de gestion des événements du calendrier.
country_code=NULL
[in] Nom du code du pays (ISO 3166-1 alpha-2)
currency=NULL
[in] Nom du code de la devise du pays.
Valeur de Retour
Nombre de valeurs d'évènements retournées. Pour obtenir des informations sur une erreur, appelez la fonction GetLastError(). Erreurs possibles :
- 4001 ERR_INTERNAL_ERROR (erreur générale d'exécution),
- 4004 ERR_NOT_ENOUGH_MEMORY (pas assez de mémoire pour exécuter une requête),
- 5401 ERR_CALENDAR_TIMEOUT (limite de temps de traitement de la requête atteinte),
- 5400 ERR_CALENDAR_MORE_DATA (la taille du tableau est insuffisante pour recevoir les descriptions de toutes les valeurs, toutes les descriptions ne seront pas retournées).
- erreurs d'exécutions de ArrayResize()
Note
Toutes les fonctions permettant de travailler avec le calendrier économique utilisent lheure du serveur de trading(TimeTradeServer). Cela signifie que l'heure dans la structure MqlCalendarValue et l'heure donnée dans les fonctions CalendarValueHistoryByEvent/CalendarValueHistory sont définies dans le fuseau horaire du serveur de trading, et non pas selon l'heure locale de l'utilisateur.
Si le tableau events[] de taille fixe passé à la fonction n'est pas assez grand, l'erreur ERR_CALENDAR_MORE_DATA (5400) est générée.
Si change_id = 0 est passé à la fonction, la fonction retourne toujours 0 et la valeur de la base de données du calendrier courant est retournée dans change_id.
Pour les filtres country_code et currency , les valeurs NULL et "" sont équivalentes et signifie l'absence de filtre.
Pour country_code, le champ code de la structure MqlCalendarCountry, par exemple "US", "RU" ou "EU", doit être utilisé.
Pour currency, le champ currency de la structure MqlCalendarCountry, par exemple "USD", "RUB" ou "EUR", doit être utilisé.
Les filtres sont ajoutés les uns aux autres, c'est à dire que le 'ET' logique est utilisé pour ne sélectionner que les valeurs des évènements remplissant les 2 conditions (pays et devise).
La fonction retourne le tableau des nouvelles spécifiées et un nouveau change_id qui peut être utilisé pour les appels ultérieurs à la fonction pour recevoir les nouvelles valeurs des évènements. Il est donc possible de mettre à jour les valeurs pour une nouvelle spécifiée en appelant cette fonction avec le dernier change_id connu.
La structure MqlCalendarValue fournit des méthodes pour vérifier et définir les valeurs des champs actual_value, forecast_value, prev_value et revised_prev_value. Si aucune valeur n'est spécifiée, le champ stocke LONG_MIN (-9223372036854775808).
Veuillez noter que les valeurs stockées dans ces champs sont multipliées par un million. Cela signifie que lorsque vous recevez des valeurs dans MqlCalendarValue à l'aide des fonctions CalendarValueById, CalendarValueHistoryByEvent, CalendarValueHistory, CalendarValueLastByEvent et CalendarValueLast, vous devez vérifier si les valeurs des champs sont égales à LONG_MIN ; si une valeur est spécifiée dans un champ, vous devez diviser la valeur par 1 000 000 afin d'obtenir la valeur. Une autre méthode pour obtenir les valeurs consiste à vérifier et à obtenir des valeurs en utilisant les fonctions de la structure MqlCalendarValue.
L'échantillon EA écoutant les événements du calendrier économique :
#property description "Exemple d'utilisation de la fonction CalendarValueLast"
|
Voir aussi
CalendarValueLast, CalendarValueHistory, CalendarValueHistoryByEvent, CalendarValueById