Kategorie
Plattform
Niveau
Einsteiger
Verwendet bei
MT5-BetriebEA-BewertungStrategieentwurf

Expert Advisor

Ein in MQL5 geschriebenes automatisiertes Handelsprogramm, das innerhalb von MetaTrader 5 läuft und Orders nach programmierten Regeln ohne manuelles Eingreifen platziert, ändert und schließt.

auch: EA, Trading-Roboter, Trading-Bot, algorithmischer Händler

Aktualisiert

Einfach gesagt

Ein Programm, das in MetaTrader für Sie handelt. Es hat kein Urteilsvermögen und kein Gedächtnis über das hinaus, was Sie ihm mitgegeben haben: Es erwacht, wenn die Plattform es aufruft, sieht sich die wenigen Dinge an, für die es geschrieben wurde, und handelt.

Warum das zählt

Backtests, Drawdown-Werte, Magic Numbers, VPS-Verfügbarkeit — all das existiert, weil ein Programm die Orders platziert und kein Mensch. Zu wissen, was die Plattform einem EA übergibt und was sie ihm vorenthält, ist der Unterschied zwischen einem richtig gelesenen Ergebnis und einer Überraschung.

  • Er führt ohne Zögern aus, und darin liegt sein ganzer Wert wie sein ganzes Risiko. Dasselbe Regelwerk, das nie ein gültiges Signal auslässt, bemerkt auch nie, dass heute anders ist.
  • Er sieht einen schmalen Ausschnitt: die Kurse seines Symbols, die von ihm angeforderten Indikatorwerte, die eigenen Positionen und den Kontostand. Nachrichten, die Kurse anderer Broker und Ihre übrigen Konten liegen außerhalb dieses Fensters, solange der Code sie nicht ausdrücklich abruft.
  • Er wird kompiliert ausgeliefert. Eine .ex5-Datei läuft, lässt sich aber nicht lesen, weshalb das Vertrauen eines Käufers aus veröffentlichten Testbelegen kommen muss und nicht aus dem Quelltext.
  • Er läuft nur, solange das Terminal läuft. Ein EA auf einem schlafenden Laptop ist ein EA, der nicht handelt — und genau darin besteht das gesamte Argument für einen VPS.

In MetaTrader 5

Wo es in MT5 auftaucht

  • Navigator → Expert Advisors — die kompilierten EAs, die das Terminal sieht
  • Datei → Datenordner öffnen → MQL5/Experts — dort muss die .ex5-Datei liegen, damit sie überhaupt erscheint
  • Symbolleiste → Algo-Trading — der Hauptschalter; ein EA mit traurigem Gesicht im Chart wird von dieser Schaltfläche blockiert
  • Chart → EA-Eigenschaften (F7) → Inputs / Allgemein — Parameter und Berechtigungen je EA
  • Ansicht → Strategietester (Strg+R) — derselbe EA, laufend über historischen Daten

Wie EAs es nutzen

  • Das Terminal ruft OnInit() einmal beim Anhängen auf, OnTick() bei jeder eingehenden Notierung für das Symbol des Charts und OnDeinit() beim Entfernen.
  • Gearbeitet wird meist auf geschlossenen Bars und nicht auf jedem Tick: Der EA vergleicht die Eröffnungszeit der aktuellen Bar mit der gespeicherten und kehrt sofort zurück, wenn nichts Neues entstanden ist.
  • Orders gehen als ausgefüllte MqlTradeRequest hinaus oder über den CTrade-Wrapper, der den größten Teil davon für Sie ausfüllt.
  • Jede Instanz markiert ihre Orders mit einer Magic Number, damit sie ausschließlich die eigenen Positionen verwaltet — ohne sie streiten sich zwei EAs um dieselben Tickets.

Übliche Einstellungen

Einstellung Üblicher Wert Hinweis
Algo-Trading (Terminal) aktiviert Nach der Installation aus. Es handelt nichts, bevor es eingeschaltet ist.
Algo-Trading erlauben (je EA, F7 → Allgemein) aktiviert Eine eigene Berechtigung, getrennt vom terminalweiten Schalter.
WebRequest für aufgeführte URL erlauben aus, sofern der EA es nicht braucht Nur EAs, die externe Daten holen, benötigen das; je URL erteilen, niemals pauschal.
Chart-Zeitrahmen der Zeitrahmen, für den der EA entworfen wurde Eine M15-Strategie in einem H1-Chart ist eine andere Strategie — OnTick feuert je Tick, aber die Bar-Logik liest die Periode des Charts.
MagicNumber eindeutig je laufender Instanz Nicht je Produkt: Zwei Charts, auf denen derselbe EA läuft, brauchen zwei Werte.

Häufige Betriebsprobleme

  • Das Terminal ist geschlossen, im Ruhezustand oder startet für Updates neu — der EA läuft schlicht nicht, und es wird kein Fehler festgehalten.
  • Ein abweichender Symbolname zwischen Broker und Einstellungen (EURUSD gegen EURUSD.m) lässt den EA angehängt und stumm zurück.
  • Zu wenig freie Margin: OrderSend scheitert bei jedem Versuch, und der EA versucht es weiter — das Log füllt sich, während auf dem Konto nichts geschieht.
  • Ein Handelskontext ist belegt, wenn mehrere EAs gleichzeitig senden: sporadische, schwer reproduzierbare Fehlschläge.
  • Der EA wurde bei einem Broker mit anderem Ausführungsmodell oder anderer Kontraktgröße getestet und verhält sich live ohne jede Codeänderung anders.

Verwandte MT5-Funktionen

OnInit() / OnDeinit()
Einmal beim Anhängen und einmal beim Entfernen aufgerufen — hier werden Inputs geprüft und Handles erzeugt.
OnTick()
Bei jeder eingehenden Notierung für das Chart-Symbol aufgerufen; der wichtigste Einstiegspunkt.
OnTimer()
In einem festen Intervall aufgerufen, das EventSetTimer() setzt — für Arbeit, die nicht vom Eintreffen der Ticks abhängen soll.
OrderSend(request, result)
Der einzige Aufruf, der jede Handelsoperation absendet; die Request-Struktur entscheidet, welche Art es ist.
CTrade (Trade/Trade.mqh)
Der Wrapper der Standardbibliothek, den die meisten EAs nutzen, statt MqlTradeRequest von Hand auszufüllen.

Beispiel

Nahezu jeder EA, reduziert auf die Reihenfolge, in der die Plattform ihn aufruft. Nichts davon ist Strategie — es ist der Rahmen, in dem eine Strategie sitzt.

1. OnInit()
einmal, beim Anhängen
Inputs prüfen, Indikator-Handles erzeugen, die Magic Number setzen.
2. OnTick()
bei jeder Notierung
Sofort zurückkehren, solange keine neue Bar entstanden ist, dann die Regeln auswerten.
3. OrderSend()
wenn eine Regel feuert
Eine ausgefüllte MqlTradeRequest je Operation — öffnen, ändern oder schließen.
4. OnDeinit()
einmal, beim Entfernen
Handles freigeben. Offene Positionen werden dadurch nicht geschlossen — sie bleiben bestehen.

Einen EA vom Chart zu entfernen schließt nicht, was er geöffnet hat. Die Positionen bleiben bestehen, und nichts verwaltet sie mehr.

Rechenweg if (iTime(_Symbol, PERIOD_CURRENT, 0) == lastBarTime) return;

Ergebnis Ein EA auf Bar-Schluss, der die Tausenden Ticks zwischen zwei Entscheidungen ignoriert

So wird es genutzt

Einen EA zu beurteilen, den man nicht selbst geschrieben hat, ist eine Frage der Belege: Die kompilierte Datei sagt Ihnen nichts. Nachfolgend steht, wonach zu fragen ist.

  • Fragen Sie, welche Daten der Backtest verwendet hat und wie modelliert wurde. Echte Ticks und ein Wert für die Modellierungsqualität bedeuten etwas; eine unbeschriftete Kapitalkurve nicht.
  • Fragen Sie nach der Anzahl der Trades und nach dem Fenster. Der mittlere hier veröffentlichte EA schloss 362 Trades über mehrere Jahre; vierzig Trades über vier Monate sind eine Anekdote.
  • Prüfen Sie, ob die Strategie Verlierer offen hält. Nachkaufen und Grid-Recovery erzeugen schöne Kurven — bis zu dem Korb, der sich nicht erholt, und keine Kennzahl aus geschlossenen Trades warnt davor.
  • Lassen Sie ihn auf einem Demokonto Ihres eigenen Brokers laufen, bevor Sie ihn finanzieren. Ausführungsmodell, Spread, Kontraktgröße und Symbolbenennung unterscheiden sich alle und verändern alle das Ergebnis.
  • Geben Sie jeder Instanz ihre eigene Magic Number und halten Sie fest, welche welche ist, bevor mehr als zwei laufen.

Jeder hier gelistete EA veröffentlicht sein getestetes Fenster, seine Datenquelle, seine Modellierungsqualität und das vollständige Trade-Register, sodass sich diese Belege prüfen lassen, statt sie erfragen zu müssen.

Häufige Fehler

Einen EA für einen Händler mit Urteilsvermögen halten

Er ist ein Regelwerk, das die Plattform bei jedem Tick aufruft. Er kann nicht bemerken, dass sich der Markt geändert hat, dass in zehn Minuten eine Notenbank spricht oder dass seine eigenen Ergebnisse schlechter geworden sind — es sei denn, jemand hat genau dafür eine Regel geschrieben.

Annehmen, ein Backtest-Ergebnis übertrage sich auf Ihr Konto

Spread, Kommission, Ausführungsmodell, Kontraktgröße und Symbolauswahl sind Teil des Ergebnisses. Ein Test bei einem Broker ist ein Beleg über diesen Broker; ein Demolauf bei Ihrem eigenen ist der günstigste Weg zu sehen, wie viel davon übrig bleibt.

Den EA entfernen, um ihn zu stoppen, und glauben, damit seien auch die Trades gestoppt

Wird ein EA abgehängt, bleiben seine offenen Positionen genau dort, wo sie sind. Nichts zieht sie danach nach und nichts schließt sie; sie liegen, bis sie einen Stop, ein Ziel oder einen Stop-out treffen.

Mehrere EAs auf einem Konto laufen lassen, ohne sie zu trennen

Ohne unterschiedliche Magic Numbers behandelt jeder EA jede Position als seine eigene und sie schließen einander die Trades. Der Fehler ist lautlos — keine Fehlermeldung, nur Ergebnisse, die zu keiner einzelnen Strategie passen.

Im Detail

Wie eine echte EA-Aufzeichnung aussieht

Eine Definition beschreibt den Mechanismus; eine Aufzeichnung beschreibt die Erfahrung. Die vierzehn hier veröffentlichten EAs liefern ihre vollständigen Listen geschlossener Trades mit — 9.702 Trades seit 2019.

Über die 14 veröffentlichten EAsWert
Geschlossene Trades9.702
Trades je EA (Median)362, von 108 bis 4.725
Profitfaktor (Median)1,39, von 1,27 bis 1,52
Längste Verlustserie (Median)6 Trades, schlimmstenfalls 14
Längste Phase ohne neues Eigenkapitalhoch (Median)423 Tage, schlimmstenfalls 775
Verifizierte Live-Läufe0

Sind Expert Advisors profitabel geht diese Aufzeichnung EA für EA durch, und EA gegen manuelles Trading spielt dieselben Trades unter den Abbruchregeln durch, die ein Mensch tatsächlich anwendet.

Häufig gestellte Fragen

Was ist ein Expert Advisor in MetaTrader 5?
Ein in MQL5 geschriebenes und zu einer .ex5-Datei kompiliertes Programm, das innerhalb des Terminals läuft und nach seinen Regeln handelt. Die Plattform ruft es bei jeder eingehenden Notierung für den Chart auf, an den es angehängt ist, und es öffnet, ändert und schließt Orders, ohne dass jemand an der Tastatur sitzt.
Muss mein Computer eingeschaltet bleiben, damit ein EA arbeitet?
Ja — ein EA läuft innerhalb des Terminals und handelt daher nur, solange das Terminal läuft und verbunden ist. Deshalb leben unbeaufsichtigte EAs üblicherweise auf einem VPS und nicht auf einem Rechner, der in den Ruhezustand geht oder neu startet.
Kann ich die Strategie in einem gekauften EA lesen?
Aus der .ex5-Datei nicht. Kompilierte EAs laufen, ohne ihre Logik offenzulegen, und genau deshalb liefern Verkäufer sie so aus. Die Strategie muss im Angebot ehrlich beschrieben und mit veröffentlichten Testbelegen unterlegt sein.
Kann ich mehrere EAs auf demselben Konto laufen lassen?
Ja, und das ist üblich. Jede Instanz braucht ihre eigene Magic Number, damit sie nur die von ihr geöffneten Positionen verwaltet, und das Konto braucht freie Margin für alle gleichzeitig — die Strategien wissen nichts voneinander.