- Instalar Python y el paquete MetaTrader5
- Visión general de las funciones del paquete MetaTrader5 para Python
- Conectar un script Python al terminal y la cuenta
- Comprobación de errores: last_error
- Obtener información sobre una cuenta de trading
- Obtener información sobre el terminal
- Obtener información sobre instrumentos financieros
- Suscripción a los cambios en el libro de órdenes
- Leer cotizaciones
- Leer historial de ticks
- Calcular requisitos de margen y evaluar beneficios
- Comprobación y envío de una orden de trading
- Obtener el número y la lista de órdenes activas
- Obtener el número y la lista de posiciones vacantes
- Leer el historial de órdenes y transacciones
Compatibilidad nativa con python
El éxito potencial del trading automatizado depende en gran medida de la amplitud de la tecnología disponible para poner en práctica la idea. Como ya hemos visto en las secciones anteriores, MQL5 permite ir más allá de las tareas de trading estrictamente aplicadas y ofrece oportunidades de integración con servicios externos (por ejemplo, basados en funciones de red y símbolos personalizados), procesamiento y almacenamiento de datos mediante bases de datos relacionales, así como conexión de bibliotecas arbitrarias.
El último punto le permite garantizar la interacción con cualquier software que proporcione API en formato DLL. Algunos desarrolladores utilizan este método para conectarse a SGBD industriales distribuidos (en lugar del SQLite integrado), paquetes matemáticos como R o MATLAB y otros lenguajes de programación.
Python se ha convertido en uno de los lenguajes de programación más populares. Su característica es un núcleo compacto, que se complementa con paquetes que son colecciones de scripts listos para construir soluciones de aplicación. Los operadores de trading se benefician de la amplia selección y funcionalidad de los paquetes para el análisis fundamental del mercado (cálculos estadísticos, visualización de datos) y la simulación de hipótesis de trading, incluido el aprendizaje automático.
Siguiendo esta tendencia, MQ introdujo la compatibilidad con Python en MQL5 en 2019. Esta integración más ajustada y «lista para usar» permite transferir completamente los algoritmos de trading y de análisis técnico al entorno Python.
Desde un punto de vista técnico, la integración se consigue instalando el paquete «MetaTrader5» en Python, que organiza la interacción interproceso con el terminal (en el momento de escribir esto, a través del mecanismo ipykernel/RPC).
Entre las funciones del paquete, hay análogos completos de las funciones MQL5 integradas para obtener información sobre el terminal, cuenta de trading, símbolos en Observación de Mercado, cotizaciones, ticks, Profundidad de Mercado, órdenes, posiciones y transacciones. Además, el paquete le permite cambiar de cuenta de trading, enviar órdenes de trading, comprobar los requisitos de margen y evaluar los posibles beneficios/pérdidas en tiempo real.
Sin embargo, la integración con Python tiene algunas limitaciones. En concreto, no es posible en Python implementar el manejo de eventos como OnTick, OnBookEvent y otros. Por ello, es necesario utilizar un bucle infinito para comprobar los nuevos precios, de una forma muy parecida a como nos vimos obligados a hacer en los scripts de MQL5. El análisis de la ejecución de las órdenes de trading es igual de difícil: en ausencia de OnTradeTransaction, se necesitaría más código para saber si una posición se cerró total o parcialmente. Para saltarse estas restricciones, puede organizar la interacción del script de Python y MQL5, por ejemplo, a través de sockets. En el sitio mql5.com encontrará artículos con ejemplos de la aplicación de un puente de este tipo.
Por lo tanto, parece que es natural utilizar Python en conjunción con MetaTrader 5 para tareas de aprendizaje automático que se ocupan de las cotizaciones, los ticks o el historial de la cuenta de trading. Por desgracia, no se pueden obtener lecturas de indicadores en Python.