In der Tat sind die Standard-Kalenderfunktionen schwer zu verstehen. Es ist großartig, dass der Autor dies herausgefunden und den Artikel mit Beispielen versehen hat.
Allerdings scheint die Einfachheit der vorgeschlagenen High-Level-Kalender-API nicht offensichtlich zu sein. Sie ist schwierig.
Wahrscheinlich sollten wir eine Liste der am meisten nachgefragten Szenarien der Kalenderanwendung aufstellen. Und versuchen, sie zu implementieren.
In der Tat sind die Standard-Kalenderfunktionen schwer zu verstehen. Es ist großartig, dass der Autor es herausgefunden hat und Beispiele liefert.
Allerdings scheint die Einfachheit der vorgeschlagenen High-Level-Kalender-API nicht offensichtlich zu sein. Es ist schwierig.
Wahrscheinlich sollten wir eine Liste der am meisten nachgefragten Szenarien von Kalenderanwendungen aufstellen. Und versuchen, sie zu implementieren.
Ich hätte gerne eine Möglichkeit, eine hundertprozentige Garantie für die Synchronisierung von Nachrichten und Kursen zu jedem Zeitpunkt zu bieten.
In der Tat sind die Standard-Kalenderfunktionen schwer zu verstehen. Es ist großartig, dass der Autor es herausgefunden hat und Beispiele liefert.
Allerdings scheint die Einfachheit der vorgeschlagenen High-Level-Kalender-API nicht offensichtlich zu sein. Es ist schwierig.
Wahrscheinlich sollten wir eine Liste der am meisten nachgefragten Szenarien der Kalenderanwendung aufstellen. Und versuchen, sie zu implementieren.
Danke für Ihre Meinung :-)
Meiner Meinung nach liegt eine gewisse Schwierigkeit in der Wahrnehmung darin, dass die Klasse CiCalendarInfo mit drei Entitäten arbeitet: Länder, Ereignisse und Werte. Wenn wir es z.B. mit den SB Handelsklassen CAccountInfo, CSymbolInfo, etc. vergleichen , gibt es in jeder Klasse 1 Objekt - Konto, Symbol, etc. Vielleicht wäre es sinnvoll, eine Hierarchie von Klassen zu erstellen, zum Beispiel die folgende: Basisklasse - CiCalendarBaseInfo, Nachkommen - CiCalendarCountryInfo, CiCalendarEventInfo und CiCalendarValueInfo. Aber die letzten drei haben ihre Entsprechungen in Form von Strukturen. Deshalb habe ich die Idee aufgegeben.
Wahrscheinlich müssen wir eine Liste der beliebtesten Szenarien für die Verwendung des Kalenders definieren. Und versuchen, sie zu implementieren.
Es kann so viele von ihnen geben, wie es Ideen in Bezug auf die Verwendung der Kalenderdaten gibt. Sie können einen einfachen Informator über die Veröffentlichung von Ereignissen, ein Kalender-Panel, einen Expert Advisor, der handelt oder den Zeitpunkt der Veröffentlichung von Nachrichten berücksichtigt, und so weiter, erstellen. Sie können Daten von makroökonomischen Indikatoren nehmen und ihre Auswirkungen auf die Kurse mit Hilfe von neuronalen Netzen untersuchen. Big Data in einem Wort...
Die Bequemlichkeit besteht darin, dass man nicht zu einer anderen Quelle gehen muss. Alles kann in der MQL5-Umgebung durchgeführt werden.
Der Vorteil ist, dass Sie nicht zu einer anderen Quelle gehen müssen. Alles kann in der MQL5-Umgebung erledigt werden.
Es muss eine große Kunst sein, einen intuitiven Wrapper zu schreiben. Ein Kalender eignet sich nur schwer für so etwas. Ich habe meine Version einmal selbst gepostet.
Hier ist, was auf dem Kalender nicht klar ist - Abfragen nach change_id. Wo kann man es bekommen?
Dmitry, hier ist zum Beispiel eine Standardfunktion.
int CalendarValueLast( ulong& change_id, // Bezeichner ändern MqlCalendarValue& values[], // Array für den Erhalt von Wertbeschreibungen const string country_code=NULL, // Ländercode nach ISO 3166-1 alpha-2 const string currency=NULL // Währungscode des Landes );
Es zeigt, dass change_id ein Parameter per Referenz ist. Das heißt, der Server gibt sie an uns zurück. Dies ist eine Serverkonstante. Wenn sich der Wert ändert, bedeutet das, dass sich der Zustand der Kalenderdatenbank geändert hat. In der Dokumentation gibt es ein Beispiel für EA.
Ja, wir können auch den letzten bekannten Wert von change_id senden . Wenn sich der Zustand der Datenbank ändert, gibt die Funktion CalendarValueLast() die Anzahl der neuen Ereignisse zurück und überschreibt die von uns gesendete change_id mit dem neuen Wert.
- www.mql5.com
Dimitri, hier ist ein Beispiel für eine Standardfunktion.
Darin können Sie sehen, dass change_id ein Parameter per Referenz ist. Das heißt, der Server gibt ihn an uns zurück. Dies ist eine Serverkonstante. Wenn sich der Wert ändert, bedeutet dies, dass sich der Zustand der Kalenderdatenbank geändert hat. In der Dokumentation finden Sie ein Beispiel für einen EA.
Das macht Sinn. Ich danke Ihnen.
Ich habe es in der Hilfe gefunden:
CalendarValueLast.Wenn change_id = 0 an die Funktion übergeben wird, gibt die Funktion immer Null zurück, aber der aktuelle Zustand der Kalenderbasis wird in change_id zurückgegeben .
Ich habe es in der Hilfe gefunden:
CalendarValueLast
Wenn change_id = 0 an die Funktion übergeben wird, gibt die Funktion immer Null zurück, aber der aktuelle Zustand der Kalenderbasis wird in change_id zurückgegeben.
Ja, so etwas gibt es.
Ich habe solche Zeilen in dem Indikator-Beispiel, wenn prev_calculated == 0:
//--- nur um eine Änderungskennung zu erhalten MqlCalendarValue values[]; gPtrValuesInfo.ValueLastSelectByEvent(gChangeId, values);
Und hier ist gChangeId=0. Sie wird im Initialisierungsblock auf Null gesetzt. Obwohl es wahrscheinlich korrekter ist, gChangeId zurückzusetzen , wenn prev_calculated == 0 ist. Und diese Variable lokal zu machen.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel MQL5 Kochbuch – Der Wirtschaftskalender :
Der Artikel hebt die Programmierfunktionen des Wirtschaftskalenders hervor und befasst sich mit der Erstellung einer Klasse für einen vereinfachten Zugriff auf die Kalendereigenschaften und den Empfang der Ereigniswerte. Als praktisches Beispiel dient die Entwicklung eines Indikators, der die nicht-kommerziellen Nettopositionen der CFTC verwendet.
Im folgenden Beispiel soll die Struktur der Zeitreihe behandelt werden. Das Skript Test_TS.mq5 empfängt Daten zu den US-Arbeitsmarktzahlen vom 1. Januar 2016 bis zum 1. November 2021 und stellt sie in einem wissenschaftlichen Diagramm dar. Das Diagramm soll zwei Kurven enthalten - die tatsächlichen und die prognostizierten Werte. Wir werden den Ereignisberichtszeitraum als Zeitleiste verwenden.
Nach dem Start des Skripts werden erstens die Zeitreihenwerte im Journal angezeigt und zweitens das Diagramm gezeichnet (Abb. 2).
Abb. 2. US-Beschäftigtenzahlen außerhalb der Landwirtschaft (2016-2021)
Autor: Denis Kirichenko