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

 
Je vais m'en occuper. Merci.
 
Rashid Umarov:

Il ne semble pas y avoir de dossier

"c:\\N{\i1}-users{\i}\N{\i1}-appdata{\i}\N{\i1}local{\r-miniconda{\i}\N{\i1}envs{\i}\r-reticulate{\i}\N{\i1}-lib{\i}- packages{\i}\Numpy-1.19.5.dist-info{\i}

Oui, il n'y a pas de tel fichier //METADATA.

 
Vladimir Perervenko:

Oui, il n'y a pas de tel fichier //METADATA.

Je l'ai corrigé. Mis à jour. Tout fonctionne.

 

quelle est la variable du symbole actuel du graphique (instrument) à utiliser dans les scripts python de Mt5 ?

 
Igor_Gagarin #:

Comment envoyer des données de mt5 à un script python en cours d'exécution et recevoir une réponse ?

Je suppose que je dois utiliser stdin et stdout, et spécifier le processus auquel le transmettre.

Quelqu'un a-t-il un code où cela est mis en œuvre ?

p.s. Ceci : https://www.mql5.com/ru/docs/integration/python_metatrader5 a lu, et utilisé, mais il n'est pas approprié pour cette tâche. Les données doivent également être transférées du testeur de stratégie.

Je l'ai fait par le biais de pkl
 

Que quelqu'un me donne un indice ! Je n'ai pas été en ligne depuis environ trois mois, je suis venu et j'ai mis à jour le terminal. Immédiatement après la mise à jour, la même erreur :

failed to connect at account #25115284, error code: (-2, 'Terminal: Invalid params')

Même le code de l'exemple ne fonctionne pas sur le compte de démonstration qui vient d'être créé ... Mise à jour du paquet vers la version 5.0.35, mise à jour de numpy vers 1.21.2 .... Et python lui-même à 3.10.0. J'ai une nouvelle erreur :

    import MetaTrader5 as mt5
ModuleNotFoundError: No module named 'MetaTrader5'

Cue le bundle où cela fonctionne et en fait comment changer la version de python pour la nouvelle dans la même console maintenant ? le tuyau est lié à l'ancien ... C'est-à-dire que l'ancien n'est pas nécessaire et qu'au lieu de le mettre à jour, j'ai obtenu le nouveau python dans un autre dossier... Je ne suis pas sûr que le nouveau fonctionnera, car je n'ai pas encore pu installer le module sur celui-ci. Je construis tous les modules sur 3.10.0 séparément et je reçois une erreur :

ERROR: Could not find a version that satisfies the requirement MetaTrader5 (from versions: none)
ERROR: No matching distribution found for MetaTrader5


 
sergey087 #:

Que quelqu'un me donne un indice ! Je n'ai pas été en ligne depuis environ trois mois, je suis venu et j'ai mis à jour le terminal. Immédiatement après la mise à jour, la même erreur :

Même le code de l'exemple ne fonctionne pas sur le compte de démonstration qui vient d'être créé ... Mise à jour du paquet vers la version 5.0.35, mise à jour de numpy vers 1.21.2 .... Et python lui-même à 3.10.0. J'ai une nouvelle erreur :

Cue le bundle où cela fonctionne et en fait comment changer la version de python pour la nouvelle dans la même console maintenant ? le tuyau est lié à l'ancien ... C'est-à-dire que l'ancien n'est pas nécessaire et qu'au lieu de le mettre à jour, j'ai obtenu le nouveau python dans un autre dossier... Je ne suis pas sûr que le nouveau fonctionnera, car je n'ai pas encore pu installer le module sur celui-ci. Je construis tous les modules sur 3.10.0 séparément et je reçois une erreur :



Selon la documentation de MetaTrader5 :

Exemple de connexion de Python à MetaTrader 5

  1. Téléchargez la dernière version de Python 3.8 à partir dehttps://www.python.org/downloads/windows.

Peu de gens sont encore amis avec le dixième.

 

Une erreur est apparue ce matin que je n'ai pas pu localiser pendant une demi-journée :

(r-reticulate) C:\Users\User>python
Python 3.7.11 (default, Jul 27 2021, 09:42:29) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\User\AppData\Local\R-MINI~1\envs\r-reticulate\lib\site-packages\pandas\__init__.py", line 144, in <module>
    from pandas.io.api import (
  File "C:\Users\User\AppData\Local\R-MINI~1\envs\r-reticulate\lib\site-packages\pandas\io\api.py", line 8, in <module>
    from pandas.io.excel import ExcelFile, ExcelWriter, read_excel
  File "C:\Users\User\AppData\Local\R-MINI~1\envs\r-reticulate\lib\site-packages\pandas\io\excel\__init__.py", line 1, in <module>
    from pandas.io.excel._base import ExcelFile, ExcelWriter, read_excel
  File "C:\Users\User\AppData\Local\R-MINI~1\envs\r-reticulate\lib\site-packages\pandas\io\excel\_base.py", line 33, in <module>
    from pandas.io.parsers import TextParser
  File "C:\Users\User\AppData\Local\R-MINI~1\envs\r-reticulate\lib\site-packages\pandas\io\parsers\__init__.py", line 1, in <module>
    from pandas.io.parsers.readers import (
  File "C:\Users\User\AppData\Local\R-MINI~1\envs\r-reticulate\lib\site-packages\pandas\io\parsers\readers.py", line 17, in <module>
    from pandas._typing import (
ImportError: cannot import name 'DtypeArg' from 'pandas._typing' (C:\Users\User\AppData\Local\R-MINI~1\envs\r-reticulate\lib\site-packages\pandas\_typing.py)
>>>

Qu'est-ce qu'Exel a à voir avec ça ? J'ai essayé 3.8, 3.9 - rien. Reprise de l'ancienne version de panda - tout fonctionne.

Ce n'est pas un zoo, c'est une jungle Python versionnée.

 
Vladimir Perervenko #:

Selon la documentation de MetaTrader5 :

Exemple de connexion de Python à MetaTrader 5

  1. Téléchargez la dernière version de Python 3.8 à partir dehttps://www.python.org/downloads/windows.

Peu de gens sont encore amis avec le dixième, il semble.

Tout comme sur la version 3.9 ... Le problème est apparu après la mise à jour du terminal, le nouveau graphique et d'autres choses, c'est-à-dire qu'avant, il fonctionnait bien sans problème et les paramètres sont devenus incorrects, mais je ne peux pas dire ce qui s'est passé lorsque j'ai passé deux paramètres séparés par une virgule et ce qu'il voulait de moi - peut-être que c'est un format spécial, une chaîne séparée ou je devrais lui donner ce login et ce mot de passe =(

(500, 3081, '15 Oct 2021')
Failed to connect at account #64847969! Error code: (-2, 'Terminal: Invalid params')
J'ai copié le mot de passe de connexion à cette démo directement à partir de mon code - je me suis connecté à travers le terminal sans aucun problème, aucune erreur. Mais dans Python - refuse catégoriquement de les considérer comme correctes =(
 

Merde, je pense que je dois spécifier manuellement le serveur lors de la connexion maintenant aussi, quelque chose a dû changer et le serveur par défaut n'est pas du tout mon seul serveur.... Voici comment cela fonctionne :

authorized = mt5.login(account, server = "XMGlobal-MT5 2", password = "646564")
Raison: