MetaTrader 5 Build 2615: Grundlegende Analyse und komplexe Kriterien im Strategietester

Erweiterte Möglichkeiten für eine Fundamentalanalyse. Neue Handelsinstrument-Eigenschaften hinzugefügt, die eine genauere Kategorisierung der Symbole ermöglichen

17 September 2020

Terminal

  1. Erweiterte Möglichkeiten für eine Fundamentalanalyse.
    Neue Handelsinstrument-Eigenschaften hinzugefügt, die eine genauere Kategorisierung der Symbole ermöglichen:
    • Sektor — der Wirtschaftssektor, zu dem der Vermögenswert gehört, wie z.B. Energie, Finanzen, Gesundheitswesen und andere.
    • Industrie — der Industriezweig, zu dem der Vermögenswert gehört, wie z.B. Sportbekleidung, Zubehör, Automobilherstellung, Gaststättengewerbe und andere.
    • Land — das Land des Unternehmens, dessen Aktien an der Börse gehandelt werden.
    Basierend auf diesen Eigenschaften wurde in Market Watch ein separates System implementiert, das effiziente Operationen mit Symbolen ermöglicht. Wählen Sie eine Kategorie aus dem Menü aus, und alle verfügbaren Instrumente werden einer Liste für eine eingehende Analyse hinzugefügt:



    Relevante Eigenschaften wurden den Vertragsspezifikationen hinzugefügt:



    Zudem können Fundamentaldaten zu Handelssymbolen nun direkt von der Plattform aus geöffnet werden. Links zu den größten Aggregatoren wurden dem Kontextmenü von Market Watch hinzugefügt:



    Die Verfügbarkeit von erweiterten Daten wird vom Broker kontrolliert. Wir haben jedoch die Standardverfügbarkeit der erweiterten Informationen für die maximale Anzahl von Instrumenten sichergestellt. Sobald die Broker ihre Server auf die neue Version aktualisieren, erscheinen die entsprechenden Länder-, Branchen- und Industriedaten in Ihren Plattformen.
  2.  Verbesserte Darstellung der Signale und des Marktes. Die Schaltflächen für Miete und Abonnement wurden auf der linken Seite hinzugefügt:



    Weitere Verbesserungen betreffen die Bereichsgestaltung. Dazu gehören hellere Tastenfarben, größere MQL5-Anmeldeschaltflächen und andere Verbesserungen.

  3. Die potentiellen Gewinn-/Verlustberechnung für Stop-Loss- und Take-Profit-Chartebenen wurden korrigiert.



  4. Fehler bei der Berechnung von synthetische Instrumente behoben. Die Fehler konnten gelegentlich zu einem Einfrieren der Plattform beim Start führen.
  5. Die Darstellung der Werte des integrierten Fraktalindikators im Datenfenster wurde korrigiert.
  6. Alle Icons in den Symbolleisten der Plattform wurden aktualisiert, um HiDPI-Monitore zu unterstützen.
  7. Positionsvolumenanpassung für kopierte Handelssignale wurde korrigiert. Der Anpassungsvorgang konnte manchmal aufgrund falsch angewandter Stopp-Level fehlschlagen, was den Fehler "ungültige Stopps" verursachte.
  8. Optimierte Neuerstellung der Kurshistorie nach relevanten Änderungen auf dem Server.
  9. Korrektur der Darstellung von Tooltips auf Handelsebene in Charts. In einigen Fällen wurden Tooltips in Charts angezeigt, auch wenn die Anzeige der Handelsebenen deaktiviert war.
  10. Korrektur der Option "Auf Charts anzeigen \ Automatisches Update" im Kontextmenü von Orders und Positionen im Abschnitt "Werkzeuge\Handel". Wenn diese Option jetzt nicht angekreuzt ist, wird die Anzeige der Handelshistorie für alle offenen Charts deaktiviert.

MQL5

  1. Die Funktion MathClassify wurde hinzugefügt. Sie bestimmt den Typ einer reellen Zahl und gibt ein Ergebnis als Wert aus der neuen Enumeration ENUM_FP_CLASS zurück.
    ENUM_FP_CLASS  MathClassify(
       double  value      // reelle Zahl
       );
    Die Enumeration verfügt über folgende Werte:
    • FP_SUBNORMAL — eine anormale Zahl, die näher Null ist, als die kleinst mögliche normale Zahl DBL_MIN 2.2250738585072014e-308
    • FP_NORMAL — ein normale Zahl im Bereich von 2.2250738585072014e-308 bis 1.7976931348623158e+308
    • FP_ZERO — eine positive oder negative Null
    • FP_INFINITE — eine Zahl, die nicht durch einen entsprechenden Typ dargestellt werden kann, Minus- oder Plus-Unendlich
    • FP_NAN — keine Zahl

    Verwenden Sie Folgendes, um die Gültigkeit einer Zahl zu prüfen:
    if(MathClassify(value)>FP_ZERO)
      {
       Print("Der Wert ist keine gültige Zahle");
      }
  2. Es wurden Symboleigenschaften hinzugefügt, die mit den Funktionen SymbolInfoString abgefragt werden können:
    • SYMBOL_COUNTRY — das Land des Unternehmens, dessen Aktien an der Börse gehandelt werden.
    • SYMBOL_SECTOR_NAME — der Wirtschaftssektor, zu dem der Vermögenswert gehört, wie z.B. Energie, Finanzen, Gesundheitswesen und andere.
    • SYMBOL_INDUSTRY_NAME — die Industrie, zu der der Vermögenswert gehört, wie z.B. Sportbekleidung, Zubehör, Automobilherstellung, Gaststättengewerbe und andere.

    Die Eigenschaften werden in Textform zurückgegeben.

    Der Sektor und die Branche, zu der das Handelsinstrument gehört, kann als Wert einer Enumeration ermittelt werden. Dazu können die folgenden Eigenschaften mit der Funktion SymbolInfoInteger abgefragt werden:
    • SYMBOL_SECTOR
    • SYMBOL_INDUSTRY

    Für die Arbeit mit diesen Eigenschaften wurden die Enumerationen ENUM_SYMBOL_SECTOR und ENUM_SYMBOL_INDUSTRY hinzugefügt.

  3. Ein neuer Speicherverwaltungsmechanismus wurde in MQL5-Programme implementiert. Er ermöglicht eine bis zu 3-mal schnellere Speicherzuweisung und vermeidet potenzielle Speicherzugriffsfehler.
  4. Optimierte und beschleunigte Operationen mit der Konto-Tick-Historie über die Funktionen Historie*.
  5. Der Aufruf von WebRequest von der Funktion OnDeinit wurde korrigiert. In früheren Versionen konnte der Funktionsaufruf nicht implementiert werden, wenn ein Expert Advisor angehalten worden war.
  6. Die Funktionsaufrufe von WebRequest von den Diensten wurde korrigiert. In früheren Versionen konnte ein Funktionsaufruf nach einem Neustart des Dienstes fehlschlagen.
  7. Prüfung auf Unterstützung für Werte vom Typ double auf einem Gerät bei Verwendung von OpenCL hinzugefügt. Der Typ float kann aufgrund übermäßiger Rundung nicht in Finanzberechnungen verwendet werden. Daher verlangt die Plattform explizit eine Unterstützung von 'doubles' für die Berechnungen. Wenn der Typ double nicht unterstützt wird, wird eine entsprechende Meldung in das Plattformprotokoll geschrieben: Gerät '<name>' unterstützt den Typ 'double' nicht. Früher wurde in solchen Fällen nur eine allgemeine Fehlermeldung angezeigt.
  8. Erheblich beschleunigte Ausführung der Funktion AccountInfoDouble mit den Parametern ACCOUNT_EQUITY und ACCOUNT_BALANCE.
  9. Korrigiert wurde die Anwendung von Vorlagen auf ein Chart durch die Funktion ChartApplyTemplate.
  10. Korrigiert wurde der Funktionsaufruf ChartSetInteger mit dem Parameter CHART_BRING_TO_TOP.
  11. Der integrierten Bibliothek Alglib wurde eine neue Methode Conjugate hinzugefügt. Diese Methode ermöglicht die konjugierte Zahlenberechnung für komplexe Zahlen. Die Bibliothek befindet sich in MQL5\Include\Math\Alglib.
  12. Vollständig überarbeitet wurde der Code-Profiler. Der neue Profiler arbeitet mit einer höheren Genauigkeit und mit einer höheren Geschwindigkeit.
    • Die Analyse basiert jetzt auf dem Code, der ähnlich wie bei der Kompilierung der Release-Version eines Programms optimiert wird. Dies ermöglicht eine genauere Bestimmung der Code-Ausführungsgeschwindigkeit, da während der Programmausführung exakt derselbe Code verwendet wird.
    • Der neue Profiler verwendet die Profiling-Methode "Sampling". Diese leichtgewichtige und genaue Methode sammelt Statistiken zur Anwendungsleistung, indem sie Daten zum Aufrufstapel sammelt und die Leistung in regelmäßigen Abständen berechnet.
    • Im Gegensatz zu den vorherigen Versionen nimmt der neue Profiler keine Änderungen am analysierten Code vor. Die zuvor verwendete Instrumentationsmethode fügte dem Code bestimmte Konstrukte hinzu, die zur Messung der Funktionsgeschwindigkeit verwendet wurden. Dies könnte sich auf die endgültige Codegeschwindigkeit auswirken.

    Die Entwicklung des Profiler wird fortgesetzt. Weitere Verbesserungen werden in kommenden Plattformversionen verfügbar werden.

Tester

  1. Optimierte Operationen mit dem MQL5-Cloud-Netzwerk. Das Laden von Expert Advisors auf Agenten wurde korrigiert.
  2. Ein neues Optimierungskriterium "Komplexes Kriterium max" hinzugefügt. Dies ist ein integrales und komplexes Maß für die Qualität eines Testdurchlaufs. Es misst mehrere Parameter:
    • Anzahl der Deals
    • Drawdown
    • Erholungsfaktor
    • Erwartetes Ergebnis
    • Sharpe Ratio

    Der höchste Wert eines Parameters (zum Beispiel des Gewinns) ist nicht immer die beste Option im Hinblick auf die komplexe Analyse. Das komplexe Kriterium wählt nach und nach die besten Durchläufe aus: Zunächst nach der Anzahl der Deals, dann nach dem Expected Payoff, dem Erholungsfaktor und so weiter. Die neue Option ermöglicht den Erhalt der besten Optimierungsdurchläufe in Abhängigkeit von allen Parametern. Außerdem können Sie den optimalen Durchlauf auf der Grundlage des gewünschten Parameters auswählen, wie z.B. den höchsten Gewinn.

    Wählen Sie das neue Kriterium in den Einstellungen des Strategietesters und starten Sie die Optimierung.



    Der Wert "Komplexes Kriterium max" wird in einem separaten Register "Ergebnis" in den Optimierungsergebnissen angezeigt. Die Durchläufe können nach dieser Spalte sortiert werden. Das neue Kriterium unterstützt farbige Kennzeichnungen, um die besten Durchläufe visuell hervorzuheben. Werte unter 20 werden rot hervorgehoben, und Werte über 80 werden dunkelgrün dargestellt.



  3. Korrektur der Berechnung der nutzerdefinierten Kommission im Strategietester.

MetaEditor

  1. Wir haben die globale Überarbeitung Funktionen für das intelligente Code-Management (IntelliSense) initiiert.
    • Hinweise zeigen jetzt neben dem Namen auch die vollständige Funktionssignatur an.
    • Die Schriftart für die Hinweise wird jetzt gemäß den Einstellungen des MetaEditors eingestellt.
    Weitere Verbesserungen werden in kommenden Plattformversionen verfügbar werden.

Aktualisierte Dokumentation.