Diskussion zum Artikel "Der Algorithmus CatBoost von Yandex für das maschinelle Lernen, Kenntnisse von Python- oder R sind nicht erforderlich" - Seite 6

 
Aleksey Vyazmikin:

Vielleicht versuchen Sie die Einstellungen aus dem Artikel?

  • "Zeitraum": 8;
  • "Zeitrahmen": 2 Minuten;
  • "MA-Methoden": Linear gewichtet;
  • "Berechnungspreis": Höchstpreis.
Es scheint, dass ich das Kapital von 10k USD auf 200k USD setzen musste, so dass ich jetzt zumindest bessere Ergebnisse habe: Ergebnis von 24 für 15k Trades mit 0,89 PF
 
konorti:
Es scheint, dass ich das Kapital von 10k USD auf 200k USD setzen musste, so dass ich jetzt zumindest bessere Ergebnisse habe: Ergebnis von 24 für 15k Trades mit 0,89 PF

In meinem Code habe ich die Lotgröße auf eins gesetzt. Sie betrachten den Code als eine Vorlage für das Experimentieren mit CatBoost.

 
Aleksey Vyazmikin:

In meinem Code setze ich die Losgröße auf eins. Betrachten Sie den Code als eine Vorlage für das Experimentieren mit CatBoost.

Danke, es sieht jetzt besser aus, aber von 40 Seeds gab es immer noch nicht höher als 0,5. Ich versuche, mehr Seeds zu machen. Ist es anders, wenn es geht 1 bis 100 von 1 oder 1 bis 10000 mit einem Schritt von 100?
 
konorti:
Danke, es sieht jetzt besser aus, aber von 40 Samen gab es immer noch nicht höher als 0,5. Ich versuche, mehr Samen zu machen. Ist es anders, wenn es geht 1 bis 100 von 1 oder 1 bis 10000 mit einem Schritt von 100?

Führen Sie die Quantisierung durch, und wenden Sie erst dann den Seed an. Jeder Seed ist anders.

 
Aleksey Vyazmikin:

Führen Sie die Quantisierung durch, und wenden Sie erst dann den Seed an. Jeder Seed ist anders.

Danke, ich bin mir nicht sicher, ob ich Sie richtig verstanden habe. Quantisierung und Seeding werden in einem Schritt vorbereitet, wenn sie im Skript CB_bat eingestellt werden, richtig?

Jedenfalls wurden in der Nacht einige 200-300 Seeds mit besseren Ergebnissen erzeugt, auch mqh-Dateien wurden erzeugt. Beim Backtesting während der Trainingsperiode steigt die Equity-Kurve schön an, aber wenn ich es während der Test- und Prüfungsperiode teste, werden kaum Trades gemacht. Ma Periode war 96 so jetzt habe ich wieder von Anfang an. Ich wechselte zu DJI30 (zur Abwechslung), verwendete Periode 8 und M2 und optimierte nur den Preis und den MA-Typ. Auf diese Weise werden viel mehr als 15k Trades generiert (ich habe sogar die Länge der Periode reduziert, da die XXXCB_Save_pred.csv-Datei etwa 1,3Gb groß ist und 1 Trainingszyklus 13 Minuten dauert. Ich habe den Seed-Parameter von 1 auf 10000 mit einem Schritt von 100 gesetzt, was etwa 100 Modelle ergibt. Ich hoffe, dass es danach ein Ergebnis geben wird.

 
konorti:

Danke, ich bin mir nicht sicher, ob ich Sie richtig verstanden habe. Quantisierung und Seeding werden in einem Schritt vorbereitet, wenn sie im Skript CB_bat eingestellt werden, richtig?

Jedenfalls wurden in der Nacht einige 200-300 Seeds mit besseren Ergebnissen generiert, auch mqh-Dateien wurden generiert. Beim Backtesting während der Trainingsperiode steigt die Equity-Kurve schön an, aber wenn ich es während der Test- und Prüfungsperiode teste, werden kaum Trades gemacht. Ma Periode war 96 so jetzt habe ich wieder von Anfang an. Ich wechselte zu DJI30 (zur Abwechslung), verwendete Periode 8 und M2 und optimierte nur den Preis und den MA-Typ. Auf diese Weise werden viel mehr als 15k Trades generiert (ich habe sogar die Länge der Periode reduziert, da die XXXCB_Save_pred.csv-Datei etwa 1,3Gb groß ist und 1 Trainingszyklus 13 Minuten dauert. Ich habe den Seed-Parameter von 1 auf 10000 mit einem Schritt von 100 gesetzt, was etwa 100 Modelle ergibt. Ich hoffe, dass es danach ein Ergebnis geben wird.

Ich empfehle, dass Sie zuerst den besten Weg zur Quantisierung finden, indem Sie die verschiedenen Optionen durchgehen, und dann den Seed. Idealerweise sollten Sie Ihre eigenen Quantisierungseinstellungen für jeden Prädiktor suchen und dann die Ergebnisse kombinieren. Vielleicht werde ich im nächsten Artikel darüber schreiben.

 
Aleksey Vyazmikin:


Im Anhang finden Sie den EA-Code und das Skript, das die gesamte Infrastruktur organisiert - es war mir wichtig, dass das, was ich beschreibe, reproduziert werden kann - also testen Sie und melden Sie Fehler, schlagen Sie Verbesserungen vor - ich bin für jeden Beitrag dankbar.

Vielen Dank für den nützlichen Artikel!

Ist es möglich, die GPU zum Trainieren des Modells zu nutzen?

In einem "frontalen" Ansatz führt das Hinzufügen der Option "--task-type GPU" zu _01_Train_All zu einem Fehler: Error: change of option sampling_frequency is unimplemented for task type GPU and was not default in previous run

 
SergXO:

Vielen Dank für den hilfreichen Artikel!

Ist es möglich, GPU zu verwenden, um das Modell zu trainieren?

Wenn ich die Option "--task-type GPU" zu _01_Train_All hinzufüge, tritt folgender Fehler auf: Error: change of option sampling_frequency is unimplemented for task type GPU and was not default in previous run

Leider habe ich keine Nvidia-Karte, daher ist es schwer, die Ursache herauszufinden. Beginnen Sie mit dem Entfernen von Schlüsseln so viel wie möglich, nicht alle Funktionen, die auf der CPU implementiert sind, werden auf der GPU unterstützt.

 
Aleksey Vyazmikin:

Leider habe ich keine Karte von Nvidia, daher ist es schwer, die Ursache herauszufinden. Beginnen Sie mit dem Entfernen von Tasten so viel wie möglich, nicht alle Funktionen auf CPU implementiert sind auf GPU unterstützt.


Alexey, guten Tag.

Vielen Dank für den Artikel!

Könnten Sie mir bitte sagen, ob es möglich ist, der KI, die dem Artikel beigefügt ist, beizubringen, einen Zickzack zu berechnen und zu zeichnen?


Vielen Dank für Ihre Antwort.

 
User11:


Alexej, guten Tag.

Vielen Dank für den Artikel!

Könnten Sie mir bitte sagen, ob es möglich ist, der dem Artikel beigefügten KI beizubringen, einen Zickzack zu berechnen und zu zeichnen?


Vielen Dank für Ihre Antwort.

Hallo.

Wenn es darum geht, einen Indikator zu ersetzen, ist es möglich, ihn zu trainieren, aber wenn es um die Vorhersage von Extrema geht, ist es viel schwieriger, aber der CatBoost-Algorithmus erlaubt es, wenn es entsprechende Prädiktoren gibt.