Nachschlagewerk MQL5 
Dokumentation zur Sprache des automatischen Handels

MQL5 Referenz

MetaQuotes Language 5 (MQL5) ist eine Hochsprache für die Entwicklung von technischen Indikatoren, Handelsrobotern und Hilfsprogrammen, die den Finanzhandel automatisieren. MQL5 wurde von MetaQuotes Software Corp. für ihre Handelsplattform entwickelt. Die Sprachsyntax ist sehr nah an C++ und ermöglicht es Programmierern, Anwendungen im Stil der objektorientierten Programmierung (OOP) zu entwickeln.

Zusätzlich zur MQL5-Sprache enthält das Handelsplattform-Paket auch die MetaEditor IDE mit hoch entwickelten Code-Schreibwerkzeugen, wie Templates, Snippets, Debugging, Profiling und Autovervollständigung, sowie die integrierte Dateiversionierung MQL5 Storage.

Die Sprachunterstützung ist auf der Website MQL5.community verfügbar, die eine riesige freie CodeBase und eine Fülle von Artikeln enthält. Diese Artikel decken alle Aspekte des modernen Handels ab, einschließlich neuronaler Netze, Statistik und Analyse, Hochfrequenzhandel, Arbitrage, Test und Optimierung von Handelsstrategien, dem Einsatz von automatisierten Handelsrobotern und mehr.

Händler und MQL5-Programmentwickler können im Forum miteinander kommunizieren, Anwendungen in Auftrag geben und selber entwickeln, indem sie den Freelance Service nutzen, oder geschützte Programme im Market der automatisierten Handelsanwendungen kaufen und verkaufen.

Die MQL5-Sprache bietet spezialisierte Handelsfunktionen und vordefinierte Ereignisbehandlungen zur Unterstützung von Programmierern bei der Entwicklung von Expert Advisors (EAs), die automatisch Handelsprozesse nach bestimmten Handelsregeln ausführen. Zusätzlich zu den EAs erlaubt MQL5 die Entwicklung von benutzerdefinierten technischen Indikatoren, Skripten und Bibliotheken.

Diese MQL5-Sprachreferenz enthält Funktionen, Operationen, reservierte Wörter und andere Sprachkonstruktionen, die in Kategorien unterteilt sind. Die Referenz enthält auch Beschreibungen der Klassen in der Standardbibliothek, die für die Entwicklung von Handelsstrategien, Bedienfeldern, benutzerdefinierten Grafiken und für den Dateizugriff verwendet werden.

Zusätzlich gibt es in der CodeBase die Bibliothek ALGLIB für die numerische Analyse, die zur Lösung verschiedener mathematischer Probleme verwendet werden kann.
 

Arten von MQL5-Anwendungen

MQL5-Programme sind in vier spezialisierte Typen unterteilt, die auf den von ihnen implementierten automatisierten Handelsaufgaben basieren:

  • Der Expert Advisor ist ein automatisiertes Handelssystem, das mit einem Chart verbunden ist. Ein Expert Advisor enthält Ereignisbehandlungen, um auf vordefinierte Ereignisse zu reagieren, die die entsprechenden Elemente der Handelsstrategie durchführen. Zum Beispiel, das Ereignis der Programminitialisierung und Deinitialisierung, neue Ticks, Timer-Ereignisse, Änderungen der Tiefe des Marktes, auf dem Chart und benutzerdefinierte Ereignisse.
    Neben der Berechnung der Handelssignale auf der Grundlage der implementierten Regeln, können Expert Advisors auch den Handel automatisieren und die Aufträge direkt an den Handelsserver senden. Expert Advisor werden in <Terminal_Directory>\MQL5\Experts. gespeichert.
  • Der benutzerdefinierte Indikator ist ein technischer Indikator, der von einem Benutzer zusätzlich zu den in die Handelsplattform integrierten Standardindikatoren entwickelt wurde. Benutzerdefinierte Indikatoren, wie auch Standardindikatoren, können nicht automatisch handeln, sondern nur analytische Funktionen umsetzen und bereitstellen. Benutzerdefinierte Indikatoren können Werte anderer Indikatoren für Berechnungen verwenden und können von einem Expert Advisor aufgerufen werden.
    Sie werden im Verzeichnis <Terminal_Directory>\MQL5\Indicators gespeichert.
  • Das Script ist ein Programm, das nur einmal ausgeführt wird. Im Gegensatz zu einem Expert Advisor behandeln Skripte kein Ereignis außer Trigger, Initialisierung und Deinitialisierung. Der Code eines Skripts muss die Funktion OnStart() enthalten.
    Skripte werden in <Terminal_DIrectory>\MQL5\Scripts gespeichert.
  • Die Bibliothek ist eine Ansammlung von benutzerdefinierten Funktionen. Bibliotheken sind dazu gedacht, häufig verwendete Algorithmen benutzerdefinierter Programme aufzunehmen und für eine vielfältige Verwendung zur Verfügung zu stellen.
    Bibliotheken befinden sich in <Terminal_Directory>\MQL5\Libraries.
  • Die Include-Datei ist ein Quelltext der am häufigsten verwendeten Blöcke von benutzerdefinierten Programmen. Solche Dateien werden in die Quelltexte von Expert Advisors, Scripts, benutzerdefinierten Indikatoren und Bibliotheken während der Kompilierung eingebunden. Die Verwendung von eingebundenen Dateien ist wegen der zusätzlichen Belastung beim Aufruf von Bibliotheksfunktionen besser als die Verwendung von Bibliotheken.
    Include-Dateien können im gleichen Verzeichnis gespeichert werden, in dem sich die Originaldatei befindet. In diesem Fall wird die Anweisung #include mit doppelten Anführungszeichen verwendet. Eine andere Möglichkeit ist, die Include-Dateien im Verzeichnis <Terminal_Directory>\MQL5\Include zu speichern. In diesem Fall muss #include mit spitzen Klammern verwendet werden.