Was ist neu im MetaTrader 5

Die Aktualisierungen der Plattformen für den Desktop, Mobile und Web

21 Juni 2024
MetaTrader 5 Build 4410: Leistungsverbesserungen
MetaTrader 5 Build 4410: Leistungsverbesserungen

Terminal

  • Behoben wurden Abstürze des Terminals, die unter bestimmten Bedingungen beim Teststart auftreten konnte.

MQL5

  • Die Funktion der Eigenschaft MQL_PROGRAM_NAME für Dienstanwendungen wurde korrigiert. Die Eigenschaft hat eine u. U. eine falsche Serviceinstanz zurückgegeben.

MetaTrader 5 Web-Terminal

  1. Die Überprüfung der Browserkompatibilität für das Webterminal wurde korrigiert. In einigen Fällen haben die Nutzer fälschlicherweise eine Meldung erhalten, dass ihr Browser nicht unterstützt wird.
  2. Fehler bei der Eröffnung von Demo-Konten wurden behoben.
  3. Kleinere Korrekturen und Verbesserungen.

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

MetaTrader 5 Android

  1. Völlig neu gestaltete Oberfläche für die Tablet-Versionen. Sie verfügt nun über ein modernes Design, das sich bereits in den iOS- und Webversionen der Plattform bewährt hat. Die Hauptabschnitte befinden sich nun am unteren Rand des Bildschirms, und die Befehle für den Kartenbetrieb sind auf der linken Seite zu finden.




  2. Hinzugefügt wurde ein Kontextmenü im Bereich der Positionshistorie, das einen schnellen Zugriff auf den Handelsdialog oder den Chart des entsprechenden Symbols ermöglicht.
  3. Versteckter Befehl zum Umschalten auf den Handelsdialog für nicht handelbare Symbole.
  4. Der Betrieb mit dem MetaQuotes-Demo-Server wurde korrigiert.

Aktualisieren Sie Ihre mobilen Anwendungen über Google Play, Huawei AppGallery oder durch das Herunterladen der APK-Datei.

7 Juni 2024
MetaTrader 5 Build 4380: Leistungsverbesserungen

Terminal

  1. Es wurden Fehler behoben, die unter bestimmten Bedingungen zu einem fehlerhaften Betrieb des Live-Update-Systems führen konnten.
  2. Die neue Tastenkombination, Alt+X, öffnet die Liste von Expert Advisors.
  3. Behoben wurde ein Fehler in den Absturzprotokollen.

MetaTester

  1. Fehler bei der Einstellung bestimmter Eigenschaften des Bitmap-Grafikobjekts behoben.
  2. Die Verbindung von Testagenten mit dem MQL5-Cloud-Netzwerk ist jetzt verboten, wenn sie in virtuellen Umgebungen arbeiten und wenn der Prozessor den AVX-Befehlssatz nicht unterstützt.

Web-Terminal

  1. Fehler bei der Bedienung des One-Click-Trading-Panels auf dem Chart behoben.
  2. Der Warndialog, der sich öffnet, wenn Sie das One-Click-Trading-Panel im Chart aktivieren, wurde behoben.
31 Mai 2024
MetaTrader 5 Build 4350: Weitere analytische Objekte in der Webplattform und die neue Willkommensseite in MetaEditor

MetaEditor

  1. Willkommensseite hinzugefügt, um Nutzern den Einstieg in den algorithmischen Handel und die Anwendungsentwicklung zu erleichtern.



    Materialien für Anfänger
    Der Abschnitt „Einführung“ stellt das auf MQL5.com verfügbare Lehrmaterial vor: Sprachdokumentation, Bücher, Artikel, Entwicklerforen und die Codebasis-Bibliothek. Es werden auch Dienste vorgestellt, bei denen Sie Ihr Wissen anwenden und zu Geld machen können: der Markt für Anwendungen, Freiberufler und Handelssignale.

    In den Abschnitten Dokumentation und Bücher finden Sie eine ausführlichere Beschreibung der verfügbaren Lernmaterialien.

    Nützliche Funktionen für Entwickler
    Der Abschnitt „What's New“ bietet eine Sammlung wichtiger Informationen, um Entwickler auf dem Laufenden zu halten:


    Außerdem finden Sie hier eine Liste der zuletzt geöffneten Dateien für den schnellen Zugriff.



    Für Nutzer, die ihre Anwendungen aktiv auf dem Markt verkaufen, bietet der Bericht „Meine Verkäufe“ ein unschätzbares Instrument zur Bewertung ihrer Leistung. Sie ermöglicht den Zugang zu:

    • Umfassende Verkaufs- und Download-Statistiken im Zeitverlauf.
    • Verkaufsgeografie, die Aufschluss über die Regionen gibt, in denen sich Ihre Produkte der größten Beliebtheit erfreuen. Daraus können sich Ideen für die weitere Projektausweitung ergeben, wie etwa die Lokalisierung in bestimmte Sprachen oder gezielte Werbekampagnen in bestimmten Regionen.
    • Daten zu den umsatzstärksten Produkten auf der Grundlage von Verkaufsvolumen und erzieltem Umsatz. Das Diagramm kann nach dem Lizenztyp gefiltert werden: Vollversion oder Abonnement für eine bestimmte Dauer. Außerdem sehen Sie hier ein Diagramm mit Produktpreisänderungen. All dies wird Ihnen helfen, Ihre Kunden zu verstehen.
    • Detaillierte Download- und Verkaufsstatistiken für jedes Produkt.


  2. Verbesserte integrierte Suche. Die obere Suchleiste wird jetzt ausschließlich für die Suche nach Text im aktuellen Dokument oder in lokalen Dateien verwendet. Für eine globale Suche nach Bildungsmaterialien und Codes steht ein separater Bereich in der Toolbox zur Verfügung.


  3. Hinzugefügt wurde die Unterstützung von GPT-4o, dem neuesten ChatGPT-Modell, in Copilot. Es kann verwendet werden, um automatisch Code zu vervollständigen und Hinweise zu erhalten. Sie können das neue Modell in den MetaEditor-Einstellungen auswählen.


  4. Aktualisierte Übersetzungen der Nutzeroberfläche.

Terminal

  1. Erhöhte Genauigkeit bei der Anzeige des Kalkulationspreises in der Spezifikation des Handelsinstruments.
  2. Feste MFE- und MAE-Berechnungen im Handelsbericht.
  3. Das Speichern und Wiederherstellen der Filtereinstellungen für den Wirtschaftskalender nach Land und Währung wurde korrigiert.
  4. Die Anwendung von Vorlagen auf Charts wurde korrigiert. Wenn die Anzeige der Handelshistorie für das Chart aktiviert ist, verschwinden die entsprechenden Objekte jetzt nicht mehr, nachdem eine Vorlage angewendet wurde.
  5. Fehler in der Optionentafel behoben. Die Hinzufügung von Symbolen auf der Tafel konnte unter bestimmten Bedingungen zum Einfrieren der Plattform führen.
  6. Fehler im Positionsbearbeitungsdialog behoben. In einigen Fällen konnten anstelle der aktuellen Stop-Loss- und Take-Profit-Werte falsche Werte eingegeben werden.
  7. Aktualisierte Übersetzungen der Nutzeroberfläche.

MQL5

  1. Die Funktion ArrayResize wurde optimiert und beschleunigt. Die Funktion kann unter bestimmten Bedingungen bis zu 40 % schneller ausgeführt werden.
  2. Aktualisierte Unterstützung für ONNX.
  3. MessageBox-Funktionsaufrufe in Dienstanwendungen wurden korrigiert. Unabhängig von der Schaltfläche, die der Nutzer im Dialogfeld gedrückt hat, gab die Funktion einen Nullwert zurück.
  4. Fehler behoben, der in manchen Fällen zu einer unvollständigen Initialisierung von MQL5-Programmen führte.
  5. Fehler beim Parsen einiger Makros wurde behoben. Der Fehler trat bei der Verwendung einer großen Anzahl von Konstanten auf.


MetaTrader 5 Web-Terminal

  1. Erweiterte Liste der verfügbaren analytischen Objekte. Mit dem Lineal können Sie nun Zeit und Preise messen, Formen zeichnen (Rechteck, Ellipse, Dreieck und Kreis) und Beschriftungen Ihrem Chart hinzufügen. Alle Objekte sind in der linken Leiste zu finden:


  2. Es wurde die Möglichkeit hinzugefügt, Objekte umzubenennen.
  3. Bessere Integration mit dem Wirtschaftskalender. Optimierte und beschleunigte Datenabfragen.
  4. Beschleunigte Chart-Operationen.
  5. Beschleunigter Start der Anwendung und Verbindung mit einem Handelskonto.
  6. Korrigierte Einstellung, die die Anzeige von Handelsoperationen auf dem Chart steuert.
  7. Korrigierte Anzeige der Einschussanforderungen in den Kontraktspezifikationen.
  8. Die Anzeige des Kontostatus im Abschnitt „Historie“ wurde korrigiert. Auf Geräten mit schmalen Bildschirmen konnte es zu Problemen kommen.
  9. Die Anzeige der Änderungen der Markttiefe wurde korrigiert.
22 März 2024
MetaTrader 5 Build 4260: Allgemeine Verbesserungen

Terminal

  1. Behoben wurde ein Fehler beim Abonnieren von kostenlosen Produkten im Abonnement-Service. Unter bestimmten Umständen wird die entsprechende Schaltfläche im Dialogfeld nicht angezeigt.
  2. Aktualisierte Übersetzungen der Nutzeroberfläche.

MQL5

  1. Erweiterte Unterstützung für Tastaturereignisse:

    • Das Ereignis CHARTEVENT_KEYUP für die Ereignisbehandlung in OnChartEvent hinzugefügt. Das ermöglicht die Verfolgung von Ereignissen im Zusammenhang mit dem Loslassen von Tasten.
    • Verarbeitung von Tottasten hinzugefügt. Dies sind die Tasten, die das Aussehen des Zeichens verändern, das durch die unmittelbar danach angeschlagene Taste erzeugt wird. Im griechischen Layout kann zum Beispiel ein betonter Vokal ά, έ, ύ usw. erzeugt werden, indem zuerst ";" und dann der Vokal gedrückt wird. Das Drücken solcher Tasten kann mit der Funktion TranslateKey nachverfolgt werden.
    • Verbesserte Funktionen TranslateKey und TerminalInfoInteger. Jetzt können Sie beim Empfang von CHARTEVENT_KEYUP- oder CHARTEVENT_KEYDOWN-Ereignissen in OnChartEvent den vollständigen Tastaturstatus zum Zeitpunkt des Ereignisses abrufen. Wenn der Nutzer z. B. die Taste Z gedrückt hat, können Sie feststellen, ob in diesem Moment die Strg- oder die Umschalttaste gedrückt wurde. Bei anderen Ereignissen arbeiten die Funktionen weiter wie bisher und geben den aktuellen Zustand der Tastatur zurück.

  2. Die Alglib-Bibliothek wurde aktualisiert. Nach der Aktualisierung wurden die folgenden Methoden in den Klassen CMatrixDouble und CMatrixComplex geändert:
    vector<double/complex> operator[](const int i) const;
    vector<double/complex> operator[](const ulong i) const;
    Sie wurden durch eine einzige Methode mit einem konstanten Rückgabewert ersetzt:
    const vector<double/complex> operator[](const ulong i) const;
    Diese Änderung wird dazu beitragen, die falsche Verwendung des Ergebnisses an Ort und Stelle zu erfassen, da in der neuen Alglib-Version der Code mat[row][col]=x anders funktioniert als in der alten Version. Zuvor war damit das Schreiben in eine Matrix gemeint. Jetzt wird der Wert in ein temporäres Objekt vector<double/complex> geschrieben, das nach der Aufzeichnung sofort zerstört wird.

    Durch Hinzufügen von const zum Rückgabewert wird die Verwendung von mat[row][col]=x ermöglicht. Da mat[row] jetzt einen konstanten Vektor zurückgibt, führt der Versuch, sein Element mit mat[row][col] zu überschreiben, zu einem Kompilierungsfehler.

  3. Es wurde ein Fehler behoben, der unter bestimmten Bedingungen zur fehlerhaften Ausführung der Funktion ChartGet* führen konnte.

MetaEditor

  1. Zusätzliche Suche durch den Inhalt des Buches Neural Networks for Algorithmic Trading in MQL5. Die neue Option erscheint in demselben Abschnitt wie das zuvor veröffentlichte Buch MQL5 Programming for Traders.



Tester

  1. Die Fehler bei einer Optimierung, die einer großen Anzahl von Remote-Agenten verwendete, wurde korrigiert. In einigen Fällen kann der Fehler eine übermäßige CPU-Auslastung verursachen.


MetaTrader 5 Web-Terminal

  1. Die Einstellung von Limit-Orders für Instrumente mit dem Ausführungsmodus Börse wurde korrigiert. Wenn sich nun der Preis des erteilten Auftrags im Verhältnis zum aktuellen Preis ändert (höher oder niedriger wird), wechselt der Auftragstyp nicht von Buy Limit zu Sell Limit und umgekehrt, wie es bei anderen Instrumenten der Fall ist. So können die Nutzer Buy-Limit-Aufträge oberhalb des Marktes und Sell-Limit-Aufträge unterhalb des Marktes platzieren und so sicherstellen, dass der Transaktionspreis garantiert begrenzt ist.
  2. Die Anzeige ausgewählter Symbolzähler im Market Watch wurde korrigiert.
7 März 2024
MetaTrader 5 build 4230: Mehr integrierte Anwendungen und erweiterte ONNX-Unterstützung

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.
18 Januar 2024
MetaTrader 5 Build 4150: Export von Handelsberichten und neue Methoden des Machine Learning in MQL5

Terminal

  1. Der Export von Handelsberichten als HTML- und PDF-Dateien hinzugefügt. Mit dieser Option können Sie Ihre Handelserfolge problemlos mit Kollegen und Investoren teilen. Neue Exportbefehle sind im Menü Datei und im Menü Bericht verfügbar.




  2. Es wurde die Möglichkeit hinzugefügt, den aktuellen Status des Fensters der Marktübersicht in einer CSV-Datei zu speichern. Wählen Sie dazu im Kontextmenü Export. Die Datei speichert die Metriken, die zum Zeitpunkt des Exports ausgewählt sind. Um mehr Daten zu speichern, aktivieren Sie zusätzliche Spalten über das Kontextmenü.




  3. Verbesserte Anzeige der Margenbedingungen in den Kontrakspezifikationen. Anstelle von Verhältnissen und Anfangsparametern für die Berechnungen werden in den Spezifikationen nun die endgültigen Werte für die Marge 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 Instrumentenkurses zum Zeitpunkt des Öffnens des Spezifikationsfensters berechnet und nicht in Echtzeit aktualisiert. Daher sollten die Werte als Richtwerte betrachtet werden. Um die Werte auf der Grundlage der aktuellen Preise neu zu berechnen, öffnen Sie die Instrumentenspezifikation erneut.

  4. 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.
  5. Die Darstellung des potentiellen Gewinn bzw. Verlustes bei der Bearbeitung von Take-Profit und Stop-Loss für Stop-Limit-Aufträge wurde korrigiert.
  6. Korrekturen und Verbesserungen im Zusammenhang mit dem Betrieb des Zahlungssystems.
  7. Die doppelte Überprüfungen beim Laden einer Gruppe von Symbolen im Market Watch aus einer *.set-Datei wurden behoben.
  8. Der Web-Installer für Parallels wurde korrigiert. Wenn Sie nun dieses Virtualisierungssystem auf macOS mit M1/M2/M3 verwenden, wird die Plattform korrekt installiert.
  9. Aktualisierte Übersetzungen der Nutzeroberfläche.
  10. Behoben wurde ein Fehler in den Absturzprotokollen.

MQL5

  1. Es wurden neue Methoden für Operationen mit Matrizen und Vektoren hinzugefügt, die beim maschinellen Lernen verwendet werden.

    • ConfusionMatrix: Berechnet die Fehlermatrix. Die Methode wird auf den Vektor der vorhergesagten Werte angewendet.
    • ConfusionMatrixMultilabel: Berechnet die Fehlermatrix für jeden Labelwert. Die Methode wird auf den Vektor der vorhergesagten Werte angewendet.
    • KlassifizierungMetrik: Berechnet die Klassifizierungsmetrik, um die Qualität der vorhergesagten Daten im Vergleich zu den wirklichen Daten zu bewerten. Die Methode wird auf den Vektor der vorhergesagten Werte angewendet.
    • ClassificationScore: Berechnet die Klassifizierungsmetrik, um die Qualität der vorhergesagten Daten im Vergleich zu den wirklichen Daten zu bewerten. Die Methode wird auf den Vektor der wirklichen (true) Werte angewendet.
     
  2. Das Speichern von Daten in eine Textdatei im UTF-8-Format mit der Funktion FileWrite wurde korrigiert.
  3. Deaktivierte und veraltete Signal*-Funktionen. Sie werden nun leere Signalsätze zurückgeben.

MetaEditor

  1. Erhöhte Abtastrate für die Profilierung. Der Profiler erfasst die Anwendungszustände jetzt 10.000 Mal pro Sekunde, was eine genauere Messung der Funktionsausführungsraten ermöglicht.
  2. Aktualisierung der verfügbaren Modelle im automatischen Codierassistenten Copilot. ChatGPT-4 Turbo Modell hinzugefügt, veraltete Implementierungen entfernt.
  3. Fehler beim Ersetzen von Wörtern in einem ausgewählten Textfragment behoben.

Tester

  1. Das Einfrieren von Vorwärtstests, das im generischen Optimierungsmodus auftreten konnte, wurde behoben.
  2. Optimierte und beschleunigte Operationen mit der Handelsgeschichte von MQL5-Programmen.
  3. Korrigierte Gewinnberechnungen für Close By Operationen. Bei Handelsinstrumenten, die nicht mit dem Hauptsymbol des Tests übereinstimmen, konnte ein Fehler auftreten.

Web-Terminal

  1. Die Aktualisierung der Eigenschaften von Handelssymbolen bei Änderungen der relevanten Eigenschaften auf der Seite des Brokers wurde behoben.
  2. Die Darstellung von Kerzenkörpern im Chart wurde korrigiert. Das Chart konnte kleine Körperhöhen nicht korrekt anzeigen.
  3. Die Funktion des Feldes Land (Country) im Kontoeröffnungsformular wurde korrigiert.
20 Oktober 2023
MetaTrader 5 build 4040: Verbesserungen und Korrekturen

Terminal

  1. Verbesserter Handelsbericht. Die Anzeige des ersten Wertes im Wachstumsdiagramm und in der Drawdown-Berechnung wurde korrigiert.



  2. Bei der Kontoeröffnung erhalten die Händler über das interne E-Mail-System mehrere Nachrichten. Sie enthalten Anmeldeinformationen und nützliche Informationen über die Fähigkeiten der Plattform und die integrierten Dienste. Wir haben diese E-Mails aktualisiert und verbessert, sie in 50 Sprachen übersetzt und das Design komplett überarbeitet.
  3. Optimierte Seiten für Kontoeinzahlungen und -auszahlungen.
  4. Der Fehler bei der Volumenänderung beim Aufgeben eines neuen Auftrags behoben. Bei einigen Kombinationen von Einstellungen für Handelsinstrumente war das Feld nicht zur Bearbeitung verfügbar.
  5. Die Anzeige der Links zu Maklerverträgen im Dialog bei der Eröffnung eines Demokontos wurde korrigiert.
  6. Aktualisierte Übersetzungen der Nutzeroberfläche.

MQL5

  1. Es wurde ein Fehler behoben, der unter bestimmten Bedingungen zum Absturz des MQL5-Programms beim Start führen konnte.

MetaTrader 5 Web-Terminal

  1. Die Anzeige der Stop-Loss- und Take-Profit-Werte in der Handelshistorie wurde korrigiert.
  2. Verbesserte Protokollierung. Neue Protokollmeldungen zeigen Informationen über erfolgreiche und fehlgeschlagene Verbindungen an.
  3. Die Bedienung des Kontextmenüs in der Marktübersicht wurde korrigiert.
  4. Die Anzeige von Benachrichtigungen über Operationsergebnisse beim Handel über die Markttiefe wurde korrigiert.
  5. Der Fehler, der dazu führte, dass das Indikator-Unterfenster beim Aufruf des Handelsdialogs aus dem Diagramm entfernt wurde, wurde behoben.
  6. Das Ziehen von Handelsstufen, die über analytischen Objekten angezeigt werden, auf dem Chart wurde korrigiert.
29 September 2023
MetaTrader 5 build 4000: Handelsbericht und Webterminal sind verbessert

Terminal

  1. Die Anzeige des monatlichen Geldzuwachses in den neuen Handelsberichten wurde hinzugefügt. Um die Metriken anzuzeigen, gehen Sie zum Übersichtsbericht und wählen Sie den Saldenmodus.


    Monatliches Geldwachstum im neuen Handelsbericht


  2. Die Anzeige des neuen Handelsberichts wurde korrigiert und verbessert.
  3. ONNX Runtime wurde auf Version 1.16 aktualisiert. Details zur Veröffentlichung finden Sie auf GitHub.
  4. Aktualisierte Übersetzungen der Nutzeroberfläche.

MetaTrader 5 Web-Terminal

  1. Die Anzeige der Dialoge zum Ändern von Passwörtern und zum Öffnen von Konten wurde korrigiert.
  2. Die Anzeige der Stop-Loss- und Take-Profit-Werte in der Historie wurde korrigiert. Nach der Änderung der betreffenden Preise konnten Fehler auftreten.
  3. Scrollen im Risikowarnungsdialog hinzugefügt.
  4. Aktualisierte Übersetzungen der Nutzeroberfläche.
  5. Verbesserungen und Korrekturen
21 September 2023
MetaTrader 5 build 3980: Verbesserungen und Korrekturen

Terminal

  1. Neue Verbesserungen im Handelsbericht. Die Anzeige des Gesamtwerts der Swaps und des Gewinndiagramms nach Symbolen wurde korrigiert.
  2. Optimierte Ein- und Auszahlungsseiten. Weitere Einzelheiten über die Integration von Zahlungssystemen in der neue Plattform finden Sie in den Versionshinweisen zu Build 3950.
  3. Optimierte Neuberechnungen von Finanzoperationen auf der gesamten Plattform, einschließlich des Strategieprüfers. Jetzt werden Gewinn, Margen und viele andere Parameter schneller berechnet.
  4. Aktualisierte Übersetzungen der Nutzeroberfläche.

MQL5

  1. Konjugierte Methoden für komplexe, vector<complex> und matrix<complex> Typen wurden hinzugefügt. Es können Konjugationen komplexer Zahlen durchgeführt werden.
    //+------------------------------------------------------------------+
    //| Skript Programm Start Funktion                                   |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       complex a=1+1i;
       complex b=a.Conjugate();
       Print(a, "  ", b);
       /*
       (1,1)  (1,-1)
       */
    
       vectorc va= {0.1+0.1i, 0.2+0.2i, 0.3+0.3i};
       vectorc vb=va.Conjugate();
       Print(va, "  ", vb);
       /*
       [(0.1,0.1),(0.2,0.2),(0.3,0.3)]  [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]
       */
    
       matrixc ma(2, 3);
       ma.Row(va, 0);
       ma.Row(vb, 1);
       matrixc mb=ma.Conjugate();
       Print(ma);
       Print(mb);
       /*
       [[(0.1,0.1),(0.2,0.2),(0.3,0.3)]
        [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]]
    
       [[(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]
        [(0.1,0.1),(0.2,0.2),(0.3,0.3)]]
       */
       
       ma=mb.Transpose().Conjugate();
       Print(ma);
       /*
       [[(0.1,0.1),(0.1,-0.1)]
        [(0.2,0.2),(0.2,-0.2)]
        [(0.3,0.3),(0.3,-0.3)]]
       */
      }
  2. Die Übergabe der Ausgaben von ONNX-Modellen des Typs ‚Sequence of maps‘ wurde hinzugefügt.

    Für ONNX-Modelle, die Map-Sequenzen in der Ausgabeschicht bereitstellen (ONNX_TYPE_SEQUENCE von ONNX_TYPE_MAP), sollte ein dynamisches oder festes Array von Strukturen als Ausgabeparameter übergeben werden. Die ersten beiden Felder dieser Struktur müssen den Schlüssel- und Werttypen ONNX_TYPE_MAP entsprechen und feste oder dynamische Arrays sein.

    Betrachten Sie das Modell iris.onnx, das mit dem folgenden Python-Skript erstellt wurde:
    from sys import argv
    data_path=argv[0]
    last_index=data_path.rfind("\\")+1
    data_path=data_path[0:last_index]
    
    from sklearn.datasets import load_iris
    iris_dataset = load_iris()
    from sklearn.model_selection import train_test_split
    X_train, X_test, y_train, y_test = train_test_split(iris_dataset['data'], iris_dataset['target'], random_state=0)
    from sklearn.neighbors import KNeighborsClassifier
    knn = KNeighborsClassifier(n_neighbors=1)
    knn.fit(X_train, y_train)
    
    # Konvertierung ins ONNX-Format
    from skl2onnx import convert_sklearn
    from skl2onnx.common.data_types import FloatTensorType
    initial_type = [('float_input', FloatTensorType([None, 4]))]
    onx = convert_sklearn(knn, initial_types=initial_type)
    path = data_path+"iris.onnx"
    with open(path, "wb") as f:
        f.write(onx.SerializeToString())
    Öffnen Sie die erstellte onnx-Datei in MetaEditor:

    Ansicht des ONNX-Modells in MetaEditor


    Die Map-Sequenz wird als "output_probability" übergeben. Sie verfügt über einen Schlüssel vom Typ INT64 (entspricht long in MQL5) und den Wert vom Typ float. Um Daten von diesem Ausgang zu erhalten, deklarieren Sie die folgende Struktur:
    struct MyMap
      {
       long              key[];
       float             value[];
      };
    Hier haben wir dynamische Arrays mit entsprechenden Typen verwendet. In diesem Fall können wir feste Arrays verwenden, da die Map für dieses Modell immer 3 Schlüssel/Wertpaare enthält.

    Da die Map-Sequenz zurückgegeben wird, sollte ein Array solcher Strukturen als Parameter für den Empfang von Daten von output_probability output übergeben werden. Diese Anordnung kann dynamisch oder fest sein, je nach den Eigenschaften eines bestimmten Modells. Beispiel:
    //--- ein Array deklarieren, um Daten von der Ausgabeschicht output_probability zu erhalten
    MyMap output_probability[];
    
    ...
    
    //--- Modell läuft
    OnnxRun(model,ONNX_DEBUG_LOGS,float_input,output_label,output_probability);

MetaEditor

  1. Die Anzeige der Ausgabetypen im ONNX-Modellbetrachter wurde korrigiert.



MetaTrader 5 Web Terminal build 3980

  1. Im Hauptmenü des Web-Terminals wurde der Abschnitt „Contact Broker“ hinzugefügt.
  2. Fehlerbehandlung für SSL-Authentifizierungen hinzugefügt. Diese Authentifizierungsart wird im Webterminal nicht unterstützt. Stattdessen können Einmal-Passwörter verwendet werden.
  3. Der Download-Link für die Desktop-Plattform im Hauptmenü wurde korrigiert.
  4. Der Dialog zur Kontoverwaltung wurde korrigiert. Wenn der Broker die Option zur Eröffnung eines Demo- oder Realkontos nicht anbietet, wird der entsprechende Menüpunkt ausgeblendet.
14 September 2023
MetaTrader 5 Plattform Build 3950: Einzahlungen/Abhebungen im Terminal und aktualisierter Handelsbericht

Terminal

  1. Unterstützung von Konten-Operationen zum Einzahlen/Abheben von Geldmitteln von einem Handelskonto direkt im Kundenterminal hinzugefügt.

    Wir haben die gängigsten Zahlungssysteme direkt in die MetaTrader 5-Plattform integriert, was es den Brokern ermöglicht, den Händlern ein neues Serviceniveau zu bieten. Wählen Sie beim Einzahlen oder Aufladen einfach die für Sie am besten geeignete Methode und schließen Sie die Transaktion ab. Für mehr Komfort können die Nutzer ausgewählte Karten speichern, damit sie nicht jedes Mal die Kartendaten eingeben müssen. Die Makler speichern keine Zahlungsdaten und Kartennummern. Die vom Nutzer eingegebenen Zahlungsdaten werden über einen sicheren Kanal an das vom Nutzer gewählte Zahlungssystem übermittelt.

    Die neue Funktionen bietet Händlern die Möglichkeit, ihre Gelder mit einem Klick zu verwalten, ohne das Kundenterminal verlassen zu müssen.



  2. Der Bericht über den Handelsverlauf wurde vollständig überarbeitet. Jetzt ist er einfacher gestaltet. Wir haben den Ansatz zur Darstellung von Informationen überarbeitet und trockene statistische Berichte in interaktive Grafiken und Diagramme umgewandelt. Die Arbeiten sind noch im Gange, aber Sie können die Änderungen bereits beurteilen.

    Um Handelsstatistiken anzuzeigen, klicken Sie im Terminalmenü Ansicht auf Berichte.





    Der Bericht ist in vier Registerkarten unterteilt, die jeweils aggregierte Informationen enthalten:

    • Zusammenfassung — Handelsübersicht: Kontodaten, Gesamtgewinn und -verlust, Einzahlungen und Abhebungen, Saldo, Wachstums- und Dividendendiagramme und andere.
    • Gewinn/Verlust — Daten zu Gewinn und Verlust der Handelsgeschäfte. Der Parameter ist nach Handelsarten unterteilt (manuelle, algorithmische und kopierende Trades). Die Ergebnisse können in Form von Handelsgeschäfte oder Geld nach Monaten und Jahren analysiert werden.
    • Long/Short — dynamisches Verhältnis von Käufen und Verkäufen in bestimmten Zeiträumen sowie Kauf- und Verkaufsrentabilität.
    • Symbole — Analyse von Geschäften nach Finanzinstrumenten. Hier sehen Sie, mit welchen Symbolen Sie Geld verdienen oder verlieren, wie oft Sie mit ihnen handeln, sowie Diagramme über den Handel und das Geldvolumen für diese Symbole.


    Neue Berichte ermöglichen es Ihnen, die Handelsergebnisse unter verschiedenen Aspekten visuell auszuwerten, indem Sie einfach auf die Registerkarten klicken. Histogramme, Schaubilder und Diagramme sind interaktiv und liefern zusätzliche Informationen, wenn der Mauszeiger über sie bewegt wird. Unsere Designer haben sich viel Mühe gegeben, die Berichte so einfach und klar wie möglich zu gestalten. Probieren Sie sie einfach aus!

  3. Die Verwendung der Befehle von Advanced Vector Extensions wurde hinzugefügt, falls sie von der CPU unterstützt werden. Dies ermöglicht eine effizientere Nutzung der CPU-Kapazitäten, mit denen das Terminal gestartet wird. Jetzt ermittelt das Terminal bei der Installation oder Aktualisierung selbständig die CPU-Architektur und installiert die optimalste Version. Während des Starts sendet das Terminal eine Nachricht (AVX/AVX2) an das Protokoll, die den Satz von Anweisungen anzeigt, für den das Terminal gebaut ist.
    Terminal	MetaTrader 5 x64 build 3914 started for MetaQuotes Software Corp.
    Terminal	Windows 10 build 19045, 20 x Intel Xeon  E5-2630 v4 @ 2.20GHz, AVX, 41 / 63 Gb memory, 58 / 280 Gb disk, UAC, GMT+2
    

    Advanced Vector Extensions (AVX) ist eine Erweiterung des x86-Befehlssatzes für Intel- und AMD-Mikroprozessoren, die bereits 2008 vorgeschlagen wurde. Die weitere Entwicklung hat zum Erscheinen von AVX2 und AVX-512 (2013) geführt.

  4. Zusätzlich zu den beiden Versionen der MetaTrader 5-Terminals auf X64 und AVX haben wir die dritte Version des Desktop-Terminals mit direkter Unterstützung für AVX2-Befehle veröffentlicht. Gleichzeitig arbeiten die ONNX-Modelle jetzt auch mit Unterstützung für AVX2-Befehle.
  5. Zusätzliche Anzeige von Links zu den erforderlichen regulatorischen Dokumenten des Maklers. Sie können nun alle notwendigen rechtlichen Informationen von Ihrem Makler direkt im Kundenterminal unter Hilfe / Terms & Conditions erhalten.



  6. Korrigiert wurde die 2FA Autorisierung im Falle der zusätzlichen Verwendung einer erweiterten Autorisierung mit Zertifikaten.
  7. Die Anzeige von internen Mails unter MacOS wurde korrigiert.
  8. Die Anzeige des Fensters „Signale“ bei der Arbeit in Wine wurde korrigiert.
  9. Neue MetaTrader 4 und 5 Installationsprogramme für Linux veröffentlicht.
  10. Zusätzliche Befehle zum Aufrufen Download-Seiten der Linux- und Mac-Terminalversion wurden in der Hilfe hinzugefügt. Für die Bequemlichkeit der Händler haben wir einen speziellen Bereich der Website mit Terminal-Versionen für alle Plattformen sowie für den Handel in einem Browser erstellt.



  11. Das Einbetten von Bildern in interne Mails wurde korrigiert.
  12. Neue MetaTrader 5 Terminal-Installationsprogramme für Mac mit Unterstützung für M1/M2-Prozessoren veröffentlicht. Aufgrund der Umstellung auf Wine 8.0.1 empfehlen wir Ihnen dringend, alte Versionen zu entfernen und die neue zu installieren. Bei der Verwendung von Wine-Versionen älter als 8.0.0 wird im Terminalprotokoll eine Meldung über die Notwendigkeit eines Updates angezeigt.
  13. Hinzufügen von „VPS Hosting Speed Up“ im Netzwerk-Scan-Menü, das den Ping zu Ihrem Trading Server anzeigt. So können Sie deutlich sehen, wie sich Ihre Netzwerkverzögerungen verringert, wenn Sie einen integrierten VPS mieten.




  14. Verschärfung der Anforderungen an die Mindestkomplexität von Passwörtern, nämlich:

    • Passwortlänge — mindestens 8 Zeichen
    • Das Passwort muss mindestens jeweils 1 Zeichen in Groß- und Kleinschreibung, mindestens 1 Ziffer und mindestens 1 Sonderzeichen enthalten.

  15. Verwendbare Links in Terminalprotokollen. Wenn die Nutzer nun auf Zeilen mit https-Links doppelklicken, werden sie zu ihren Browsern weitergeleitet und der Link wird geöffnet.
  16. Korrigierte Suche nach Handelsinstrumenten in Market Watch. Jetzt wird das Symbol zuerst nach dem Namen und dann in anderen Feldern gesucht: Beschreibung, ISIN usw.
  17. Bei der Berechnung des Saldos in den Berichten über den Kontohandel wurde der Gewinn aus dem Handel berücksichtigt. In einigen Fällen wurde der Instrumententyp bei den Berechnungen nicht berücksichtigt.

VPS-Hosting

  1. Es wurde die Möglichkeit hinzugefügt, EX5-Programme zu senden und auszuführen, die unter dem x64/AVX/AVX2-Befehlssatz kompiliert wurden. Programme für AVX512 werden auf dem integrierten VPS nicht unterstützt.
  2. Die Anzahl der Standorte für die Anmietung des integrierten VPS wurde auf 27 erhöht. Jetzt ist die Auswahl des nächstgelegenen Servers noch größer geworden.

MQL5

  1. Zusätzliche Steuerung der Kompilierungseinstellungen, einschließlich der Auswahl der erweiterten Prozessorbefehlssätze — AVX, AVX2, AVX512 und FMA3.

    Moderne CPUs verfügen über eine Reihe fortschrittlicher Befehle, die mathematische Berechnungen erheblich beschleunigen, aber die große Mehrheit der modernen Programme nutzt diese Möglichkeiten nicht. Wir haben den MQL5-Sprachcompiler um Unterstützung für diese Anweisungen erweitert, was eine effizientere und schnellere Codegenerierung ermöglicht.

    Wir haben auch die Möglichkeit hinzugefügt, zu wählen, mit welcher Art von Anweisungen ein MQL5-Programm kompiliert werden soll. Sie können sowohl allgemeine Einstellungen für einzelne Programme in den MetaEditor-Optionen festlegen, als auch persönliche Einstellungen in den Projekteinstellungen vornehmen:



  2. Die Enumerationen ENUM_AVERAGE_MODE und ENUM_CLASSIFICATION_METRIC wurden zu den Matrix- und Vektormethoden hinzugefügt.
  3. Set-Methode für Vektoren hinzugefügt.
  4. Überarbeitete OpenCL-Initialisierung — jetzt wird sie durch die erste tatsächliche Verwendung initialisiert, nicht durch das Laden eines MQL5-Programms, das OpenCL-Funktionen enthält.
  5. Ein Fehler beim Aufruf der Funktion SocketIsConnected wurde behoben.
  6. Die Verzögerung beim Aufruf von OnDeinit beim Entladen von nutzerdefinierten Indikatoren behoben.
  7. Es wurde ein Compiler-Fehler behoben, der eine falsche Berechnung der String-Länge in der Eigenschaft indicator_label verursachte, was zu einer falschen Anzeige von Tooltips für grafische Objekte führte.
  8. Die Verwendung von mehrzeiligen Kommentaren im Makrokörper wurde korrigiert. Ein Beispiel für ein Makro, bei dem der Fehler aufgetreten ist:
    #define MACRO1 /*
    #define MACRO2 */
    void OnStart()
    {
    #ifdef MACRO2
        Print( 2 );
    #else
        Print( 1 );
    #endif
    }
  9. Die Reihenfolge der Parameter der MathAtan2-Funktion wurde korrigiert. Die Reihenfolge entspricht nun der ähnlichen Funktion in C++.
  10. Der neue Wert TERMINAL_CPU_ARCHITECTURE wurde zur Enumeration ENUM_TERMINAL_INFO_STRING hinzugefügt. Außerdem wurde das Makro __CPU_ARCHITECTURE__ hinzugefügt, das die CPU-Architektur des Computers ermittelt, auf dem das Terminal läuft. Anwendungsbeispiel:
    void OnStart()
      {
       Print("CPU name:         ",TerminalInfoString(TERMINAL_CPU_NAME));
       Print("CPU cores:        ",TerminalInfoInteger(TERMINAL_CPU_CORES));
       Print("CPU architecture: ",TerminalInfoString(TERMINAL_CPU_ARCHITECTURE));  
       Print("");
       Print("EX5 architecture: ",__CPU_ARCHITECTURE__);                            
      }
    
    CPU name:         12th Gen Intel Core i9-12900K
    CPU cores:        24
    CPU architecture: AVX2 + FMA3
    
    EX5 architecture: AVX

  11. Das Verhalten der externen Modifikatoren wurde geändert. Die Deklaration einer Variablen mit dem Modifikator extern ist nun eine Vordeklaration der Variablen.

    Neue Einschränkungen:
    1. Die Vordeklaration der Variablen sollte keine Initialisierung enthalten. Beim Kompilieren des nachstehenden Codes wird beispielsweise der Fehler „X - external variable initialization is not allowed“ angezeigt:
      extern int X=0;
      
      void OnStart()
        {
        }

    2. Die „externe“ Variable sollte im Programm ohne das Schlüsselwort „extern“ deklariert werden. Beim Kompilieren des nachstehenden Codes wird beispielsweise der Fehler „unresolved extern variable X“ angezeigt:
      extern int X;
      
      void OnStart()
        {
        }

    3. Bei der Verwendung von 'extern' ist es wichtig, die Reihenfolge der Initialisierung zu beachten, da auf eine Variable zugegriffen werden kann, bevor sie initialisiert wurde. Der folgende Code schreibt beispielsweise „Y=0 X=5“ ins Protokoll, da die Initialisierung der Variablen Y vor der Initialisierung der Variablen X erfolgt:
      extern int X;
      int        Y=X;
      
      void OnStart(void)
        {
         Print("Y=",Y," X=",X);
        }
        
      int X=_Digits;

Lösungen an

  1. Die ALGLIB-Bibliothek wurde auf die Version 3.19 aktualisiert. ALGLIB ist eine leistungsstarke Bibliothek für numerische Analysen, die für die Arbeit mit numerischen Methoden und Datenanalysealgorithmen entwickelt wurde.

    Wir haben bestehende Bibliotheksklassen überarbeitet, um Matrizen und Vektoren zu verwenden, und auch neue Funktionen aus ALGLIB 3.19 hinzugefügt. Der gesamte Quellcode wurde überarbeitet und in einen einheitlichen Designstil gebracht. Der Quellcode der ALGLIB-Bibliothek befindet sich im Verzeichnis <Terminaldaten>\MQL5\Include\Math\Alglib. Die Testskripts befinden sich in MQL5\Scripts\UnitTests\Alglib.

    Leider waren die Änderungen in der ALGLIB-Bibliothek Version 3.19 für MQL5 ziemlich signifikant, sodass es keine Abwärtskompatibilität gibt. Wenn Ihre Codes die ALGLIB-Bibliothek für MQL5 Version 3.5 verwenden, müssen Sie Ihre Programme explizit überprüfen und die notwendigen Änderungen vornehmen.

    Neben der Bibliothek selbst wurden auch die Testskripte aktualisiert — die Anzahl der Tests stieg von 62 auf 91 für Klassen und von 143 auf 152 für Schnittstellen. Daher bieten die Entwickler der MetaTrader 5-Plattform den Händlern die effizientesten

    • MQL5, eine Sprache, die in Bezug auf die Geschwindigkeit mit C++ vergleichbar ist;
    • integrierte Verarbeitung von SQLite-Datenbanken, OpenCL-Berechnungen, DirectX-Unterstützung und Integration von Python;
    • mathematische Bibliotheken, einschließlich Fuzzy-Logik, Statistik und aktualisierte ALGLIB.

MetaEditor

  1. Die Verwendung der Befehle von Advanced Vector Extensions wurde hinzugefügt, falls sie von der CPU unterstützt werden.
  2. Verbesserte Anzeige von lokalen Variablen beim Debuggen.

Tester

  1. Die Verwendung von AVX2-Befehlen wurde hinzugefügt, sofern sie von der CPU unterstützt werden.
  2. Ein Fehler wurde behoben, der gelegentlich zum Einfrieren während der Kompilierung führte.
  3. Aktualisierte Übersetzungen der Nutzeroberfläche.

Behoben wurde ein Fehler in den Absturzprotokollen.


MetaTrader 5 Web Terminal Build 3950

  1. Die Anzeige des Briefkurses (Ask) wurde zu den Charteinstellungen hinzugefügt.



  2. Beschleunigter Erststart des Terminals.
  3. Es wurde die Möglichkeit hinzugefügt, das Passwort zu ändern.
  4. Es wurde die Möglichkeit hinzugefügt, das Passwort zu löschen und zu speichern.
  5. Es wurde ein nutzerdefinierter Zeitraum für die Anzeige der Handelshistorie hinzugefügt.
  6. Korrigiert wurde die erzwungene Passwortänderung.
  7. Korrigierte Berechnung von ‚diff‘ — dem Abstand zwischen dem Eröffnungskurs und den TP/SL-Levels.



  8. Fehler der Ticks-Stop beim Schließen aller Aufträge/Deals wurde behoben.
  9. Die Anzeige von wirtschaftlichen Kalenderereignissen wurde korrigiert. Manchmal wurden sie nicht im Chart angezeigt, obwohl die Option aktiviert war.
  10. Korrigiert wurde die Neuberechnung des Indikators, wenn das Symbol des Charts geändert wurde.
  11. Ein Fehler im Formular der Eröffnung eines realen Kontos bei der Bestätigung des Telefons/E-Mails wurde behoben.
  12. Neue Übersetzungen hinzugefügt und bestehende korrigiert.
8 Juni 2023
MetaTrader 5 Build 3800: Der Auftrag Book or Cancel (BOC), KI-Programmierassistent und erweiterte ONNX-Unterstützung

Terminal

  1. Hinzugefügt wurde die Unterstützung einer neuen Regel zur Auftragsabwicklung — Passiv / Book or Cancel (BOC, Buchen oder Löschen).



    Die BOC-Regel besagt, dass ein Auftrag nur in der Tiefe des Marktes (dem Orderbuch) platziert werden kann. Der Auftrag wird gelöscht, wenn er sofort nach seiner Erteilung ausgeführt werden könnte. Diese Regel garantiert, dass der Preis für den erteilten Auftrag schlechter ist als der aktuelle Markt. BOC wird für den passiven Handel verwendet: Das ist garantiert, dass, wenn der Auftrag nicht sofort nach seiner Erteilung ausgeführt wird, er somit die aktuelle Liquidität nicht beeinflusst. Diese Ausführungsregel wird nur für Limit- und Stop-Limit-Aufträge im Exchange Execution Modus unterstützt.

    Die Verfügbarkeit der neuen Ausführungsregel hängt vom Broker ab.

  2. Die Plattform wechselt zur Verwendung von Microsoft Edge WebView2 für die Anzeige von HTML-Inhalten.

    Im Vergleich zum veralteten MSHTML erweitert die neue Komponente die Möglichkeiten zur Darstellung von Inhalten erheblich, da sie Zugang zu modernen Technologien bietet. Die Verwendung von WebView2 verbessert das Erscheinungsbild einiger Plattformabschnitte, erhöht die Leistung und schafft eine reaktionsschnellere Schnittstelle. Die neue Komponente wird sich insbesondere auf die Bereiche Markt, Signale und VPS auswirken.
    Die volle Unterstützung für WebView2 wurde in Windows 10 eingeführt. Wir empfehlen allen Nutzern dringend, auf die neueste Version des Betriebssystems zu aktualisieren. Die Plattform wird zwar weiterhin MSHTML unter Windows 7 und Wine verwenden, aber die neuen Funktionen werden nicht verfügbar sein. Wir empfehlen Ihnen außerdem dringend, alle verfügbaren Betriebssystem-Updates zu installieren. Die empfohlene Mindestversion ist Windows 10 21H2 (Build 19044, November 2021).

  3. Verbessertes Marktsicherheitssystem. Um das Produkt ausführen zu können, muss der Nutzer auf der Plattform mit demselben MQL5-Konto autorisiert sein, über das das Produkt erworben wurde. Das Konto muss im Abschnitt Tools \ Options \ Community angegeben werden:



    Wenn kein Konto oder ein ungültiges Konto angegeben ist, wird das Produkt nicht gestartet, und die folgende Meldung wird im Plattformjournal ausgegeben:
    'ProductName' verlangt ein aktives MQL5.Konto in Tools->Options->Community
  4. Der Befehl Übersicht wurde zum Kontextmenü des Abschnitts der Historie hinzugefügt. Der Befehl öffnet den Handelsbericht eines Kontos:



  5. Anzeigefehler im Dialog für die Zwei-Faktor-Authentifizierung wurden behoben. Wenn das Terminal mehrere Konten mit derselben Nummer hatte, die aber bei verschiedenen Brokern eröffnet wurden, konnte es vorkommen, dass das Kontoverbindungsformular das Feld für das Einmalpasswort nicht anzeigte.
  6. Es wurde eine schnellere Darstellung von Indikatoren mit dem Anzeigestil DRAW_COLOR_CANDLES implementiert.
  7. Fehler bei der Erstellung von Handelsberichten behoben. Gewinn- und Kapitalwerte auf dem Chart konnten unter bestimmten Bedingungen falsch angezeigt werden.
  8. Die Anzeige der Kosten wurde dem Handelsbericht hinzugefügt. Der Wert gibt die Gesamtkosten an, die bei der Durchführung von Geschäften im Verhältnis zum aktuellen Mid-Point-Preis des Symbols anfallen (Mid-Point-Spread-Kosten). Dies ist der Betrag, den der Händler beim Handel aufgrund des Spreads verliert. Die Verfügbarkeit dieses Wertes hängt vom Broker ab.
  9. Aktualisierte UI-Übersetzungen.
  10. Verbesserte Stabilität unter Wine, insbesondere auf macOS-Systemen. Wir empfehlen, alte Terminals vollständig zu entfernen und es neu zu installieren:


  11. Beschleunigtes Herunterladen von Updates und der Installation von Paketen. Verbesserte Analyse der AVX-Verfügbarkeit auf dem Computer des Nutzers bei der Auswahl eines Distributionspakets.
  12. Aktivierte Unterstützung für TLS 1.3 in Webprotokollen. TLS 1.0 gilt als veraltet und unsicher und wurde daher deaktiviert.
  13. Die Abrechnung der Vermittlerprovisionen in den Berichten über den Handelsverlauf wurde korrigiert. Die entsprechenden Transaktionen könnten bei der Berechnung des endgültigen Gewinns ignoriert werden.
  14. Die Unmöglichkeit, den Server während des Kontoverbindungsdialog zu ändern, wurde behoben. Das Problem trat auf, wenn im Terminal mehrere Konten mit der gleichen Nummer von verschiedenen Brokern vorhanden waren.
Ab diesem Build funktionieren die Installationsprogramme nur noch mit 64-Bit-Plattformen. Die Unterstützung für 32-Bit-Versionen wird eingestellt. Zuvor installierte 32-Bit-Versionen werden aber noch bis zum 1. Januar 2024 funktionieren.

MQL5

  1. Der neuer Wert STAT_COMPLEX_CRITERION in der Enumeration ENUM_STATISTICS wurde hinzugefügt. Verwenden Sie diese Eigenschaft, um einen komplexen Kriteriumwert zu erhalten, der als Ergebnis der Optimierung berechnet wurde.
  2. Verbesserte RegressionMetric-Methode, die zur Berechnung der Regressionsmetrik auf der Grundlage der übergebenen Matrix oder des Vektors verwendet wird. Die Parameter vector_true und matrix_true wurden hinzugefügt, um wirkliche Werte zu übergeben, die die Qualität der vorhergesagten Daten bewerten.
    double vector::RegressionMetric(
       const vector& vector_true,            // true values
       const ENUM_REGRESSION_METRIC  metric  // metric
       );
     
    double matrix::RegressionMetric(
       const matrix& matrix_true,            // true values
       const ENUM_REGRESSION_METRIC metric   // metric
       );
     
    vector matrix::RegressionMetric(
       const matrix& matrix_true,            // true values
       const ENUM_REGRESSION_METRIC metric,  // metric
       const int                      axis   // axis
       );
  3. Die Methode LinearRegression wurde hinzugefügt. Sie gibt einen Vektor/eine Matrix mit berechneten linearen Regressionswerten für den übergebenen Vektor/die Matrix zurück.
    vector vector::LinearRegression();
     
    matrix matrix::LinearRegression(
       ENUM_MATRIX_AXIS axis=AXIS_NONE       // Achse, entlang der die Regression berechnet wird 
       );
    Beispiel:
    vector vector_a;
    //--- den Vektor mit Preisen füllen
    vector_a.CopyRates(_Symbol,_Period,COPY_RATES_CLOSE,1,100);
    //--- eine lineare Regression erhalten
    vector vector_r=vector_a.LinearRegression();
    Die Ergebnisse sind in der Grafik dargestellt:


    Visualisierung des von der Methode LinearRegression zurückgegebenen Ergebnisses


  4. Hinzufügen der Methode HasNan, die die Anzahl der NaN-Werte in einer Matrix/einem Vektor zurückgibt.
    ulong vector::HasNan();
    ulong matrix::HasNan();
    Wenn ein entsprechende Paar von Elementen mit NaN-Werten verglichen wird, betrachten die Methoden Compare und CompareByDigits diese Elemente als gleich, während bei einem gewöhnlichen Vergleich von Fließkommazahlen NaN != NaN.

  5. Die Struktur OnnxTypeInfo, die für Operationen mit ONNX-Modellen verwendet wird, wurde geändert:

    struct OnnxTypeInfo
      {
       ENUM_ONNX_TYPE       type;            // parameter type
       OnnxTensorTypeInfo   tensor;          // tensor description
       OnnxMapTypeInfo      map;             // map description
       OnnxSequenceTypeInfo sequence;        // sequence description
      };

    Der Datentyp wird in der Struktur über neue Unterstrukturen angegeben:

    • OnnxTensorTypeInfo — tensor
    • OnnxMapTypeInfo — map
    • OnnxSequenceTypeInfo — sequence

    struct OnnxTensorTypeInfo
      {
       ENUM_ONNX_DATATYPE   data_type;       // data type in the tensor
       long                 dimensions[];    // number of elements
      };
    
    struct OnnxMapTypeInfo
      {
       ENUM_ONNX_DATA_TYPE  key_type;        // key type
       OnnxTypeInfo         type_info;       // value type
      };
    
    struct OnnxSequenceTypeInfo
      {
       OnnxTypeInfo         type_info;       // data type in the sequence
      };
    Je nach OnnxTypeInfo::type (ONNX_TYPE_TENSOR, ONNX_TYPE_MAP oder ONNX_TYPE_SEQUENCE) wird die entsprechende Unterstruktur gefüllt.

  6. Verbesserte Unterstützung für ONNX (Open Neural Network Exchange) Modelle.
  7. Hinzugefügt wurden die Methoden CopyIndicatorBuffer, die es ermöglichen, Indikatorpufferdaten in einen Vektor zu erhalten.
    bool vector<T>::CopyIndicatorBuffer(long indicator_handle,ulong buffer_index,ulong start_pos,ulong count);
    bool vector<T>::CopyIndicatorBuffer(long indicator_handle,ulong buffer_index,datetime start_time,ulong count);
    bool vector<T>::CopyIndicatorBuffer(long indicator_handle,ulong buffer_index,datetime start_time,datetime stop_time);
  8. Korrigierte Operationen mit Arrays mit zwei oder mehr Dimensionen in den Methoden FrameAdd und FrameNext.
  9. Korrigierte Methode in der Standardbibliothek CRedBlackTree::Remove.
  10. Implementierung von Korrekturen in der Fuzzy-Logik-Bibliothek.

MetaEditor

  1. Zusätzliche Integration mit dem fortschrittlichen automatischen Codierungsassistenten Copilot. Seine Funktionsweise basiert auf OpenAI-Modellen. Geben Sie einen Kommentar oder einen Teil einer Funktion ein und senden Sie eine Aufforderung. Das neuronale Netz analysiert die Eingabeaufforderung und bietet Codierungsoptionen zur Umsetzung der Idee an.




    Je nach Dateityp wird am Anfang jeder Eingabeaufforderung automatisch die Zeichenfolge "MQL5 language", "Python language" oder "C++ language" eingefügt. Auf diese Weise wird das neuronale Netz das Ergebnis in der gewünschten Sprache liefern.

    Copilot ist derzeit kostenlos und ist bereits im Editor aktiviert. Unter Tools \ Options\ Copilot sind mehrere Optionen verfügbar:




    Einstellungen bei Zahlungen:

    • Verwenden Sie Ihr MQL5-Konto: Diese Option ist derzeit kostenlos verfügbar. Später können Sie das Abonnement direkt von Ihrem MQL5-Kontostand aus bezahlen.
    • Verwenden Sie einen OpenAI-Schlüssel, wenn Sie ein Abonnement erworben haben und den entsprechenden Schlüssel besitzen.

    Prompt-Einstellungen:

    • Model — ein neuronales Netzwerk, das Ihre Anfragen verarbeitet. text-davinci-003 und gpt-3.5-turbo sind derzeit verfügbar. Die Unterstützung von gpt-4 wird demnächst hinzugefügt.
    • Maximum tokens — die Anzahl der Texteinheiten, die das Modell als Antwort auf eine Aufforderung zurückgeben kann.
    • Variability — wirkt sich darauf aus, wie genau das neuronale Netz der Aufforderung folgt. Je größer der Wert, desto größer die Zufälligkeit des Ergebnisses. Diese Option entspricht dem Temperaturparameter in OpenAI-Modellen.

  2. Es wurde die Möglichkeit hinzugefügt, die Eigenschaften von ONNX-Modellen anzuzeigen.

    So können Sie den Inhalt der *.onnx-Datei direkt im Editor einsehen. Um ein Beispiel zu sehen, suchen Sie das Projekt ONNX.Price.Prediction unter Toolbox \ Public Projects und wählen Sie Join im Kontextmenü. Das Projekt wird auf Ihren Computer heruntergeladen und erscheint im Navigator.



  3. Es wurde die Möglichkeit hinzugefügt, Modelle für maschinelles Lernen und neuronale Netze mit Netron zu visualisieren. Dieser Viewer unterstützt gängige Modelle, darunter ONNX, TensorFlow Lite, Caffe, Keras und ncnn und weitere.

    Um ein Modell zu betrachten, wählen Sie seine Datei im Navigator und klicken Sie auf "In Netron öffnen". Wenn dieses Dienstprogramm nicht installiert ist, wird seine GitHub-Seite geöffnet, von der Sie das entsprechende Installationsprogramm für Ihr Betriebssystem herunterladen können. Verwenden Sie zum Beispiel Netron-Setup-X.X.X.exe für Windows. Wenn das Programm installiert ist, wird das Modell sofort zur Ansicht im Navigator geöffnet.


    Unterstützte Formate:

    • armnn, caffemodel, circle, ckpt, cmf, dlc, dnn, h5, har, hd5, hdf5, hn, keras, kmodel,
    • lite, mar, meta, mge, mlmodel, mlnet, mlpackage, mnn, model, nb, ngf, nn, nnp,
    • om, onnx, ort, paddle, param, pb, pbtxt, pdiparams, pdmodel, pdopt, pdparams, prototxt, pt, pth, ptl,
    • rknn, t7, tfl, tflite, tmfile, tm, tnnproto, torchscript, uff, xmodel

  4. Aktualisierte UI-Übersetzungen.

Tester

  1. Die Berechnung von "Durchschnitt der Verlustpositionen" im Testbericht wurde korrigiert. Zuvor konnten fälschlicherweise Positionseröffnungen einbezogen werden, wenn dafür Provisionen berechnet wurden.
  2. Verbesserte Optionen für nutzerdefinierte Provisionen im Strategietester. Um ein Symbol zu setzen, geben Sie seinen Namen und nicht den gesamten Pfad an.
  3. Aktualisierte Icons im Strategietester. Neue Metaphern machen sie verständlicher.

Behoben wurde ein Fehler in den Absturzprotokollen.

Web Terminal

  1. Verbesserter Abschnitt in der Handelshistorie:

    • Die Anzeige der Saldo-Operationen in der Handelshistorie, wie Einzahlungen und Abhebungen, Provisionen und Anpassungen, wurde hinzugefügt.
    • Die Anzeige von Summen in der Handelshistorie hinzugefügt: Saldo, Gewinn, Provision, Einzahlungen, Abhebungen und Anzahl der Aufträge, unter anderem.
    • In der mobilen Version können die Vorgänge nun sortiert und der Verlauf nach Tiefe gefiltert werden.




  2. Erweiterte Kontraktspezifikationen für Symbole. Die folgenden Informationen wurden hinzugefügt: Volumenlimit, Tick-Größe und -Wert, anfängliche und begesicherte Marge.
  3. Verbesserte Farbschemata:

    • Schwebende Aufträge werden im Chart grau dargestellt. Die Farbe der Position hängt von der Richtung ab: rot für Verkaufen und blau für Kaufen. Die neuen Farben erleichtern die Navigation, wenn mehrere Vorgänge auf dem Chart angezeigt werden.
    • Bei der Anzeige/Bearbeitung einer Position werden nur diese Position und ihre Niveaus hervorgehoben, während alle anderen Positionen und Aufträge grau erscheinen und ihre Niveaus aus der Preisskala ausgeblendet werden. Auf diese Weise wird es einfacher sein, getrennte Vorgänge zu verwalten.
    • Die Farbe des Stop Loss wurde von rot auf orange geändert, um Verwechslungen mit Verkaufspositionen zu vermeiden.
    • Verbesserte Symbole auf dem Chart, die den Zeitpunkt der Positionsschließung anzeigen. Ein grünes Symbol wird für Positionen verwendet, die durch Take Profit geschlossen wurden, und ein rotes Symbol für solche, die durch Stop Loss geschlossen wurden.

  4. Übersetzungen der Nutzeroberfläche in Arabisch, Bulgarisch, Vietnamesisch, Griechisch, Indonesisch, Malaiisch, Niederländisch, Persisch, Polnisch, Thai, Ukrainisch und Hindi wurden hinzugefügt. Das Webterminal ist jetzt in 24 Sprachen verfügbar.
  5. Türkische UI-Übersetzungen korrigiert.
  6. Änderung und Löschung von schwebenden Aufträgen in der mobilen Version des Web-Terminals behoben.
  7. Der Tooltip für einen geschlossenen Markt auf dem Chart wurde korrigiert.
  8. Die Anzeige der Gewinne in der Schaltfläche zum Schließen der Position im Handelsdialog wurde korrigiert. Der Fehler ist beim partiellen Schließen aufgetreten.
  9. Die Anzeige von Handelsbenachrichtigungen im Chart wurde korrigiert.
  10. Volumenänderung durch Pfeile in der Markttiefe behoben.
  11. Behoben wurde ein Fehler, der dazu führen konnte, dass die Einstellungen laufender Indikatoren unter bestimmten Bedingungen zurückgesetzt wurden.
  12. Die Überprüfung des Nutzernamens bei der Eröffnung neuer Konten wurde korrigiert. Früher führte ein Apostroph im Namen zu einem Fehler.
  13. Die Verarbeitung von Requotes wurde korrigiert. Der Dialog mit den angeforderten Preisen wird unter bestimmten Umständen nicht angezeigt.
  14. Die Anzeige des Ichimoku Kinko Hyo Indikators wurde korrigiert. Die Chikou-Spanne, die Kumo-Aufwärts- und die Kumo-Abwärts-Linien werden mit dem richtigen Versatz angezeigt.
  15. Die Überprüfung der Anfangsmarge bei der Eröffnung neuer Aufträge wurde korrigiert. Der Fehler trat im Buchungssystem von Hedging-Konten auf.
  16. Das Scrollen im Fenster mit den Kontraktspezifikationen  wurde korrigiert.

MQL5.community

  1. Die Website des MQL5 Cloud Network wurde komplett neu gestaltet: https://cloud.mql5.com.

    Erfahren Sie, wie Sie die Rechenleistung von Tausenden von Computern auf der ganzen Welt nutzen können, um Ihre Handelsstrategien zu optimieren. Mit dem MQL5-Cloud-Netzwerk können selbst die schwersten Berechnungen in wenigen Minuten abgeschlossen werden. Besuchen Sie die Website, um zu erfahren, wie Sie an dem Netzwerk teilnehmen und Geld verdienen können, indem Sie Ihre Computerressourcen zur Verfügung stellen.




  2. Verbesserter Screenshot-Bereich in den Marktprodukten. Autoren können jetzt Bilder mit bis zu 1920*1800 Pixeln hochladen, um zu demonstrieren, wie die Anwendungen funktionieren. Die Screenshot-Galerie wurde ebenfalls aktualisiert. Das Karussell zeigt Miniaturbilder an, und ein Klick darauf öffnet Bilder in voller Größe.



  3. Verbesserungen im Bereich Freelance. Die Nutzer erhalten jetzt mehr Tipps, wenn sie ihre ersten Auftrag erteilen wollen:

    • Beispiele für Anforderungsspezifikationen und eine Erinnerung daran, eine hinzuzufügen.
    • Anweisungen zur Erstellung eines Auftrags.
    • Tipps zur Verwendung von Vorlagen.

    Diese Tipps werden Ihnen helfen, den Auftrag zu erstellen und das gewünschte Ergebnis zu erhalten.




24 März 2023
MetaTrader 5 Build 3660: Verbesserungen und Korrekturen

Terminal

  1. Gelegentliche Fehler bei der Erstellung von Plattformprotokollen wurden behoben.
  2. Aktualisierte Übersetzungen der Nutzeroberfläche.

MQL5

  • Die Überprüfung globaler Variablen wurde korrigiert. Bei der Deklaration identischer Variablen in verschiedenen Namensräumen gab der Compiler eine fehlerhafte Warnung aus, dass die Variable bereits deklariert sei.

Web Terminal

  1. Die Nutzeroberfläche wurde ins Portugiesische übersetzt. Das Webterminal ist jetzt in 12 Sprachen verfügbar.
  2. Der Dialog zum Hinzufügen des Indikators Standard Deviation (Standardabweichung) wurde korrigiert.
  3. Kleinere Korrekturen und Verbesserungen.
17 März 2023
MetaTrader 5 Build 3640: Web-Terminal in 11 Sprachen

Web Terminal

  1. Übersetzungen des UI in 10 weit verbreiteten Sprachen wurde hinzugefügt: Vereinfachtes und traditionelles Chinesisch, Französisch, Deutsch, Italienisch, Japanisch, Koreanisch, Spanisch, Türkisch und Russisch. Diese Liste wird in künftigen Versionen noch erweitert werden. Um die Sprache zu wechseln, verwenden Sie das entsprechende Menü:


    Webterminal-Schnittstelle in 11 Sprachen verfügbar


  2. Optimierter Verbindungsmechanismus zum Handelsserver.

MQL5

  1. MQL5: Hinzugefügt wurden die Flags COPY_TICKS_VERTICAL und COPY_RATES_VERTICAL für die Methoden CopyTicks, CopyTicksRange und CopyRates.

    Standardmäßig werden Ticks und Zeitreihendaten entsprechend einer horizontalen Achse in die Matrix kopiert, d. h. die Daten werden am rechten Ende der Zeilen hinzugefügt. Für das Training von ONNX-Modelllaufaufgaben muss eine solche Matrix transponiert werden, um die Eingabedaten einzugeben:

    const long   ExtOutputShape[] = {1,1};    // Ausgangsform des Modells
    const long   ExtInputShape [] = {1,10,4}; // Eingangsform des Modells
    #resource "Python/model.onnx" as uchar ExtModel[]// das Modell als Resource
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    int OnStart(void)
      {
       matrix rates;
    //--- get 10 bars
       if(!rates.CopyRates("EURUSD",PERIOD_H1,COPY_RATES_OHLC,2,10))
          return(-1);
    //--- input a set of OHLC vectors
       matrix x_norm=rates.Transpose();
       vector m=x_norm.Mean(0);               
       vector s=x_norm.Std(0);
       matrix mm(10,4);
       matrix ms(10,4);

    Durch die Angabe des zusätzlichen Flags COPY_RATES_VERTICAL (bzw. COPY_TICKS_VERTICAL für Ticks) beim Aufruf der Methode können Sie die zusätzliche Datentransposition vermeiden:

    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    int OnStart(void)
      {
       matrix rates;
    //--- get 10 bars
       if(!rates.CopyRates("EURUSD",PERIOD_H1,COPY_RATES_OHLC|COPY_RATES_VERTICAL,2,10))
          return(-1);
    //--- input a set of OHLC vectors
  2. Neuer Wert in der Enumeration ENUM_CHART_PROPERTY_INTEGER — CHART_SHOW_TRADE_HISTORY. Die Eigenschaft steuert die Anzeige von Handelsgeschäften aus der Handelshistorie im Chart. Verwenden Sie die Funktionen ChartGetInteger und ChartSetInteger, um die Eigenschaft zu erhalten und zu setzen. Weitere Einzelheiten über die Anzeige der Trades im Chart finden Sie in der Dokumentation der Plattform.

MetaEditor

  • Das Einfrieren der Schnittstelle, das unter bestimmten Bedingungen während der Dateikompilierung auftreten konnte, wurde behoben.

Terminal

  • Behoben wurde ein Fehler in den Absturzprotokollen.
10 März 2023
MetaTrader 5 Build 3620: Verbesserungen am Web-Terminal, ONNX-Unterstützung und schnelle Matrix-Multiplikationen in MQL5

Terminal

  1. Die Berechnung des Gesamtgewinns in den Handelsberichten wurde korrigiert.
  2. Aktualisierte Daten für Handelsinstrumente, die über das Fenster Market Watch verfügbar sind.
  3. Korrigiert wurde der Start der Handelsplattform unter Wine 7.0.1 auf Linuxsystemen
  4. Das Hinzufügen von Symbolen zur Markttiefe über die Suchleiste wurde korrigiert. Ein über die Beschreibung gefundenes Symbol konnte nicht durch Anklicken der entsprechenden Zeile in die Liste aufgenommen werden.

MQL5

  1.  Die Unterstützung für Operationen mit ONNX-Modellen (Open Neural Network Exchange) wurde hinzugefügt.

    ONNX ist ein Open-Source-Format für Modelle des maschinellen Lernens. Dieses Format wird von vielen Plattformen unterstützt, darunter Chainer, Caffee2 und PyTorch. Erstellen Sie ein ONNX-Modell mit Hilfe spezieller Tools, integrieren Sie es in Ihre MQL5-Anwendung und nutzen Sie es, um Handelsentscheidungen zu treffen.

    Beschreibungen aller unterstützten Funktionen finden Sie in der Dokumentation. Ein Beispiel für ein ONNX-Testmodell finden Sie unter „öffentliche Projekte“ im MetaEditor. Suchen Sie das Projekt ONNX.Price.Prediction in „Toolbox \ Öffent,iche Projekte“ und wählen Sie im Kontextmenü die Option Teilnehmen. Das Projekt wird auf Ihren Computer heruntergeladen und erscheint im Navigator:


    Ein Beispiel für die Arbeit mit einem ONNX-Modell in öffentlichen Projekten


    Kompilieren Sie das Projekt und lassen Sie es auf EURUSD H1 laufen, um das Ergebnis zu sehen.

    Neben dem Modell und dem MQL5-Code, der es ausführt, enthält das Projekt auch das Python-Skript PricePredictionTraining.py. Es zeigt, wie Sie selbst ein ONNX-Modell erstellen können. Um das Skript auszuführen, installieren Sie Python auf Ihrem Computer und die erforderlichen Module über die Eingabeaufforderung:

    python.exe -m pip install --upgrade pip
    python -m pip install --upgrade tensorflow
    python -m pip install --upgrade pandas
    python -m pip install --upgrade scikit-learn
    python -m pip install --upgrade matplotlib
    python -m pip install --upgrade tqdm
    python -m pip install --upgrade metatrader5
    python -m pip install --upgrade onnx==1.12
    python -m pip install --upgrade tf2onnx
    Anweisungen zur Verwendung von ONNX finden Sie in der Dokumentation.

  2. Unterstützung für General Matrix Multiplikation (GeMM) hinzugefügt. Dieser Algorithmus beschleunigt die Berechnungen auf einigen Prozessortypen durch parallelisierte Aufgaben und optimierte Nutzung der L1/L2/L3-Caches. Die Berechnungsgeschwindigkeit ist vergleichbar mit gängigen Paketen wie der Math Kernel Library (MKL) and OpenBLAS. Ausführliche Vergleichstests werden demnächst veröffentlicht.

    Der neue Algorithmus wird derzeit von der Methode matrix::GeMM unterstützt. Wenn Ihr Prozessor die Befehle AVX and FMA unterstützt (die meisten nach 2013 veröffentlichten Prozessoren unterstützen diese Befehle), wird der Algorithmus automatisch aktiviert.

  3.  Es wurde die Möglichkeit hinzugefügt, Matrizen und Vektoren zur einer DLL zu übertragen. Dies ermöglicht den Import von Funktionen, die die entsprechenden Typen verwenden, aus externen Variablen.

    Matrizen und Vektoren werden an eine DLL als Zeiger auf einen Puffer übergeben. Um zum Beispiel eine Matrix vom Typ float zu übergeben, muss der entsprechende Parameter der aus der DLL exportierten Funktion einen Pufferzeiger vom Typ float aufnehmen. Zum Beispiel:

    MQL5
    #import "mmlib.dll"
    bool sgemm(uint flags,matrix<float> &C,const matrix<float> &A,const matrix<float> &B,ulong M,ulong N,ulong K,float alpha,float beta);
    #import
    C++
    extern "C" __declspec(dllexport) bool sgemm(UINT flags,float *C,const float *A,const float *B,UINT64 M,UINT64 N,UINT64 K,float alpha,float beta)
    Zusätzlich zu den Puffern sollten Sie Matrix- und Vektorgrößen für eine korrekte Verarbeitung übergeben.

  4. Die neue Funktion CopySeries zum Kopieren von synchronisierten Zeitreihen aus MqlRates in separate Arrays hinzugefügt.

    Die Funktion CopySeries ermöglicht es, mit einem einzigen Aufruf nur die erforderlichen Zeitreihen in verschiedene spezifizierte Arrays zu erhalten, wobei alle Zeitreihendaten synchronisiert werden. Das bedeutet, dass alle Werte in den resultierenden Arrays bei einem bestimmten Index N zum selben Balken des angegebenen Symbol/Zeitrahmenpaares gehören. Daher muss der Programmierer die empfangenen Zeitreihen nicht zusätzlich mit der Eröffnungszeit der Balken synchronisieren.

    Im Gegensatz zu CopyRates, das den gesamten Satz von Zeitreihen als MqlRates-Array zurückgibt, ermöglicht die Funktion CopySeries, bestimmte erforderliche Zeitreihen in separaten Arrays zu erhalten. Dies kann durch die Angabe einer Kombination von Flags geschehen, um den Typ der Zeitreihe auszuwählen. Die Reihenfolge der an die Funktion übergebenen Arrays muss mit der Reihenfolge der Felder in der MqlRates-Struktur übereinstimmen:

    struct MqlRates
      {
       datetime time;         // period beginning time
       double   open;         // open price
       double   high;         // high price for the period
       double   low;          // low price for the period
       double   close;        // close price
       long     tick_volume;  // tick volume
       int      spread;       // spread
       long     real_volume;  // exchange volume
      }

    Wenn Sie also die Werte der Zeitreihen „time“, „close“ und „real_volume“ für die letzten 100 Balken des aktuellen Symbols/Zeitrahmens abrufen möchten, sollten Sie den folgenden Aufruf verwenden:

    datetime  time[];
    double    close[];
    long      volume[];
    CopySeries(NULL,0,0,100,COPY_RATES_TIME|COPY_RATES_CLOSE|COPY_RATES_VOLUME_REAL,time,close,volume);
    

    Die Reihenfolge der Arrays „time, close, volume“ muss mit der Reihenfolge der Felder in der Struktur MqlRates übereinstimmen. Die Reihenfolge der Werte in der Maske rates_mask wird nicht berücksichtigt. Die Maske könnte auch folgendermaßen aussehen:

    COPY_RATES_VOLUME_REAL|COPY_RATES_TIME|COPY_RATES_CLOSE

    Beispiel

    //--- input parameters
    input datetime InpDateFrom=D'2022.01.01 00:00:00';
    input datetime InpDateTo  =D'2023.01.01 00:00:00';
    input uint     InpCount   =20;
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart(void)
      {
    //--- arrays to get timeseries from the Rates structure
       double   open[];
       double   close[];
       float    closef[];
       datetime time1[], time2[];
    //---request close prices to a double array
       ResetLastError();
       int res1=CopySeries(NULL, PERIOD_CURRENT, 0, InpCount,
                           COPY_RATES_TIME|COPY_RATES_CLOSE, time1, close);
       PrintFormat("1. CopySeries  returns %d values. Error code=%d", res1, GetLastError());
       ArrayPrint(close);
       
    
    //--- now also request open prices; use float array for close prices
       ResetLastError();
       int res2=CopySeries(NULL, PERIOD_CURRENT, 0, InpCount,
                           COPY_RATES_TIME|COPY_RATES_CLOSE|COPY_RATES_OPEN, time2, open, closef);
       PrintFormat("2. CopySeries  returns %d values. Error code=%d", res2, GetLastError());
       ArrayPrint(closef);
    //--- compare the received data
       if((res1==res2) && (time1[0]==time2[0]))
         {
          Print("  | Time             |    Open      | Close double | Close float |");
          for(int i=0; i<10; i++)
            {
             PrintFormat("%d | %s |   %.5f    |   %.5f    |   %.5f   |",
                         i, TimeToString(time1[i]), open[i], close[i], closef[i]);
            }
         }
    /*  Result
            1. CopySeries  returns 0 values. Error code=0
            [ 0] 1.06722 1.06733 1.06653 1.06520 1.06573 1.06649 1.06694 1.06675 1.06684 1.06604
            [10] 1.06514 1.06557 1.06456 1.06481 1.06414 1.06394 1.06364 1.06386 1.06239 1.06247
            2. CopySeries  returns 0 values. Error code=0
            [ 0] 1.06722 1.06733 1.06653 1.06520 1.06573 1.06649 1.06694 1.06675 1.06684 1.06604
            [10] 1.06514 1.06557 1.06456 1.06481 1.06414 1.06394 1.06364 1.06386 1.06239 1.06247
              | Time             |    Open      | Close double | Close float |
            0 | 2023.03.01 17:00 |   1.06660    |   1.06722    |   1.06722   |
            1 | 2023.03.01 18:00 |   1.06722    |   1.06733    |   1.06733   |
            2 | 2023.03.01 19:00 |   1.06734    |   1.06653    |   1.06653   |
            3 | 2023.03.01 20:00 |   1.06654    |   1.06520    |   1.06520   |
            4 | 2023.03.01 21:00 |   1.06520    |   1.06573    |   1.06573   |
            5 | 2023.03.01 22:00 |   1.06572    |   1.06649    |   1.06649   |
            6 | 2023.03.01 23:00 |   1.06649    |   1.06694    |   1.06694   |
            7 | 2023.03.02 00:00 |   1.06683    |   1.06675    |   1.06675   |
            8 | 2023.03.02 01:00 |   1.06675    |   1.06684    |   1.06684   |
            9 | 2023.03.02 02:00 |   1.06687    |   1.06604    |   1.06604   |
    */
      }
  5. Die Operation der Funktion OrderSend wurde korrigiert. Die Funktionsabfrage konnte ein falsches Auftragsticket zurückgeben, wenn das gleiche Konto gleichzeitig auf mehreren Plattformen verwendet wurde.
  6. Der Import von EX5-Bibliotheken wurde korrigiert. Ein Fehler trat auf, wenn der Name der importierten Bibliothek mit dem Namen der Datei übereinstimmte, in die sie importiert wurde.

MetaEditor

  1.  Das Senden von Push-Benachrichtigungen im Rahmen eines „shared projects“ wurde hinzugefügt. Mit der neuen Option können Nutzer über Änderungen in Projekteinstellungen und Dateien benachrichtigt werden. Um Benachrichtigungen zu aktivieren, geben Sie Ihre MetaQuotes-ID unter dem Abschnitt „Einstellungen \ Sicherheit“ Ihres titleMQL5.community-Profilstitle ein.


    Push-Benachrichtigungen über Projektaktualisierungen


  2. Aktualisierte Dateisymbole im Navigator. Neue, einfachere Metaphern werden sie verständlicher machen.

Tester

  1. Es wurde ein Fehler behoben, der dazu führte, dass der Eingabe-String-Parameter abgeschnitten wurde, wenn er das Zeichen „|“ enthielt.

MetaTrader 5 Web Terminal Build 3620

  1. Es wurden vorbereitete Farbvorlagen für die Webterminal-Schnittstelle hinzugefügt. Die Vorlagen wirken sich auf die Anzeige der Balken und Linien im Chart sowie auf die Preise im Market Watch und in der Kontodarstellung aus. Unser Designteam hat auf der Grundlage Ihrer Vorschläge und traditioneller Farbkombinationen Farbvorlagen vorbereitet.


    Neue Webterminal-Farbvorlagen


  2. Das Fenster für die Spezifikation von Symbolen wurde neu gestaltet. Die Daten der Handelsinstrumente wurden zur besseren Übersichtlichkeit in logische Blöcke gegliedert.


    Aktualisiertes Fenster für die Spezifikation von Handelsinstrumenten


  3. Das Eröffnen von Echtgeldkonten über das Webterminal wurde korrigiert. Der Server konnte nach dem Ausfüllen eines Registrierungsformulars einen Fehler zurückgeben.
  4. Ein Fehler im Handelsdialog wurde behoben. Wenn der Nutzer eine Position durch Drücken der X-Taste im Toolbox-Fenster schloss, während der Dialog zur Positionsänderung geöffnet war, wurde der Inhalt des Dialogs nicht zurückgesetzt. Nach der Aktualisierung wird der Dialog in diesem Fall automatisch auf einen neuen Modus für die Auftragserteilung zurückgesetzt.
  5. Die Anzeige des Feldes „Server“ im Kontoverwaltungsdialog wurde korrigiert.
  6. Die Anzeige des aktuellen Zeitrahmens in der Symbolleiste wurde korrigiert.
  7. Die Anzeige der Volumina in Bezug auf die Einheiten des Basiswerts im Handelsdialog wurde korrigiert.
  8. Die Änderung der Stop-Loss- und Take-Profit-Ebenen wurde korrigiert. Die Änderung eines der Werte kann unter bestimmten Bedingungen den zweiten Wert zurücksetzen.
  9. Die Anzeige von Warnungen vor Investitionsrisiken wurde korrigiert.
6 März 2023
MetaTrader 5 für iPhone/iPad: Verbesserte On-Chart-Handels- und Analysefunktionen
  1. Es wurde die Möglichkeit hinzugefügt, Stop- und Stop-Limit-Orders aus dem Chart heraus zu platzieren.

    In früheren Versionen waren nur Limit-Aufträge verfügbar. Wählen Sie den gewünschten Typ, indem Sie nacheinander auf die Schaltfläche im unteren Chartbereich drücken.


    Stop- und Stop-Limit-Aufträge vom Chart aus platzieren


  2. Es wurde die Möglichkeit hinzugefügt, vom Chart aus auf die Funktionen zum Schließen von Positionen oder zum Löschen von schwebenden Aufträgen zuzugreifen. Wählen Sie eine Position oder einen Auftrag im Chart aus, und der entsprechende Befehl wird im Paneel unten im Chart angezeigt:


    Positionen und Aufträge vom Chart aus verwalten


  3. Verbesserte Funktionsweise, die den rechten Rand des Preischarts verschiebt. Um zu verschieben, scrollen Sie einfach im Chart zum letzten Preis, bis eine vertikale Trennlinie erscheint. Bewegen Sie dann das Dreieck auf der unteren Chartskala:


    Ändern der Verschiebung des Charts durch Ziehen des Dreiecks an der unteren Skala


  4. Es wurde die Möglichkeit hinzugefügt, analytische Objekte im Chart zu kopieren. Dies ermöglicht eine schnellere Chartgestaltung. Öffnen Sie das Objektmenü mit einem langen Druck und wählen Sie "Kopieren":

    Kopien von analytischen Objekten erstellen


  5. Es wurde die Möglichkeit hinzugefügt, die Anzeige von Indikatoren auf verschiedenen Zeitrahmen zu verwalten. Wenn der Indikator für bestimmte Chartperioden nicht geeignet ist, kann er ausgeblendet werden, um Platz auf dem Bildschirm für andere Analysetools zu schaffen.


    Verwalten der Anzeige von Indikatoren in verschiedenen Zeitrahmen


  6. Die Anzeige von Symbolkommissionen im Instrumentenspezifikationsfenster wurde hinzugefügt.


    Ermitteln Sie den Provisionsbetrag in der Instrumentenspezifikation


  7. Link zur Passwortwiederherstellung hinzugefügt. Das Passwort eines Kontos kann nur über den jeweiligen Broker wiederhergestellt werden. Der Link zeigt die Kontaktdaten des Maklers an.


    Hilfe bei der Passwortwiederherstellung


  8. Es wurde die Möglichkeit hinzugefügt, einen Link zu an MQL5.community channel zu teilen.


    Teilen Sie einen Link zu Ihrem Kanal über die App


  9. Verbesserte Nutzerfreundlichkeit bei der Verbindung zu einem Konto mit einer Handelsbeschränkungen.

    Der Handel kann aus verschiedenen Gründen eingeschränkt werden: Login mit dem Investor-Passwort; eine Handelsvereinbarung wurde nicht akzeptiert; die Überprüfung des Brokers wurde nicht abgeschlossen und andere. Früher wurde der Grund für die Einschränkung der Handelsfunktionen nicht erklärt.

    Wenn der Handel eingeschränkt ist, ist die Schaltfläche zum Erteilen von Aufträgen im Bereich Handel ausgegraut. Wenn Sie darauf drücken, werden die entsprechenden Informationen und Empfehlungen angezeigt.


    Hilfreiche Informationen, wenn der Handel eingeschränkt ist


  10. Verbesserter Arbeitsablauf mit SSL-Zertifikaten, die für die erweiterte Authentifikation verwendet werden.

    Wenn sich der Nutzer mit einem Konto mit erweiterter Authentifizierung verbindet, zeigt die App nun eine kurze Beschreibung der erforderlichen Aktionen an.


    Verbessertes Arbeiten mit SSL-Zertifikaten


    Ein Zertifikat kann aus einer PFX-Datei importiert werden. Speichern Sie die benötigte Datei in der App Datei-App und verwenden Sie dann die Importfunktion im Startdialog.

    Es ist jetzt auch möglich, Zertifikate in Dateien zu importieren, was die Verwendung von Zertifikaten auf anderen Geräten ermöglicht. Gehen Sie dazu zu Einstellungen \ Zertifikate und wählen Sie im Zertifikatsmenü "Exportieren".

  11. Die Konstruktion von Preischarts wurde auf „Metal“ übertragen. Das ist die neuesten Generation der in Apple-Geräten verwendeten Grafik-API. Dadurch wird die Leistung beim Rendern des Charts, von Indikatoren und Objekten erheblich gesteigert.
  12. Feste Ersetzung der Stop-Loss- und Take-Profit-Ebenen in der Markttiefe. Bei FIFO-Konten werden die Stop-Levels automatisch in Übereinstimmung mit den Stop-Levels der bestehenden offenen Positionen für dasselbe Instrument gesetzt. Dieses Verfahren ist erforderlich, um die FIFO-Regel einzuhalten.
  13. Reaktivierung behoben. Wenn ein neues Angebot zurückkommt, hat der Nutzer eine kurze Frist, um die neuen Preise zu akzeptieren oder abzulehnen. Wird innerhalb des erforderlichen Zeitrahmens nichts unternommen, wird der Antrag automatisch abgelehnt und das Requote-Fenster geschlossen.
  14. Die Anzeige der Zeit im Chartbereich bei Verwendung des dunklen Oberflächenthemes wurde korrigiert.
16 Dezember 2022
MetaTrader 5 Build 3550: Verbesserungen und Korrekturen

MetaTrader 5 Client Terminal Build 3550

  1. Terminal: Aktualisierte Übersetzungen der Nutzeroberfläche.
  2. Korrekturen aufgrund von Absturzprotokollen.

MetaTrader 5 Web Terminal Build 3550

9 Dezember 2022
MetaTrader 5 Build 3540: 2FA/TOTP-Authentifizierung und verbesserte Marktbeobachtung im Webterminal

Web Terminal

  1. 2FA/TOTP-Authentifizierung mit Google Authenticator und ähnlichen Anwendungen hinzugefügt.

    Die 2FA/TOTP-Authentifizierung schützt ein Handelskonto vor unbefugtem Zugriff, selbst wenn dessen Login und Passwort bekannt geworden sind. Die Authentifizierung mit dem One-Time-Password-Algorithmus (TOTP) kann mit verschiedenen mobilen Anwendungen umgesetzt werden. Die bekanntesten davon sind Google Authenticator, Microsoft Authenticator, LastPass Authenticator und Authy. Jetzt können Sie sich mit Ihrem Konto im MetaTrader 5-Client-Terminal verbinden, indem Sie Einmalpasswörter verwenden, die von solchen Authenticator-Apps generiert werden.

    Um die Zwei-Faktor-Authentifizierung zu aktivieren, verbinden Sie sich über das MetaTrader 5 Web Terminal mit Ihrem Konto. Klicken Sie dann im Menü auf Ihr Konto und wählen Sie im neu geöffneten Dialog „Enable 2FA“ (2FA aktivieren). Starten Sie die Authenticator-App auf Ihrem Mobilgerät, klicken Sie auf „+“, um Ihr Handelskonto hinzuzufügen, und scannen Sie den QR-Code vom Terminal. Geben Sie den generierten Code in das Feld „One-time password“ (Einmalpasswort) ein und klicken Sie auf „Enable 2FA“ (2FA aktivieren). Für Ihr Konto wird auf dem Handelsserver des Brokers ein Geheimcode registriert.


    Unterstützung für 2FA/TOTP-Authentifizierung mit Google Authenticator und ähnlichen Apps wurde hinzugefügt.


    Der gespeicherte Geheimcode wird in der Authenticator-App verwendet, um jedes Mal, wenn Sie sich mit Ihrem Konto verbinden, ein Einmalpasswort, One-time password oder OTP, zu generieren. Jedes Passwort ist 30 Sekunden lang gültig. Danach wird ein Neues erstellt.


    Für die Verbindung mit dem Konto ist ein zusätzliches Einmalpasswort, ein One-Time Password oder OTP, von der Authenticator-App erforderlich


    Im QR-Code-Dialog wird auch ein Backup-Code für die Verknüpfung mit dem Generator angezeigt. Bewahren Sie sie an einem sicheren Ort auf. Wenn Sie den Zugang zu Ihrem verknüpften Gerät verlieren, können Sie mit dem Code Ihr Konto wieder zur Authenticator-App hinzufügen.

    Wenn Sie sich entscheiden, den gespeicherten Geheimcode aus der Authenticator-App zu entfernen, sollten Sie zunächst die 2FA/TOTP-Authentifizierung über den entsprechenden Befehl im Kontextmenü des Kontos deaktivieren. Wenn die neue 2FA/TOTP-Authentifizierungsmethode auf Ihrem Konto nicht verfügbar ist, wenden Sie sich bitte an Ihren Broker.

  2. Die Anzahl der im Market Watch angezeigten Daten wurde erweitert. Zusätzlich zu den aktuellen Bid/Ask (Geld-/Briefkursen) und der prozentualen Preisänderung können Sie nun sehen:

    • Maximaler und minimaler Geld-/Briefkurs für die aktuelle Handelssitzung
    • Eröffnungskurse der aktuellen Handelssitzung und Schlusskurse der vorherigen Handelssitzung

    Verwenden Sie das Kontextmenü, um die angezeigten Informationen anzupassen:


    Zusätzliche Daten der Marktübersicht


  3. Die Anzeige von Risikomeldungen wurde hinzugefügt, wenn eine entsprechende Einstellung auf der Seite des Brokers aktiviert ist. Einige Regulierungsbehörden verlangen, dass die Händler die Meldung vor dem Handel lesen und akzeptieren.
  4. Die Anzeige der oberen Symbolleiste auf iPhone-Modellen mit einer Aussparung am oberen Rand des Bildschirms wurde korrigiert. Zuvor konnte sie gelegentlich die Tasten des Bedienfelds verdecken.
  5. Die Anzeige der endgültigen Finanzparameter des Kontos (Gewinn, Eigenkapital usw.) im Google Chrome Browser wurde korrigiert. Manchmal wurden sie nicht aktualisiert.

Terminal

  1. Der Dialog zur Eröffnung eines Demokontos wurde optimiert und stark beschleunigt.
  2. Aktualisierte Übersetzungen der Nutzeroberfläche.
  3. Korrekturen aufgrund von Absturzprotokollen.

MQL5

  1. Der Klasse COpenCL der Standardbibliothek wurden neue Methoden hinzugefügt:

    • BufferFromMatrix — Füllen des Gerätepuffers mit Daten aus der Matrix
    • BufferToMatrix — Einlesen der Daten aus dem Gerätepuffer in die Matrix
    • ContextCreate — Erstellung des Gerätekontexts (der erste Teil der Initialisierungsmethode )
    • ProgramCreate — Erstellung eines Programms auf der Grundlage des OpenCL-Quellcodes (der zweite Teil der Initialisierungsmethode)
    • ContextClean — Freigabe aller zum Gerätekontext gehörenden Daten (ähnlich wie bei der Methode Shutdown, jedoch ohne den Kontext zu entfernen)
    • GetDeviceInfoInteger — Empfangen einer ganzzahligen Geräteeigenschaft
    • GetKernelInfoInteger — Empfangen einer ganzzahligen Kernel-Eigenschaft
    • GetDeviceInfo — empfängt jede einzelne ganzzahlige Geräteeigenschaft, die nicht in der Aufzählung ENUM_OPENCL_PROPERTY_INTEGER enthalten ist

    Verwendungsbeispiel von GetDeviceInfo;
    long preferred_workgroup_size_multiple=OpenCL.GetDeviceInfo(0x1067);
  2. Die Werte TERMINAL_CPU_NAME und TERMINAL_OS_VERSION wurden zur Enumeration ENUM_TERMINAL_INFO_STRING hinzugefügt. Sie ermöglichen den Empfang der CPU- und Betriebssystemnamen des Nutzers.
    void OnStart()
      {
       string cpu,os;
    //---
       cpu=TerminalInfoString(TERMINAL_CPU_NAME);
       os=TerminalInfoString(TERMINAL_OS_VERSION);
       PrintFormat(„CPU: %s, OS: %s“,cpu,os);
      }
    
    Ergebnis:
    CPU: Intel Xeon  E5-2630 v4 @ 2.20GHz, OS: Windows 10 build 19045
  3. Die Funktion des Parameters „table_or_sql“ in den Funktionen DatabasePrint und DatabaseExport wurde korrigiert. Jetzt kann er zusätzlich zu einer SQL-Abfrage auch einen Tabellennamen übergeben.

MetaEditor

  1. Die Prüfung der maximalen Anzahl der anzeigbaren Spalten in der Datenbank wurde korrigiert. Es können jetzt bis zu 64 Spalten angezeigt werden.
  2. Die Bedienung von Haltepunkten in kurzen Konstruktionen wie IF[ if(cond) break; ] wurde korrigiert.
25 November 2022
MetaTrader 5 Build 3520: 2FA/TOTP-Authentifizierung mit dem Google Authenticator

Terminal

  1. 2FA/TOTP-Authentifizierung mit Google Authenticator und ähnlichen Anwendungen hinzugefügt.

    Die 2FA/TOTP-Authentifizierung schützt ein Handelskonto vor unbefugtem Zugriff, selbst wenn dessen Login und Passwort bekannt werden. Die Authentifizierung mit dem One-Time-Password-Algorithmus (TOTP) kann mit verschiedenen mobilen Anwendungen umgesetzt werden. Die bekanntesten davon sind Google Authenticator, Microsoft Authenticator, LastPass Authenticator und Authy. Jetzt können Sie sich mit Ihrem Konto im MetaTrader 5-Client-Terminal verbinden, indem Sie Einmalpasswörter verwenden, die von solchen Authenticator-Apps generiert werden.

    Um die Zwei-Faktor-Authentifizierung zu aktivieren, verbinden Sie sich mit Ihrem Konto und führen Sie den Befehl "2FA/TOTP aktivieren" im Kontextmenü Ihres Kontos aus. Starten Sie die Authenticator-App auf Ihrem Mobilgerät, klicken Sie auf "+", um Ihr Handelskonto hinzuzufügen, und scannen Sie den QR-Code vom Terminal. Geben Sie den generierten Code in das Feld "Einmaliges Passwort" ein und klicken Sie auf "2FA aktivieren". Für Ihr Konto wird auf dem Handelsserver des Brokers ein Geheimcode registriert.


    Unterstützung für 2FA/TOTP-Authentifizierung mit Google Authenticator und ähnlichen Apps wurde hinzugefügt.

    Der gespeicherte Geheimcode wird in der Authenticator-App verwendet, um jedes Mal, wenn Sie sich mit Ihrem Konto verbinden, ein Einmalpasswort, One-time password oder OTP, zu generieren. Jedes Passwort ist 30 Sekunden lang gültig. Danach wird ein Neues erstellt.



    Für die Verbindung mit dem Konto ist ein zusätzliches Einmalpasswort, ein One-Time Password oder OTP, von der Authenticator-App erforderlich

    Wenn Sie sich entscheiden, den gespeicherten Geheimcode aus der Authenticator-App zu entfernen, sollten Sie zunächst die 2FA/TOTP-Authentifizierung über den entsprechenden Befehl im Kontextmenü des Kontos deaktivieren. Wenn die neue 2FA/TOTP-Authentifizierungsmethode auf Ihrem Konto nicht verfügbar ist, wenden Sie sich bitte an Ihren Broker.

MQL5

  1. Die Funktion CopyTicks für nutzerdefinierte Handelsinstrumente wurde korrigiert. Bei der Arbeit mit nutzerdefinierten Symbolen konnten unter bestimmten Bedingungen die Anfangsticks der vorherigen Sitzung anstelle der angeforderten Daten zurückgegeben werden.

  2. MQL5: Es wurden neue Enumerationswerte hinzugefügt, um den letzten OpenCL-Fehlercode und die Textbeschreibung zu erhalten.
    1. Der Wert CL_LAST_ERROR (Zahl: 4094) wurde der Enumeration ENUM_OPENCL_PROPERTY_INTEGER hinzugefügt

      Beim Abrufen des letzten OpenCL-Fehlers über CLGetInfoInteger wurde der Parameter handle ignoriert. Fehlerbeschreibungen: https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#CL_SUCCESS.
      Bei einem unbekannten Fehlercode wird die Zeichenfolge "unknown OpenCL error N" zurückgegeben, wobei N der Fehlercode ist.

      Beispiel:
      //--- the first handle parameter is ignored when obtaining the last error code
      int code = (int)CLGetInfoInteger(0,CL_LAST_ERROR);

    2. Der Wert CL_ERROR_DESCRIPTION (4093) wurde der Enumeration ENUM_OPENCL_PROPERTY_STRING hinzugefügt.
      Eine textuelle Fehlerbeschreibung kann mit CLGetInfoString abgerufen werden. Fehlerbeschreibungen: https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#CL_SUCCESS.

      Wenn CL_ERROR_DESCRIPTION verwendet wird, sollte ein Fehlercode als Parameter handle in CLGetInfoString übergeben werden. Wenn CL_LAST_ERROR anstelle des Fehlercodes übergeben wird, gibt die Funktion die letzte Fehlerbeschreibung zurück.

      Beispiel:
      //--- get the code of the last OpenCL error
      int    code = (int)CLGetInfoInteger(0,CL_LAST_ERROR);
      string desc; // to get the text description of the error
      
      //--- use the error code to get the text description of the error
      if(!CLGetInfoString(code,CL_ERROR_DESCRIPTION,desc))
         desc = "cannot get OpenCL error description, " + (string)GetLastError();
      Print(desc);
      
      
      //--- to get the description of the last OpenCL error without receiving the code, pass CL_LAST_ERROR  
      if(!CLGetInfoString(CL_LAST_ERROR,CL_ERROR_DESCRIPTION, desc))
         desc = "cannot get OpenCL error description, " + (string)GetLastError();
      Print(desc);
      Der interne Name der Enumeration wird als Fehlerbeschreibung übergeben. Die Erklärung dazu finden Sie unter https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#CL_SUCCESS. Der Wert CL_INVALID_KERNEL_ARGS bedeutet beispielsweise "Wird zurückgegeben, wenn der Kernel in die Prozess-Enqueue gestellt wird und einige Kernel-Argumente nicht gesetzt oder ungültig sind."

  3. Die Funktion der Methode matrix::MatMul wurde korrigiert. Bei der Arbeit mit großen Matrizen konnte das Terminal bei bestimmten Größen abstürzen.

Behoben wurde ein Fehler in den Absturzprotokollen.
18 November 2022
MetaTrader 5 Build 3510: Verbesserungen am Web-Terminal

MetaTrader 5 WebTerminal

  1. In der mobilen Version haben wir das Sortieren der Handelshistorie und leistungsfähige Filter implementiert. Verwenden Sie die Befehle des oberen Bedienfeld, um die Anzeige der Historie anzupassen:


    Anpassbare Ansicht der Handelshistorie in der mobilen Version


    Die Vorgänge können nach den wichtigsten Parametern sortiert werden, wie z. B. Datum, Ticket, Symbol und Volumen, um nur einige zu nennen.

  2. Verbesserter Zugang zu den Details des Handelskontos.

    • In der Desktop-Version sind die aktuellen Kontodaten anklickbar. Klicken Sie auf das Konto, um seine Details anzuzeigen.
    • In der mobilen Version wird das aktuelle Konto unter dem Abschnitt Einstellungen angezeigt. Klicken Sie auf das Konto, um seine Details anzuzeigen.


    Verbesserter Zugang zu Handelskontodaten

  3. Die Anzeige des Kontotyps im Fenster der Kontoverwaltung wurde korrigiert.
  4. Korrigiert wurde die Anzeige des Kapitals und der freien Marge nach der Seitenaktualisierung des Webterminals in mobilen Browsern.
  5. Die Anzeige der unteren Leiste im mobilen Firefox-Browser wurde korrigiert.

Terminal

  1. Korrigiert wurde die Berechnungen von Kapital und Saldo im Handelsbericht.

MQL5

  1. Neues Verhalten von typename(expr). Die aktualisierte Funktion gibt den vollständigen Typ mit Modifikatoren und Dimensionen (für Arrays) zurück:
    Klasse A
      {
      };
    
    void OnStart(void)
      {
       const A *const arr[][2][3]={};
       Print(typename(arr));
      }
    
    Ergebnis:
    "class A const * const [][2][3]"
Behoben wurde ein Fehler in den Absturzprotokollen.
11 November 2022
MetaTrader 5 Build 3500: Verbesserungen und Korrekturen

Terminal

  1. Das Kontextmenü der Abschnitte Handel und Historie wurde um einen neuen Befehl ergänzt, der den Zugriff auf den neuen Handelsbericht ermöglicht.


    Der Handelsbericht enthält die folgenden Leistungsdaten:
    • Diagramme und Tabellen zur Visualisierung der monatlichen Wachstumsmetriken
    • Kapitaldiagramm
    • Sterndiagramm, das eine schnelle Bewertung der Kontosituation ermöglicht
    • Handelsstatistiken nach Instrumenten
    • Eine Vielzahl zusätzlicher Metriken für die Handelsanalyse

  2. Korrigierte Berechnungen der Ersteinlage im Handelsbericht.
  3. Die Einstellung der Stop-Loss- und Take-Profit-Level bei Verwendung des Quick-Trading-Paneels im Chart und Market Watch wurde korrigiert. Die Level konnten von zuvor eröffneten Positionen übernommen werden, auch wenn die Übernahme nicht erforderlich war (die entsprechende Funktionsweise ist für FIFO-basierte Konten implementiert).
  4. Aktualisierte Übersetzungen der Nutzeroberfläche.

MQL5

  1. Es wurde ein Compilerfehler behoben, der den Zugriff auf ein Strukturfeld über eine konstante Zeichenkette mit dem Wert des Feldnamens ermöglichte.
  2. Die Prüfung von Tastenzuständen mit der Funktion TerminalInfoInteger(TERMINAL_KEYSTATE_*) wurde korrigiert.

Fehler in den Absturzprotokollen wurden behoben.

MetaTrader 5 WebTerminal Version 3500

  1. Ein Fehler, durch den Positionen bei Requotes geschlossen wurden, wurde korrigiert.
  2. Die Verbindung zum Server wurde wiederhergestellt, nachdem ein Browser-Fenster maximiert wurde, das lange Zeit inaktiv war.
  3. Korrigierte Anzeige der Kreditmittel.
  4. Verbesserungen und Korrekturen
Zurück123456