- CalendarCountryById
- CalendarEventById
- CalendarValueById
- CalendarCountries
- CalendarEventByCountry
- CalendarEventByCurrency
- CalendarValueHistoryByEvent
- CalendarValueHistory
- CalendarValueLastByEvent
- CalendarValueLast
CalendarValueHistory
Abrufen des Arrays der Werte für alle Ereignisse in einem bestimmten Zeitbereich mit der Möglichkeit, nach Land und/oder Währung zu sortieren.
bool CalendarValueHistory(
|
Parameter
values[]
[out] Variable vom Typ MqlCalendarValue für die Übernahme der Ereigniswerte. Beispiele der Behandlung von Kalenderereignisse.
datetime_from
[in] Anfangszeitpunkt des Zeitraums der Ereignisse für die angegebene ID, während datetime_from < datetime_to.
datetime_to=0
[in] Endzeitpunkt des Zeitraums der Ereignisse für die angegebene ID. Wenn datetime_to nicht (oder auf 0) gesetzt wurde, werden alle Ereignisse ab dem angegebenen Zeitpunkt datetime_from aus der Kalenderdatenbank (inklusive der zukünftigen) zurückgegeben.
country_code=NULL
[in] Code-Name des Landes (ISO 3166-1 alpha-2)
currency=NULL
[in] Währungs-Code des Landes.
Rückgabewert
Liefert bei Erfolg true, ansonsten false. Um Informationen über einen Fehler zu erhalten, rufen Sie die Funktion GetLastError() auf. Mögliche Fehler:
- 4001 - ERR_INTERNAL_ERROR (allgemeiner Laufzeitfehler),
- 4004 – ERR_NOT_ENOUGH_MEMORY (nicht genügend Speicherplatz für die Ausführung der Anforderung),
- 5401 - ERR_CALENDAR_TIMEOUT (Zeitlimit für Anfragen überschritten),
- 5400 - ERR_CALENDAR_MORE_DATA (Array ist zu klein, um die Beschreibungen aller Werte zu übernehmen, es wurden nur diejenigen übernommen, die eingetragen werden konnten).
- Fehler bei der Ausführung von ArrayResize()
Hinweis
Alle Funktionen, die mit dem Wirtschaftskalender arbeiten, nutzen die Zeit des Handelsservers (TimeTradeServer). Das bedeutet, dass die Zeit in der Struktur MqlCalendarValue und die Zeitangaben der Funktionen CalendarValueHistoryByEvent/CalendarValueHistory in der Zeitzone des Handelsservers eingestellt sind und nicht in der lokalen Zeitzone des Nutzers.
Wenn der Array events[] mit einer unveränderlichen Größe der Funktion übergeben wurde und die Größe für alle Ereignisse zu klein ist, wird der Fehler ERR_CALENDAR_MORE_DATA (5400) ausgeworfen.
Wenn datetime_to nicht (oder auf 0) gesetzt wurde, werden alle Ereignisse ab dem angegebenen Zeitpunkt datetime_from aus der Kalenderdatenbank (inklusive der zukünftigen) zurückgegeben.
Zu dem Länder-Code country_code und der Währung : NULL und "" sind äquivalent und bedeuten, es wird nichts heraus gefiltert.
Für country_code, dem Feld des Codes in der Struktur MqlCalendarCountry, sollten zum Beispiel "US", "RU" oder "EU" verwendet werden.
Für currency, dem Feld der Währungen in der Struktur MqlCalendarCountry, sollten zum Beispiel "USD", "RUB" oder "EUR" verwendet werden.
Die Filter werden über ein logisches 'UND' verbunden und werden verwendet, um nur die Werte auszuwählen, für die zugleich beide Bedingungen (Land und Währung) zutreffen.
Die Struktur von MqlCalendarValue bietet Methoden zum Prüfen und Setzen von Werten der Felder actual_value, forecast_value, prev_value und revised_prev_value. Wenn kein Wert angegeben wird, speichert das Feld LONG_MIN (-9223372036854775808).
Bitte beachten Sie, dass die in diesem Feld gespeicherten Werte mit einer Million multipliziert werden. Dies bedeutet, dass, wenn Sie Werte von MqlCalendarValue mithilfe der Funktionen CalendarValueById, CalendarValueHistoryByEvent, CalendarValueHistory, CalendarValueLastByEvent und CalendarValueLast abrufen, sollten Sie überprüfen, ob die Feldwerte gleich LONG_MIN sind; wenn in einem Feld ein Wert angegeben ist, sollten Sie den Wert durch 1.000.000 dividieren, um den Wert zu erhalten. Eine andere Methode zum Abrufen der Werte besteht darin, die Werte mit den Funktionen der Struktur MqlCalendarValue zu überprüfen und abzurufen.
Beispiel:
//+------------------------------------------------------------------+
|
Siehe auch
CalendarCountries, CalendarEventByCountry, CalendarValueHistoryByEvent, CalendarEventById, CalendarValueById