Python Proxy Backtest
- Bibliotecas
- Cheung Ka Ho
- Versión: 1.40
- Actualizado: 18 agosto 2023
[Introducción] .[Instalación] .
Introducción
Python es un lenguaje de programación de alto nivel con una buena gestión de paquetes que ofrece al usuario diferentes bibliotecas en el rango de TA a ML/AI. Metatrader es una plataforma de comercio que permite a los usuarios a participar en los mercados a través de corredores de derecho. La combinación de python con MT4 daría al usuario una convienance sin precedentes sobre la conexión de los corredores y la libertad de utilización de la biblioteca. El potencial de su EA ahora se vuelve ilimitado ya que puede crear diferentes estrategias de IA en la parte superior de las famosas bibliotecas de Python ML libremente.
Usted tendrá que tener su EA proxy personalizado que se ejecuta en el lado MT4. El socket TCP se utilizará para la mensajería entre el EA python y el EA proxy. Hay 3 componentes principales en el sistema MT4:
- Py3_Proxy_Interface.ex4 --- Contiene el núcleo de la implementación de la comunicación. Usted puede obtener una versión gratuita de la MQL5 para backtesting su estrategia.
- WinSocketWrapper.mqh --- Contiene la utilización del socket de windows.
- Py_Proxy_Ea.mq4 --- El último componente en el lado MT4. Combinando los 3, tendrás tu propio EA proxy personalizado corriendo como servidor en el lado MT4 y esperando la conexión del EA python. Además, puede controlar los parámetros de entrada como lo hizo como un EA normal MT4.
La idea del proxy EA no es sólo proporcionar interfaces python, sino también mantener el ciclo de vida de los EAs para que las secuencias de callback se mantengan en el lado python, lo que significa que usted puede hacer backtest de su EA python en la plataforma MT4.
Como uno puede notar que la comunicación entre los procesos es socket TPC, la velocidad es un poco más lenta que el método de memoria compartida. Para mantener la velocidad de la operación EA mientras que no sacrifica mucho de la convergencia de datos. La función OnTick en el lado de python se activará para cada barra en lugar de cada tick. En otras palabras, cada vez que haya una actualización de la barra, la función OnTick se activará.
Limitación y aviso
Esta solución tiene sus limitaciones.
- Esta no es una librería libre de errores. Se anima a los usuarios a probar sus EAs a través de la versión gratuita proporcionada en el mercado en medio de las fases de backtesting. No hay garantía de soporte pero puedes poner los errores o sugerencias que tengas en los comentarios.
- No todas las funciones de MQL4 están soportadas. Puede encontrar la lista de funciones soportadas en el archivo --- function_list.txt
- La frecuencia de callback no es tick a tick, esta basada en barra, por ejemplo 1M, 5M, etc...
Si te gusta esta biblioteca y le gustaría utilizarlo para el comercio en vivo, no dude en suscribirse a través del mercado. Por favor, haga esto sólo después de probar y confirmar que funciona para su caso de uso.
No hay garantía de beneficios por esta herramienta. Es sólo una herramienta puente entre MT4 y python.
