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

Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Como mínimo, debe haber una documentación detallada que tenga en cuenta todos los casos. Universum no es tan grande - sólo 3 ramas de sistemas operativos - Win/Linux/MacOS.
Instalé las herramientas de compilación de Microsoft desde https://visualstudio.microsoft.com/ru/downloads/?rr=https%3A%2F%2Fwww.google.com%2F. El paquete se instala ahora en Python 3.8. Este problema está resuelto.
C:|Users\labor>pip install MetaTrader5
Recogida de MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Instalación de los paquetes recopilados: MetaTrader5
Ejecutando setup.py install para MetaTrader5 ... hecho
Instalado con éxito MetaTrader5-5.0.6
¡PERO! RuntimeError: La llamada IPC ha fallado:
C:\Users\labor>C:\labor\lAnaconda3\envs\metatrader5\python.exe C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py
[2, 'Exness-MT5Real', '0000000'] # el código se pone a cero en la impresión
[500, 2174, '11 oct 2019']
Traceback (última llamada más reciente):
File "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", line 10, in <module>.
ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13), 10000, MT5_COPY_TICKS_ALL)
RuntimeError: Fallo en la llamada IPC
El mismo error ocurre cuando no hay tal símbolo en la cuenta en mt5. Por ejemplo, EURPLN no está en el terminal
El terminal funciona como debería.
Por favor, conéctese al servidor de MetaQuotes-Demo, seleccione Ayuda -> Comprobar actualizaciones del escritorio -> Última versión beta, y espere la actualización. La construcción debe ser anterior o igual a 2174. Intente ejecutar su script en este servidor e informe del resultado.
PS. Además, asegúrese de que tiene una cuenta abierta en la terminal, MT5TerminalInfo() devuelve valores razonables y MT5WaitForTerminal() devuelve True.
El mismo error ocurre cuando no hay tal símbolo en la cuenta en mt5. Por ejemplo, EURPLN no está en el terminal
Por favor, conéctese al servidor de MetaQuotes-Demo, seleccione Ayuda -> Comprobar actualizaciones del escritorio -> Última versión beta, y espere la actualización. La construcción debe ser anterior o igual a 2174. Intente ejecutar su script en este servidor e informe del resultado.
PS. Además, asegúrese de que tiene una cuenta abierta en la terminal, MT5TerminalInfo() devuelve valores razonables y MT5WaitForTerminal() devuelve True.
La cuenta está abierta, el terminal funciona, y el paquete me devuelve la contraseña, etc. de la misma. ([2, 'Exness-MT5Real', '0000000'] , nota: la contraseña está bloqueada), pero se produce un error en la fase de extracción de datos.
La misma mierda en Anaconda Python (bajó Python 3.8 e instaló una distribución fresca de Anaconda que utiliza una de las versiones de Python 3.7 y canalizó su MetaTrader5 en ella):
File "C:\sers\labor\\cAnaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/labor/.spyder-py3/temp.py", line 17, in <module>
eurusd_rates = MT5CopyRatesFrom("EURUSD", MT5_TIMEFRAME_M1, datetime(2019,4,5,15), 1000)
RuntimeError: Fallo en la llamada IPC
Como puede ver, tropieza conMT5CopyRatesFrom durante alguna operación de archivo.Lanzamiento de una versión actualizada de MetaTrader 5.0.7 para Python.
Se puede actualizar de la siguiente manera:
Lanzamiento de una versión actualizada de MetaTrader 5.0.7 para Python.
Puedes actualizarlo así:
¿algún cambio?
¿algún cambio?
Cambiar los resultados de verdadero/falso por códigos numéricos detallados.
Mejora de los modos de espera de la disponibilidad de datos del terminal.Por favor, conéctese al servidor de MetaQuotes-Demo, seleccione Ayuda -> Comprobar actualizaciones del escritorio -> Última versión beta, y espere la actualización. La construcción debe ser anterior o igual a 2174. Intente ejecutar su script en este servidor e informe del resultado.
PS. Además, asegúrese de que tiene una cuenta abierta en la terminal, MT5TerminalInfo() devuelve valores razonables y MT5WaitForTerminal() devuelve True.
Mi terminal tiene la build 2190; la terminal tiene la misma herramienta solicitada en el script. El script me devuelve el nombre del broker y el código de operación:[2, 'Exness-MT5Real', '*******'].
Después de que se produzca el error de actualización del paquete en la misma línea de código, el mensaje de error ha cambiado: RuntimeError: Terminal: Call failed
(base) C:\N-Users\labor>python.exe C:/Users/labor/Downloads/MetaTrader5-Python/mt5test2.py
[2, 'Exness-MT5Real', '0000000']
[500, 2190, '18 oct 2019]
Traceback (última llamada más reciente):
File "C:/Users/labor/Downloads/MetaTrader5-Python/mt5test2.py", line 17, in <module>.
eurusd_rates = MT5CopyRatesFrom("EURUSD", MT5_TIMEFRAME_M1, datetime(2019,4,5,15), 1000)
RuntimeError: Terminal: Call failed
Mi terminal tiene la build 2190; el terminal tiene el mismo instrumento solicitado en el script. El script me devuelve el nombre del broker y el código de operación: [2, 'Exness-MT5Real', '*******'].
Actualice al paquete python de MetaTrader 5.0.7 y adjunte los resultados, por favor.
Actualice al paquete python de MetaTrader 5.0.7 y adjunte los resultados, por favor.
1) Utilizo Anaconda Python 3.7.4 y trabajo en un entorno de base virtual. Por cierto, ¿para qué versión de Python es el paquete MetaTrader 5.0.7?
2) He vuelto a instalar Python 3.8 a petición tuya, he actualizado el pip y ya en la fase de instalación de matplotlib me sale esto (ver todo el PROTOCOLO en la grapa):
Microsoft Windows [Versión 10.0.17134.1069]. Mierda...
(c) Microsoft Corporation, 2018. Todos los derechos reservados.
C:|Users\labor>pip install matplotlib
Recopilación de matplotlib
Using cached https://files.pythonhosted.org/packages/12/d1/7b12cd79c791348cb0c78ce6e7d16bd72992f13c9f1e8e43d2725a6d8adf/matplotlib-3.1.1.tar.gz
Requisito ya cumplido: cycler>=0.10 en c:\Npython38\lib\site-packages (from matplotlib) (0.10.0)
Requisito ya satisfecho: kiwisolver>=1.0.1 en c:\python38\lib\site-packages (from matplotlib) (1.1.0)
Requisito ya cumplido: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in c:\python38\lib\site-packages (from matplotlib) (2.4.2)
Requisito ya satisfecho: python-dateutil>=2.1 en c:\python38\lib\site-packages (from matplotlib) (2.8.0)
Requisito ya satisfecho: numpy>=1.11 en c:\python38\lib\site-packages (from matplotlib) (1.17.3)
Requisito ya satisfecho: seis en c:\python38\lib\site-packages (de cycler>=0.10->matplotlib) (1.12.0)
Requisito ya satisfecho: setuptools en c:\python38\lib\site-packages (de kiwisolver>=1.0.1->matplotlib) (41.2.0)
Instalación de los paquetes recopilados: matplotlib
Ejecutando setup.py install para matplotlib ... error
ERROR: El comando ha dado error con el estado de salida 1:
comando: 'c:\python38\python.exe' -u -c'import sys, setuptools, tokenize; sys.argv[0] = '"'''C:\NUsers\Nlabor\NAppData\NLocal\NTemp\pip-install-unwrm6r5\Nmatplotlib\\\Nsetup.py'''; __file__=''''C:\NUsers\Nlabor\NAppData\NLocal\NTemp\pip-install-unwrm6r5\Nmatplotlib\Nsetup.py'';f=getattr(tokenize, ''''open'', open)(__file__);code=f.read().replace(''''\r\n'', '''''\n'');f.close();exec(compile(code, __file__, '''exec''')' install --record 'C:\sers\labor\AppData\Local\Temp\pip-record-ly12rvmr\install-record.txt' --single-version-externally-managed --compile
............. continúa en el archivo
3) Instalado matplotlib usando http://www.lfd.uci.edu/~gohlke/pythonlibs/, instalado pytz y su paquete como estándar. Tengo el mismo error: RuntimeError: Terminal: Call failed. Véase la grapa 2.