AI-Expert-Advisor-Testing und Optimierungsleitfaden | Deriv Blog
Perfektionieren Sie Ihren AI-Expert-Advisor mit den richtigen Testmethoden. Unser Leitfaden behandelt häufige Probleme, Testmethoden und die Optimierung von Expert Advisors für zuverlässige Trading-Bots.
Das Deriv-Team · 21 April 2025 · 7 Min. Lesezeit

AI-Trading-Expert Advisors sind da — aber Sie müssen sie dennoch testen und verfeinern.
Wenn Sie bereits KI-Tools wie Claude oder ChatGPT verwendet haben, um einen Expert Advisor für Deriv MT5 oder einen cBot für Deriv cTrader zu erstellen, sind Sie schon einen guten Schritt weiter. Doch selbst wenn der Code korrekt aussieht, kann er immer noch Fehler enthalten, die die Funktionsweise des Bots beeinträchtigen.
Bevor Sie Ihren Expert Advisor (EA) in einem Live-Markt einsetzen, ist es wichtig, ihn zu testen und sicherzustellen, dass er wie erwartet funktioniert.
In diesem Leitfaden gehen wir auf häufige Programmierfehler in von KI generierten EAs ein, zeigen, wie Sie diese beheben, und geben praktische Tipps, um die Leistung Ihres Bots zu verbessern.
Häufige MQL5-Programmierfehler von KI
Hier sind einige der häufigsten Probleme in von KI generierten EAs sowie Möglichkeiten, sie zu beheben:
- Fehler „undeclared identifier“ in MQL5
Dieser Fehler tritt auf, wenn der Bot eine Variable oder einen Namen verwendet, der nicht korrekt definiert wurde, etwa wenn ein Parameter fehlt oder in Indikatoren wie iMA() ein falscher Name verwendet wird.
Behebung:
Überprüfen Sie die Parameter des Indikators und stellen Sie sicher, dass alle Variablennamen mit den Erwartungen in MetaEditor (dem Codierungstool von MT5) übereinstimmen.
- Fehlende Buy/Sell-Funktionen zur Handelsausführung
Manche von KI generierte Bots überspringen wesentliche Logik zum Öffnen von Trades.
Behebung:
Fügen Sie grundlegende Funktionen zur Handelsausführung manuell hinzu. Hier ist ein Beispiel für eine einfache Struktur zum Platzieren einer Buy-Order:
void OpenBuy() {
MqlTradeRequest request; MqlTradeResult result;
request.action = TRADE_ACTION_DEAL;
request.type = ORDER_TYPE_BUY;
request.price = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
request.volume = 0.1; request.magic = 12345;
OrderSend(request, result);
}
Stellen Sie außerdem sicher, dass Sie auch Logik für Sell-Orders einfügen und die Bedingungen definieren, unter denen Trades platziert werden sollen.
- Falsche Schleifenbedingungen in Deriv cTrader
In Deriv cTrader muss die Logik des Bots innerhalb bestimmter Funktionen wie OnBar() oder OnTick() ausgeführt werden. Diese werden automatisch ausgelöst, wenn sich der Markt bewegt. Wenn Ihr Code außerhalb dieser Bereiche platziert ist, etwa in der falschen Schleife oder im globalen Bereich, wird er nicht wie erwartet ausgeführt.
Behebung:
Stellen Sie sicher, dass Bars und Ticks innerhalb von OnBar() oder OnTick() verarbeitet werden. So kann Ihr Bot während des Backtests und im Live-Handel korrekt auf neue Ticks oder Bars reagieren.
- Falsche Berechnung der Lotgröße auf Basis des Kontostand-Prozentsatzes
Wenn die KI versucht, die Lotgröße anhand Ihres Kontostands festzulegen (z. B. 2 % Risiko pro Trade), kann sie ein wichtiges Detail auslassen — die Kontraktgröße. Das kann zu ungenauen Lotgrößen führen. Dadurch entsteht zwar kein Codefehler, aber beim Testen werden Sie Handelsgrößen sehen, die nicht zu Ihren Risikoeinstellungen passen, was bei Live-Trades zu einer Über- oder Unterexponierung führt.
Behebung:
Verwenden Sie eine Formel für die Lotgröße, die die Kontraktgröße berücksichtigt, zum Beispiel:
//-----------------------------------------------------------------
double accountBalance = AccountInfoDouble(ACCOUNT_BALANCE);
double riskMoney = accountBalance * (RiskPercent / 100.0);
double tickValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);
double tickSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE);
double pointValue = tickValue / tickSize;
double contractSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_CONTRACT_SIZE);
if(contractSize > 0)
pointValue = pointValue / contractSize;
double lotSize = riskMoney / (StopLossPoints * pointValue);
double minLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN);
double maxLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MAX);
double lotStep = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);
lotSize = MathMax(lotSize, minLot);
lotSize = MathMin(lotSize, maxLot);
lotSize = MathFloor(lotSize / lotStep) * lotStep;
- Andere Fehler
Wenn Sie auf einen dieser Fehler — oder einen anderen — stoßen, können Sie Ihr KI-Modell jederzeit um Hilfe bitten, um das Problem zu identifizieren und zu beheben.
Kopieren Sie einfach die Fehlermeldung und den relevanten Code und teilen Sie beides mit dem KI-Modell. In den meisten Fällen sollte es in der Lage sein, das Problem zu erkennen und eine Lösung anzubieten oder mögliche Alternativen vorzuschlagen.
Tipp: Führen Sie immer einen Backtest durch, bevor Sie live gehen. Solche Probleme zeigen sich oft erst, wenn Sie die Strategie mit echten Marktdaten testen.
Verbessern Sie Ihren von KI generierten Expert Advisor
Sobald Ihr Bot funktioniert, können Sie kleine Anpassungen vornehmen, um seine Leistung und Stabilität zu verbessern. Hier sind einige gängige Tipps dafür:
- Fügen Sie Fehlerbehandlungslogik hinzu, um unerwartetes Verhalten bei hoher Volatilität oder Verbindungsproblemen zu bewältigen.
- Verwenden Sie einen Trailing Stop-Loss, um potenzielle Gewinne zu sichern, wenn sich der Markt in Ihre Richtung bewegt.
- Backtesten Sie Ihre Strategie mit historischen Daten, um zu sehen, wie sie sich entwickelt hätte.
- Bereinigen und strukturieren Sie Ihren Code, um die Lesbarkeit und Effizienz zu verbessern. Das erleichtert spätere Aktualisierungen oder die Fehlersuche.
Tipp: Verwenden Sie den MetaEditor Debugger (in MT5), um zu testen, wie Ihr Bot Schritt für Schritt ausgeführt wird.
Warum das Backtesten von Trades entscheidend ist
Von KI generierte Bots sind eine großartige Möglichkeit, Ihr Trading zu automatisieren, ohne von Grund auf selbst programmieren zu müssen. Doch auch mit KI braucht Ihre Strategie weiterhin menschliche Überprüfung und Anpassungen, damit sie unter Live-Bedingungen gut funktioniert.
Nehmen Sie sich vor dem Live-Einsatz Zeit für gründliche Tests und kleine Verbesserungen. Selbst geringe Korrekturen können einen großen Unterschied dabei machen, wie konsistent und effektiv Ihr EA arbeitet.