MetaTrader 5 Plattform build 2085: Integration mit Python und Verbesserungen des Strategietesters

Hinzugefügt wurde ein neues API, das das Abrufen MetaTrader 5 Terminaldaten durch Anwendungen ermöglicht, die die Sprache Python verwenden

12 Juni 2019

Terminal

  1. Hinzugefügt wurde ein neues API, das das Abrufen MetaTrader 5 Terminaldaten durch Anwendungen ermöglicht, die die Sprache Python verwenden.

    Python ist eine moderne High-Level-Programmiersprache zur Entwicklung von Skripten und Anwendungen. Es enthält mehrere Bibliotheken für maschinelles Lernen, Prozessautomatisierung sowie Datenanalyse und Visualisierung.

    Das MetaTrader-Paket für Python wurde für das effiziente und schnelle Abrufen von Austauschdaten über das Interprozessorkommunikation direkt vom MetaTrader 5 Terminal aus entwickelt. Die so erhaltenen Daten können für statistische Berechnungen und maschinelles Lernen weiterverwendet werden.



    Verbindung

    1. Laden Sie die letzte Pythonversion von https://www.python.org/downloads/windows
    2. Beim Installieren von Python prüfen Sie "Add Python X.X to PATH%", damit Sie die Python-Skripts aus der Kommandozeile heraus starten können.
    3. Installieren des MetaTrader 5 Moduls aus der Kommandozeile
      pip install MetaTrader5
    4. Fügen Sie die Pakete matplotlib und pytz hinzu
      pip install matplotlib
      pip install pytz

    Funktionen

    • MT5Initialize stellt eine Verbindung mit dem MetaTrader 5 Terminal her
    • MT5Shutdown schließt die vorher hergestellte Verbindung zu MetaTrader 5 Terminal wieder
    • MT5TerminalInfo ruft den Status und die Parameter des verbundenen MetaTrader 5 Terminals ab
    • MT5Version gibt die Version des MetaTrader 5 Terminals zurück
    • MT5WaitForTerminal wartet, bis sich MetaTrader 5 Terminal mit dem Handelsserver verbindet
    • MT5CopyRatesFrom ruft die Bars vom MetaTrader 5 Terminal, beginnend mit dem angegebenen Datum ab
    • MT5CopyRatesFromPos ruft die Bars vom MetaTrader 5 Terminal, beginnend mit dem angegebenen Index ab
    • MT5CopyRatesRange ruft die Bars der angegebenen Zeitspanne vom MetaTrader 5 Terminal ab
    • MT5CopyTicksFrom ruft die Ticks vom MetaTrader 5 Terminal, beginnend mit dem angegebenen Datum ab
    • MT5CopyTicksRange ruft die Ticks der angegebenen Zeitspanne vom MetaTrader 5 Terminal ab


  2. Die Bereiche Market und Signal wurden optimiert. Jetzt läuft das Angebot von Produkten und Signalen bis zu siebenmal schneller und bietet daher eine verbesserte Sucherfahrung.




  3. Hinzugefügt wurde die Unterstützung von "Markt", "Signale" und "Suche" auf Wine. Nutzer von Linux und Mac OS können jetzt auf den größten Markt von Handelsprogrammen und dem Kopieren des Handels zugreifen.




  4. Das integrierte Lernprogramm wurde in mehr als 30 Sprachen übersetzt, einschließlich Spanisch, Chinesisch, Portugiesisch und Deutsch und vielen anderen. Um die interaktiven Hinweise in der gewünschten Sprache zu erhalten, wechseln Sie sie in die Sprachschnittstelle über das Menü Ansicht.




  5. Neue Optionen ermöglichen die Überprüfung von Telefonnummern und E-Mails, die Händler beim Eröffnen von Demo- und Vorkonten angeben.

    Die verwendete Art der Verifikation wird vom Broker festgelegt. Wenn die Option aktiviert ist, werden bei der Kontoanfrage automatisch Bestätigungscodes an den Händler gesendet und es erscheinen spezielle Codefelder im Dialogfenster:




    Der Bestätigungscode ist gültig für mehrere Minuten. Wenn der Code nicht innerhalb dieser Zeit in das Feld eingegeben wird, muss der Händler den Vorgang wiederholen.
    Vor dem Senden des Codes prüft das System, ob die angegebene Telefonnummer/E-Mail zuvor bestätigt wurde. Wenn der Händler die Überprüfung von seinem Computer aus bereits bestanden hat, wird das Konto ohne zusätzliche Bestätigung eröffnet. Somit gibt es keine zusätzlichen Schwierigkeiten für Händler bei der Kontoanfrage.

  6. Die Zahlungsmöglichkeiten der MQL5.community über das System PayPal wurden erweitert. Mit diesem System können Käufe nun mit einem Klick durchgeführt werden.

    Wie es funktioniert
    Nachdem Sie sich für einen Kauf über Ihr PayPal-Konto eingeloggt haben, werden Sie aufgefordert, weitere Zahlungen an unser Unternehmen zu erlauben:





    Mit der Bestätigung dieser Option, können Sie danach mit einem Klick auf die Schaltfläche des vorher gesicherten Kontos einkaufen:




    Wenn Sie auf "Abbrechen und zu MetaQuotes Software Corp. zurückkehren" klicken, tätigen Sie Zahlungen auf normale Weise, indem Sie die PayPal-Kontoinformationen für jeden Kauf manuell eingeben.
    Die Website MQL5.com und die Plattform MetaTrader 5 speichern Ihre Zahlungsdaten nicht. Wenn Sie Geld einzahlen, einen Kauf auf dem Market tätigen oder ein Signal abonnieren, werden die Daten auf Seiten des Zahlungssystems überprüft. Sie können jederzeit den Link zu Ihrem PayPal-Konto entfernen.

  7. Verbesserungen und Optimierungen des Strategietesters.

    Wir haben eine Vielzahl von versteckten Verbesserungen und Fehlerbehebungen durchgeführt, um den Betrieb des Strategietesters zu optimieren. Das Update ermöglicht ein viel schnelleres Testen einiger der Aufgabentypen und eine höhere Betriebsstabilität. Zu den wichtigsten Verbesserungen gehören:

    Operationen mit Frames
    Der Betrieb mit Frames auf lokalen, Netzwerk- und Cloud-Agenten wurde optimiert. Solche Operationen werden nun schneller verarbeitet und nie übersprungen.

    Verteilung von Aufgaben an Agenten
    Der Tester kann nun während des Optimierungsprozesses Aufgaben an Agenten weitergeben. Wenn ein neuer Agent verfügbar ist (oder einer der zuvor verwendeten freigegeben wurde), erstellt der Tester automatisch ein neues Aufgabenpaket mit denjenigen, die zuvor auf andere Agenten verteilt worden war. Aufgaben können auch neu verteilt werden, wenn langsame Agenten erkannt werden. Aufgaben solcher Agenten werden an andere Agenten weitergeleitet, um die Optimierung schneller zu beenden.

    Die Aufgabenverteilung im mathematischen Berechnungsmodus ist schneller geworden.

    Optimierungsstatistik im Journal
    Das Optimierungsprotokoll wurde erweitert: Es enthält neben anderem detaillierte Statistiken über die Nutzung des MQL5 Cloud Netzwerks, über die Aktivierung und Deaktivierung von Cloud-Agenten.

    Betrieb im Log-Modus der kompletten Optimierung
    Für einen optimalen Ressourcenverbrauch werden nicht alle Meldungen der Agenten in das Protokoll des Testers geschrieben. Um an alle Protokolleinträge zu gelangen, können Sie über das Kontextmenü des Testerprotokolls die Option "Full optimization logs" aktivieren. Bisher hat dieser Modus den Optimierungsprozess deutlich verlangsamt. Die Berechnungszeit wird nun nicht mehr beeinflusst.

    MQL5 Cloud Netzwerk
    Optimierter Betrieb der Testagenten der Cloud. Jetzt werden Berechnungsaufgaben effizienter verteilt.

  8. Der integrierte Kalender enthält Veröffentlichungen von mehr als 900 Indikatoren der 18 größten Volkswirtschaften der Welt, darunter den USA, der Europäische Union, Japan, Großbritannien und anderen. Die relevanten Daten werden aus offenen Quellen in Echtzeit erhoben. Durch die regelmäßige Überprüfung dieser Nachrichten bleiben Händler über die neuesten globalen Nachrichten informiert und können fundierte Handelsentscheidungen treffen.

    Der Wirtschaftskalender ist für Desktop-Terminals und Websites sowie für mobilen Geräten verfügbar. Die Anwendung kann über das Kontextmenü Kalender im Terminal geöffnet werden:




    Wählen Sie Ihre Plattform aus und laden Sie die Tradays-Apps herunter:


    Neben den für die Desktop-Plattform verfügbaren Kalenderfunktionen bietet die mobile Version Ereignis-Erinnerungen und den Zugriff auf eine vollständige Historie der Indikatoren in Form von Charts und Tabellen.

  9. Beim Import der Tick-Historie wurde eine automatische Generierung der benutzerdefinierten Symbolleistenhistorie hinzugefügt. Wenn sich nun die Tickdaten eines benutzerdefinierten Symbols ändern, werden die entsprechenden Balken automatisch neu berechnet:

    • So bleiben einheitliche Daten auf der Plattform erhalten.
    • Nach dem Import von Tick-Daten (sofern genügend Daten vorhanden sind) entfällt der Import von Balken, da diese vom Terminal automatisch berechnet werden.

    Die Änderungen betreffen den Import von Ticks, die über die Terminalschnittstelle durchgeführt werden, sowie das Update von Ticks, die aus MQL5-Anwendungen mit der Funktion CustomTicks* durchgeführt werden. Jede Änderung der Tickdaten führt zur Neuberechnung der entsprechenden 1-Minuten-Balken des benutzerdefinierten Symbols.

  10. Die Datenaktualisierung im Datenfenster wurde korrigiert, wenn ein Fadenkreuz auf einem losgelösten Diagramm verwendet wurde.
  11. Das Speichern des Verlaufs der Tick-Historie wurde korrigiert. In früheren Versionen konnten mehrere Ticks innerhalb einer Millisekunde in einer falschen Reihenfolge gespeichert werden.
  12. Die Generierung von Charts basierend auf einer zu kurzen Kurshistorie (weniger als einen Tag), die auf dem Server verfügbar ist, wurde korrigiert.

MQL5

  1. Es wurde die Debuggingoption MQL5 service hinzugefügt. Diese Anwendungen können nun ähnlich wie Expert Advisor und Indikatoren getestet werden.
  2. Neue Berechnungsmethoden für Gewinn und Marge wurden zur Enumeration ENUM_SYMBOL_CALC_MODE hinzugefügt:

    • SYMBOL_CALC_MODE_EXCH_BONDS — Berechnung börsengehandelter Anleihen.
    • SYMBOL_CALC_MODE_EXCH_STOCKS_MOEX — Berechnung für Aktien der Moskauer Börse.
    • SYMBOL_CALC_MODE_EXCH_BONDS_MOEX — Berechnung für Anleihen der Moskauer Börse.

  3. Die neue Funktion TesterDeposit emuliert Kontotransaktionen während des Testens. Diese Funktion kann beim Testen von Strategien des Geldmanagements hilfreich sein.
    bool  TesterDeposit(
       double money      // Höhe der Kontogutschrift
       );
  4. Während der Ausführung der Methode OnDeinit empfängt die Anwendung MQL5 keine Ereignisse vom Terminal. Bisher konnten Anwendungen aufgrund des Empfangens anderer Ereignisse gelegentlich die Deinitialisierung nicht abschließen (z.B. alle angelegten Objekte löschen).
  5. Es wurden gelegentlich auftretende Fehler behoben, die nach einer Änderung in der Tick-Historie des benutzerdefinierten Symbols für den aktuellen Tag auftreten konnten.
  6. Es wurde eine gelegentlich auftretende Verlangsamung der Anwendung bei der Verwendung einer großen Anzahl (Zehntausende) von grafischen Objekten behoben.
  7. Behoben wurde das Einfrieren des Terminals bei häufigen Aufrufen des Trading-Verlaufs aus MQL5-Programmen.
  8. Behoben wurde ein Fehler der Funktion iBarShift. Mit dem Flag "exact=false" und der Anforderung außerhalb der Daten gab die Funktion die älteste Barnummer statt der neuesten zurück.

Tester

  1. Die Bestimmung der Kernnummer wurde auf Computern mit Prozessoren mit mehreren NUMA-Knoten korrigiert.
  2. Hinzugefügt wurde die Möglichkeit einen Testdurchlauf und Optimierung mit einem Anfangskapital von Null durchzuführen, da jetzt Kontotransaktionen mit der neuen Funktion TesterDeposit während des Tests emuliert werden können.

MetaEditor

  1. Der Befehl code styler kann nun der Symbolleiste für den schnellen Zugriff hinzugefügt werden.
  2. Die Umschaltung auf die Parameterdefinition und die Anzeige der zugehörigen Daten bei Verwendung von Nicht-Unicode-Zeichen in Funktions- und Variablennamen wurde korrigiert.

Die Dokumentation wurde aktualisiert.

Die Aktualisierung wird über das LiveUpdate-System verfügbar sein.