MetaTrader 5 Python User Group - wie man Python in Metatrader verwendet - Seite 34

 
Renat Fatkhullin:

Hat jemand bereits die Python-Integration in MetaEditor in den Builds 2302 und höher (besser Beta 2304) verwendet?


Die erste Version der Integration in den Editor funktioniert jetzt, und die nächste wird es sein:

  • Ausführung von Skripten (keine Experten) und Diensten als Python *.py Programme
  • eine komplett neu geschriebene metatrader5 python bibliothek mit zugriff auf charts, symbole, handelsmöglichkeiten, handelsverlauf
  • im Editor markieren

Das Ausführen von *.py und *.ipynb Programmen im Editor funktioniert bereits.

Bitte probieren Sie es aus.


Nachdem das maschinelle Lernen über Python-Skripte abgeschlossen ist, werden wir dazu übergehen, WinML mit ONNX nativ in MQL5 selbst zu implementieren.

Ich habe mir angeschaut, was WinML ist, eine ziemlich interessante Sache, ich würde das gerne alles verstehen ))
Verstehe ich richtig, dass nach der Implementierung von WinML mit ONNX, maschinelles Lernen in mql5 out of the box MetaTrader5 verfügbar sein wird?
Und die trainierten Modelle in WinML, können direkt in MetaTrader5 Programmen verwendet werden?

 
Roman:

Ich habe nachgeschaut, was WinML ist, eine ziemlich interessante Sache, ich würde das gerne alles verstehen ))
Verstehe ich richtig, dass nach der Implementierung von WinML mit ONNX, maschinelles Lernen in mql5 out of the box MetaTrader5 verfügbar sein wird?
Und die trainierten Modelle in WinML, können direkt in MetaTrader5 Programmen verwendet werden?

Ja, das ist richtig.

Es wird möglich sein, sehr komplexe Systeme zu entwickeln und sie auf dem Markt zu verkaufen. Und theoretisch sollten sie schneller arbeiten.

Die Forschung kann in jedem beliebigen System durchgeführt werden, die trainierten Modelle können dann in das ONNX-Format exportiert und in nativem WinML ausgeführt werden.

 
Renat Fatkhullin:

Ja, das ist richtig.

Man könnte sehr ausgeklügelte Systeme bauen und sie auf dem Markt verkaufen. Und theoretisch sollten sie auch schneller funktionieren.

Die Forschung kann in jedem beliebigen System durchgeführt werden. Die trainierten Modelle können dann in das ONNX-Format exportiert und nativ in WinML ausgeführt werden.

In diesem Zusammenhang eine weitere Frage.
Wie planen Sie, die trainierten Modelle in den mql5-Programmcode zu integrieren?
Wird es eine direkte Integration des trainierten Codes in den mql-Code sein?
Oder wird jedes Modell in einer separaten Datei gespeichert, und diese Datei wird wie die Inklusion verbunden?

 

Zusätzlich zur Python-Integration arbeiten wir an nativer Unterstützung für Big-Data-Funktionen sowohl im Code als auch in MetaEditor:

  1. SQLite Browser in MetaEditor ist bereits in Betas verfügbar



  2. Tabellarische Anzeige von CSV-Dateien, einschließlich zip/gz-Paketen

    Die Datensätze werden in der Regel in CSV-Formaten verteilt, einschließlich der in gz/zip gepackten. Wir geben Ihnen die Möglichkeit, große Dateien in einer tabellarischen Ansicht zu betrachten (und wahrscheinlich auch zu bearbeiten), was in anderen Editoren fast nicht möglich ist.

  3. DatabaseXXX Erweiterungsfunktionen wie DatabasePrint, DatabaseExport, DatabaseImport

    Mit diesen Funktionen können Sie CSV-Dateien leicht in SQLite-Datenbanken konvertieren, exportieren oder drucken.

    Importieren Sie einfach einmal eine CSV-Textdatenbank in SQLite und nutzen Sie dann die unglaubliche Geschwindigkeit des Datenzugriffs und -abrufs (auf C++-Niveau). Unsere SQLite-Implementierung ist im Vergleich zu C++-Implementierungen praktisch verlustfrei.

  4. Wir ermöglichen das Hinzufügen von SQLite-Dateien als Ressourcen in EX5-Programme

    Die Ressourcen werden automatisch komprimiert, so dass Sie sowohl Programme mit moderater Größe verteilen als auch im Clusternetzwerk verwenden können.

 
Renat Fatkhullin:

Ja, das ist richtig.

Man könnte sehr komplexe Systeme entwickeln und sie auf dem Markt verkaufen. Und sie sollten theoretisch schneller funktionieren.

Die Forschung kann in jedem beliebigen System durchgeführt werden, die trainierten Modelle können dann in das ONNX-Format exportiert und in nativem WinML ausgeführt werden.

Nein. Alglib, so wie ich es verstehe, planen Sie nicht, auf die neuesten Versionen zu aktualisieren?

 
Roman:

In diesem Zusammenhang eine weitere Frage.
Wie wollen Sie die trainierten Modelle in den Programmcode von mql5 integrieren?
Wird es eine direkte Integration des trainierten Codes in den mql-Code sein?
Oder wird jedes Modell in einer separaten Datei gespeichert, und diese Datei wird wie die Inklusion verbunden?

ONNX + WinML: https://docs.microsoft.com/en-us/windows/ai/

Lesen Sie selbständig zu diesem Thema. Es ist riesig und kann nicht mit den Fingern im Forum erklärt werden.

Windows AI
Windows AI
  • mattwojo
  • docs.microsoft.com
Transform your Windows application with the power of AI.
 
Maxim Dmitrievsky:

Nein. Soweit ich weiß, hat Alglib keine Pläne, auf die neuesten Versionen zu aktualisieren?

Ich habe eine Idee, die neuen Funktionen des MQL5-Compilers zu aktualisieren, aber ich bin noch nicht dazu gekommen, es zu tun.
 
Renat Fatkhullin:

Renat, ich entschuldige mich für die themenfremde Frage.
Könnten Sie mir bitte sagen, wie man Bibliothek mit .lib oder .a-Erweiterung in ME-Projekt verknüpfen?
Wenn die Projekte diese Verknüpfung nicht unterstützen, wird diese Funktion dann hinzugefügt?
Gegenwärtig muss ich eine DLL aus statischen Bibliotheken erstellen und sie dann in das Projekt einbinden.
Es ist nicht logisch und bequem, eine DLL zu verknüpfen, wenn es Dateien mit der Endung .lib oder .a

gibt.

 

Urteilen Sie nicht zu hart, vielleicht gibt es da draußen Python-Liebhaber, die versuchen, Python in alles und jedes zu integrieren.

Python ist eine C++-Bibliothek, ist es nicht besser, MQL SB(Standardbibliothek) zu machen?

MQ ging ursprünglich in diese Richtung, gab dann aber unter dem Ansturm von Ruto, RWods und Algibods auf.)

Ich denke, das ganze Problem ist, dass MQ Angst hat, über den Sandkasten hinauszugehen, wie R, Py, Alglib ist nicht mehr unser Problem.

Sie fügten einen Link zu anderen "Programmiersprachen" hinzu und ließen die anderen Yaps machen, was sie wollten.

Erinnert mich an einen Strauß )))

 

Das Problem ist die geringe Wahrnehmung des Themas in der breiten Masse und das fehlende Verständnis für die Entwicklung des Algotradings:

  • Maschinelles Lernen ist der nächste technologische Schritt im Algotrading
  • Python ist keine C++-Bibliothek, sondern eine erfolgreiche Plattform für maschinelles Lernen
  • Die Integration von Python in Editor und Terminal gibt Ihnen die Möglichkeit, sofort handelsübliche und völlig unverträgliche Bibliotheken zur Entscheidungsfindung zu verwenden
  • Integrationen sind die Norm, wir haben Native DLL, .NET DLL, OpenCL, DirectX, SQLite zusätzlich zu einem großen Satz von nativen Funktionen und Standardbibliothek
  • Metatrader 5 und MQL5 entwickeln sich schnell weiter, um maschinelles Lernen zu unterstützen: zunächst über Python, die Terminal-API-Integrationsbibliothek und Funktionen für die Arbeit mit massiven Daten, und dann über die Standardformate WinML und das offene ONNX-Modell.

Strauß ist genau die Art von Person

  • versuchen, über die Komplexität von MQL5 und die Vorteile von MT4 zu argumentieren
  • Nicht entwickeln, ihre Energie sparen
  • Der Versuch, den Fortschritt aufzuhalten


Zum besseren Verständnis der Algotrading-Industrie:

  1. Denken Sie eher in großen Dimensionen mit zig Millionen von Verbrauchern als an persönliche/private Wahrnehmungen oder Möglichkeiten
  2. Auswertung von 5-10-Jahres-Zeiträumen und Entwicklungstrends, öffentliche Informationen sind ausreichend.
  3. die Produkte (Roboter, Indikatoren, ...) werden hauptsächlich von mehr oder weniger professionellen Programmierern entwickelt, die immer mehr Möglichkeiten benötigen, einschließlich des Vertriebs
  4. Massenanwender nutzen die Ergebnisse professioneller Entwickler, ohne die Komplexität der angewandten Technologien zu verstehen.
  5. es gibt eine ausreichende Schicht von nicht öffentlichen, aber sehr potenten Entwicklern und Verbrauchern in Form von Hedge-Fonds
  6. Entweder man nimmt den Fortschritt an oder man bleibt außen vor - der Zug fährt ohne Unterbrechung.
Wenn man im Rahmen von "es gibt nur mich und meine Interessen, warum sollte ich über das Allgemeine und die Zukunft nachdenken" bleibt, verliert man natürlich die Fähigkeit, seinen Standpunkt in großem Maßstab zu verteidigen.