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

 
Aleksey Nikolayev #:

Sehr gut. Und welche Versionen und Opsets von ONNX werden unterstützt?

Alle, die im Open-Source-Projekt ONNX Runtime erscheinen.

 
Renat Fatkhullin #:

All dies ist im Open-Source-Projekt ONNX Runtime enthalten.

onnx.defs.onnx_opset_version() schreibt, dass opset=17. Über die Version im MT-Protokoll heißt es 1.14.0, obwohl ich denke, dass die neueste ONNX-Version 1.13.1 ist

 
Aleksey Nikolayev #:

onnx.defs.onnx_opset_version() schreibt, dass opset=17. Zur Version im MT-Protokoll heißt es 1.14.0, obwohl die neueste ONNX-Version 1.13.1 zu sein scheint

Nein, das ist richtig. Es ist die neueste ONNX-Version 1.13.1 und die neueste ONNX-Runtime-Version 1.14.1.

 
Renat Fatkhullin #:

Der Funktionssatz für den Zugriff auf Charts/Ticks/Handelspositionen/Transaktionshistorie ist oben angegeben. Dies reicht für die direkte Arbeit mit Python-Skripten aus.

Vielleicht werden wir den Zugang zu Indikatoren hinzufügen.

Die Übertragung von Indikatoren ist keine universelle Methode, obwohl sie wahrscheinlich für die meisten Trader ausreichend ist. Ich bin zum Beispiel mehr daran interessiert, Daten nicht bei jedem Balken zu übertragen, sondern in den Momenten, in denen Niveaus durchbrochen werden. Jemand ist an etwas anderem interessiert, usw.

Es ist kaum möglich, einen idealen Weg des Austauschs zu finden, der allen gerecht wird, daher sind Krücken in der Entwicklungsphase unvermeidlich. Die Hauptsache ist, dass man Krückenmethoden in der Phase des Starts in einem Tester oder auf einem VPS vermeidet.

 

Ich habe das ONNX.Price.Prediction Projekt in der neuen Version von MT5 b3601 getestet. Alles scheint zu funktionieren - Training und Ausgabe in Python, Ausgabe in MT5 (ich habe die dll für onnx aus dem Stammverzeichnis entfernt und das Terminal neu gestartet).

Wir können auf die Veröffentlichung warten und mit unseren eigenen Modellen versuchen)

 
Aleksey Nikolayev #:

Die Übertragung von Indikatoren ist keine universelle Methode, obwohl sie für die meisten Händler ausreichend ist. Ich bin zum Beispiel mehr daran interessiert, Daten nicht bei jedem Balken zu übermitteln, sondern in den Momenten, in denen Niveaus durchbrochen werden. Jemand ist an etwas anderem interessiert, usw.

Es ist kaum möglich, einen idealen Weg des Austauschs zu finden, der allen gerecht wird, so dass Krücken in der Entwicklungsphase unvermeidlich sind. Die Hauptsache ist, dass man Krückenmethoden in der Phase des Starts in einem Tester oder auf einem VPS vermeidet.

Das Problem der Übergabe von Indikatoren und willkürlichen Daten (z.B. Strings) in Python betrifft die Geschäftsinteressen von MetaQuotes.
. .

Wenn all dies gelöst ist, verwandelt sich MT von einem Vermittler zwischen einem Broker und einem Kunden in ein einfaches Tool zum Schreiben von Strategien und Indikatoren.

MT liefert Kurse und ist gleichzeitig sehr schnell und zuverlässig - ein hervorragendes Element, um es in ein Handelssystem einzubauen. Die Möglichkeit, Strings an Python zu übergeben, bedeutet, diese Rolle des Terminals zu konsolidieren.

Zum Beispiel hat Krypto MT überholt, weil der Broker in Krypto ein überflüssiges und unnötiges Element ist, aber es hebt die Verwendung des Terminals zum Schreiben und Verwenden von Expert Advisors nicht auf.

Um es einfach auszudrücken: Schreiben Sie einen EA => lassen Sie ihn auf BTCUSD laufen => handeln Sie auf Binance über ein Python-Skript => danken Sie MetaTrader dafür, dass es ihn gibt.

 

Ich verstehe nicht, warum Sie all dieses Zeug mit ONNX brauchen.

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

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

 
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 gibt eine solche Integration mit R. Es ist nur nicht klar, warum R auf VPS benötigt wird und warum man Probleme hat, seine Integration mit MT zu unterstützen (Versionskontrolle der Sprache und der Pakete, etc.). Mit Python wird es das gleiche sein.

Es gibt auch einen Punkt, der mit der Geschwindigkeit zusammenhängt, die in unserem Geschäft sehr wichtig ist. Sehen Sie sich an, wie fxsaber in einem ständigen Kampf mit Metaquotes Millisekunden herauskratzt, die sich in Gewinnpunkte verwandeln. Es liegt auf der Hand, dass ein Bündel von irgendetwas mit irgendetwas langsamer läuft als beide Programme für sich allein.

Was könnte also offensichtlicher sein: .....

 
Aleksey Nikolayev Projekt in der neuen Version von MT5 b3601 getestet. Alles scheint zu funktionieren - Training und Ausgabe in Python, Ausgabe in MT5 (ich habe die dll für onnx aus der Wurzel entfernt und das Terminal neu gestartet).

Wir können auf die Veröffentlichung warten und mit unseren eigenen Modellen versuchen)

Eine Krücke weniger, die Palette der verwendeten Modelle wird stark erweitert (vorher optimierte jeder die Gewichte durch Terminal-Eingaben). Anscheinend sollte es auch auf dem Mac funktionieren, ich werde es bald überprüfen :) manchmal ist es besser, nichts zu tun und darauf zu warten, dass einem das Essen von selbst in den Mund fliegt
 
Aleksey Nikolayev #:

Es gibt eine solche Integration mit R. Es ist nur nicht klar, warum R auf VPS benötigt wird und warum wir Probleme mit der Unterstützung seiner Integration mit MT haben (Versionskontrolle der Sprache und der Pakete, etc.). Mit Python wird es das gleiche sein.

Es gibt auch einen Punkt, der mit der Geschwindigkeit zusammenhängt, die in unserem Geschäft sehr wichtig ist. Sehen Sie sich an, wie fxsaber in einem ständigen Kampf mit Metaquotes Millisekunden herauskratzt, die sich in Gewinnpunkte verwandeln. Es liegt auf der Hand, dass ein Bündel von irgendetwas mit irgendetwas langsamer läuft als beide Programme allein.

Was könnte also offensichtlicher sein: .....

Ich höre ständig diese Legende über die Bedeutung der Geschwindigkeit, aber ich kann nicht verstehen, wo sie wichtig ist.
Unter Berücksichtigung des Spreads und der Börsen-/Brokerkommissionen ist es notwendig, die Zeit, die in zehn Minuten oder Stunden gemessen wird, zu prognostizieren. Was haben 50 Millisekunden Unterschied damit zu tun?
Wie genau hilft Ihnen im wirklichen Leben MQ, das fxsaber um 5 Millisekunden schlägt?