MT5PythonIndicatorExporter
- Utilidades
- Joao Paulo Euko
- Versión: 2.10
- Actualizado: 19 noviembre 2020
Hola a ti, ¡necesito tu ayuda!
Sé mi mecenas, ¡hagámoslo posible!
https://www.patreon.com/joaopeuko
https://github.com/Joaopeuko/Mql5-Python-Integration
Canal:
Versión en inglés -VersãoInglês:
https://www.mql5.com/en/channels/Mql5_Python_Integration_EN
Versión en portugués - Versão Português:
Versión gratuita con 5 indicadores:
https://www.mql5.com/en/market/product/57574
Esta versión tiene 38 indicadores, 5 de la versión gratuita más 33 indicadores nuevos.
Abajo hay una lista con todos los indicadores.
Creo que desarrollar en PYTHON es más fácil y sencillo para hacer un Asesor Experto o cualquier otra herramienta que te ayude a tomar una decisión relacionada con el mercado de valores.
Por lo tanto, he construido una biblioteca en Python que hace que sea fácil y sencillo hacer asesores expertos.
Es posible encontrarla aquí:
https://github.com/Joaopeuko/Mql5-Python-Integration
Este Servicio MQL5 utiliza la comunicación Socket para enviar y recibir datos.
Este Servicio MQL5 es el "Lado-Cliente", por lo que sólo funcionará si hay un lado-servidor enviándole datos, pidiéndole algún Indicador.
Un ejemplo de Asesor Experto utilizando sockets se puede encontrar aquí:
https://github.com/Joaopeuko/Mql5-Python-Integration/blob/master/ExpertAdvisor/example_sockets_connection.py
Sin embargo, hay algunas dificultades cuando se utiliza python para codificar un asesor experto, una de estas dificultades es el uso de Indicadores, la mayoría de ellos no existen todavía.
Para resolver ese problema se puede:
-
Puedes recrear todos los indicadores.
-
Puedes usar una librería que tenga algunos o todos los indicadores.
-
Puedes comunicarte a través del Metatrader5 pidiendo los datos de los indicadores.
Este Servicio MQL5 utiliza los indicadores que ya están construidos en Metatrader5, sólo pide los datos, informando primero a la configuración, y el servicio responde a ella.
iCustom no está soportado en esta versión.
Este servicio sólo funciona con algunos indicadores:
-
Accelerator Oscillator
-
Acumulación/Distribución
-
Media Móvil
-
Adaptable
-
Alligator
-
Índice de Movimiento Direccional
-
Promedio Wilder
-
Average True Range
-
Awesome Oscillator
-
Bollinger Bands
-
-
-
Free
-
Bears Power
-
Bulls Power
-
Chaikin Oscillator
-
Commodity Channel Index
-
DeMarker
-
Doble Media Móvil Exponencial
-
Envelops
-
Force Index
-
Fractal Media Móvil Adaptable
-
Fractals
-
Gator Oscillator
-
Ichimoku Kinko Hyo
-
MACD -.
-
Libre
-
Market Facilitation Index
-
Momentum
-
Money Flow Index
-
Moving Average - Libre
-
Moving Average of Oscillator
-
OBV On Balance Volume - Libre
-
Parabolic SAR Relative
-
Strength Index
-
Relative Vigor Index
-
Standard Deviation
-
Stochastic - Libre
-
Triple Exponential
-
Average Triple Exponential Moving Average
-
Variable Index Dynamic Average
-
Volumes
-
Williams' Percent Range
Construí la comunicación usando el mismo patrón usado en MetaTrader5:
https://www.mql5.com/es/docs/indicators
La dirección y el puerto deben ser los mismos en el Servicio MQL5 y en el código python.
Para utilizar un servicio sólo tiene que ir en el servicio, y uno nuevo, es cerca de la carpeta de asesor de expertos, en el botón, en MetaTrader 5.
Imagen 1
Puede utilizar tantos servicios como desee hasta llegar a los límites de "Activación".
Imagen 2
Cuando se utiliza más de un servicio pueden entrar en conflicto, cambiar el puerto es una solución.
Para poder enviar datos fuera de MetaTrader5 primero hay que permitirlo, hay que añadir el "localhost".
-
Herramientas -> Opciones -> Asesores Expertos -> WbRequest (checkbox)
Imagen 3
Es bueno saber que construí ese Servicio para que funcione solo en el "localhost".
Si tienes dudas, utiliza sockets para funcionar.
Es posible llamar al mismo indicador con una configuración diferente de cuantas veces quieras. Sin embargo, cuando se utilizan demasiados indicadores podría reducir el rendimiento.
Puede ver el asesor experto usando el indicador aquí:
https://github.com/Joaopeuko/Mql5-Python-Integration/blob/master/ExpertAdvisor/example_sockets_connection.py
Todos los indicadores están definidos para trabajar con un marco de tiempo de un minuto, para cambiarlo solo necesita cambiar el "time_frame".
Todos los indicadores tienen comentarios para que sea fácil de entender y saber como usarlo.
https://github.com/Joaopeuko/Mql5-Python-Integration/blob/master/Include/indicator_connector.py
Imagen 4
Si tienes algún problema, por favor envíame un mensaje directo.
