Expert-Advisor-Grundlagen — wie ein MQL5-Robot in MetaTrader 5 wirklich funktioniert
Ein Expert Advisor in MQL5 ist ein kleines Programm, das auf einem Chart in MetaTrader 5 sitzt und bei jedem Tick prüft, ob der Markt die Bedingung erfüllt, die du als Einstiegssignal definiert hast. Tut er es, platziert der EA selbstständig eine Order — ohne um Erlaubnis zu fragen. Dieser Artikel erklärt, wie ein Expert Advisor von innen aufgebaut ist, wie er mit der Plattform und dem Broker kommuniziert und wann es tatsächlich Sinn ergibt, einen zu betreiben. Er ist kein Programmierkurs.
Was ein Expert Advisor in MQL5 wirklich ist
MQL5 (MetaQuotes Language 5) ist eine Sprache, die eng an C++ angelehnt und speziell für die MetaTrader 5-Plattform entwickelt wurde. Ein Expert Advisor ist ein einzelnes Programm in dieser Sprache, das zu einer binären .ex5-Datei kompiliert und auf einem Chart genauso geladen wird wie ein Indikator. Der entscheidende Unterschied liegt in den Rechten: Ein Indikator zeichnet nur auf dem Chart, ein EA darf echte Orders auf deinem Handelskonto platzieren. Diese eine Linie im Berechtigungsmodell der Plattform trennt passive Darstellung von autonomer Automatisierung.
Wie unterscheidet sich ein EA von einem allgemeinen „Trading-Roboter"? Nur im Ökosystem. Ein in Python geschriebener Bot ist ebenfalls ein Roboter — er lebt jedoch außerhalb des Terminals und verbindet sich mit dem Broker typischerweise über eine REST-API oder das FIX-Protokoll. Ein EA lebt per Definition innerhalb von MT5. Eine vergleichende Übersicht beider Ansätze findest du in der Rubrik Plattformen & Tools, eine breitere Einführung in automatisiertes Trading bietet die Praktische Werkstatt.
Wie der EA mit der Plattform kommuniziert — der OnInit-, OnTick-, OnDeinit-Zyklus
Jeder Expert Advisor hat einen Lebensrhythmus, der von drei Ereignissen bestimmt wird, die die Plattform eigenständig aufruft. OnInit wird genau einmal ausgeführt, wenn der EA an einen Chart angehängt wird oder das Terminal neu startet. In diesem Moment liest der EA seine Eingabeparameter, öffnet Handles zu den benötigten Indikatoren und signalisiert der Plattform, dass er bereit ist, Ticks zu empfangen.
Das zweite Ereignis ist das wichtigste. OnTick wird jedes Mal aufgerufen, wenn eine neue Kursstellung vom Broker-Server für das betreffende Symbol eintrifft. Bei einem liquiden Paar wie EUR/USD während der Londoner Session kann das mehrere Dutzend Mal pro Sekunde geschehen. Innerhalb von OnTick entscheidet der EA, ob der aktuelle Kurs die Einstiegsbedingungen erfüllt, ob der Stop Loss nachgezogen werden muss oder ob eine offene Position geschlossen werden soll. Die gesamte Strategielogik wohnt in dieser einen Funktion.
Das dritte Ereignis, OnDeinit, wird ausgelöst, wenn der EA vom Chart entfernt wird, das Symbol gewechselt oder MT5 beendet wird. Seine Aufgabe ist das Aufräumen: Indikator-Handles freigeben, Zustand speichern, Log-Dateien schließen. Hilfshandler wie OnTimer oder OnTrade lasse ich hier bewusst aus, weil sie das Prinzip nicht verändern. Im Kern ist jeder EA ein ereignisgesteuertes Programm, das auf das reagiert, was MT5 ihm übergibt.
Wie der EA Orders platziert — die CTrade-Klasse
Die zweite Sache, die es wert ist, ohne Syntaxkenntnisse zu verstehen, ist die Art, wie ein EA mit dem Broker kommuniziert. MT5 erlaubt es nicht, einfach „eine Kauforder zu senden", wie es ein Mensch per Klick in der Oberfläche tut. Jede Order wird als strukturierte Anfrage — eine MqlTradeRequest — an den Server geschickt, der mit einem Ergebnis antwortet: einem Code, der anzeigt, ob die Order durchging oder ob sie abgelehnt wurde, etwa wegen unzureichender Margin, ungültiger Stop-Level oder überschrittener Abweichung.
Diese Strukturen manuell zu befüllen ist aufwendig. Deshalb liefert MetaQuotes in der Standard-Library die Klasse CTrade, die alles in komfortable Methoden wie Buy, Sell, PositionClose und OrderModify verpackt. In jedem MQL5-Forum finden sich ausgedehnte Diskussionen über Feinheiten: ob man Buy(volume, symbol) verwenden oder die Struktur selbst befüllen soll, wie Requotes behandelt werden, wie auf Slippage (Kursschlupf) bei schnellen Ausbrüchen zu reagieren ist. Für die meisten Retail-Strategien reicht CTrade vollkommen aus.
Der Strategy Tester — wie du prüfst, ob der EA nicht nur die Geschichte auswendig gelernt hat
Der in MT5 integrierte Strategy Tester ist ein deutlich leistungsfähigeres Werkzeug als sein Vorgänger in MT4. Er speist den EA mit historischen Ticks — entweder aus Bars generiert oder als echte Ticks vom MetaQuotes-Server heruntergeladen —, läuft tausende Durchgänge mit verschiedenen Parameterkombinationen durch und erzeugt einen Bericht mit Equity-Kurve, Drawdown und Profit Factor.
Das Problem: Derselbe Tester, der eigentlich zur Verifikation dient, wird meist zur Illusionsfabrik. Wer Parameter über die gesamte verfügbare Geschichte optimiert, findet fast immer eine Kombination, die dort eine glatte Aufwärtskurve produziert — und fast immer fällt diese Kurve zusammen, sobald der EA echtes Geld handelt. Das Phänomen heißt Curve-Fitting und ist eine mathematische Gewissheit, kein Pech. Die Gegenmaßnahmen: Daten in einen In-Sample-Zeitraum zur Optimierung und einen Out-of-Sample-Zeitraum zur Validierung aufteilen, idealerweise ergänzt durch eine Walk-Forward-Analyse.
„Eine Strategie, die auf historischen Daten profitabel war, wird nicht zwangsläufig in der Zukunft profitabel sein. Historische Daten sind eine kleine Stichprobe des Universums möglicher Marktzustände — und das Optimieren von Parametern auf diese Stichprobe ist genau das, was es klingt: eine Anpassung an die Stichprobe." — Ernest P. Chan, Algorithmic Trading: Winning Strategies and Their Rationale, Wiley, 2013
Wann ein EA wirklich hilft — und wann er schadet
Ob ein Expert Advisor sinnvoll ist, hängt stark vom Strategietyp ab. Drei Situationen, in denen ein EA einen echten Vorteil liefert: die konsequente Ausführung von Regeln, die ein Mensch psychologisch nicht durchhält (etwa zweihundert Scalping-Trades im Monat), die Marktüberwachung rund um die Uhr während der Asien-Session, wenn der Rest der Welt schläft, und Trades, bei denen die Entscheidung in Bruchteilen von Sekunden fallen muss — Territorium, in dem ein Mensch schlicht zu langsam ist.
Schlecht schneidet ein EA überall dort ab, wo Urteilsvermögen gefragt ist. Bei der Veröffentlichung der Non-Farm Payrolls einzusteigen, zu beurteilen, ob das aktuelle Kursverhalten ein echter Regimewechsel oder vorübergehendes Rauschen ist, oder geopolitischen Kontext zu interpretieren — das überfordert jeden Algorithmus. Die Statistik aus unabhängigen MQL5-Forum-Auswertungen ist ernüchternd: Eine klare Mehrheit der auf dem MQL5-Marketplace verkauften EAs weist trotz glänzender Backtest-Charts im ersten Jahr des Live-Betriebs Verluste aus. Das ist keine Böswilligkeit der Anbieter — ein schöner Backtest ist billig, eine echter Vorteil ist selten.
In der EU und Deutschland gelten für den Handel mit Forex-CFDs die ESMA-Hebelgrenzen (bis zu 1:30 auf Majors) und die Transparenzpflicht des Brokers, der Daten zur Verlustquote seiner Retail-Kunden offenlegen muss. BaFin beaufsichtigt in Deutschland tätige Broker und setzt diese Vorgaben durch. Bevor du einen EA auf einem Live-Konto startest, prüfe, ob dein Broker BaFin-reguliert oder im EU-Pass-Verfahren zugelassen ist.
Lohnt es sich, einen eigenen EA zu schreiben?
Wenn du verstehst, worauf deine Strategie basiert, und sie in Regeln fassen kannst, die präzise genug sind, um jeden Ermessensspielraum zu eliminieren, ist ein eigener EA die beste Zeitinvestition, die du in diesem Bereich machen kannst. Drei bis sechs Monate mit der MQL5-Dokumentation, einem einfachen Testprojekt und dem Strategy Tester baut Wissen auf, das dir kein gekauftes Roboter-Paket geben wird.
Der zweite Grund ist praktisch. Ein EA läuft an fünf Tagen pro Woche rund um die Uhr — aber nur dann, wenn auch der Rechner, auf dem er installiert ist, rund um die Uhr läuft. Ein Heim-Desktop, dessen Stromversorgung an einem einzigen Kabel hängt, reicht nicht. Deshalb spielt ein VPS eine eigene Rolle: Dieselbe Strategie kann je nach Latenz zwischen dem Broker-Server und der Maschine, auf der der EA läuft, spürbar unterschiedliche Ergebnisse liefern. Die Grundlagen zu VPS-Auswahl und Latenz sind ein eigenes Thema — ein guter Einstieg dafür findet sich im Abschnitt über Plattformen und Tools.
Was jetzt zu tun ist
- Lade MetaTrader 5 kostenlos von der Website deines Brokers herunter, eröffne ein Demokonto und öffne die Registerkarte „Strategy Tester". Lade einen der mitgelieferten Beispiel-EAs (Moving Average oder MACD Sample) auf EUR/USD H1, führe einen einzelnen Durchlauf durch und lies den Ergebnisbericht aufmerksam — achte darauf, wie die wichtigsten Kennzahlen (Equity-Kurve, Drawdown, Profit Factor) in der Praxis aussehen und in welche Relation sie zueinander stehen.
- Öffne die offizielle MQL5-Dokumentation unter mql5.com/en/docs und lies genau drei Kapitel: OnInit, OnTick und die CTrade-Klasse. Versuche noch nichts zu schreiben — das Ziel ist, zu sehen, wie die Dokumentation aufgebaut ist und wo du fertige Beispiele findest, sobald du sie brauchst.
- Schreibe deine Strategie in Form logischer Regeln auf — im Format „Wenn X und Y, dann Long-Position mit Stop auf Niveau Z". Kommen nach einer Stunde Arbeit noch Formulierungen wie „je nach Kontext" oder „intuitiv" vor, hast du eine diskretionäre Strategie, der keine Automatisierung helfen wird. Kehre zur Strategieentwicklung zurück, bevor du eine einzige Zeile Code schreibst — gute Handelsstrategien findest du in der Übersicht der Handelsstrategien.
- Wenn die Regeln eindeutig formulierbar sind, plane einen Lernpfad: rund drei Monate MQL5-Grundlagen aus der MetaQuotes-Dokumentation, ergänzt durch ein einwöchiges Nebenprojekt — den einfachst möglichen EA auf Basis eines gleitenden Durchschnitt-Crossover. Dieses eine Projekt lehrt mehr als zehn gekaufte Roboter zusammen.
- Bevor du irgendetwas auf einem Live-Konto startest, verpflichte dich zu mindestens einem Monat Forward-Testing auf einem Demokonto mit aktuellen Kursen. Ein Backtest kann keinen Forward-Test ersetzen — im Forward-Test werden unter anderem die tatsächlichen Ausführungslatenzen des Brokers sichtbar, die ein Backtest schlicht nicht abbilden kann.
Quellen und Literatur
-
MetaQuotes MQL5 Reference — OnTick event handler · oficjalna dokumentacja zdarzenia wywoływanego na każdą kwotację www.mql5.com ↗
-
MetaQuotes MQL5 Standard Library — CTrade class · klasa biblioteki standardowej do składania zleceń przez EA www.mql5.com ↗
-
MetaQuotes MetaTrader 5 — Strategy Tester documentation · narzędzie do backtestowania i optymalizacji EA www.metatrader5.com ↗
Häufig gestellte Fragen
Worin unterscheidet sich ein EA in MQL5 von einem Python-„Bot"?
Logisch gesehen — gar nicht. Beide laufen auf eine Schleife hinaus, die periodisch Marktbedingungen prüft und Orders sendet. Der Unterschied liegt im Ökosystem. Ein MQL5-EA ist ein Kind von MetaTrader: Er wird an einen Chart angehängt, nutzt die eingebauten Indikatoren und den Strategy Tester. Ein Python-Bot lebt außerhalb des Terminals und verbindet sich extern mit dem Broker — typischerweise über eine REST-API oder das FIX-Protokoll. Der EA gewinnt, wenn deine Strategie auf MT5-Indikatoren basiert und du den integrierten Tester brauchst. Python gewinnt, wenn du Machine-Learning-Bibliotheken, Statistik oder Daten aus mehreren Quellen kombinieren möchtest.
Muss ich programmieren können, um einen EA zu starten?
Um den EA einer anderen Person zu starten — nein. Die .ex5-Datei wird auf den Chart gezogen, die Parameter werden gesetzt und AutoTrading aktiviert. Die eigentliche Schwierigkeit beginnt danach: Ohne MQL5-Kenntnisse kannst du nicht überprüfen, was der Roboter wirklich im Inneren tut, wie er auf Slippage reagiert oder ob er verdeckt eine Martingale-Methode verwendet. Verkäufer auf dem MQL5-Market verbergen oft die wichtigsten Parameter vor dem Nutzer. Ohne die Möglichkeit, den Quellcode zu öffnen (und die meisten kommerziellen EAs sind geschlossen), bist du auf blindes Vertrauen angewiesen. Deshalb empfehle ich, in die Grundlagen der Sprache zu investieren — einige Wochen mit der Dokumentation reichen aus, um zu verstehen, was du liest.
Warum zeigt der Strategy Tester hervorragende Ergebnisse, während der Live-Handel Verluste ausweist?
Weil der Strategy Tester ein Optimierungswerkzeug ist, kein Vorhersageinstrument. Wer die gesamten historischen Daten nach Parametern durchsucht, die die beste Equity-Kurve liefern, findet fast sicher eine Kombination, die dort ein großartiges Ergebnis produziert — aber nur auf dieser einen Stichprobe. Das Phänomen heißt Curve-Fitting und ist eine mathematische Gewissheit. Das Gegenmittel ist die Aufteilung der Daten in einen In-Sample-Zeitraum zur Optimierung (etwa 2018–2022) und einen Out-of-Sample-Zeitraum zur Verifikation (etwa 2023–2024), auf dem der EA ohne weitere Parameteranpassungen läuft. Nur ein konsistentes Ergebnis im Validierungszeitraum macht es plausibel, dass du kein Artefakt betrachtest. Walk-forward-Analyse geht einen Schritt weiter — sie schiebt das Trainings- und Testfenster durch die gesamte Geschichte.
Braucht man für einen EA wirklich einen VPS?
Für eine Strategie, die in Bruchteilen von Sekunden reagiert — ja, ohne Diskussion. Ein Scalper, dessen EA täglich Dutzende von Orders feuert, verliert seinen Vorteil jedes Mal, wenn die Heimverbindung kurz ausfällt oder der Computer in den Ruhezustand geht. Ein VPS im selben Rechenzentrum wie der Broker-Server kann die Latenz von rund fünfzig Millisekunden auf wenige senken. Für eine Positionsstrategie, die eine Transaktion pro Woche macht, ist ein VPS ein Komfort, kein Muss — ein Heim-Desktop mit USV reicht aus. Die Kosten bei MT-spezialisierten Anbietern liegen heute bei rund 15 bis 50 EUR pro Monat. Manche Broker bieten ab einem bestimmten Einzahlungs- oder Volumenschwellenwert einen kostenlosen VPS an.