MetaTrader 5 build 4230: Mehr integrierte Anwendungen und erweiterte ONNX-Unterstützung

Die Vorbereitungen für die Einführung von Nasdaq-Marktdaten-Abonnements sind im Gange. Direkt von der Plattform aus können Händler auf Echtzeit-Kurse und umfassende Kursverläufe für Hunderte von Finanzinstrumenten von einer der größten Börsen zugreifen

7 März 2024

Terminal

  1. 28 neue Expert Advisors und 12 neue Indikatoren wurden zum Standardpaket der Plattform hinzugefügt. Die Anwendungen sind im Navigator unter Expert Advisors\Free Robots und Indicators\Free Indicators verfügbar. Jedes Programm existiert dort als Quellcode mit ausführlichen Kommentaren, um Sie beim Erlernen der MQL5-Sprache zu unterstützen.

    Die Roboter setzen Handelsstrategien um, die auf technischen Indikatoren und Kerzenmustern basieren, wie z. B. 3 Black Crows – 3 White Soldiers, Bullish Engulfing – Bearish Engulfing, Bullish Harami – Bearish Harami und andere. Neue Indikatoren sind Implementierungen beliebter Kanäle: Camarilla, DeMark, Donchian, Fibonacci und Keltner, um nur einige zu nennen.



  2. Die Vorbereitungen für die Einführung von Nasdaq-Marktdaten-Abonnements sind im Gange. Direkt von der Plattform aus können Händler auf Echtzeit-Kurse und umfassende Kursverläufe für Hunderte von Finanzinstrumenten von einer der größten Börsen zugreifen. Abonnements sind für jeden Nutzer mit einem Demo-Konto auf dem MetaQuotes-Demo-Server und einem MQL5.community-Konto verfügbar.



    Um loszulegen, müssen Sie nur ein Abonnement abschließen und die entsprechenden Symbole Ihrem Market Watch hinzufügen. Sie können diese Symbole wie normale Instrumente verwenden: Öffnen der Charts, Analyse mit Objekten und Indikatoren und Ausführen von Expert Advisors im Strategietester. Der Zugang zu allen Informationen erfolgt wie bei gewöhnlichen Finanzinstrumenten, mit denen Sie bei einem Broker arbeiten.

  3. Der Abschnitt über die Marge in der Spezifikation des Instruments wurde verbessert. Der Abschnitt enthält nun Margensätze und berechnete Werte für jedes Instrument.



    Behoben wurde Fehler in der Margenanzeige für bestimmte Arten von Symbolen.

  4. Link zum MQL5 Telegram-Kanal im Hilfe-Menü hinzugefügt. Auf dem Kanal werden regelmäßig interessante Inhalte für Entwickler geteilt, darunter Rezensionen neuer Programmierartikel sowie kostenlose Roboter und Indikatoren aus der Code Base. Abonnieren Sie diesen Kanal, um auf dem Laufenden zu bleiben und keine wichtigen Informationen zu verpassen.



  5. Unterstützung für den Parameter ShutdownTerminal im [StartUp]-Abschnitt der nutzerdefinierten Konfigurationsdateien hinzugefügt. Verwenden Sie diesen Parameter, um die Plattform zur Ausführung einmaliger Aufgaben mithilfe von Skripten zu starten. Sie haben zum Beispiel ein Skript, das einen Screenshot des Charts erstellt. Sie können eine Konfigurationsdatei erstellen, die dieses Skript zusammen mit der Plattform startet. Wenn Sie in dieser Datei ShutdownTerminal auf „Yes“ setzen, wird die Plattform sofort nach Beendigung des Skripts automatisch heruntergefahren.
  6. Verbesserter Schutz von Netzwerkprotokollen und Marktprodukten.
  7. Die Unterstützung von Signalen auf Demokonten wurde deaktiviert. Mit dem neuen Handelsbericht haben Sie Zugriff auf erweiterte Statistiken Ihrer Demokonten. Er bietet eine Fülle von Metriken, die die Rentabilität und die Risiken Ihrer Strategie charakterisieren, darunter Wachstums-, Salden- und Kapitalkurven, Diagramme der Handelsverteilung nach Richtung und Instrumenten und vieles mehr.
  8. Die Anzeige von Links zu Maklerverträgen im Hilfemenü wurde korrigiert.
  9. Verbesserte Auswahl des besten Servers bei der Miete von VPS.
  10. Die Aktualisierung der Abonnementseite beim Wechsel zwischen den Abschnitten im Navigator wurde korrigiert.
  11. Die Aktualisierung der Liste der Vereinbarungen bei der Eröffnung eines Kontos wurde korrigiert.
  12. Aktualisierte Übersetzungen der Nutzeroberfläche.

MQL5

  1. Die Eigenschaft MQL_STARTED_FROM_CONFIG wurde in der Enumeration ENUM_MQL_INFO_INTEGER hinzugefügt. Gibt „true“ zurück, wenn das Skript/der Expert Advisor über den Abschnitt „StartUp“ der Konfigurationsdatei gestartet wurde. Dies bedeutet, dass das Skript bzw. der Expert Advisor in der Konfigurationsdatei, mit der das Terminal gestartet wurde, angegeben wurde.
  2. Wir bauen die Unterstützung für ONNX-Modelle weiter aus.

    Aufgaben des maschinellen Lernens erfordern nicht immer eine höhere Rechengenauigkeit. Um Berechnungen zu beschleunigen, verwenden einige Modelle Datentypen mit geringerer Genauigkeit wie Float16 und sogar Float8. Damit die Nutzer die entsprechenden Daten in die Modelle eingeben können, wurden die folgenden Funktionen zu MQL5 hinzugefügt:
    bool ArrayToFP16(ushort &dst_array[],const float &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayToFP16(ushort &dst_array[],const double &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayToFP8(uchar &dst_array[],const float &src_array[],ENUM_FLOAT8_FORMAT fmt);
    bool ArrayToFP8(uchar &dst_array[],const double &src_array[],ENUM_FLOAT8_FORMAT fmt);
    
    bool ArrayFromFP16(float &dst_array[],const ushort &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayFromFP16(double &dst_array[],const ushort &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayFromFP8(float &dst_array[],const uchar &src_array[],ENUM_FLOAT8_FORMAT fmt);
    bool ArrayFromFP8(double &dst_array[],const uchar &src_array[],ENUM_FLOAT8_FORMAT fmt);
    Da sich die realen Zahlenformate für 16 und 8 Bit unterscheiden können, muss der Parameter „fmt“ in den Konvertierungsfunktionen angeben, welches Zahlenformat verarbeitet werden muss. Für 16-Bit-Versionen wird die neue Enumeration NUM_FLOAT16_FORMAT verwendet, die derzeit folgende Werte hat:


    Für 8-Bit-Versionen wird die neue Enumeration ENUM_FLOAT8_FORMAT verwendet, die derzeit folgende Werte hat:

    • FLOAT_FP8_E4M3FN – 8-Bit-Gleitkommazahl, 4 Bits für den Exponenten und 3 Bits für die Mantisse, in der Regel als Koeffizienten verwendet.
    • FLOAT_FP8_E4M3FNUZ — 8-Bit-Gleitkommazahl, 4 Bits für den Exponenten und 3 Bits für die Mantisse. Unterstützt NaN, aber nicht die negative Null und Inf. Werden in der Regel als Koeffizienten verwendet.
    • FLOAT_FP8_E5M2FN – 8-Bit-Gleitkommazahl, 5 Bits für den Exponenten und 2 Bits für die Mantisse. Unterstützt NaN und Inf. Wird in der Regel für Gradienten verwendet.
    • FLOAT_FP8_E5M2FNUZ — 8-Bit-Gleitkommazahl, 5 Bits für den Exponenten und 2 Bits für die Mantisse. Unterstützt NaN, aber nicht die negative Null und Inf. Wird auch für Gradienten verwendet.

  3. Neue Matrix- und Vektormethoden für das maschinelle Lernen hinzugefügt:

    • PrecisionRecall berechnet Werte, um eine Precision-Recall-Kurve zu konstruieren. Ähnlich wie ClassificationScore wird diese Methode auf einen Vektor von wahren Werten angewendet.
    • ReceiverOperatingCharacteristic — berechnet Werte zur Erstellung der ROC-Kurve (Receiver Operating Characteristic). Ähnlich wie ClassificationScore wird diese Methode auf einen Vektor von wahren Werten angewendet.

  4. ONNX Runtime wurde auf Version 1.17 aktualisiert. Details zur Veröffentlichung finden Sie auf GitHub.
  5. Python-Integrationspaket auf Version 5.0.4200 aktualisiert, Unterstützung für Python 3.12 hinzugefügt. Aktualisieren Sie Ihr Paket mit dem Befehl "pip install --upgrade MetaTrader5", um die neuesten Änderungen zu erhalten.
  6. Die Funktion OrderCalcMargin wurde für einige Fälle korrigiert.
  7. Die Eigenschaft DEAL_REASON_CORPORATE_ACTION wurde in die Enumeration ENUM_DEAL_REASON hinzugefügt. Es handelt sich um eine Transaktion, das aufgrund einer Unternehmensmaßnahme durchgeführt wurde: Zusammenlegung oder Umbenennung eines Wertpapiers, Übertragung eines Kunden auf ein anderes Konto usw.
  8. Unterstützung für den Vergleich komplexer Vektoren und Matrizen für die Compare-Methode hinzugefügt. Bei dem Vergleich geht es darum, den Abstand zwischen komplexen Zahlen abzuschätzen. Der Abstand wird berechnet als sqrt(pow(r1-r2, 2) + pow(i1-i2, 2)) und ist eine reelle Zahl, die bereits mit epsilon verglichen werden kann.
  9. Die Umwandlung von Farbtypvariablen in Text im RGB-Format wurde korrigiert.
  10. Feste Wiederkehr des Ergebnisses der Ermittlung von Eigenvektoren in der Methode Eig im Falle eines komplexen Eigenwertes. Methodenüberladung für komplexe Auswertung hinzugefügt.

MetaEditor

  1. Link zum kürzlich veröffentlichten Buch „MQL5 Programming for Traders“ im Menü Help\MQL5.community wurde hinzugefügt. Das Buch wurde auch in das Suchsystem aufgenommen, sodass Sie die benötigten Informationen direkt von MetaEditor aus finden können:




  2. Verbesserungen bei der integrierten Suche:

    • Der Bereich der Suchergebnisse im Toolbox-Fenster wurde in zwei Registerkarten unterteilt: „Suche“ für Online-Suchergebnisse (Dokumentation, Artikel, Buch usw.) und „Suche in Dateien“ für lokale Ergebnisse.
    • Der Ergebnisbereich wurde um einen separaten Suchbegriff ergänzt. Sie können sie anstelle der Suchleiste in der Hauptsymbolleiste von MetaEditor verwenden.

  3. Hinzugefügt wurde die Unterstützung der Modi AVX, AVX2 und AVX512 beim Kompilieren von Befehlen von der Kommandozeile aus. Dazu fügen Sie einen der folgenden Schlüssel in Ihren Kompilierungsbefehl ein: /avx, /avx2 oder /avx512.
  4. SQLite-Engine für Datenbankoperationen auf Version 3.45 aktualisiert.
  5. Deaktivierte Unterstützung für Internet Explorer. Jetzt wird nur noch Microsoft Edge WebView2 zur Anzeige von HTML-Seiten verwendet. Im Vergleich zum veralteten MSHTML erweitert die neue Komponente die Möglichkeiten zur Darstellung von Inhalten erheblich, indem sie Zugang zu den neuesten Technologien bietet. Die Verwendung von WebView2 verbessert das Erscheinungsbild einiger MetaEditor-Abschnitte, erhöht die Leistung und schafft eine reaktionsschnellere Schnittstelle.
  6. Das Einfrieren, das in seltenen Fällen bei der automatischen Funktionsvervollständigung auftrat, wurde behoben.
  7. Behoben wurde ein Fehler in den Absturzprotokollen.

Tester

  1. Die Berechnungen von Triple-Swaps wurden korrigiert, wenn der Starttag des Tests auf den Tag des Triple-Swaps fällt.


MetaTrader 5 Web-Terminal

Verbesserte Anzeige der Margenbedingungen in den Kontrakspezifikationen. Neben den Kennzahlen und den Ausgangsparametern für die Berechnungen werden in den Spezifikationen nun auch die endgültigen Margenwerte angezeigt. Wenn die Höhe der Marge vom Positionsvolumen abhängt, werden die entsprechenden Stufen im Dialog angezeigt.



Die Marge wird auf der Grundlage des Kurses des Finanzinstruments zum Zeitpunkt des Öffnens des Spezifikationsfensters berechnet und nicht in Echtzeit aktualisiert. Daher sollten die Werte nur als Richtwerte betrachtet werden. Um die Werte auf der Grundlage der aktuellen Preise zu aktualisieren, öffnen Sie einfach erneut die Kontraktspezifikationen.