und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
- Ansichten:
- 186
- Rating:
- Veröffentlicht:
- Aktualisiert:
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Backtest EURUSD 01/03/2025 - 20/01/2026 Zeitrahmen M5(ONNX AI Training speziell für M5-M15)
Backtest GBPUSD 01/03/2025 - 20/01/2026 Zeitrahmen M5 (ONNX AI Training speziell für M5-M15)
1. Allgemeiner Überblick
SidewaysMartingale ist ein Expert Advisor, der für den Handel mit seitwärts tendierenden Märkten entwickelt wurde. Dabei wird eine Martingale-Erholungsstrategie verwendet, die durch einen AI-basierten Trenddetektor ergänzt wird, der über ein ONNX-Modell implementiert wird.
Der EA kombiniert:
-
KI-Trendklassifizierung (Seitwärts / Bullish / Bearish)
-
Hüllkurven-Indikator für Range-basierte Einstiege
-
Kontrollierte Martingale-Positionsskalierung
-
Gewinnbasierte Korbschließung
-
Margin-basierter Notstopp
Der Kerngedanke ist:
Handeln Sie nur, wenn der Markt statistisch als Seitwärtsbewegung eingestuft wird, und vermeiden Sie das Hinzufügen von Martingale-Positionen, wenn ein starker Trend festgestellt wird.
2. AI-Trend-Detektor (ONNX-Integration)
ONNX-Modellausgabe
Das ONNX-Modell liefert:
-
Ein vorhergesagtes Label (nicht direkt verwendet)
-
Einen Wahrscheinlichkeitsvektor mit drei Wahrscheinlichkeiten:
| Variable | Bedeutung |
|---|---|
| prob_side | Wahrscheinlichkeit, dass der Markt seitwärts läuft / schwankt |
| prob_bull | Wahrscheinlichkeit, dass sich der Markt in einer Haussephase befindet (Aufwärtstrend) |
| prob_bear | Wahrscheinlichkeit, dass der Markt bärisch ist (Abwärtstrend) |
Diese Wahrscheinlichkeiten werden als extrahiert:
3. Merkmalstechnik (KI-Eingaben)
Der EA speist 9 konstruierte Merkmale in das ONNX-Modell ein:
| Merkmal Index | Beschreibung |
|---|---|
| f[0] | EMA200 Steigung (Trendrichtung & Stärke) |
| f[1] | Kursabstand vom EMA200 |
| f[2] | ATR-Wert (Volatilität) |
| f[3] | Kerzenbereich normalisiert durch ATR |
| f[4] | Ausbruchsdruck im Vergleich zum vorherigen Hoch |
| f[5] | Dominanz des Kerzenkörpers |
| f[6] | Tag der Woche |
| f[7] | Stunde des Tages |
| f[8] | Vorherige Kerzenrichtung |
Mit diesen Merkmalen kann das AI-Modell Folgendes erkennen:
-
Marktvolatilität
-
Trendstärke
-
Zeitbasierte Verhaltensmuster
-
Preisstrukturverhalten
4. Logik zur Erkennung von Seitwärtsmärkten
Ein Markt gilt als Seitwärtsbewegung, wenn:
Beispiel:
-
Wenn InpAISidewayThreshold = 0,70
-
Dann sind mindestens 70 % Konfidenz erforderlich, um den Markt als Seitwärtsbewegung einzustufen
👉 Es werden keine neuen Trades eröffnet, wenn diese Bedingung nicht erfüllt ist
5. Einstiegslogik (Scalping in Range)
Der EA verwendet Hüllkurven, um Range-Extreme zu erkennen.
Einstieg kaufen
-
Der Preis berührt oder durchbricht die untere Hüllkurve
-
AI bestätigt einen Seitwärtsmarkt
-
Eröffnet eine BUY-Position
Sell Entry
-
Der Kurs berührt oder durchbricht die obere Hüllkurve
-
AI bestätigt einen Seitwärtsmarkt
-
Eröffnet eine SELL-Position
💡 So wird sichergestellt, dass nur an den Extremen der Handelsspanne gehandelt wird, wenn kein Trend vorliegt.
6. Martingale-Erholungslogik
Wenn bereits Positionen bestehen, wendet der EA ein entfernungsbasiertes Martingal an:
-
Eine neue Position wird nur eröffnet, wenn sich der Preis um einen bestimmten Pip-Abstand entfernt.
-
Die Losgröße erhöht sich mit Hilfe eines Multiplikators ( LotMultiplier )
-
Maximale Anzahl von Trades ist begrenzt ( MaxTradesInSeries )
Abstandsprüfung
7. AI Sicherheitsfilter für Martingale
Dies ist ein wichtiger Mechanismus zur Risikokontrolle.
Bevor eine neue Martingale-Position hinzugefügt wird, prüft der EA:
Wenn die aktuelle Serie KAUFEN ist
Wenn die aktuelle Serie SELL ist
🔒 Bedeutung:
-
Wenn AI einen starken gegenläufigen Trend feststellt
-
und das Vertrauen den InpAISafetyThreshold überschreitet
-
wird die Martingale-Expansion gestoppt
Dies verhindert:
-
Martingale bei starken Ausbrüchen
-
Tiefe Drawdowns durch Trendfortsetzung
8. Gewinnziel & Korbschließung
Der EA überwacht den gesamten schwebenden Gewinn über alle Positionen hinweg:
if(totalProfitUSD >= TakeProfitTargetUSD)
Sobald er erreicht ist:
-
Alle Positionen werden geschlossen
-
Martingale-Serie wird zurückgesetzt
-
EA wartet auf ein neues Seitwärtssetting
Bei diesem Ansatz werden alle Positionen als ein einziger Korbhandel behandelt.
9. Risiko-Management
Margin-basierter Notstopp
Wenn der Equity Drawdown einen bestimmten Prozentsatz überschreitet:
-
Alle Positionen werden sofort geschlossen
-
Verhindert Margin-Call-Szenarien
10. Zusammenfassung der Strategie
| Komponente | Zweck |
|---|---|
| AI-Trend-Detektor | Klassifiziert Marktregime |
| prob_side | Erlaubt den Handel nur in Bandbreiten |
| prob_bull / prob_bear | Blockiert Martingale während starker Trends |
| Hüllkurven | Definiert die Extremwerte der Spanne |
| Martingal | Erholung in seitwärts tendierenden Märkten |
| Korb TP | Schneller Ausstieg nach Mean Reversion |
| Gewinnspanne SL | Schutz auf Kontoebene |
Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/en/code/68537
nAuftragsänderung
Funktion zum Ändern von offenen Positionen und schwebenden Aufträgen
nGewinn- und Verlustpositionen
Gewinn/Verlust-Rechner für Positionen (offene Aufträge)
VR Breakdown Level - Handelsstrategie auf Basis des Ausbruchs über das vorherige High oder unter das vorherige Low
Einfache Handelsstrategie auf Basis des Ausbruchs über vorherige High- oder Low-Level
Project Template Generator
Dieses Skript dient als praktisches Beispiel dafür, wie Entwickler mit Hilfe von MQL5 programmatisch mit Dateien arbeiten können. Eines der Hauptziele ist die Demonstration einer effektiven Organisation von Projektdateien, die für Entwickler, die an großen Systemen arbeiten oder portable, in sich geschlossene Projekte erstellen wollen, unerlässlich ist. Das Konzept kann weiter ausgebaut und mit zusätzlichen Ideen verfeinert werden, um fortgeschrittenere Entwicklungsabläufe zu unterstützen.

