Diskussion zum Artikel "Fortschrittliches Resampling und Auswahl von CatBoost-Modellen durch die Brute-Force-Methode" - Seite 12

 
Evgeni Gavrilovi:

Dateipfade hinzugefügt - traing prnew.csv und test prnews.csv

aber das empfangene R2 ist fast immer höher als 0.9, vielleicht ist look_back nicht richtig eingestellt und deshalb ist die empfangene mqh-Datei falsch, weswegen der Test im Terminal nicht funktioniert.


https:// colab.research.google.com/drive/1eeyRA5bGaFMfX1THnMsL5hwKmxBkqvqP


https://drive.google.com/file/d/1LIRhpk5iU_dYQbefZ-FFQM6XMV_cOh26/view?usp=sharing testdaten


https://drive.google.com/file/d/18RpJec9EGSCSknwaHsevgHcZuCeoOvP5/view?usp=sharing Trainingsdaten

Ich schaue mir das später an, ich bin auf der Arbeit beschäftigt.

 
Maxim Dmitrievsky:

Ich werde es mir später ansehen, wenn ich auf der Arbeit bin.

Also gut.

Hier ist die mqh-Datei: https: //drive.google.com/file/d/1UquXcaRJjIR2lxE81P8Pm2BWFQ9uM0N1/view?usp=sharing

Der Tester zeigt den folgenden Fehler: 2020.12.01 21:19:23.252 2020.08.03 00:05:00 array out of range in 'cat_model.mqh' (288,51)

 
Maxim Dmitrievsky : Hallo, Rasoul. Versuchen Sie, die Größe der Trainingsmenge zu reduzieren. Das kann von verschiedenen Einstellungen abhängen, aber der wichtigste Trick ist, dass eine geringere Trainingsmenge zu einer besseren Generalisierung auf neuen Daten führt. Im nächsten Artikel werde ich versuchen, diesen Effekt zu erklären.

Hallo Maxim,

Ich habe die Zeiträume der Sets wie folgt geändert,

1. Training Set: von 2018.01.01 bis 2019.01.01
Dies wird nur für das Training von GMM verwendet.

2. Validation Set: von 2019.01.01 bis 2020.01.01
Dieser Satz wird im Brute-Force-Algorithmus verwendet, um das beste Modell zu finden.

3. Testsatz: von 2020.01.01 bis 2021.01.01

Dieser Satz wird nur verwendet, um das beste Modell zu testen, das mit dem Brute-Force-Algorithmus ermittelt wurde.

Nachfolgend sehen Sie ein typisches Ergebnis der Ausführung des Skripts,

Ich hänge den Code an, damit Sie ihn sich ansehen können, um einen möglichen Fehler zu finden.

Dateien:
 
Rasoul Mojtahedzadeh:

Hallo Maxim,

Ich habe die Zeiträume der Sätze wie folgt geändert,

1. Training Set: von 2018.01.01 bis 2019.01.01
Dies wird nur für das Training von GMM verwendet.

2. Validierungssatz: von 2019.01.01 bis 2020.01.01
Dieser Satz wird im Brute-Force-Algorithmus verwendet, um das beste Modell zu finden.

3. Testsatz: von 2020.01.01 bis 2021.01.01

Dieser Satz wird nur verwendet, um das beste Modell zu testen, das mit dem Brute-Force-Algorithmus ermittelt wurde.

Nachfolgend sehen Sie ein typisches Ergebnis der Ausführung des Skripts:

.

Ich hänge den Code an, damit Sie ihn sich ansehen können, um einen möglichen Fehler zu finden.

Manchmal muss man nur das Lernintervall und die Einstellungen ändern, dann kann das Modell z. B. Abhängigkeiten besser erfassen:

LOOK_BACK = 1
MA_PERIODS = [15, 25, 55, 100, 150, 200, 250, 300]

SYMBOL = 'EURUSD'
MARKUP = 0.00010
TIMEFRAME = mt5.TIMEFRAME_H1
START_DATE = datetime(2018, 9, 1)
VSTART_DATE = datetime(2019, 3, 1)
TSTART_DATE = datetime(2019, 7, 1)
STOP_DATE = datetime(2021, 1, 1)


 
Evgeni Gavrilovi:

In Ordnung. (gluckst)

Hier ist die mqh-Datei: https: //drive.google.com/file/d/1UquXcaRJjIR2lxE81P8Pm2BWFQ9uM0N1/view?usp=sharing

Der Fehler ist im Tester aufgeführt: 2020.12.01 21:19:23.252 2020.08.03 00:05:00 array out of range in 'cat_model.mqh' (288,51)

Ich habe den Verdacht, dass Sie eine Version des Bots aus dem letzten Artikel verwenden. Der Bot in diesem Artikel ist anders. Überprüfen Sie ihn, es sollte nicht so ein Fehler auftreten.

R^2 0.9 ist gut, ich bekomme das auch oft

 
Maxim Dmitrievsky:

Manchmal muss man nur das Lernintervall und die Einstellungen ändern, dann kann das Modell z.B. Abhängigkeiten besser erfassen:


Danke für Ihre schnelle Antwort!

Sieht gut aus mit Ihren Einstellungen! :)

Mit freundlichen Grüßen,

Rasoul

 
Rasoul Mojtahedzadeh:

Vielen Dank für Ihre schnelle Antwort!

Sieht gut aus mit Ihren Einstellungen! :)

Mit freundlichen Grüßen,

Rasoul

look_back muss meiner Erfahrung nach nur auf 1 gesetzt werden... und mehr verschiedene MA's. Und manchmal muss man die Lernperioden ändern

manchmal muss man die Anzahl der Cluster im GMM von 75 auf eine andere Zahl ändern... und so weiter)

vielleicht müssen bessere Funktionen anstelle von MA's hinzugefügt werden, aber ich weiß nicht genau welche... Ich muss experimentieren

 
Maxim Dmitrievsky:

Ich habe den Verdacht, dass Sie eine Version des Bots aus dem letzten Artikel verwenden. Der Bot in diesem Artikel ist anders. Überprüfen Sie ihn, es sollte kein solcher Fehler auftreten.

R^2 0.9 ist gut, ich habe es auch oft

nur die neue Version hat die Funktion brute_force, aber der Punkt ist ein anderer - die empfangene mqh-Datei gibt ein Fehlerfeld außerhalb des Bereichs und es erlaubt nicht, den Bot mit hohem R^2 zu testen.

 
Evgeni Gavrilovi:

nur in der neuen Version gibt es eine Funktion brute_force, aber die Sache ist anders - die empfangene mqh-Datei gibt ein Fehler-Array außerhalb des Bereichs und es erlaubt nicht, den Bot mit hohem R^2 zu testen.

Ich spreche über die EA-Datei, die Sie kompilieren.

 
Maxim Dmitrievsky:

Ich spreche von der EA-Datei, die Sie kompilieren.

Ja, das ist sie.

Sie lautet

#include <MT4Orders.mqh>

#include <Trade\AccountInfo.mqh>

#include <cat_model.mqh>

und das Wichtigste ist, dass beim Laden der mqh direkt aus dem Jupyter-Notebook alles gut funktioniert, das hat mich überrascht