Neues MetaTrader 5 Build 1570: Verbesserung des Market-Schaufensters und Erweiterung von Funktionstemplates in MQL5

 

Neues MetaTrader 5 Build 1570: Verbesserung des Market-Schaufensters und Erweiterung von Funktionstemplates in MQL5

Am 24. März 2017 wird die Aktualisierung der MetaTrader 5 Plattform veröffentlicht. Dieses Update beinhaltet die folgenden Änderungen:

  1. Terminal: Es wurde das Schaufenster des MetaTrader Market Shops für Applikationen aktualisiert. Nun ist es einfacher Handelsroboter und technische Indikatoren auszuwählen. Wir haben das Design aktualisiert und Produktaufstellung hinzugefügt:

    • Auf der Startseite werden nun populäre Expert Advisors, Indikatoren, Neuheiten und kostenlose Top Apps angezeigt.
    • In den Kategorien Expert Advisors, Indikatoren und Utilitys gibt es jetzt Untergruppen: Grid und Hedging Roboter, Trend und Multicurrency Indikatoren und vieles mehr.




  2. Terminal: Es wurde die Aktualisierung des Kundenterminals und das Arbeiten integrierter Käufe im Market, Signalen und Virtual Hosting bei der Verwendung eines Accounts mit beschränkten Rechten korrigiert.
  3. Terminal: Es wurde ein Fehler behoben, der in einigen Fällen zu einer falschen Sortierung der Historie von Positionen geführt hatte.
  4. Terminal: Es wurde die Anzeige des Tabs "Aktiva" optimiert und korrigiert.
  5. MQL5: Es wurde die Unterstützung für das Überladen von Funktionstemplates nach Parametern hinzugefügt. Es gibt zum Beispiel ein Funktionstemplate, das den Wert des zweiten Parameters in den ersten Parameter anhand der expliziter Typenumwandlung schreibt. In der MQL5-Programmiersprache ist es verboten, den string Typ in den bool Typ umzuwandeln, wir können das aber selbst tun. Erstellen wir das Überladen eines Funktionstempaltes:
    //+------------------------------------------------------------------+
    //| Funktiostemplate                                                 |
    //+------------------------------------------------------------------+
    template<typename T1,typename T2>
    string Assign(T1 &var1,T2 var2)
      {
       var1=(T1)var2;
       return(__FUNCSIG__);
      }
    //+------------------------------------------------------------------+
    //| Spezielle Überladung für den Fall bool+string                    |
    //+------------------------------------------------------------------+
    string Assign(bool &var1,string var2)
      {
       var1=(StringCompare(var2,"true",false) || StringToInteger(var2)!=0);
       return(__FUNCSIG__);
      }
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       int i;
       bool b;
       Print(Assign(i,"test"));
       Print(Assign(b,"test"));
      }
    Als Ergebnis der Ausführung dieses Codes sehen wir, dass für das Paar int+string das Funktionstemplate Assign() verwendet wurde, und dass beim zweiten Aufruf für das Paar bool+string bereits die überladene Version verwendet wurde.
    string Assign<int,string>(int&,string)
    string Assign(bool&,string)

  6. MQL5: Es wurde die Option der expliziten Spezialisierung von Funktionstemplates hinzugefügt. Dafür müssen die Parameter der Typisierung vor der Liste der Aufrufparameter angegeben werden:
    template<typename T>
    T Func() { return (T)0; }
      
      
    void OnInit()
      {
       Func<double>();   // explizite Spezialisierung von Funktionstemplates
      }
    Auf diese Weise erfolgt die Spezialisierung nicht durch die Aufrufparameter, sondern durch eine explizite Angabe der Typen.

  7. MQL5: Es wurde die Anzeige benutzerdefinierter Indikatoren mit dem DRAW_ZIGZAG Zeichnungstyp optimiert.
  8. MQL5: Es wurden neue Werte der Aufzählung der Abschlusstypen ENUM_DEAL_TYPE hinzugefügt:

    • DEAL_DIVIDEND — Anrechnung der Dividende.
    • DEAL_DIVIDEND_FRANKED — Anrechnung von "franked dividends" (nicht besteuert, das Unternehmen bezahlt die Steuer für den Kunden).
    • DEAL_TAX — Steuerabzug.

  9. MQL5: Es wurde die Anzeige benutzerdefinierter Indikatoren mit dem DRAW_FILLING Zeichnungstyp korrigiert. Wenn die Koordinaten der oberen und der unteren Linien zusammenfallen, wird eine dünne Linie gezeichnet.
  10. MQL5: Es wurde die Berechnung der Koordinaten des Objekts "Bitmap Label" beim Setzen des Parameters CHART_SHOW auf false korrigiert. Dieser Parameter wird durch die ChartSetInteger Funktion gesetzt und ermöglicht es, alle Elemente des Preischarts für die Erstellung eines eigenes Interfaces des Programms auszublenden.
  11. MQL5: Es wurde der Fehler der Codierung von 24-Bit-Bildern behoben, wenn diese in die Ressourcen einer MQL5-Applikation platziert werden.
  12. MQL5: Es wurde der Fehler der Ausgabe von Strukturen mithilfe der ArrayPrint Funktion behoben.
  13. MQL5: Die MQL5 Standardbibliotheken wurden aktualisiert.
  14. MetaEditor: Es wurde die Übersetzung der Benutzeroberfläche ins Malaiische hinzugefügt.
  15. Signals: Es wurde das Öffnen der Seite eines Signals im Terminal infolge des Klickens auf den Link auf der MQL5.community Webseite, wenn kein Handelskonto verbunden ist, korrigiert.
  16. Tester: Es wurden Fehler bei der Arbeit der CopyTicks Funktion im Strategietester behoben.
  17. Tester: Es wurde die Sortierung von Trades vom Typ "Auszahlung" (Withdrawal) bei der Generierung eines Testberichts korrigiert.
  18. Tester: Es wurde die Modifizierung von Pending Orders korrigiert.
  19. Hosting: Die Anzeige von Virtual Hosting Wizard auf Bildschirmen mit ultra hohen Auflösung (4К) wurde korrigiert.
  20. Die Dokumentation wurde aktualisiert.


Die Aktualisierung wird über LiveUpdate verfügbar sein.