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.