Discusión sobre el artículo "Integración de MetaTrader 5 y Python: recibiendo y enviando datos" - página 3

[Eliminado]  
Andres Kull:

Estoy ejecutando EA, localhost está habilitado.


No lo sé. El programa Python debe estar ejecutándose antes.

 
Maxim Dmitrievsky:

No lo sé. El programa Python debe estar ejecutándose antes.

El problema se reduce.

SocketCreate tiene éxito si EA se adjunta al gráfico.

SocketCreate termina con el error 4014 si el EA se ejecuta en el Probador de Estrategias.

[Eliminado]  
Andres Kull:

La cuestión se reduce.

SocketCreate tiene éxito si EA está conectado al gráfico.

SocketCreate termina con el error 4014 si el EA se ejecuta en el Probador de Estrategias.

ahh, cierto. Los sockets siguen sin funcionar en el Probador de Estrategias, quizás los desarrolladores arreglen esto más adelante

"Desafortunadamente, la implementación actual del cliente socket en MetaTrader 5 no es adecuada para ejecutarse en el Probador de Estrategias, por lo que no se realizaron pruebas completas y mediciones del rendimiento de la solución. Vamos a esperar a nuevas actualizaciones de la funcionalidad de socket" de la parte inferior del artículo
 

Hola chicos,

aunque muy limitado, pero usted puede intentar los siguientes pasos en un gráfico en vivo:

1. 1. Cargue sus datos desde el historial o resultados precalculados de otros indicadores
2. Añada un bucle en la llamada de procesamiento de ticks, que simplemente haga un bucle sobre cada elemento de sus datos precargados. 2. Añada un bucle en la llamada de procesamiento de ticks, que simplemente haga un bucle sobre cada elemento de sus datos precargados.
3. Deje que su EA decida en cada bucle -> escriba sus resultados (comprar/vender/actualizar SL, etc.) en un archivo para un posterior análisis de rendimiento.

Espero que te ayude un poco.

Saludos,
AT

 

@Maxim Dmitrievsky

Sólo quería decir gracias por hacer esto disponible. Siempre quise poder codificar mis indicadores en Python y desde que comenzaste este hilo he podido acceder a datos de futuros en tiempo real y utilizarlos para desarrollar y ejecutar mis indicadores. Yo uso mi Python para trazar y analizar la alimentación en vivo y colocar operaciones a través de la plataforma MT5 - funciona muy bien. Por favor, sigan con el buen trabajo y espero de verdad que Python sea totalmente adoptado por la comunidad MT.

Gracias y saludos cordiales.

Archivos adjuntos:
Fibs3.png  50 kb
 

¡Gracias Maxim!

Este artículo es realmente útil.

Me preguntaba si el servidor Python está en otro PC ( Windows 10 ) en una red local ¿experimentaste algún error de conexión de socket?

Te hago esa pregunta porque en el mismo host local todo está bien bien. La conexión es perfecta . Sin embargo si quiero tener el programa servidor en otro PC entonces me sale un error de conexión de socket ( connot connect )

He comprobado con el comando ping la IP del PC remoto, todo esta bien.

He añadido la dirección IP en la sección URL del Asesor Experto.

¿Qué podría impedir la conexión de socket ( fuera del Firewall ) ?

Hice el cambio en el firewall de Windows ( sin embargo yo no soy un experto crear allí ) .

Me preguntaba si el socket MT5 funciona en una red local ...


Gracias de antemano por cualquier sugerencia porque estoy atascado


Philippe

 
Cómo superar el mensaje "IPC call failed" que aparece al ejecutar ...= MT5CopyTicksRange(...)
 
Lo he intentado pero he recibido el código de error 4014(función no permitida), ejecutándolo como programa experto. ¿Es que la opción no está activada?
 
slukin:

socketclientEA (Si-6.19,M15) Conexión localhost:9090 error 4014

https://www.mql5.com/es/docs/network/socketconnect

Cuando se llama desde el indicadorGetLastError() devolverá el error 4014 - "No se permite llamar a la función del sistema".

Solución:

La dirección para la conexión debe añadirse a la lista de direcciones permitidas en el lado del terminal cliente (sección Herramientas / Configuración / Asesores Expertos).

Permitir Webrequest para la siguiente url:

http://localhost

¡Gracias, no era bastante evidente al principio, los desarrolladores son genios del mal justo!

 
Maravilloso.
Gracias por compartirlo.