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

 
Alexey Volchanskiy:

J'étudie également Python, mais seulement dans le cadre de la maîtrise des réseaux neuronaux, de l'apprentissage automatique et d'autres trucs et paquets fantaisistes. Je ne pense pas qu'il soit possible de travailler avec ce super-cerveau, il est 200 fois plus lent que MQL5, j'ai cité les résultats de quelques tests simples.

Je n'ai toujours pas compris, est-il possible de connecter des modules Python et d'appeler des fonctions depuis MQL5 ? Ou la seule connexion est Python->MQL5 ?

Volchansky passe-t-il au MO ?

Je suis intéressé

Je vois de plus en plus de bonnes personnes aller vers le MO, le sabreur tripote les pips, il est difficile de se décider.
 

Un bon tutoriel sur la façon de travailler avec les données et un peu de MO si vous avez oublié quelque chose que vous ne saviez pas. Y compris un conseil sur la façon d'arrêter de penser que le python est un frein.

https://jakevdp.github.io/PythonDataScienceHandbook/

 
Thechapu :
hola, mi trabajo todavía es con Python y MT4
https://youtu.be/rLV_NiasmpA
 
Alexey Volchanskiy:

Il y avait un test simple sans bibliothèques, juste le calcul d'un nombre PI dans une boucle primitive. Hélas, je n'ai pas trouvé ma branche récente, en voici une ancienne, sans Python.

Et j'ai trouvé mon code en Python.

Le paquet Numba à la rescousse (https://numba.pydata.org/) - fonctionne 10 fois plus vite que NumPy, qui est 2 fois plus rapide que Python. Bon pour la programmation fonctionnelle et les goulots d'étranglement.

Numba: A High Performance Python Compiler
  • numba.pydata.org
Numba translates Python functions to optimized machine code at runtime using the industry-standard LLVM compiler library. Numba-compiled numerical algorithms in Python can approach the speeds of C or FORTRAN. You don't need to replace the...
 
Renat Fatkhullin:

Nous sommes en train de préparer un module MetaTrader 5 pour Python, similaire à R.

Comme pour le paquet pour R, nous testons actuellement des fonctions simples pour extraire des données d'une copie courante du terminal.

Comment vous pouvez tester l'opération :

  1. Installer Python 3.7.2 x64 à partir de https://www.python.org/downloads/windows/ avec le chemin %PATH% inclus

  2. Obtenez le paquet matplotlib pour le support des graphiques.
  3. Exécuter l'installation du paquet MetaTrader5
  4. Vous devez avoir installé MetaTrader 5 build 2007 ou plus sur votre PC.

  5. Exécuter le script de test
  6. MetaTrader 5 fonctionnera en arrière-plan, les données seront extraites, affichées dans la console et un graphique sera dessiné.



Code de test :


Plus tard, nous ajouterons d'autres fonctionnalités et placerons le paquet dans le dépôt public de paquets Python, afin qu'il puisse être installé immédiatement.

======================

Dans le bloc-notes, Jupyter donne le résultat suivant

---------------------------------------------------------------------------RuntimeError Traceback (most recent call last) <ipython-input-23-b7fba1d0ad5a> in <module>() 8 print( MT5Version()) 9 ---> 10 ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13),10000, MT5_COPY_TICKS_ALL) 11 ticks2 = MT5CopyTicksRange("AUDUSD", datetime(2019,1,27,13), datetime(2019,1,28,13,1), MT5_COPY_COPYICKS_ALL) 12 RuntimeError: IPC call failed

 
Maxim Dmitrievsky:

Un exemple de dessin rapide d'une matrice de corrélation :


Tombe sur :

ticks1= MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13),10000, MT5_COPY_TICKS_ALL)

...

RuntimeError: échec de l'appel IPC


Le chemin vers le terminal passe par r (raw). Le terminal lui-même est détecté, bien sûr.

 
Maxim Dmitrievsky:

Un exemple de dessin rapide d'une matrice de corrélation :


Ne fonctionne PAS en général, et en Python 3.8 en particulier !
 
capissimo:
NE FONCTIONNE PAS en général, et dans Python 3.8 en particulier !

vous faites quelque chose de mal

 
Maxim Dmitrievsky:

vous faites quelque chose de mal

J'ai installé votre paquetage et le shell de commande et le bloc-notes Jupyter obtiennent la même erreur :RuntimeError: IPC call failed.

2. J'ai déchiré Python 3.7.2, installé Python 3.8, mais même histoire - il ne s'installe pas dans Python 3.8

3. J'ai installé Anaconda Python, j'ai créé un environnement virtuel pour Python 3.7.2 et j'ai essayé d'utiliser votre paquet et d'exécuter un exemple - même vue, mais sur le côté :RuntimeError: IPC call failed