Leitfaden zum Testen und zur Optimierung von AI-Expert Advisors | Deriv Blog
Perfektionieren Sie Ihren AI-Expert Advisor mit den richtigen Testtechniken. 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 · 4 Min. Lesezeit

AI-Trading-Expert-Advisors sind da – aber Sie müssen sie trotzdem 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, haben Sie einen großartigen Start hingelegt. Aber selbst wenn der Code richtig 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 so funktioniert, wie Sie es erwarten.
In diesem Leitfaden gehen wir auf häufige Codierungsfehler in KI-generierten EAs ein, wie man sie behebt, und geben praktische Tipps zur Verbesserung der Leistung Ihres Bots.
Häufige KI-MQL5-Codierungsfehler
Dies sind einige der häufigsten Probleme, die in KI-generierten EAs gefunden werden, zusammen mit 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 ordnungsgemäß definiert wurde, z. B. wenn ein Parameter fehlt oder ein falscher Name in Indikatoren wie iMA() verwendet wird.
Behebung:
Überprüfen Sie die Parameter des Indikators und stellen Sie sicher, dass alle Variablennamen mit dem übereinstimmen, was in MetaEditor (dem Codierungstool von MT5) erwartet wird.
- Fehlende Buy/Sell-Handelsausführungsfunktionen
Einige KI-generierte Bots überspringen die wesentliche Logik zum Eröffnen von Trades.
Behebung:
Fügen Sie manuell grundlegende Handelsausführungsfunktionen hinzu. Hier ist ein Beispiel für eine grundlegende Struktur, um eine Kauforder zu platzieren:
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 die Logik für Verkaufsorders einbeziehen und die Bedingungen definieren, unter denen Trades platziert werden sollen.
- Unsachgemäße 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 Abschnitte platziert wird, z. B. in der falschen Schleife oder im globalen Geltungsbereich, wird er nicht wie erwartet ausgeführt.
Behebung:
Stellen Sie sicher, dass Bars und Ticks innerhalb von OnBar() oder OnTick() verarbeitet werden. Dadurch kann Ihr Bot während des Backtestings und des Live-Handels korrekt auf neue Ticks oder Bars reagieren.
- Falsche Berechnung der Lotgröße basierend auf dem Kontostandprozentsatz
Wenn die KI versucht, die Lotgröße basierend auf Ihrem Kontostand festzulegen (z. B. Risiko von 2 % pro Trade), überspringt sie möglicherweise ein wichtiges Detail – die Kontraktgröße. Dies kann zu ungenauen Lotgrößen führen. Dies löst keinen Codefehler aus, aber beim Testen sehen Sie Trade-Größen, die nicht mit Ihren Risikosettings übereinstimmen, was zu einer Über- oder Unterexposition in Live-Trades führt.
Behebung:
Verwenden Sie eine Formel für die Lotgröße, die die Kontraktgröße berücksichtigt, wie 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 bei der Identifizierung und Behebung des Problems bitten.
Kopieren Sie einfach die Fehlermeldung und den relevanten Code und teilen Sie sie dem KI-Modell mit. Meistens sollte es in der Lage sein, das Problem zu identifizieren und eine Behebung anzubieten oder mögliche Lösungen vorzuschlagen.
Tipp: Führen Sie immer einen Backtest durch, bevor Sie live gehen. Solche Probleme treten erst auf, wenn Sie die Strategie mit echten Marktdaten testen.
Verbessern Sie Ihren KI-generierten Expert Advisor
Sobald Ihr Bot funktioniert, können Sie kleine Änderungen vornehmen, um seine Leistung und Stabilität zu verbessern. Hier sind einige gängige Tipps dazu:
- Fügen Sie Fehlerbehandlungslogik hinzu, um unerwartetes Verhalten bei hoher Volatilität oder Verbindungsproblemen zu verwalten.
- Verwenden Sie einen Trailing Stop-Loss, um potenzielle Gewinne zu sichern, wenn sich der Markt zu Ihren Gunsten bewegt.
- Backtesten Sie Ihre Strategie mit historischen Daten, um zu sehen, wie sie abgeschnitten hätte.
- Bereinigen und organisieren Sie Ihren Code, um die Lesbarkeit und Effizienz zu verbessern. Dadurch wird es später einfacher, ihn zu aktualisieren oder Fehler zu beheben.
Tipp: Verwenden Sie den MetaEditor Debugger (auf MT5), um zu testen, wie Ihr Bot Schritt für Schritt läuft.
Warum das Backtesten von Trades entscheidend ist
KI-generierte Bots sind eine großartige Möglichkeit, Ihren Handel zu automatisieren, ohne von Grund auf codieren zu müssen. Aber selbst mit KI benötigt Ihre Strategie immer noch menschliche Überprüfungen und Anpassungen, um unter Live-Bedingungen gut zu funktionieren.
Bevor Sie live gehen, nehmen Sie sich die Zeit, gründlich zu testen und kleine Verbesserungen vorzunehmen. Selbst kleinere Korrekturen können einen großen Unterschied darin machen, wie konsistent und effektiv Ihr EA performt.