Wie man mit Metatrader 5 anfängt - Seite 122

 

Verwendung der MATLAB 2018 Berechnungsfunktionen in MetaTrader 5

Verwendung der MATLAB 2018 Berechnungsfunktionen in MetaTrader 5


This article is a development of the article "Interaction between MetaTrader 4 and MATLAB" by A. Emelyanov, and it provides information on solving a similar task for modern 64-bit versions of all platforms utilized by users. Over the past period, the method for creating shared DLL libraries has been substantially upgraded in the MATLAB package. Therefore, the method discussed in the original article requires modification. This happened because MATLAB Compiler SDK or MATLAB Coder must now be used instead of MATLAB Compiler. In addition, the practice of working with dynamic memory in MATLAB has changed, which implies certain adjustments of the source code that addresses a library written in the MATLAB language.

 

Entwicklung eines plattformübergreifenden Grider EA

Entwicklung eines plattformübergreifenden Grider EA

Most frequent users of this website know pretty well that MQL5 is the best option for developing custom EAs. Unfortunately, not all brokers allow creating accounts available in MetaTrader 5. Even if you currently work with a broker that allows that, you may switch to a broker offering only MetaTrader 4 in the future. What are you going to do with all the MQL5 EAs you have developed in that case? Are you going to spend a huge amount of time to rework them to fit into MQL4? Perhaps, it would be more reasonable to develop an EA able to work both in MetaTrader 5 and MetaTrader 4?

In diesem Artikel werden wir versuchen, einen solchen EA zu entwickeln und zu prüfen, ob ein Handelssystem, das auf einem Order-Grid basiert, verwendbar ist.

 

Visualisierung der Handelshistorie in mehreren Währungen anhand von HTML- und CSV-Berichten

Visualisierung des Handelsverlaufs in mehreren Währungen auf der Grundlage von HTML- und CSV-Berichten

Seit seiner Einführung bietet der MetaTrader 5 die Möglichkeit, mehrere Währungen zu testen. Diese Möglichkeit wird von Händlern häufig genutzt. Die Funktion ist jedoch nicht universell. Insbesondere kann der Benutzer nach der Durchführung eines Tests einen Chart mit den durchgeführten Handelsoperationen öffnen. Dabei handelt es sich jedoch nur um einen Chart für ein in den Einstellungen des Strategietesters ausgewähltes Handelssymbol. Der gesamte Handelsverlauf aller verwendeten Symbole kann nach dem Test nicht eingesehen werden, und eine visuelle Prüfung ist nicht immer effizient. Eine zusätzliche Analyse kann nach einiger Zeit nach dem Testen erforderlich sein. Auch kann ein Bericht von einer anderen Person erstellt werden. Daher wäre ein Tool zur Visualisierung des Handels mit mehreren Arbeitssymbolen auf der Grundlage des HTML-Testberichts sehr nützlich.

Visualisierung des Handelsverlaufs in mehreren Währungen auf der Grundlage von HTML- und CSV-Berichten

Visualisierung des Handelsverlaufs in mehreren Währungen auf der Grundlage von HTML- und CSV-Berichten

Im vorigenArtikel wurde der HTML-Parser auf der Grundlage von CSS-Selektoren beschrieben[1]. Der Parser extrahiert die Liste der Geschäfte aus dem HTML-Bericht, auf deren Grundlage wir Trades bilden können (grafische Objekte). Das Parsen von CSV-Dateien aus dem Bereich Signale ist etwas einfacher, während das Dateiformat für MetaTrader 4 (*.history.csv) und MetaTrader 5 (*.positions.csv) Signale von den eingebauten MQL-Funktionen unterstützt wird.

 
Wo soll ich anfangen?
https://www.mql5.com/en/forum/212020
Where Do I start from?
Where Do I start from?
  • 2017.07.25
  • www.mql5.com
Hi fam! Am a total newbie in the forex niche... Just signed up here on this platform... Please where do i start from? I need help...
 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Neue MetaTrader 5 Plattform Build 2085: Integration mit Python und Verbesserungen am Strategy Tester

MetaQuotes Software Corp., 2019.06.11 17:36

Die aktualisierte Version der MetaTrader 5-Plattform wird am Donnerstag, den 13. Juni 2019, veröffentlicht. Die neue Version enthält die folgenden Änderungen:


  1. Terminal: Es wurde eine neue API hinzugefügt, die die Abfrage von MetaTrader 5-Terminaldaten durch Anwendungen in der Sprache Python ermöglicht.

    Python ist eine moderne High-Level-Programmiersprache für die Entwicklung von Skripten und Anwendungen. Sie enthält mehrere Bibliotheken für maschinelles Lernen, Prozessautomatisierung sowie Datenanalyse und -visualisierung.

    DasMetaTrader-Paket für Python wurde für den effizienten und schnellen Erhalt von Börsendaten über Interprozessorkommunikation direkt vom MetaTrader 5-Terminal entwickelt. Die über diesen Weg erhaltenen Daten können für statistische Berechnungen und maschinelles Lernen weiterverwendet werden.



    Verbindung

    1. Laden Sie die neueste Python-Version unter https://www.python.org/downloads/windows herunter.
    2. Aktivieren Sie während der Python-Installation die Option "Python X.X zu PATH% hinzufügen", um den Start von Python-Skripten von der Kommandozeile aus zu ermöglichen.
    3. Installieren Sie das MetaTrader 5 Modul über die Kommandozeile
      pip install MetaTrader5
    4. Hinzufügen der Pakete matplotlib und pytz
      pip install matplotlib
      pip install pytz

    Funktionen

    • MT5Initialize stellt die Verbindung mit dem MetaTrader 5 Terminal her
    • MT5Shutdown schließt die zuvor aufgebaute Verbindung zum MetaTrader 5 Terminal
    • MT5TerminalInfo empfängt Status und Parameter des verbundenen MetaTrader 5 Terminals
    • MT5Version gibt die Version des MetaTrader 5 Terminals zurück
    • MT5WaitForTerminal wartet, bis sich das MetaTrader 5 Terminal mit dem Handelsserver verbindet
    • MT5CopyRatesFrom empfängt Balken vom MetaTrader 5-Terminal ab dem angegebenen Datum
    • MT5CopyRatesFromPos empfängt Balken vom MetaTrader 5 Terminal, beginnend mit dem angegebenen Index
    • MT5CopyRatesRange empfängt Balken im angegebenen Datumsbereich vom MetaTrader 5-Terminal
    • MT5CopyTicksFrom empfängt Ticks vom MetaTrader 5-Terminal ab dem angegebenen Datum
    • MT5CopyTicksRange empfängt Ticks für den angegebenen Datumsbereich vom MetaTrader 5-Terminal


  2. Terminal: Die Bereiche Markt und Signal wurden optimiert. Die Produkt- und Signalvitrinen laufen jetzt bis zu siebenmal schneller und bieten so ein besseres Service-Browsing-Erlebnis.




  3. Terminal: Unterstützung für "Market", "Signals" und "Search" in Wine hinzugefügt. Linux- und Mac OS-Benutzer können jetzt auf den größten Speicher von Handelsanwendungen zusammen mit dem Copy Trading Service zugreifen.




  4. Terminal: Das integrierte Lernprogramm wurde in mehr als 30 Sprachen übersetzt, unter anderem in Spanisch, Chinesisch, Portugiesisch und Deutsch. Um interaktive Tipps in der gewünschten Sprache anzuzeigen, wechseln Sie über das Menü "Ansicht" zur gewünschten Sprache.




  5. Terminal: Neue Optionen ermöglichen die Überprüfung von Telefonnummern und E-Mails, die von Händlern bei der Eröffnung von Demo- und vorläufigen Konten angegeben werden.

    Die Notwendigkeit der Datenüberprüfung wird vom Broker festgelegt. Wenn die Option aktiviert ist, werden bei einer Kontoanforderung automatisch Bestätigungscodes an den Händler gesendet und spezielle Code-Felder erscheinen im Dialogfeld:




    Die Bestätigungscodes sind mehrere Minuten lang gültig. Wird der Code nicht innerhalb dieses Zeitrahmens in das Feld eingegeben, muss der Händler den Vorgang wiederholen.
    Bevor das System die Codes versendet, prüft es, ob die angegebene Telefonnummer/E-Mail zuvor bestätigt wurde. Wenn der Händler die Verifizierung bereits von seinem Computer aus bestanden hat, wird ein Konto ohne zusätzliche Bestätigung eröffnet. Somit entsteht den Händlern bei der Beantragung eines Kontos kein zusätzlicher Aufwand.

  6. Terminal: Die Zahlungsmöglichkeiten von MQL5.community über das PayPal-System wurden erweitert. Käufe können nun mit einem Klick über dieses System durchgeführt werden.

    So funktioniert es
    Nachdem Sie sich bei einem Einkauf mit Ihrem PayPal-Konto angemeldet haben, werden Sie aufgefordert, weitere Zahlungen an unser Unternehmen zuzulassen:





    Wenn Sie diese Option bestätigen, können Sie mit einem Klick weitere Einkäufe tätigen, indem Sie auf die Schaltfläche "zuvor gespeichertes Konto" klicken:




    Wenn Sie auf "Abbrechen und zu MetaQuotes Software Corp. zurückkehren" klicken, führen Sie die Zahlungen auf normale Weise durch, indem Sie die PayPal-Kontodaten für jeden Kauf manuell eingeben.
    Die Website MQL5.com und die MetaTrader 5-Plattform speichern Ihre Zahlungsdaten nicht. Wenn Sie Geld einzahlen, einen Kauf im Market-Service tätigen oder ein Signal abonnieren, wird die Datenüberprüfung auf der Seite des Zahlungssystems durchgeführt.
    Sie können den Link zu Ihrem PayPal-Konto jederzeit entfernen.

  7. Tester: Verbesserungen und Optimierung des Strategietesters.

    Wir haben eine große Anzahl von versteckten Verbesserungen eingeführt und Fehler behoben, um den Betrieb des Strategy Testers zu optimieren. Das Update ermöglicht deutlich schnellere Tests für einige der Aufgabentypen und eine höhere Betriebsstabilität. Zu den wichtigsten Verbesserungen gehören:

    Operationen mit Frames
    Operationen mit Frames auf lokalen, Netzwerk- und Cloud-Agenten wurden optimiert. Solche Operationen werden nun schneller verarbeitet und nicht mehr übersprungen.

    Verteilung von Aufgaben an Agenten
    Der Prüfer kann nun während des Optimierungsprozesses Aufgaben an Agenten umverteilen. Wenn ein neuer Agent verfügbar geworden ist (oder einer der zuvor verwendeten Agenten freigegeben wurde), erstellt der Tester automatisch ein neues Aufgabenpaket, wobei er die Aufgaben verwendet, die zuvor auf andere Agenten verteilt wurden. Die Aufgaben können auch neu verteilt werden, wenn langsame Agenten entdeckt werden. Die Aufgaben solcher Agenten werden an andere Agenten geschickt, um die Optimierung schneller abzuschließen.

    Die Aufgabenverteilung im mathematischen Berechnungsmodus ist viel schneller geworden.

    Optimierungsstatistiken im Journal
    Die Optimierungsprotokollierung wurde erweitert: Sie enthält unter anderem detaillierte Statistiken über die Nutzung des MQL5-Cloud-Netzwerks und über die Aktivierung und Deaktivierung von Cloud-Agenten.

    Betrieb im vollständigen Optimierungsprotokollmodus
    Für einen optimalen Ressourcenverbrauch werden nicht alle Meldungen von Agenten im Testerprotokoll aufgezeichnet. Um alle Protokolle anzuzeigen, können Sie die Option "Vollständige Optimierungsprotokolle" über das Kontextmenü des Testerprotokolls aktivieren. Zuvor verlangsamte dieser Modus den Optimierungsprozess erheblich. Jetzt wird die Berechnungszeit nicht beeinträchtigt.

    MQL5-Cloud-Netzwerk
    Der Betrieb von Cloud-Test-Agenten wurde optimiert. Die Berechnungsaufgaben werden jetzt effizienter verteilt.

  8. Terminal: Der eingebaute Kalender enthält Veröffentlichungen von mehr als 900 Indikatoren, die sich auf die 18 größten globalen Volkswirtschaften beziehen, darunter die USA, die Europäische Union, Japan und das Vereinigte Königreich, um nur einige zu nennen. Relevante Daten werden in Echtzeit aus offenen Quellen gesammelt. Durch die regelmäßige Überprüfung des Dienstes bleiben Händler über die neuesten globalen Nachrichten informiert und können fundierte Handelsentscheidungen treffen.

    Der Wirtschaftskalender ist sowohl auf Desktop-Terminals und Websites als auch auf mobilen Geräten verfügbar. Die Anwendung kann über das Kontextmenü des Kalenders auf dem Terminal geöffnet werden:




    Wählen Sie Ihre Plattform und laden Sie die Tradays-Apps herunter:


    Zusätzlich zu den Kalenderfunktionen, die in der Desktop-Plattform verfügbar sind, bietet die mobile Version Erinnerungen an Ereignisse und Zugang zu einer vollständigen Historie von Indikatoren in Form von Charts und Tabellen.

  9. Terminal: Beim Import der Tick-Historie wurde die automatische Generierung der Balkenhistorie für benutzerdefinierte Symbole hinzugefügt. Wenn sich nun die Tickdaten eines benutzerdefinierten Symbols ändern, werden die entsprechenden Balken automatisch neu berechnet:

    • So bleiben einheitliche Daten auf der Plattform erhalten.
    • Nach dem Import von Tickdaten (vorausgesetzt, es sind genügend Daten vorhanden) müssen keine Balken importiert werden, da diese automatisch vom Terminal berechnet werden.

    Die Änderungen betreffen den Import von Ticks, der über die Terminalschnittstelle durchgeführt wird, sowie die Aktualisierung von Ticks, die aus MQL5-Anwendungen mit der Funktion CustomTicks* durchgeführt werden. Jede Änderung der Tickdaten führt zu einer Neuberechnung der entsprechenden 1-Minuten-Balken des benutzerdefinierten Symbols.

  10. Terminal: Die Datenaktualisierung im Datenfenster bei Verwendung eines Fadenkreuzes in einem abgetrennten Chart wurde korrigiert.
  11. Terminal: Die Speicherung der Tick-Historie wurde korrigiert. In früheren Versionen konnten mehrere Ticks innerhalb einer Millisekunde in der falschen Reihenfolge gespeichert werden.
  12. Terminal: Die Erstellung von Charts auf der Grundlage einer zu kurzen (weniger als einen Tag) auf dem Server verfügbaren Kurshistorie wurde korrigiert.
  13. MQL5: Option zum Debuggen von MQL5-Diensten hinzugefügt. Diese Anwendungen können nun ähnlich wie Expert Advisors und Indikatoren getestet werden.
  14. MQL5: Neue Gewinn- und Margenberechnungsmodi wurden in der Aufzählung ENUM_SYMBOL_CALC_MODE hinzugefügt:

    • SYMBOL_CALC_MODE_EXCH_BONDS - Berechnung für Börsenanleihen.
    • SYMBOL_CALC_MODE_EXCH_STOCKS_MOEX - Berechnung für die an der Moskauer Börse gehandelten Aktien.
    • SYMBOL_CALC_MODE_EXCH_BONDS_MOEX - Berechnung für die an der Moskauer Börse gehandelten Anleihen.

  15. MQL5: Die neue Funktion TesterDeposit ermöglicht die Emulation von Einzahlungsoperationen während des Testens. Die Funktion kann beim Testen von Geldmanagementstrategien nützlich sein.
    bool  TesterDeposit(
       double money      // the deposit amount
       );
  16. MQL5: Während der Ausführung der Methode OnDeinit empfängt die MQL5-Anwendung keine Ereignisse vom Terminal. Zuvor konnten Anwendungen gelegentlich die Deinitialisierung nicht abschließen (z. B. um alle erstellten Objekte zu löschen), weil andere Ereignisse empfangen wurden.
  17. MQL5: Es wurden gelegentliche Fehler behoben, die nach einer Änderung in der benutzerdefinierten Symbol-Tick-Historie für den aktuellen Tag auftreten konnten.
  18. MQL5: Gelegentliche Verlangsamung der Anwendung bei Verwendung einer großen Anzahl (Zehntausende) von grafischen Objekten behoben.
  19. MQL5: Das Einfrieren des Terminals bei häufigen Aufrufen der Handelshistorie durch MQL5-Programme wurde behoben.
  20. MQL5: Die Funktion iBarShift wurde korrigiert. Mit dem "exact=false"-Flag und einer Anfrage außerhalb der Daten, gab die Funktion die älteste Bar-Nummer statt der neuesten zurück.
  21. Tester: Die Bestimmung der Anzahl der Kerne auf Computern mit Prozessoren mit mehreren NUMA-Knoten wurde korrigiert.
  22. Tester: Es wurde die Möglichkeit hinzugefügt, Tests und Optimierungen mit einer anfänglichen Einzahlung von Null durchzuführen, da die Einzahlungsoperationen während des Tests mit der neuen Funktion TesterDeposit emuliert werden können.
  23. MetaEditor: Der Code-Styler-Befehl kann jetzt für einen schnellen Zugriff zur Symbolleiste hinzugefügt werden.
  24. MetaEditor: Der Wechsel zur Parameterdefinition und die Anzeige der zugehörigen Daten bei Verwendung von Nicht-Unicode-Zeichen in Funktions- und Variablennamen wurde korrigiert.
  25. Die Dokumentation wurde aktualisiert.

Das Update ist über das LiveUpdate-System verfügbar.


 

Anwendung von OLAP im Handel (Teil 1):Online-Analyse von multidimensionalen Daten

class Record
  {
    private:
      double data[];
      
    public:
      Record(const int length)
      {
        ArrayResize(data, length);
        ArrayInitialize(data, 0);
      }
      
      void set(const int index, double value)
      {
        data[index] = value;
      }
      
      double get(const int index) const
      {
        return data[index];
      }
  };

Händler müssen oft große Datenmengen analysieren. Dazu gehören oft Zahlen, Kurse, Indikatorwerte und Handelsberichte. Aufgrund der großen Anzahl von Parametern und Bedingungen, von denen diese Zahlen abhängen, wollen wir sie in Teilen betrachten und den gesamten Prozess aus verschiedenen Blickwinkeln betrachten. Die gesamte Menge an Informationen bildet eine Art virtuellen Hyperwürfel, in dem jeder Parameter seine eigene Dimension definiert, die senkrecht zu den übrigen steht. Solche Hyperwürfel können mit der beliebten OLAP-Technologie ( Online Analytical Processing) verarbeitet und analysiert werden.

Das Wort "online" im Namen des Ansatzes bezieht sich nicht auf das Internet, sondern steht für die Schnelligkeit der Ergebnisse. Das Funktionsprinzip beinhaltet die Vorberechnung der Hyperwürfelzellen, woraufhin man schnell einen beliebigen Querschnitt des Würfels extrahieren und in visueller Form betrachten kann. Dies ist vergleichbar mit dem Optimierungsprozess in MetaTrader: Der Tester berechnet zunächst Handelsvarianten (was ziemlich lange dauern kann, d.h. er ist nicht prompt) und gibt dann einen Bericht aus, in dem die Ergebnisse mit den Eingabeparametern verknüpft sind. Ab dem Build 1860 unterstützt die MetaTrader 5-Plattform dynamische Änderungen der angezeigten Optimierungsergebnisse durch Umschalten verschiedener Optimierungskriterien. Dies kommt der OLAP-Idee sehr nahe. Aber für eine vollständige Analyse brauchen wir die Möglichkeit, viele andere Scheiben des Hyperwürfels auszuwählen.

Online analytical processing - Wikipedia
  • en.wikipedia.org
OLAP tools enable users to analyze multidimensional data interactively from multiple perspectives. OLAP consists of three basic analytical operations: consolidation (roll-up), drill-down, and slicing and dicing.[6]: Consolidation involves the aggregation of data that can be accumulated and computed in one or more dimensions. For example, all...
 
Sergey Golubev:

Terminal: Unterstützung für "Market", "Signals" und "Search" in Wine hinzugefügt. Linux- und Mac OS-Benutzer können nun auf den größten Bestand an Handelsanwendungen sowie auf den Copy Trading Service zugreifen.

Ist es nur MT5?

Was ist mit MT4?

 
Bernhard Schweigert:

Ist es nur MT5?

Was ist mit MT4?

Es war die Ankündigung für MT5, so dass ich denke - es kann nur für MT5 sein.
Denn ich habe nicht gefunden, gleiche Informationen oder Ankündigung im Zusammenhang mit Metatrader 4 ...

 
Sergey Golubev:

Es war die Ankündigung für MT5 so denke ich - es kann nur für MT5 sein.
Denn ich habe nicht gefunden, gleiche Informationen oder Ankündigung im Zusammenhang mit Metatrader 4 ..

Jeder, der einen MAC oder Linux hat, kann das hier testen und mitteilen.

Grund der Beschwerde: