Diskussion zum Artikel "Neuronale Netze im Trading: LSTM-Optimierung für die multivariate Zeitreihenprognose (letzter Teil)" - Seite 2

 
Vladimir Sanin #:

Muss man es also doch in den Zeitplan aufnehmen und den Test mit Optimierung starten? Es geht doch jetzt nicht um die Online-Version, oder? Es ist unklar, welchen Datumsbereich man für das „Study“ wählen soll – irgendeinen? Ich habe den Test mit Visualisierung gestartet und sehe, dass sich die Daten oben links ändern, aber das Diagramm bleibt unverändert. Die Prozentsätze in den Daten steigen langsam, gleichzeitig und gleichmäßig an, während das Diagramm selbst unverändert bleibt.


Alles richtig. So soll es auch sein.

 

Ich würde dem Autor gerne eine Frage stellen: Soll „Research“ denn so funktionieren?



 
Andrey Yankin #:

Ich würde dem Autor gerne eine Frage stellen: Soll „Research“ denn so funktionieren?



Ich bin zwar nicht der Autor, aber ich werde die Frage beantworten. Ja, so soll es funktionieren. Es macht jedoch keinen Sinn, es in einen Zeitplan einzubinden. Man muss es im Tester mit (vollständiger) Optimierung des Parameters „agent“ ausführen. Auf diese Weise wird eine Trajektoriendatei erstellt, die anschließend für das Training verwendet wird.

 
Andrey Yankin #:

Das stimmt. So muss es sein.

Wie genau? Nur auf dem Chart? Oder gleichzeitig auf dem Chart und im Tester? Und im Tester mit Optimierung oder im Einzeltest? Und wenn mit Optimierung, welchen Parameter soll man dann optimieren?

 
Andrey Yankin #:

Study fügen Sie einfach in das Diagramm ein. Nach der Installation liest das Programm die Datendateien ein und beginnt anschließend mit der Optimierung. Im Diagramm werden in der oberen linken Ecke der Fortschritt und die Ergebnisse angezeigt.

Auf einem 15-Minuten-Zeitrahmen 3.000 Trades in einem halben Jahr... Das bedeutet, dass fast bei jeder zweiten Kerze ein Trade eröffnet wird – und zwar ausschließlich „Sell“. Sie können sich davon überzeugen, indem Sie entweder einen Einzeltest mit Visualisierung durchführen oder das System auf einem Demokonto installieren. Die Trades werden eröffnet und bei der nächsten Kerze wieder geschlossen.

Aber sollte das eigentlich nicht so sein? Wie sollten die Trades eröffnet werden? Nur als „Sell“ oder auch als „Buy“? Haben die Parameter der Indikatoren darauf einen Einfluss?

 
Was den Eingabeparameter „MinProfit“ (Standardwert = 10) in Research betrifft: Schließt er verlustreiche Sitzungen aus? Verstehe ich das richtig, dass man ihn auch auf einen negativen Wert setzen kann, ohne dass sich dadurch etwas verschlechtert?
 

Ich stelle fest, dass bei der parallelen Optimierung (mehrere lokale Agenten) die Dateigröße von DACGLSTM.bd schwankt: Bei einem Durchlauf werden ~250 MB geschrieben, beim nächsten bereits ~200 MB, dann wieder 250 MB. Es hat sich herausgestellt, dass die Datei in `SaveTotalBase()` wie folgt geöffnet wird:

int handle = FileOpen(FileName + ".bd",
FILE_WRITE | FILE_BIN | FILE_COMMON); // überschreibt!

Der zuletzt beendete Agent löscht alles, was die vorherigen gespeichert haben.
Damit die Flugbahnen gespeichert werden, schlage ich vor, den Code wie folgt zu ändern:

int handle = FileOpen(FileName + ".bd", FILE_READ | FILE_WRITE | FILE_BIN | FILE_COMMON);
FileSeek(handle, 0, SEEK_END); // am Ende anhängen

Die Begrenzung erfolgt weiterhin über MaxReplayBuffer, sodass beim Speichern alles Überflüssige ohnehin abgeschnitten wird.

Fragen:

  1. Gibt es bei diesem „Append-Modus“ in MT5 irgendwelche Fallstricke?

  2. Vielleicht ist es besser, für jeden Agenten eine separate .bd-Datei zu führen und diese anschließend zusammenzuführen?

 
Vladimir Sanin #:

Fragen:

  1. Gibt es bei diesem „Append-Modus“ in MT5 irgendwelche Fallstricke?

  2. Wäre es vielleicht besser, für jeden Agenten eine separate .bd-Datei zu führen und diese anschließend zusammenzuführen?

Punkt 2 ist möglich, aber die Standardlösung besteht darin, die Daten von den Agenten in Frames an das Terminal zu senden und vom Terminal in einer gemeinsamen Datei zu speichern.

Punkt 1 kann jederzeit „abstürzen“, wenn mehrere Agenten gleichzeitig versuchen zu schreiben – einer schreibt, während die anderen mit Fehlern abbrechen.

 

|
Ich habe einen Monat lang täglich 5 Minuten lang den Research-Lauf durchgeführt, dabei sind 300 MB DACGLSTM.bd entstanden. Ich habe Study gestartet. Die Fehlerquoten sind erschreckend hoch. Oder ist das beim allerersten Durchlauf normal?
 
Kennt sich noch jemand mit diesem neuronalen Netzwerk aus? TG:@vigit