MetaTrader 5 Build 1395: Schnellere Handeslausführungen und Verbesserungen bei der visuellen Ausführung des Strategietesters

Das Client-Terminal bietet nun eine schnellere Orderausführung. Es wurde ein Fehler behoben, der dazu geführt hatte, dass das Ausführen von

19 August 2016

Terminal

  1. Das Client-Terminal bietet nun eine schnellere Orderausführung.
  2. Es wurde ein Fehler behoben, der dazu geführt hatte, dass das Ausführen von MQL5-Anwendungen in Terminals, die in 32 Bit Umgebungen von Windows 10 mit der Buildnummer 1607 liefen, nicht möglich war.
  3. Der Navigator zeigt jetzt an, ob ein Konto im Hedging- oder im Netting-Modus handelt.
  4. Dem Navigator wurde ein neuer Befehl innerhalb des Kontextmenüs hinzugefügt. Dieser erlaubt es dem Anwender, sich über den ausgewählten Account direkt mit dem Web-Terminal zu verbinden.
  5. Die Hilfe-Sektion des Menüs wurde aktualisiert. Sie beinhaltet jetzt auch Links zu den Video-Anleitungen.
  6. Es wurde eine Reihe von Fehlern bei der Arbeit auf Bildschirmen mit hoher Auflösung (4K) behoben.
  7. Die Übersetzung der Benutzeroberfläche ins Persische wurde aktualisiert.

MQL5

  1. Es wurden neue 'void *' Pointers hinzugefügt, um es den Anwendern zu ermöglichen, abstrakte Sammlungen von Objekten zu erzeugen. In der Variablen von diesem Typ kann der Pointer zu einem Objekt von einer beliebigen Klasse gespeichert werden.
    Es wird empfohlen, den Operator dynamic_cast<Name der Klasse *>(Pointer void *) für eine Rückwärts-Konvertierung zu verwenden. Wenn eine Konvertierung nicht möglich ist, ist das Ergebnis NULL.
    class CFoo { };
    class CBar { };
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       void *vptr[2];
       vptr[0]=new CFoo();
       vptr[1]=new CBar();
    //---
       for(int i=0;i<ArraySize(vptr);i++)
         {
          if(dynamic_cast<CFoo *>(vptr[i])!=NULL)
             Print("CFoo * object at index ",i);
          if(dynamic_cast<CBar *>(vptr[i])!=NULL)
             Print("CBar * object at index ",i);
         }
       CFoo *fptr=vptr[1];  // Führt zu einem Fehler bei der Umwandlung der Pointer, vptr[1] ist kein Objekt von CFoo
      }
    //+------------------------------------------------------------------+
  2. Für Strings wurde die Unterstützung des Operators [ ] hinzugefügt.Dieser Operator ermöglicht es dem Anwender, ein Symbol aus einem String über den Index zu bekommen. Falls sich der angegebene Index außerhalb des Strings befindet, dann ist das Ergebnis 0.
    string text="Hello";
    ushort symb=text[0];  // Gibt den Code des Symbols 'H' zurück
    
  3. Es wurde eine zweite Version des TesterInit Eventhandlers mit der int OnTesterInit(void) Signatur hinzugefügt. Dieser kann INIT_SUCCEEDED (0) oder INIT_FAILED (oder jeden anderen Wert ungleich Null) zurückgeben. Falls OnTesterInit einen Wert ungleich Null zurückgibt, dann wird die Optimierung nicht gestartet.
  4. Es wurde ein Fehler behoben, der dazu geführt hat, dass bei den verschiedenen überladenen Methoden von ChartGetString unterschiedliche Ergebnisse zurückgegeben worden sind.

Tester

  1. Es wurden weitere Kommandos und Hotkeys für das visuelle Testen hinzugefügt. Es ist jetzt möglich, in dem visuellen Tester die Charts genauso zu konfigurieren, wie es auch im Terminal möglich ist: Änderungen von Farben, die Sichtbarkeit von verschiedenen Control-Elementen, das Anwenden von Vorlagen, etc.




  2.  Es wurde ein Fehler im Zusammenhang mit der sleep-Funktion im Testmodus "Nur Eröffnungspreise" behoben.
  3.  Es wurde ein Fehler behoben, der dazu geführt hat, dass bei den Timeframes W1 und MN1, die Bars entsprechend ihrem Status falsch gebildet worden sind.

MetaEditor

  1. Es wurde eine Übersetzung in die traditionelle chinesische Sprache hinzugefügt.

Die Dokumentation wurde aktualisiert.