Grupo de usuarios de MetaTrader 5 Python - cómo utilizar Python en Metatrader - página 87

 
Lo investigaré. Gracias
 
Rashid Umarov:

No parece haber una carpeta

"c:\users\\user\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages\numpy-1.19.5.dist-info\METADATA

Sí, no existe tal archivo //METADATA.

 
Vladimir Perervenko:

Sí, no existe tal archivo //METADATA.

Lo he arreglado. Actualizado. Todo funciona.

 

¿cuál es la variable del símbolo del gráfico actual (instrumento) para su uso en scripts de python en Mt5?

 
Igor_Gagarin #:

¿Cómo puedo enviar datos desde mt5 a un script de python en ejecución y recibir una respuesta?

Supongo que tengo que usar stdin y stdout, y especificar el proceso al que hay que pasarlo.

¿Alguien tiene algún código donde se implemente esto?

p.s. Esto: https://www.mql5.com/ru/docs/integration/python_metatrader5 ha leído, y utilizado, pero no es adecuado para esta tarea. También es necesario transferir los datos del comprobador de estrategias.

Lo hice a través de pkl
 

¡Que alguien me dé una pista! Hace unos tres meses que no me conecto, entré y actualicé el terminal. Inmediatamente después de la actualización el mismo error:

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

Ni siquiera el código del ejemplo funciona en la cuenta demo recién creada ... Actualizado el paquete a la versión 5.0.35, actualizado numpy a 1.21.2 .... Y el propio python a 3.10.0. Tengo un nuevo error:

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

¿Indicar el paquete donde esto funciona y en realidad como cambiaría la versión de python a la nueva en la misma consola ahora? pip atado a la antigua ... Es decir, el viejo es un poco innecesario y en lugar de actualizar tengo el nuevo python en una carpeta diferente ... No estoy seguro de si el nuevo funcionará en absoluto, ya que no he podido instalar el módulo en él todavía, ya que estoy construyendo todos los módulos en 3.10.0 por separado y obtener un error:

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


 
sergey087 #:

¡Que alguien me dé una pista! Hace unos tres meses que no me conecto, entré y actualicé el terminal. Inmediatamente después de la actualización el mismo error:

Ni siquiera el código del ejemplo funciona en la cuenta demo recién creada ... Actualizado el paquete a la versión 5.0.35, actualizado numpy a 1.21.2 .... Y el propio python a 3.10.0. Tengo un nuevo error:

¿Indicar el paquete donde esto funciona y en realidad como cambiaría la versión de python a la nueva en la misma consola ahora? pip atado a la antigua ... Es decir, el viejo es un poco innecesario y en lugar de actualizar tengo el nuevo python en una carpeta diferente ... No estoy seguro de si el nuevo funcionará en absoluto, ya que no he podido instalar el módulo en él todavía, ya que estoy construyendo todos los módulos en 3.10.0 por separado y obtener un error:



Según la documentación de MetaTrader5 :

Ejemplo de conexión de Python a MetaTrader 5

  1. Descargue la última versión de Python 3.8 dehttps://www.python.org/downloads/windows

Todavía no hay mucha gente que sea amiga del décimo.

 

Esta mañana ha aparecido un error que no he podido localizar durante medio día:

(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é tiene que ver Exel con esto? Probé con 3.8, 3.9 - nada. He vuelto a la versión antigua de panda - todo funciona.

No es un zoo, es una jungla de Python versionada.

 
Vladimir Perervenko #:

Según la documentación de MetaTrader5 :

Ejemplo de conexión de Python a MetaTrader 5

  1. Descargue la última versión de Python 3.8 dehttps://www.python.org/downloads/windows

Parece que poca gente es amiga del décimo.

Todo como en la versión 3.9 ... El problema fue después de la actualización de la terminal, el nuevo gráfico y otras cosas, es decir, funcionaba bien antes y los parámetros se convirtieron en incorrectos, pero no puedo decir lo que salió mal cuando pasé dos parámetros separados por comas y lo que quería de mí - puede ser que es un formato especial, cadena separada o debo alimentar este nombre de usuario y contraseña a él =(

(500, 3081, '15 Oct 2021')
Failed to connect at account #64847969! Error code: (-2, 'Terminal: Invalid params')
Copié la contraseña de acceso a esta demo directamente desde mi código - inicié la sesión a través de la terminal sin problemas, sin errores. Pero en Python - se niega rotundamente a considerarlos correctos =(
 

Mierda, creo que ahora también tengo que especificar manualmente el servidor al conectarme, algo debe haber cambiado y el servidor por defecto no es mi único servidor... Así es como funciona:

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