etrink← Startseite

MT5 Expert Advisor programmieren: So schreibst und startest du einen MetaTrader-5-Bot

Zuletzt aktualisiert: Oktober 2026

Ein MetaTrader-5-Bot — offiziell Expert Advisor (EA) genannt — ist ein kleines Programm, das den Markt beobachtet und nach deinen Regeln automatisch Trades platziert. In dieser Anleitung für Einsteiger lernst du, deinen ersten EA in MQL5 zu programmieren, ihn sicher zu testen, mit KI einen Entwurf zu erstellen und ihn rund um die Uhr laufen zu lassen.

Was ist ein Expert Advisor?

Ein EA ist Code, der im Desktop-Terminal von MetaTrader 5 an einen Chart angehängt wird. Bei jeder Preisänderung (einem Tick) ruft MT5 den EA auf. Er kann Indikatoren auslesen, Positionen eröffnen und schließen sowie Stops verwalten. EAs werden in MQL5 geschrieben, einer C++-ähnlichen Sprache, und zwar im MetaEditor, der mit MT5 mitgeliefert wird.

Wichtig: EAs laufen nur im Desktop-Terminal. Mit der MT5-App fürs Smartphone kannst du manuell handeln, aber keine Bots ausführen.

Was du brauchst

  • MetaTrader 5 für den Desktop (von deinem Broker oder von metatrader5.com) — der MetaEditor ist enthalten.
  • Ein Demokonto bei deinem Broker. Fang niemals mit einem Live-Konto an.
  • Klare Regeln: wann du einsteigst, wann du aussteigst und wie viel du riskierst.

Der Aufbau eines EA

  • OnInit() läuft einmal beim Start des EA — hier legst du Indikator-Handles an und prüfst die Eingaben.
  • OnTick() läuft bei jeder Preisänderung — hier steckt deine Handelslogik.
  • OnDeinit() läuft, wenn der EA entfernt wird — hier gibst du Ressourcen frei.
  • input-Variablen werden zu Einstellungen, die du ändern kannst, ohne den Code anzufassen.

Dein erster EA: Kreuzung gleitender Durchschnitte

Wähle im MetaEditor Datei → Neu → Expert Advisor (Vorlage), gib ihm einen Namen und ersetze den Code durch:

#include <Trade\Trade.mqh>

input int    FastMA = 10;      // fast average
input int    SlowMA = 30;      // slow average
input double Lots   = 0.01;    // lot size
input ulong  Magic  = 260101;  // tags this robot's orders

CTrade trade;
int hFast, hSlow;

int OnInit() {
  hFast = iMA(_Symbol, _Period, FastMA, 0, MODE_SMA, PRICE_CLOSE);
  hSlow = iMA(_Symbol, _Period, SlowMA, 0, MODE_SMA, PRICE_CLOSE);
  if (hFast == INVALID_HANDLE || hSlow == INVALID_HANDLE) return INIT_FAILED;
  trade.SetExpertMagicNumber(Magic);
  return INIT_SUCCEEDED;
}

void OnDeinit(const int reason) {
  IndicatorRelease(hFast);
  IndicatorRelease(hSlow);
}

void OnTick() {
  static datetime lastBar = 0;
  datetime bar = iTime(_Symbol, _Period, 0);
  if (bar == lastBar) return;            // decide once per new candle, not every tick
  lastBar = bar;

  double f[2], s[2];                     // [0] = two bars ago, [1] = last closed bar
  if (CopyBuffer(hFast, 0, 1, 2, f) < 2 || CopyBuffer(hSlow, 0, 1, 2, s) < 2) return;

  bool crossUp   = f[0] <= s[0] && f[1] > s[1];
  bool crossDown = f[0] >= s[0] && f[1] < s[1];
  bool hasPos    = PositionSelect(_Symbol);

  if (crossUp && !hasPos)  trade.Buy(Lots, _Symbol);
  if (crossDown && hasPos) trade.PositionClose(_Symbol);
}

Der EA kauft, wenn der schnelle Durchschnitt den langsamen nach oben kreuzt, und schließt die Position, wenn er wieder nach unten kreuzt. Er entscheidet nur einmal pro neuer Kerze, was doppelte Orders verhindert, und markiert seine Trades mit einer Magic Number, damit sie sich von manuellen Trades oder anderen Robotern unterscheiden lassen.

Kompilieren: .mq5 → .ex5

Drücke im MetaEditor F7 (Kompilieren). Gibt es keine Fehler, erhältst du eine .ex5-Datei — die führt MT5 aus. Lies jede Warnung im Reiter Fehler; die meisten Einsteigerprobleme tauchen hier auf.

Backtest im Strategy Tester

  1. Öffne in MT5 Ansicht → Strategietester (Strategy Tester, Strg+R).
  2. Wähle deinen EA, das Symbol, den Zeitrahmen und einen Zeitraum von mindestens einem Jahr.
  3. Nutze „Jeder Tick basierend auf realen Ticks“ für möglichst realistische Ergebnisse.
  4. Achte auf Nettogewinn, maximalen Drawdown und die Anzahl der Trades — nicht nur auf den Gewinn.

Ein guter Backtest ist kein Versprechen. Märkte ändern sich; ein EA, der auf historischen Daten hervorragend aussah, kann live Geld verlieren.

Auf einem Chart ausführen

  1. Zieh den EA aus dem Navigator auf einen Chart.
  2. Setz in den Einstellungen das Häkchen bei Algo Trading erlauben und lege deine Eingaben fest.
  3. Schalte in der Symbolleiste den Button Algo Trading ein. Ein aktives Symbol auf dem Chart zeigt, dass der EA läuft.
  4. Behalte die Reiter Experten (Experts) und Journal im Blick, um Meldungen und Fehler zu sehen.

Einen EA mit KI schreiben

KI-Assistenten (ChatGPT, Claude und andere) können schnell einen Entwurf in MQL5 erstellen. Gib ihnen präzise Regeln vor:

Schreibe einen MetaTrader 5 Expert Advisor in MQL5.
Strategie: Kaufe, wenn der 10-Perioden-SMA auf dem aktuellen Chart den 30-Perioden-SMA nach oben kreuzt,
schließe die Position, wenn er ihn nach unten kreuzt. Immer nur eine Position gleichzeitig.
Anforderungen: CTrade verwenden, Input für die Magic Number und die Lotgröße, Entscheidung nur bei einer neuen Kerze,
jedes Handelsergebnis prüfen und den Fehlercode mit Print ausgeben, kein Sleep(), keine DLL-Importe.
Füge kurze Kommentare hinzu.

Behandle das Ergebnis dann wie Code von einem Fremden:

  • Kompiliere ihn und behebe jeden Fehler — KI vermischt oft MQL4- und MQL5-Funktionen.
  • Prüfe Lotgröße und Risikologik Zeile für Zeile.
  • Stell sicher, dass jede Order Stops oder einen klaren Ausstieg und eine eindeutige Magic Number hat.
  • Erst Backtest, dann wochenlang Demo — erst danach live.

Rund um die Uhr laufen lassen

Ein EA arbeitet nur, solange das Terminal geöffnet und verbunden ist. Geht dein PC in den Ruhezustand oder fällt das Internet aus, stoppt der Bot. Deine Optionen: einen PC ständig laufen lassen, einen Windows-VPS mieten oder eine Managed Cloud nutzen. Bei etrink lädst du die .mq5- oder .ex5-Datei auf der Seite Bot hinzufügen hoch — wir kompilieren sie, zeigen dir eventuelle Fehler an und setzen sie auf dein ständig laufendes MT5-Terminal; den Live-Bildschirm kannst du von deinem Handy aus verfolgen.

Checkliste vor dem Livegang

  • Über einen langen Zeitraum und unter verschiedenen Marktbedingungen backgetestet.
  • Wochenlang auf einem Demokonto gelaufen, mit Ergebnissen, die du verstehst.
  • Risiko pro Trade festgelegt; maximaler Drawdown, den du akzeptieren kannst, definiert.
  • Stops und Ausstiege bei jeder Position; eindeutige Magic Number.
  • Live mit der kleinstmöglichen Lotgröße starten.
Risikohinweis. Der Handel mit gehebelten Forex/CFDs birgt ein hohes Risiko, deine gesamte Einlage zu verlieren; die meisten Privatkundenkonten verlieren Geld. Lass niemals einen Roboter auf einem Live-Konto laufen, den du nicht getestet hast. Risikohinweise lesen.

Häufige Fragen

Muss ich programmieren können, um einen MT5-Bot zu betreiben?

Nein. Einen fertigen Expert Advisor (.ex5) kannst du ganz ohne Programmierkenntnisse ausführen. Um einen eigenen zu schreiben, helfen MQL5-Grundlagen — oder du lässt dir einen Entwurf von einem KI-Assistenten erstellen und testest ihn sorgfältig.

Was ist der Unterschied zwischen .mq5 und .ex5?

.mq5 ist der Quellcode, den du im MetaEditor bearbeitest. .ex5 ist die kompilierte Datei, die MetaTrader 5 tatsächlich ausführt.

Kann ich einen MT5-Bot auf dem Handy laufen lassen?

Nein. Die MetaTrader-5-App für Smartphones kann keine Expert Advisors ausführen. Bots brauchen das Desktop-Terminal, das rund um die Uhr läuft — auf deinem PC, einem VPS oder in einer Managed Cloud wie etrink.

Wie lange sollte ich einen Bot testen, bevor ich live gehe?

Teste ihn zuerst im Strategy Tester (Strategietester) mit historischen Daten und lass ihn dann mindestens einige Wochen unter verschiedenen Marktbedingungen auf einem Demokonto laufen, bevor du echtes Geld riskierst.

Kostenlos starten — lass deinen getesteten EA auf einem ständig laufenden MT5-Terminal in der Cloud laufen. Passend dazu: MT5 EA rund um die Uhr ohne VPS betreiben.