MetaTrader 5 Build 3800: Der Auftrag Book or Cancel (BOC), KI-Programmierassistent und erweiterte ONNX-Unterstützung

In der neuen Version haben wir die Unterstützung von Aufträgen Book or Cancel (BOC, Buchen oder Löschen) hinzugefügt. Solche Aufträge können nur in der Markttiefe platziert werden, sie werden nicht sofort ausgeführt. Sie werden zur Durchführung des passiven Börsenhandels verwendet

8 Juni 2023

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 AI Assistant. 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.

    AI Assistant ist derzeit kostenlos und ist bereits im Editor aktiviert. Unter Tools \ Options\ AI Assistant 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.