NewsRForestExpert
- Utilitys
- Vitaliy Davydov
- Version: 4.2
- Aktualisiert: 17 September 2025
Handelsassistent NewsRForestExpert v4.01
-
Zweck und Funktionsweise
NewsRForestExpert ist ein Handelsassistent für MetaTrader 5, der den eingebauten Wirtschaftskalender
und das maschinelle Lernmodell "Random Forest" der ALGLIB-Bibliothek (im Folgenden einfach "Modell")verwendet.
Der Assistent:
-
funktioniert in dieser Version nur für das Währungspaar EURUSD mit den Zeitrahmen M1 - M5;
-
lädt die Nachrichtenhistorie für den ausgewählten Zeitraum und bildet Trainings- und Testmuster;
-
trainiert mit den erhaltenen Daten oder lädt ein bereits trainiertes Modell;
-
testet die Qualität des Modelltrainings;
-
zeichnet Nachrichten auf dem Diagramm, zeigt ein Kontrollfeld. Ein zusätzliches Diagramm zeigt die Qualitätsmetriken des Trainings/Tests an;
-
Im Strategy Tester wird die Handelsqualität des trainierten Modells anhand der Historie überprüft, oder es wird ein neues Modell trainiert, mit der Möglichkeit, die Modellparameter zu optimieren und die Handelsqualität anhand der Historie zu überprüfen;
-
in Echtzeit erhält neue Ereignisse, das trainierte Modell bildet Signale: VERKAUFEN/AUS DEM GESCHÄFT HERAUS/KAUFEN;
-
kann im Auto-Trading-Modus oder mit manueller Bestätigung arbeiten.
-
ist nicht für intensiven Handel und Scalping gedacht
-
Anforderungen
MetaTrader 5 Terminal (aktuelle Version).
Internetverbindung.
Verfügbarkeit des eingebauten Wirtschaftskalenders im Terminal.
Qualitätskursverlauf M1/M5 für korrekte Synchronisation und Berechnungen.
Erlaubtes Autotrading, wenn ExpertAutoTrade = true vorgesehen ist.
Währungspaar EURUSD, Zeitrahmen M1 - M5.
-
Installation und Start
Kopieren Sie die Dateien in das Verzeichnis des MT5-Terminals. Der Assistent (*.ex5) sollte sich in MQL5/Experts befinden.
Starten Sie MT5 und ziehen Sie den Assistenten auf einen regulären Handelschart des gewünschten Instruments (EURUSD, Zeitraum M1 - M5). Installieren Sie ihn nicht auf "Service"-Charts.
Erlauben Sie Algo Trading.
Drücken Sie OK. Nach dem Start wird der Assistent:
-
bereitet "train" und "test" Proben vor (train - für die angegebene Periode, test - der Tag des Enddatums der train Probe bis zur aktuellen Zeit);
-
trainiert das Modell oder lädt ein gespeichertes Modell, abhängig von den Benutzereinstellungen;
-
erstellt ein Unterfenster mit einem Kontrollpanel, zeichnet Nachrichten auf dem Diagramm;
-
gibt die empfohlenen Daten für den Strategy Tester in das Protokoll aus;
Darüber hinaus aktualisiert der Expert Advisor die Nachrichten und Prognosen über einen Timer und einen neuen M1-Balken. Im nicht-automatischen Handelsmodus wird ein Bestätigungsfenster angezeigt, bevor eine Position eröffnet wird.
-
Bedienfeld auf dem Chart
Elemente:
-
Vier Datumsauswahlen: Beginn und Ende der TRAIN-Periode (für das Training) und Beginn und Ende der TEST-Periode (für die Überprüfung);
Schaltflächen:
-
TRAINIEREN - das Modell für den ausgewählten TRAINIERUNGS-Zeitraum neu trainieren. Nach dem Training werden "train"-Metriken/Diagramme erstellt;
-
TEST - Testen des Modells für den ausgewählten TEST-Zeitraum. "Test"-Metriken/Diagramme werden erstellt und die empfohlenen Testdaten für den Strategietester werden in das Protokoll gedruckt;
-
SAVE - speichert das aktuell trainierte Modell (überschreibt das vorherige);
Verhalten:
-
Unterfenster und Panel werden wiederhergestellt, wenn sie versehentlich geschlossen werden;
-
Die Farbe des Panels passt sich an den Hintergrund des Charts an (dunkel/hell);
-
wenn falsche Daten eingegeben werden (Start >= Ende - 1 Tag), wird eine Warnung ausgegeben.
-
Arbeiten im Strategy Tester
Bevor Sie den Tester starten, bereiten Sie die Daten vor:
Starten Sie den Expert Advisor auf einem realen Chart, dieser lädt historische Wirtschaftskalenderdaten und bildet Trainings- und Testmuster, entsprechend den in den Benutzereinstellungen festgelegten Daten.
Das Protokoll des Expert Advisors gibt empfohlene Daten aus: "Teststartdatum" und "Testabschlussdatum".
Im Tester (Strg+R):
Den Expert Advisor, das Symbol, den Modus "Every tick" oder "1 Minute OHLC" einstellen.
Die empfohlenen Daten einstellen.
Parameter SavedModelUse:
true - ein zuvor gespeichertes Modell laden (StateRandomForest).
false - neu trainieren auf train. Mit der Option SaveStateModel = true wird das im Strategy Tester trainierte Modell mit dem Suffix Tester gespeichert.
Innerhalb des Testers synchronisiert sich der Expert Advisor mit den Zeitstempeln der Ereignisse und führt die Trades in der "Minute der Veröffentlichung" der Nachrichten aus. Nachrichtencluster werden wie beim realen Handel kollektiv verarbeitet.
-
Eingabeparameter
PARAMETER ZUR VORBEREITUNG DER EINGABE-MERKMALE
**Beginndatum für das Laden von Wirtschaftskalenderereignissen (datetime) - Startdatum des Zuges.
**Ende-Datum für das Laden von Wirtschaftskalenderereignissen (datetime) - Enddatum des Zuges.
**Minimale Wichtigkeit der Nachrichten (lov_level, medium_level, high_level) - minimale Wichtigkeit der Ereignisse.
*Normalisierung der Eingabe-Merkmale (without_normalization, MinMax_method, RobustScaler_method) - Normalisierung der Merkmale (basic).
RANDOM FOREST PARAMETER
Use a previously saved Random Forest (bool) - Verwendung eines zuvor trainierten und gespeicherten Modells.
Selecting Random Forest Model Variants ( stationary model_1, random model_2) - Variante der Forest-Implementierung (für Free by default model_1).
Number of trees in a Random Forest (int) - Anzahl der Bäume im Modell.
Share of data used to train the tree (double) - Anteil der Stichprobe für das Training jedes Baumes "bootstrap" (0.2 - 0,95).
Anzahl der Merkmale für jeden Split (int) - Anzahl der Merkmale für jeden Split (0 - 48; wenn -1, dann auto)
Automatische Auswahl der besten Forest-Parameter (bool) - Automatische Auswahl der besten Forest-Parameter (Beta-Option).
Mindestwert der Vorhersagewahrscheinlichkeit (double) - Schwellenwert für das Modellvertrauen in seine Vorhersage (0,2 - 0,95).
HANDELSPARAMETER
*Expert Auto Trade (bool) - Autotrading aktivieren.
*Magische Zahl (int) - magische Zahl.
Lotgröße (double) - Lotgröße.
Stop Loss in Punkten / Take Profit in Punkten (int, Punkte) - SL/TP-Level.
Slippage in Punkten (int, Punkte) - Slippage.
PARAMETER DES TESTINGS IM STRATEGIE-TESTER
*Speichere den Zustand des im Strategie-Tester trainierten Modells (bool) - speichere das im Tester trainierte Modell.
PARAMETER DER VISUALISIERUNG VON WIRTSCHAFTSKALENDEREIGNISSEN
*Niedrige Wichtigkeit - LowImpactColor.
*Mittlere Wichtigkeit - MediumImpactColor.
*Hohe Wichtigkeit - HighImpactColor.
*Linienbreite - Linienbreite.
*Linienstil - Linienstil.
Fußnote:
Parameter, die im Quellcode mit "*" gekennzeichnet sind, haben keinen Einfluss auf die Optimierung im Tester.
Parameter, die mit "**" gekennzeichnet sind, müssen im Tester und in den realen Einstellungen übereinstimmen,
sonst funktioniert die Optimierung im Strategietester nicht.
-
Signallogik und Handelsausführung
Das Modell erstellt für jedes Ereignis eine Prognose: Klasse und Konfidenz (Wahrscheinlichkeit).
Das endgültige Signal wird aus der Summe der "gewichteten Stimmen" in der Minute der Veröffentlichung des Ereignisses gebildet:
Gewicht = Konfidenz der Prognose × Bedeutung der Nachricht.
Die Summen werden für KAUFEN und VERKAUFEN für alle Ereignisse in der Minute berechnet.
Wenn KAUFEN-Gewichtungen > VERKAUFEN-Gewichtungen - KAUFEN-Signal, wenn VERKAUFEN-Gewichtungen > KAUFEN-Gewichtungen - VERKAUFEN-Signal, sonst NEUTRAL.
Der Schwellenwert ProbabilityOfPrediction schneidet Prognosen mit geringem Vertrauen ab.
Wenn ein Signal gegeben wird:
Im Nicht-Autotrading-Modus wird ein Bestätigungsfenster angezeigt; wenn es bereits eine Position in derselben Richtung gibt - Benachrichtigung, der Handel wird nicht wiederholt.
Bevor eine neue Position eröffnet wird, schließt der Expert Advisor gegenüberliegende Positionen dieser MagicNumber.
Positionen werden durch trade_signal mit spezifiziertem Lot/SL/TP/Slippage eröffnet.
-
Generierte Dateien und Namen
Präfix: Kontonummer + Währungspaar +Zeitrahmen, zum Beispiel "34764EURUSD_5_".
Vom Assistenten erstellte Hauptdateien:
StateRandomForestC.bin - gespeichertes trainiertes Modell (real).
StateRandomForestTesterC.bin - gespeichertes trainiertes Modell (tester).
FilteredCalendarData_train.bin / _test.bin - binäre Datensätze (vom Strategietester verwendet).
Zusätzliche Dateien, die vom Assistenten erstellt wurden (Kontrolle):
FilteredCalendarData_train.csv - Datensatz, der für das Training des Modells vorbereitet wurde (real).
FilteredCalendarData_test.csv - Datensatz, der für den Test der Modellqualität vorbereitet wurde (real).
DatasetDataForTester_train.csv - Datensatz, der für das Training des Modells vorbereitet wurde (Tester).
DatasetDataForTester_test.csv - Datensatz, der für die Überprüfung der Funktionsweise des Modells beim Handel mit der Historie vorbereitet wurde (Tester).
ControlDatasetTester_test.csv - Kontrolldatensatz - für die Überprüfung der Korrektheit der Dateneinspeisung während des Tests im Strategy Tester.
Speicherort der Datei: C:\Benutzer\Benutzer\AppData\Roaming\MetaQuotes\Terminal\Common\Files
-
Verifizierung und Testverfahren
Auf einem realen Chart:
Trainieren Sie das Modell (TRAIN) im Trainingszeitraum - erhalten Sie Metriken und eine Heatmap.
Überprüfen Sie (TEST) in einem weiteren Testzeitraum - erhalten Sie Metriken und eine Heatmap.
Wenn die Trainingsergebnisse zufriedenstellend sind, speichern Sie das Modell mit der Schaltfläche Speichern
Im Strategietester:
Verwenden Sie die empfohlenen Daten aus dem Protokoll.
Führen Sie den Strategietester aus und bewerten Sie die Handelsergebnisse des Modells.
Außerhalb der Stichprobe:
Verschieben Sie die Periodenfenster, um eine Überanpassung zu vermeiden.
Trainieren Sie das Modell in regelmäßigen Abständen neu, um neue Daten zu berücksichtigen.
WICHTIG!
Da sich die Kurse eines Brokers von denen anderer Broker unterscheiden können, wird empfohlen, vor dem Einsatz des NewsRForestExpert-Assistenten im realen Handel das Modell mittels Optimierung zu trainieren.
Der Parameter Use a previously saved Random Forest muss auf false gesetzt werden.
Liste der optimierbaren Modellparameter:
-
Anzahl der Bäume in einem Random Forest (10 - 4000);
-
Anteil der Daten, die zum Trainieren des Baums verwendet werden (0,2 - 0,95);
-
Anzahl der Merkmale für jeden Split (0 - 48);
-
Mindestwert der Vorhersagewahrscheinlichkeit (0,2 - 0,95).
Nach dem Ermessen des Benutzers können auch Parameter aus dem Abschnitt "HANDELSPARAMETER" optimiert werden.
Laden Sie nach der Optimierung den Assistenten mit den Parametern des besten Ergebnisses neu.
-
Häufige Probleme und Lösungen
Keine Daten/Signale:
Stellen Sie sicher, dass der Kalender verfügbar ist (Ansicht → Kalender), Internet ist verfügbar.
Überprüfen Sie den Bereich Begin/EndDateForLoad, senken Sie NewsImportance.
Niedrige Qualität:
Erhöhen Sie TreeCount/TrainRatio, passen Sie ProbabilityOfPrediction an.
Überprüfen Sie die Integrität der Kurshistorie, Broker-Zeitverschiebungen.
Zeiten stimmen im Tester nicht überein:
Verwenden Sie die empfohlenen Daten aus dem Protokoll, nachdem Sie TEST in real gedrückt haben.
-
Beschränkungen und Funktionen
Ereignisse mit undefinierter Zeit ("während des Tages") werden ausgeschlossen.
Verwenden Sie für einen zuverlässigen Test genau die Daten, die der Expert Advisor in den Protokollen nach der Datenaufbereitung auf einem realen Chart ausgibt.
-
Checkliste vor der Aktivierung von Autotrading
Getestet im Strategy Tester mit vorbereiteten Dateien und korrekten Daten.
Überprüfte Metriken auf TRAIN und TEST im Panel.
Optimierte Modellparameter im Strategy Tester (falls erforderlich).
Setzen Sie eine eindeutige MagicNumber für jedes Symbol/Zeitrahmen.
Wählen Sie SL/TP und Lots entsprechend der Volatilität und den Risiken.
ProbabilityOfPrediction optimiert für die gewünschte Signalselektivität.
-
Hinweise zur Normalisierung
Es stehen grundlegende Normalisierungsmethoden zur Verfügung (Ohne/MinMax/RobustScaler).
Die Standardparameter in diesem Build sind auf einen stabilen Betrieb ausgerichtet; erhöhen Sie die Leistung (TreeCount usw.) schrittweise.
-
Sicherheit und Risikomanagement
Beginnen Sie mit einer Demo und manueller Bestätigung (ExpertAutoTrade = false).
Berücksichtigen Sie Spread-Ausweitungen und Slippage bei Nachrichten.
Trainieren Sie das Modell regelmäßig neu und überwachen Sie Out-of-Sample-Ergebnisse.
Der automatisierte Handel birgt ein erhebliches Risiko von Geldverlusten. Der NewsRForestExpert-Assistent nutzt Nachrichtenanalyse und maschinelles Lernen, garantiert aber keine Gewinne. Testen Sie die Strategie auf einem Demokonto, bevor Sie mit dem echten Handel beginnen. Die Nutzung des Assistenten erfolgt auf eigenes Risiko.
