Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 2948

 
Evgeny Dyuka #:

Ich verstehe nicht, warum der ganze Schnickschnack mit ONNX überhaupt nötig ist.

Es gibt ein offensichtliches Basisszenario, wie man MT5 und MO zu Freunden macht:
1. Von OnInit() wird das Python-Skript als separater Prozess gestartet.
2. Wir brauchen ein paar Funktionen für den Informationsaustausch zwischen Python und EA, im Modus, in dem EA auf Informationen warten kann.
3. Wir machen einen Ordner Models und werfen TensorFlow-Modelle hinein.

THAT'S IT!!! Die Integration von MT und MO ist erfolgt! Alle sind glücklich.

Es kann einfacher sein... Redis einbinden, RedisAI mit PyTorch, ONNX, TensorFlow-Unterstützung, und wenn gewünscht, die Last auf Knoten und Clouds verteilen.

 
Maxim Dmitrievsky #:
Eine Krücke weniger, die Palette der verwendeten Modelle wird stark erweitert (bisher optimierte jeder die Gewichte über Terminaleingaben). Anscheinend sollte es auch auf dem Mac funktionieren, ich werde es bald überprüfen :) manchmal ist es schön, nichts zu tun und darauf zu warten, dass einem das Essen von selbst in den Mund fliegt

Nun, ich habe mich auf diesen Fall eingelassen, um das Niveau von Python zu erhöhen - ich kann jetzt nicht mehr darauf verzichten) Ich denke, ich werde mit LightGBM beginnen. Es scheint zwei Möglichkeiten zu geben, ONNX dafür zu bekommen - onnxmltools und skl2onnx.

 
Beachten Sie, dass die systemeigene Ausführung von onnx-Modellen es Ihnen ermöglicht, diese einfach und sehr schnell im Tester und im Claudnet ohne System-Overhead auszuführen, was bei Integrationen von Drittanbietern fast unmöglich ist.

Während der Strategietests werden all diese "Was ist schon dabei, 50 ms pro Aufruf zu verlieren" die Testzeit um das Tausendfache erhöhen.
 
Evgeny Dyuka #:
Ich höre diese Legende über die Bedeutung der Geschwindigkeit die ganze Zeit, aber ich kann nicht verstehen, wo es wichtig ist.
Unter Berücksichtigung von Spread und Börse/Broker Kommissionen, müssen Sie für eine Zeit in Dutzenden von Minuten oder Stunden gemessen prognostizieren. Was haben 50 Millisekunden Unterschied damit zu tun?
Wie genau hilft es Ihnen im wirklichen Leben, MQ gegenüber fxsaber um 5 Millisekunden zu schlagen?

Wie Sie wollen, aber selbst eine kleine Geschwindigkeitssteigerung würde mich nicht stören. Sowohl beim Testen/Optimieren als auch beim Handeln.

 
Renat Fatkhullin #:
Beachten Sie, dass die native Ausführung von onnx-Modellen es einfach und sehr schnell macht, sie im Tester und in Claudnet ohne System-Overhead auszuführen, was bei Integrationen von Drittanbietern fast unmöglich ist.

Während der Strategietests werden all diese "Was ist schon dabei, 50 ms pro Aufruf zu verlieren" die Testzeit um das Tausendfache erhöhen.
Ich fürchte, dass die Optimierung in der Cloud nicht funktionieren wird. Der Sinn der Optimierung besteht darin, TS-Parameter zu ändern. Zum Beispiel die TP/SL-Auswahl. Wenn diese geändert werden, ändern sich auch die Daten für das Training. D.h. es ist notwendig, das Modell mit jeder Parametervariante zu trainieren, und zu diesem Zweck sollte die MO-Software (Catbust, neuronales Netz, etc.) installiert sein. Es ist unwahrscheinlich, dass in der Cloud jemand die erforderliche Software in der richtigen Version installiert hat.
.

Das Training kann also nur im Tester auf dem Rechner des Entwicklers durchgeführt werden.
Und es macht keinen Sinn, das fertige Modell in die Cloud hochzuladen.

 
Maxim Kuznetsov #:

Es kann einfacher sein... Redis anschließen, RedisAI mit PyTorch, ONNX, TensorFlow-Unterstützung, und wenn gewünscht, die Last auf Knoten und Clouds verteilen.

Unser Flugzeug hat an Bord einen Swimmingpool, eine Tanzfläche, ein Restaurant, gemütliche Aufenthaltsräume, einen Wintergarten... Liebe Passagiere, schnallen Sie sich an, wir werden jetzt versuchen, mit diesem ganzen Scheiß abzuheben.

 
Forester #:
Ich fürchte, dass die Optimierung in der Cloud nicht funktionieren wird. Bei der Optimierung geht es darum, die Parameter des TS zu ändern. Zum Beispiel die TP/SL-Auswahl. Wenn sie geändert werden, ändern sich die Daten für das Training. D.h. es ist notwendig, das Modell mit jeder Variante der Parameter zu trainieren, und zu diesem Zweck sollte die MO-Software (Catbust, neuronales Netz usw.) installiert sein. Es ist unwahrscheinlich, dass in der Cloud jemand die erforderliche Software in der richtigen Version installiert hat.
.

Das Training kann also nur im Tester auf dem Rechner des Entwicklers durchgeführt werden.
Und es macht keinen Sinn, das fertige Modell in die Cloud hochzuladen.

Um fair zu sein, ein Modell ist nicht notwendigerweise ein fertiges TS. Zum Beispiel sagt das Modell einen Kursanstieg voraus, und in den EA-Parametern wird ein Schwellenwert für den vorhergesagten Anstieg festgelegt, den der EA zu handeln versucht.

 
Aleksey Nikolayev #:

Unser Flugzeug hat an Bord einen Swimmingpool, eine Tanzfläche, ein Restaurant, gemütliche Lounge-Bereiche, einen Wintergarten... Liebe Passagiere, schnallen Sie sich an, wir werden jetzt versuchen, mit diesem ganzen Mist abzuheben.

IMHO ist das genau die aktuelle Entwicklung von MQL. Ein Versuch, alles auf einmal hineinzupacken, statt Integrationen.

 
Maxim Kuznetsov #:

IMHO ist das genau die aktuelle Entwicklung von MQL. Ein Versuch, alles auf einmal hineinzupacken, anstatt Integrationen

+

 
Maxim Kuznetsov #:

IMHO ist das genau die aktuelle Entwicklung von MQL. Ein Versuch, alles auf einmal hineinzupacken, anstatt Integrationen

Die Wege für Integrationen waren schon immer offen:

  • Native DLLs
  • .NET-DLL
  • HTTP/HTTPS
  • Rohe Sockets
  • Dateien/Pipes
  • SQLite
  • Python-Bibliothek


Aber es sind die Integrationen in die Muttersprache, die es möglich machen, komplette Anwendungen zu schreiben.

Im Bereich ML haben wir Vektoren, Matrizen und Operationen mit ihnen als Grundlage für maschinelles Lernen bearbeitet und implementiert:

  • Vektoren, Matrizen und Operationen mit ihnen als Grundlage für das maschinelle Lernen
  • Integration mit Python, einschließlich des Starts von Python-Programmen im Terminal als gewöhnliche Skripte
  • Verwendung nativer ONNX-Modelle, die eine große Tür zur praktischen Anwendung von Neuromodellen öffnen

Wir schaffen es, vollständige und schnelle Lösungen zu erstellen.

Worte wie "versuchen zu pauken" zeigen nur eine negative Einstellung ohne rationale Rechtfertigung. Zumal die Verfügbarkeit von Möglichkeiten den Autor in keiner Weise einschränkt.