Die MetaQuotes Language 5 (MQL5) ist eine objektorientierte Programmiersprache, die speziell für die Entwicklung automatisierter Handelsstrategien im MetaTrader 5 Terminal entwickelt wurde. Sie ermöglicht das Erstellen von Expert Advisors (Trading-Robotern), benutzerdefinierten Indikatoren, Skripten und Bibliotheken, um komplexe Handelslogiken zu implementieren.
Grundlagen und Programmarten
MQL5 basiert auf der Syntax von C++, unterscheidet sich jedoch durch vereinfachte Konstrukte wie das Fehlen von Pointerarithmetik oder Goto-Befehlen. Die Sprache unterstützt vier Hauptprogrammtypen:
- Expert Advisors: Automatisierte Handelsroboter, die auf vordefinierten Algorithmen basieren und Handelsoperationen ausführen.
- Benutzerindikatoren: Analytische Tools zur Visualisierung von Marktmodellen ohne direkte Handelsoperationen.
- Skripte: Einmalige Aktionen wie Datenerfassung oder Berichterstellung.
- Bibliotheken: Wiederverwendbare Codeblöcke für effizientere Entwicklung.
Syntax und Datentypen
MQL5 verwendet Bezeichner mit einer maximalen Länge von 63 Zeichen und unterstützt Datentypen wie int
, datetime
oder string
. Kommentare werden durch /* */
oder //
definiert, während Präprozessordirektiven wie #define
oder #include
Codeoptimierung ermöglichen.
Verwendung von Ressourcen
Um Bilder oder Tondateien in Programmen zu integrieren, nutzt man die #resource
-Direktive, die die Dateien in die EX5-Datei einbettet. Dies gewährleistet Kompatibilität bei der Übertragung zwischen Terminals.
Handelsfunktionen
Zentrale Befehle wie OrderSend()
oder OrderCloseBy()
ermöglichen die direkte Steuerung von Handelsoperationen. Diese Funktionen werden durch Ereignisbehandlungen wie OnTick
oder OnTrade
gestartet.
Grafische Objekte
Objekte wie Labels oder Pfeile können mit ObjectCreate
erstellt werden, um Charts zu annotieren. Beispielsweise visualisiert ein TextLabel
den aktuellen ASK-Preis in Echtzeit.
Ereignisgesteuerte Programmierung
Das Event-Handling in MQL5 ermöglicht Reaktionen auf Marktänderungen. Ein Beispiel ist die Automatisierung von Positionsschließungen bei Erreichen eines bestimmten Preises, was durch OnTradeTransaction
realisiert wird.
Zusammenfassung
MQL5 kombiniert Leistungsfähigkeit mit einer benutzerfreundlichen Syntax, ideal für die Implementierung komplexer Algo-Trading-Systeme. Durch die Integration von Bibliotheken, Ressourcen und Ereignishandling bietet sie ein umfassendes Werkzeugset für professionelle Trader.