Grupo de usuarios de MetaTrader 5 Python - cómo utilizar Python en Metatrader - página 78
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
Renat, ¿hay alguna actualización sobre el soporte de ONNX?
No.
Todavía no hay demanda ni público preparado.
Se han hecho muchos cambios en el último año, los antiguos guiones ya no funcionan.
Hay un terminal MT5 build 2361, 32bit en Windows 7. El terminal en sí funciona, pero la conexión de los scripts de python ha dejado de funcionar (aunque funcionaba a principios de año).
Obviamente, debido a las actualizaciones del terminal, nada más ha cambiado. Para la prueba, ejecute un sencillo script
Pregunta ¿qué versión del módulo python de MetaTrader5 debo instalar para que vuelva a funcionar? (¿O cómo revertir las actualizaciones del terminal?)
He probado diferentes versiones del módulo - todas tienen errores. Los que son más nuevos dan -10003, 'IPC initialize failed, MetaTrader 5 x64 not found',
Algunos pasan la inicialización, lanzan la terminal, pero cuando solicito algo, devuelven RuntimeError: IPC recv failed in 'py_test.py'.
El más antiguo 5.0.10 tiene otros comandos, pero tampoco funcionan.
La terminal no puede actualizarse a versiones más nuevas, había alguna versión de módulo de python que funcionaba, pero ahora no la encuentro.
La versión de 64 bits del terminal requiere actualizaciones del sistema operativo y un montón de otras actualizaciones, además el sistema operativo de 64 bits come muchas veces más memoria y espacio en disco, mala elección. En general, la política de auto-actualización de cualquier cosa es mala. Si funciona, no lo toques.
En general, se debería tener una tabla en la documentación de qué versiones son compatibles con cuáles, si no se admite la compatibilidad con versiones anteriores y se fuerzan las actualizaciones.
La compatibilidad con el sistema operativo de 32 bits se desactivó hace muchas construcciones. La terminal ha cambiado mucho desde entonces. De ahí la probable solución a tu problema: DEBES usar Windows 10 de 64 bits.
Pero había una compilación compatible del terminal y del módulo, puedes simplemente instalarlos, sin ninguna característica nueva.
Y exigir Windows 10 de 64 bits es demasiado para un programa como el terminal. Es demasiado pesado, codicioso y poco fiable para hacer funcionar cualquier cosa que requiera un funcionamiento a largo plazo. También hay problemas con las actualizaciones automáticas. Es una pena que MT esté atada a este sistema.
Necesitas usar Windows 10 de 64 bits.
¿Qué pasa con Windows 7 x64? ¿Me he perdido otra actualización?
¿Qué pasa con Windows 7 x64? ¿Me he perdido otra noticia?
Me parece que el 7 es mejor que el 10. No hay orientación en los sistemas móviles.
Para mí el 7 es mejor que el 10. No hay orientación a los sistemas móviles.
¡Estoy de acuerdo, trabajé en el 10 durante casi un año y volví a casa feliz con el 7!
No.
Mientras no haya demanda y público preparado.
Lo ejecuto tanto como un script en MetaEditor como en jupyter notebook.
No puedo imprimir las cinco primeras líneas del objeto DataFrame.
Tomo el script de la 'carpeta de datos'\NScripts\Python\copy_rates_from.py' y añado las líneas:
y el método no produce nada:
Por qué el método 'head()' no funcionó, pero esta maniobra:
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Nueva versión de MetaTrader 5 build 2650: Carga de gráficos en segundo plano y mejoras en el MQL5 Profiler
Rashid Umarov, 2020.11.10 14:03
Pruébalo
Resultado
¿funcionó?
Por qué no funcionó el método 'head()', sino esta maniobra:
¿funcionó?
Porque el método head()(https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.head.html) devuelve un objeto, no la salida al registro. Para ver el contenido, es necesario enviar explícitamente el objeto a print()
Esta anaconda, por conveniencia, muestra los objetos como si se hubiera llamado a print().