SeriesIntegerInfo und CopyRates: Ein unverzichtbares Tool für Trader

Mike 2019.08.12 04:52 17 0 0
Anhang

Dieses Tool ist kein klassisches Trading-Informationswerkzeug. Es ist vor allem für diejenigen von Nutzen, die Informationen über die Anzahl der Balken mit Terminaldaten benötigen. Dieses Utility nutzt die Funktionen SeriesIntegerInfo und CopyRates, um Informationen über die Verfügbarkeit von Balkendaten aus dem Terminal abzurufen und anzuzeigen.

Das Utility ermöglicht es dem Nutzer, das aktuelle Chart-Symbol (Standard) zu verwenden oder ein beliebiges Symbol aus seiner Marktübersicht einzugeben. Es erstellt eine Spalte mit drei Informationen, die durch die SeriesIntegerInfo-Funktion für jedes Zeitfenster des Symbols zurückgegeben werden.

  1. SERIES_SYNCHRONIZED: Zeigt an, ob die Daten im Terminal synchronisiert sind (die Anzeige des Indikators zeigt SYNC oder UN_SYNC für wahr oder falsch an).
  2. SERIES_BARS_COUNT: Die verfügbaren Balken in diesem Zeitrahmen (einschließlich Balken Null).
  3. SERIES_FIRSTDATE: Das Datum des ältesten Balkens in diesem Zeitrahmen.

Das Utility zeigt auch eine zweite Spalte mit Informationen zu CopyRates für jeden gültigen Balken in jedem Zeitrahmen an (gültige Balken basieren auf den Informationen, die von SeriesIntegerInfo zurückgegeben werden). Die Standardeinstellung zeigt die CopyRates-Informationen für den ältesten Balken in jedem Zeitrahmen an (wie durch SERIES_BARS_COUNT angezeigt), aber der Nutzer kann auch jede gewünschte gültige Balkennummer eingeben.

Dieses Tool ist ein Zwillingsindikator zu https://www.mql5.com/en/code/26316, das seine Informationen über gültige Balken mit der Funktion 'Bars' abruft. Die SeriesInfoInteger-Funktion scheint eine "bessere" Möglichkeit zu sein, die Balkeninformationen zu erhalten, aber beide melden Balken, für die CopyRates keine Informationen abrufen kann, zumindest in der aktuellen Version des Terminals.

Die Anzeige des Indikators stabilisiert sich, während das Terminal einige Sekunden lang Daten initialisiert, was zu einem typischen Chart führt, wie unten gezeigt, mit mehreren 4401 "Terminal Data not Available"-Fehlermeldungen. Scrollen Sie nach unten, um eine Beschreibung der nummerierten Steuerungen zu sehen:

Series Info und CopyRates Indikatoranzeige.

Die Steuerungen:

  • 1) "Rates and Bar": Wählen und ziehen Sie, um die Anzeige an einen anderen Ort im Chart zu verschieben.
  • 2) Dies ist das Eingabefeld für die Balkennummer. Geben Sie eine Balkennummer ein, um zu prüfen, ob CopyRates-Informationen für diesen Balken verfügbar sind.
  • 3) "Symbol": Klicken, um die Balkennummer auf die Standard-Einstellung 'Ältester' oder die zuletzt eingegebene Balkennummer umzuschalten.
  • 4) Dies ist das Eingabefeld für das Symbol. Geben Sie ein beliebiges Symbol aus Ihrer Marktübersicht ein, um es für dieses Symbol anzuzeigen.
  • 5) Klicken Sie auf die MN1 CopyRates-Informationen, um das Schreiben von Protokollen ein- oder auszuschalten. Wenn es aktiviert ist, werden Fehler, die von Bars und CopyRates zurückgegeben werden, in die Protokolle geschrieben.

Ich empfehle, // #include <errordescription.mqh>   // errordescription.mqh finden Sie unter: https://www.mql5.com/en/code/79
zu beschaffen und den ErrorDescription-Text wieder in den Indikator einzufügen. Ich kann den Code nicht mit diesem Include einreichen.

Während meiner Tests meldete SeriesIntegerInfo Balkenwerte, die größer als 100.000 waren, aber CopyRates scheint keine Daten für Balkennummern größer als 99.999 zu erhalten. Das folgende Bild zeigt den CopyRates 4401-Fehler für Balken 100.000 und den Erfolg für Balken 99.999:

CopyRates ältester verwendbarer Balken ist 99.999

Versionen: M1 bis MN1, Zeilenbezeichner in V1.00 weggelassen, in V1.02 behoben.

Liste
Kommentar 0