MetaTrader 5 build 2815: Zugriff auf die Markttiefe von Python, überarbeiteter Debugger und Verbesserungen des Profilers

Was ist neu im MetaTrader 5

26 Februar 2021

Terminal

  1. Es wurde die Möglichkeit hinzugefügt, über die Python API auf Daten der Markttiefe (Depth of Market) zuzugreifen.
    Drei neue Funktionen ermöglichen die schnelle Abfrage von Daten für statistische Berechnungen und Aufgaben des maschinellen Lernens, die mit einer Fülle von Out-of-the-Box-Python-Bibliotheken implementiert werden können.
    • market_book_add — abonniert das MetaTrader 5-Terminal, um Ereignisse in Bezug auf Änderungen der Markttiefe für das angegebene Symbol zu erhalten.
    • market_book_get — gibt ein Tupel von BookInfo zurück, das die Depth of Market-Datensätze für das angegebene Symbol enthält.
    • market_book_release — bricht das MetaTrader 5 Terminal-Abonnement für Ereignisse ab, die mit Änderungen der Depth of Market für das angegebene Symbol zusammenhängen.

  2. Die maximale Länge von Push-Nachrichten wurde von 256 auf 1024 Zeichen erhöht. Jetzt können Sie mehr Informationen aus Ihren MQL5-Programmen auf mobilen Geräten senden.
  3. Es wurde eine vorläufige Version des Task-Managers hinzugefügt, der durch Drücken der F2-Taste aufgerufen werden kann.
    Der Task-Manager ermöglicht die Überwachung der von der Plattform verbrauchten Ressourcen. Sie können den von den Charts verbrauchten Speicher, die von den Expert Advisors genutzten CPU-Ressourcen und andere Leistungsmetriken anzeigen. Wenn die Leistung Ihrer Plattform nachlässt, können Sie das Problem leicht erkennen und beheben.



  4. Erweiterter Abonnementsdienst. Es wurde eine spezielle Anzeige für Symbole mit verzögerten Kursen hinzugefügt:
    • Symbole in der Marktübersicht werden mit einem Uhrensymbol gekennzeichnet, und der Verzögerungswert wird im Tooltip angezeigt
    • Die Benachrichtigung über die Datenverzögerung wird in Charts angezeigt



  5. Die Anzeige der Abonnementsliste wurde korrigiert, wenn keine Verbindung zum Handelskonto besteht.
  6. Links in E-Mails und Newslettern wurden korrigiert. Alle Links werden jetzt im Standardbrowser geöffnet. Zuvor wurden Links nur im Internet Explorer geöffnet.
  7. Korrigierte Verbindungen der Funktion WebRequest zu Hosts mit IPv6-Adressen und Cloudflare-Schutz.
  8. Verbesserte Funktionsweise und Reaktionsfähigkeit des VPS-Dienstes.
  9. Verbesserter Betrieb unter Wine und MacOS/Crossover, einschließlich der Version für macOS Big Sur mit dem M1-Prozessor.

MQL5

  1. Fehler in der Funktion ArrayPrint behoben. Die Funktion konnte gelegentlich beim Drucken von Arrays versagen.
  2. Optimierte Dateioperationen, die von File* Funktionen ausgeführt werden. Lese- und Schreiboperationen von Dateien laufen jetzt viel schneller.
  3. Die Einschränkung, dass die Größe für die zweite, dritte und vierte Dimension eines dynamischen Arrays angegeben werden muss, wenn das Array als Funktionsparameter verwendet wird, wurde entfernt. Dies erhöht die Wiederverwendung von Code und die Flexibilität.
    void func(int &arr[ ][ ][ ][ ])
      {
      }
  4.  Die Bedienung der Funktion ArrayBsearch wurde korrigiert. Die Funktion konnte bei einer binären Suche einen falschen Index des gefundenen Elements zurückgeben.

MetaEditor

  1. Im überarbeiteten Debugger sind weitere neue Funktionen verfügbar.
    • Arrays werden jetzt im Beobachtungsfenster entsprechend der mit ArraySetAsSeries eingestellten Sortierung angezeigt.
    • Unterstützung für lokale statische Variablen wurde hinzugefügt.
    • Die Anzeige des angegebenen Array-Elementwertes wurde korrigiert.
    • Korrigierte Behandlung von 'statischen' Klassenfeldern.
    • Weitere Verbesserungen für eine genauere und zuverlässigere Fehlersuche.

  2. Option "Optimierungen bei der Profilerstellung aktivieren" hinzugefügt.
    Der Code-Optimierungsmodus kann deaktiviert werden, um mehr Details in den Profiling-Bericht aufzunehmen. Die Codegeschwindigkeit ohne Optimierung kann um ein Vielfaches langsamer sein, aber dieser Modus bietet eine breitere Codeabdeckung. Bitte beachten Sie, dass mit der Optimierung Code-Engpässe unpräzise sein können.
    Ein milderer Profiling-Modus kann durch Deaktivieren von "Optimierung in der Profilerstellung aktivieren" (Enable inlining in profiling) eingestellt werden.


    Die Option zur Optimierungsverwaltung wurde auch zu den Projekteinstellungen hinzugefügt.
    • Wenn die Optimierung im Projekt deaktiviert ist, dann wird die neue Option ignoriert, und somit wird die Optimierung für die Profilerstellung (einschließlich Inlining-Operationen) immer deaktiviert sein.
    • Wenn die Optimierung im Projekt aktiviert ist, dann wird die neue Option bei der Kompilierung des Profils berücksichtigt.

  3. Logging für Debugging- und Profiling-Prozesse wurde hinzugefügt. Umgebungseinstellungen werden beim Start des Vorgangs protokolliert; die Statistik der gesammelten Daten wird beim Stoppen des Vorgangs protokolliert.
    MQL5 profiler    Start von 'ExpertMACD.ex5' mit Historie und den Parametern:
    MQL5 profiler       Symbol: 'EURUSD'
    MQL5 profiler       Period: 'H1'
    MQL5 profiler       Datum von: '2021.01.01'
    MQL5 profiler       Datum bis: '2021.02.22'
    MQL5 profiler       Tick-Modus: 'jeder Tick'
    MQL5 profiler       Ausführungsverzögerung: 0 ms
    MQL5 profiler       Einlage: 10000
    MQL5 profiler       Währung: 'USD'
    MQL5 profiler       Hebel: 1:100
    MQL5 profiler       Gewinn in Pips: NO
    MQL5 profiler    Profildaten erhalten (4640 bytes)
    MQL5 profiler    758 Messungen insgesamt, 0/0 Fehler, 470 kb Stapelspeicher analysiert
    MQL5 profiler    7782 Funktionsrahmen insgesamt gefunden (1929 mql5 Code, 342 integriert, 1403 andere, 4108 System)

Tester

  1. Die Angabe von Nicht-Handelszeiten in den erweiterten Testeinstellungen wurde korrigiert.

Aktualisierte Dokumentation.