MetaTrader 5 Python User Group - Comment utiliser Python dans Metatrader - page 34

 
Renat Fatkhullin:

Quelqu'un a-t-il déjà utilisé l'intégration de Python dans MetaEditor dans les builds 2302 et plus (meilleure beta 2304) ?


La première version de l'intégration dans l'éditeur fonctionne maintenant, et la prochaine le sera :

  • exécuter des scripts (non experts) et des services en tant que programmes Python *.py
  • une bibliothèque python metatrader5 entièrement réécrite avec accès aux graphiques, aux symboles, à la possibilité de trader, à l'historique des transactions.
  • surligner dans l'éditeur

L'exécution des programmes *.py et *.ipynb dans l'éditeur fonctionne déjà.

Essayez-le.


Une fois l'apprentissage automatique via des scripts python terminé, nous passerons à la mise en œuvre de WinML avec ONNX de manière native dans MQL5 lui-même.

J'ai regardé ce qu'est WinML, c'est assez intéressant, j'aimerais bien comprendre tout ça ;))
Est-ce que je comprends bien qu'après avoir implémenté WinML avec ONNX, l'apprentissage automatique sera disponible dans mql5 out of the box MetaTrader5 ?
Et les modèles formés en WinML peuvent être utilisés directement dans les programmes MetaTrader5 ?

 
Roman:

J'ai regardé ce qu'est WinML, c'est assez intéressant, j'aimerais bien comprendre tout ça ;))
Est-ce que je comprends bien qu'après l'implémentation de WinML avec ONNX, l'apprentissage automatique sera disponible dans mql5 out of the box MetaTrader5 ?
Et les modèles formés en WinML peuvent être utilisés directement dans les programmes MetaTrader5 ?

Oui, c'est vrai.

Il sera possible de créer des systèmes très complexes et de les vendre sur le marché. Et en théorie, ils devraient travailler plus rapidement.

La recherche peut être effectuée dans n'importe quel système, puis les modèles formés peuvent être exportés au format ONNX et exécutés en WinML natif.

 
Renat Fatkhullin:

Oui, c'est vrai.

Vous pourriez construire des systèmes très sophistiqués et les vendre sur le marché. Et, en théorie, ils devraient travailler plus rapidement.

La recherche peut être effectuée dans n'importe quel système, puis les modèles formés peuvent être exportés au format ONNX et exécutés en mode natif dans WinML.

Dans le même ordre d'idées, une autre question.
Comment envisagez-vous d'intégrer les modèles formés dans le code du programme mql5 ?
S'agira-t-il d'une intégration directe du code formé dans le code mql ?
Ou bien chaque modèle sera enregistré dans un fichier séparé, et ce fichier sera connecté comme une inclusion ?

 

En plus de l'intégration de Python, nous travaillons sur le support natif des fonctions big data à la fois dans le code et dans MetaEditor :

  1. Le navigateur SQLite dans MetaEditor est déjà disponible en version bêta.



  2. Visualisation tabulaire des fichiers CSV, y compris les paquets zip/gz

    Les ensembles de données sont généralement distribués dans des formats CSV, y compris ceux emballés dans gz/zip. Nous vous donnons la possibilité d'afficher (et d'éditer probablement) d'énormes fichiers en vue tabulaire, ce qui est pratiquement impossible dans d'autres éditeurs.

  3. Fonctions d'extension de DatabaseXXX telles que DatabasePrint, DatabaseExport, DatabaseImport.

    Grâce à ces fonctions, vous pouvez facilement convertir des fichiers CSV en bases de données SQLite, les exporter ou les imprimer.

    Il suffit d'importer une fois une base de données texte CSV dans SQLite, puis d'utiliser la vitesse impressionnante (au niveau C++) d'accès et de récupération des données. Notre implémentation SQLite est pratiquement sans perte par rapport aux implémentations C++.

  4. Nous permettons d'ajouter des fichiers SQLite comme ressources dans les programmes EX5.

    Les ressources sont automatiquement compressées, ce qui vous permet à la fois de distribuer des programmes de taille modérée et de les utiliser dans le réseau du cluster.

 
Renat Fatkhullin:

Oui, c'est ça.

Vous pourriez créer des systèmes très complexes et les vendre sur le marché. Et ils devraient fonctionner plus rapidement en théorie.

La recherche peut être effectuée dans n'importe quel système, puis exporter les modèles formés au format ONNX et les exécuter en WinML natif.

non. Alglib, si je comprends bien, vous ne prévoyez pas de mettre à jour les dernières versions ?

 
Roman:

Dans le même ordre d'idées, une autre question.
Comment envisagez-vous d'intégrer les modèles formés dans le code du programme mql5 ?
S'agira-t-il d'une intégration directe du code formé dans le code mql ?
Ou bien chaque modèle sera enregistré dans un fichier séparé, et ce fichier sera connecté comme une inclusion ?

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

Lisez par vous-même sur ce sujet. C'est énorme et ne peut être expliqué sur les doigts du forum.

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

non. Alglib, si j'ai bien compris, n'a pas prévu de mettre à jour les dernières versions ?

J'ai l'idée de mettre à jour les nouvelles fonctionnalités du compilateur MQL5, mais je ne l'ai pas encore fait.
 
Renat Fatkhullin:

Renat, je m'excuse pour la question hors sujet.
Pouvez-vous me dire comment lier une bibliothèque avec l'extension .lib ou .a dans un projet ME ?
Si les projets ne prennent pas en charge cette liaison, cette fonctionnalité sera-t-elle ajoutée ?
Actuellement, je dois créer une dll à partir de bibliothèques statiques, et seulement ensuite les lier dans le projet,
. Il n'est pas logique et pratique de lier à une dll, quand il y a des fichiers .lib ou .a

.

 

Ne jugez pas sévèrement, il y a peut-être des amoureux de Python qui essaient de l'intégrer dans tout et n'importe quoi.

Python est une bibliothèque C++, n'est-il pas préférable de faire de MQL une SB(bibliothèque standard) ?

Le MQ allait initialement dans cette direction, mais a ensuite abandonné sous l'assaut de Ruto, RWods et Algibods).

À mon avis, le problème est que MQ a peur d'aller au-delà du "bac à sable", comme R, Py, Alglib n'est plus notre problème.

Ils ont ajouté un lien vers d'autres "langages de programmation" et laissé les autres Yaps faire ce qu'ils veulent.

Cela me rappelle une autruche ;)))

 

Le problème est l'étroitesse de la perception du sujet parmi les masses et un manque de compréhension des tendances dans le développement de l'algotrading :

  • L'apprentissage automatique est la prochaine étape technologique de l'algotradition.
  • Python n'est pas une bibliothèque C++, mais une plateforme d'apprentissage automatique gagnante
  • L'intégration de Python dans l'éditeur et le terminal vous donne la possibilité d'utiliser instantanément des bibliothèques décisionnelles prêtes à l'emploi et totalement intolérables.
  • Les intégrations sont la norme, nous disposons de DLL natives, de DLL .NET, d'OpenCL, de DirectX, de SQLite, en plus d'un large ensemble de fonctions natives et de bibliothèques standard.
  • Metatrader 5 et MQL5 évoluent rapidement pour prendre en charge l'apprentissage automatique : d'abord via Python, la bibliothèque d'intégration API du terminal et les fonctions permettant de travailler avec des données massives, puis vers les formats de modèles standard WinML et ouverts ONNX.

L'autruche est exactement le genre de personne

  • essayer d'argumenter sur la complexité de MQL5 et les avantages de MT4
  • Ne pas se développer, économiser leur énergie
  • Essayer d'arrêter le progrès


Pour mieux comprendre le secteur de l'algotradition :

  1. Pensez à grande échelle pour des dizaines de millions de consommateurs, et non à des perceptions ou des opportunités personnelles/privées.
  2. Évaluer les périodes de 5 à 10 ans et les tendances de développement, l'information publique est suffisante.
  3. les produits (robots, indicateurs, ...) sont principalement développés par des programmeurs plus ou moins professionnels, qui ont besoin de plus en plus de possibilités, y compris la distribution.
  4. les utilisateurs de masse utilisent les résultats des développeurs professionnels, souvent sans comprendre la complexité des technologies appliquées.
  5. il existe une couche suffisante de développeurs et de consommateurs non publics, mais super capacitifs, sous la forme de fonds spéculatifs.
  6. Soit vous adhérez au progrès, soit vous êtes laissé de côté - le train roule sans arrêt.
Si l'on reste dans le cadre de l'évaluation "il n'y a que moi et mes intérêts, pourquoi devrais-je penser au général et à l'avenir", on perd naturellement la capacité de défendre sa position à grande échelle.