Diskussion zum Artikel "Wie man ONNX-Modelle in MQL5 verwendet" - Seite 4

 
Ich danke Ihnen vielmals. Ich weiß es wirklich zu schätzen. Wünschen viel mehr Artikel über sie in naher Zukunft
 

Es gibt ein Problem mit onyx lib jede Idee?

Bei der Installation von onyx trat ein Fehler auf

ERROR: Es konnte keine Version gefunden werden, die die Anforderung onyx erfüllt (von den Versionen: 0.0.5, 0.0.17, 0.0.19, 0.0.20, 0.0.21, 0.1, 0.1.1, 0.1.3, 0.1.4, 0.1.5, 0.2, 0.2.1, 0.3, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.7, 0.3.8, 0.3.9, 0.3.10, 0.3.11, 0.3.12, 0.4, 0.4.1, 0.4.2, 0.4.4, 0.4.5, 0.4.6, 0.4.7, 0.5, 0.6.1, 0.6.2, 0.6.3, 0.6.4, 0.7.3, 0.7.4, 0.7.5, 0.7.6, 0.7.7, 0.7.8, 0.7.10, 0.7.11, 0.7.12, 0.7.13, 0.8.5, 0.8.7, 0.8.10, 0.8.11)

ERROR: Keine passende Distribution für onyx gefunden

dann beim Ausführen von t2fonnx

importiere onyx

ModuleNotFoundError: Kein Modul namens 'onyx'



 
Seltsam ist, dass das Netzwerk auf stündlicher Basis trainiert wird, der Expert Advisor aber tägliche Daten einspeist. Ist das ein Fehler? Oder verstehe ich etwas nicht?
 
donbar upbar #:

Gibt es ein Problem mit der Onyx-Lib?

Bei der Installation von onyx wurde ein Fehler angezeigt

ERROR: Es konnte keine Version gefunden werden, die die Anforderung onyx erfüllt (von den Versionen: 0.0.5, 0.0.17, 0.0.19, 0.0.20, 0.0.21, 0.1, 0.1.1, 0.1.3, 0.1.4, 0.1.5, 0.2, 0.2.1, 0.3, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.7, 0.3.8, 0.3.9, 0.3.10, 0.3.11, 0.3.12, 0.4, 0.4.1, 0.4.2, 0.4.4, 0.4.5, 0.4.6, 0.4.7, 0.5, 0.6.1, 0.6.2, 0.6.3, 0.6.4, 0.7.3, 0.7.4, 0.7.5, 0.7.6, 0.7.7, 0.7.8, 0.7.10, 0.7.11, 0.7.12, 0.7.13, 0.8.5, 0.8.7, 0.8.10, 0.8.11)

ERROR: Keine passende Distribution für onyx gefunden

dann beim Ausführen von t2fonnx

importiere onyx

ModuleNotFoundError: Kein Modul namens 'onyx'



Hallo Donbar, es sieht so aus, als würden Sie versuchen, das falsche Paket zu installieren. Es sollte onnx sein, nicht onyx.
 

Hallo, danke für den Artikel. Eine großartige Anleitung, wie man ein ML-Modell erstellt und es in einen EA integriert!

Ich habe versucht, Ihre Ergebnisse zu reproduzieren, aber ich habe einige Probleme. Ich hatte gehofft, Sie könnten mir helfen zu verstehen, warum.

Ich bin dem Artikel sorgfältig gefolgt, habe aber im Strategietester völlig andere Ergebnisse erzielt. Mir ist klar, dass diese Algorithmen einige zufällige Merkmale aufweisen, dennoch bin ich über den Unterschied überrascht. Ich habe auch darauf geachtet, die gleichen Zeiträume zu verwenden, so dass zumindest meine Trainings- und Testdaten für die Modellerstellung identisch waren, und mein MT5-Backtest lief über den gleichen Zeitraum. Ich erhielt sehr unterschiedliche Ergebnisse.

Ich habe versucht, mögliche Ursachen zu ermitteln, und ich denke, der interessanteste Unterschied beginnt bei der Modellerstellung. Meine Verlustfunktionen deuten darauf hin, dass Sie bei der Betrachtung der Leistung über die Test-/Validierungsdaten eine weitaus bessere Generalisierung erzielt haben. Ich habe sie am Ende dieser Nachricht eingefügt.

Können Sie mögliche Ursachen hierfür nennen? Ist das Modell einfach so anfällig, dass dies nicht unerwartet ist?

Bei meinem letzten Versuch, das Problem zu reproduzieren, habe ich einfach Ihren endgültigen Python-Code kopiert und einige Matplotlib-Aufrufe eingefügt, um die Verlustdiagramme zu erstellen, aber ich hatte im Grunde die gleichen Ergebnisse. Können Sie vorschlagen, wie ich Ihre Ergebnisse besser reproduzieren könnte?

Vielen Dank

Dateien:
LOSS.png  99 kb
RMSE.png  120 kb
copypaste.py  5 kb
 
Vladimir Perervenko Projekt zum maschinellen Lernen besteht aus drei Phasen:
  • Preprocessing (viele Dinge)
  • Modellauswahl, Training, Optimierung, etc.
  • Implementierung

Die Verwendung von ONNX-Modellen in µl löst das Problem der Implementierung. Allerdings sind nicht alle Modelle und nicht ganz einfach.

Das Training und die Optimierung der Modelle wird durch einen separaten Prozess in Python gelöst.

Von all diesen Schritten ist der erste der zeitaufwändigste, kreativste und wichtigste. Und es ist unmöglich, sie auf µl zu realisieren. Wir betrachten die primitive Skalierung nicht als Vorverarbeitung. Und die Volksweisheit sagt: "Müll rein - Müll raus". Es gibt zu viel, was zusätzlich entwickelt und in MCL implementiert werden muss, um MO nur auf MCL voll nutzen zu können. Es ist unmöglich, das Unermessliche zu umarmen, zumal es sich ständig erweitert.

Um einen Preprocess auszuführen, sollte man ihn daher entweder in einer anderen Sprache erstellen (wer R/Python/Julia etc. beherrscht) oder versuchen, ihn in ONNX zu konvertieren.

Der Vorteil der bisherigen Implementierung von ONNX ist, dass wir lernen werden, wie man ONNX-Modelle konvertiert, erstellt, vereinfacht und optimiert. Das kann in Zukunft nützlich sein.

Besser kann man es nicht sagen, alles ist präzise und auf den Punkt gebracht

 
Rorschach #:

Transfer Vorverarbeitung zu MT ist kein Problem, ich will wirklich das System in MT-Tester zu testen, in Python/R muss ich meine eigenen Tester zu schreiben, voller Fehler.

Es gibt bereits viele Tester, getestet in R und Python.

Aber die Vorverarbeitung zu übertragen ist einfach ein Problem, die Vorverarbeitung ist keine triviale Skalierung oder stochastische Berechnung.
 
Bill M Strategietester völlig andere Ergebnisse erzielt. Mir ist klar, dass diese Algorithmen einige zufällige Merkmale aufweisen, dennoch bin ich über den Unterschied überrascht. Ich habe auch darauf geachtet, die gleichen Zeiträume zu verwenden, so dass zumindest meine Trainings- und Testdaten für die Modellerstellung identisch waren, und mein MT5-Backtest lief über den gleichen Zeitraum. Ich habe sehr unterschiedliche Ergebnisse erhalten.

Ich habe versucht, mögliche Ursachen zu ermitteln, und ich denke, der interessanteste Unterschied beginnt bei der Modellerstellung. Meine Verlustfunktionen deuten darauf hin, dass Sie bei der Betrachtung der Leistung über die Test-/Validierungsdaten eine weitaus bessere Generalisierung erzielt haben. Ich habe sie am Ende dieser Nachricht eingefügt.

Können Sie mögliche Ursachen hierfür nennen? Ist das Modell einfach so anfällig, dass dies nicht unerwartet ist?

Bei meinem letzten Versuch, die Ergebnisse zu reproduzieren, habe ich einfach Ihren endgültigen Python-Code kopiert und einige Matplotlib-Aufrufe eingefügt, um die Verlustdiagramme zu erstellen. Können Sie vorschlagen, wie ich Ihre Ergebnisse besser reproduzieren könnte?

Vielen Dank

Ich stehe auch vor dem gleichen Problem.

Kann jemand bitte helfen?

 
Joseph #:

Ich stehe auch vor dem gleichen Problem.

Kann jemand bitte helfen?

Setzen Sie meine Untersuchung des Problems fort, mit dem ich konfrontiert bin (wahrscheinlich auch andere); und aktualisieren Sie meine Ergebnisse.

Zunächst einmal vielen Dank an MetaQuotes (den Autor) für die Bereitstellung dieses ausführlichen Artikels. Ich lerne sehr viel für meine ML-Handelssuche.

Wenn ich die ursprünglichen onnx-Dateien aus dem Artikel auf meinem MetaQuates-Demokonto ausführe, kann ich die gleichen Ergebnisse erzielen. Wenn ich jedoch das onnx-Modell mit der beigefügten ONNX.eurusd.H1.120.Training.py:

data start date = 2022-09-03 00:00:00
data end date = 2023-01-01 00:00:00

das Modell (onnx beigefügt: ) erzielt Ergebnisse:

RMSE         : 0.005212606864326095
MSE          : 2.7171270322019527e-05
R2 score     : -3.478924709873314

und die 1Jan2023-26Mar2023 Backtest-Ergebnisse im Anhang: "backtest results.png"

MetaQuotes
  • 2023.11.23
  • www.mql5.com
Trader's profile
Dateien:
 

Ich trainiere die beigefügte ONNX.eurusd.H1.120.Training.py mit folgendem:

data start date = 2022-11-28 12:28:00
data end date = 2023-03-28 12:28:00

das Modell (onnx beigefügt:) punktet:

RMSE         : 0.0014680559413400179
MSE          : 2.155188246903726 e-06
R2 score     : 0.9699715149559284

und die Bacttest-Ergebnisse 1Jan2023-26Mar2023 im Anhang: "bacttest result2.png"

Aus den obigen Übungen schließe ich, dass das Modell, das zur Erstellung des Endergebnisses aus dem Artikel verwendet wurde, wahrscheinlich nicht mit den folgenden Daten trainiert wurde?

data start date = 2022-09-03 00:00:00
data end date = 2023-01-01 00:00:00
Ich wäre dankbar, wenn sich jemand dazu äußern könnte.
Dateien: