Bibliotecas: Trabajar con sockets en MQL5

 

Trabajar con sockets en MQL5:

Esta biblioteca le permitirá enviar cotizaciones en tiempo real desde MetaTrader 5 a una aplicación de servidor externo.

Esquema de la interacción con el terminal de cliente Metatrader 5

Autor: Andrey Voytenko

 

¡Muchas gracias!


 

Hay algunos cambios y adiciones al proyecto. Pido a todos los que ya hayan descargado el archivo del proyecto que lo actualicen.

 
Esto es sólo para un par de divisas, pero ¿cómo implementarlo para múltiples pares de divisas?
 
gisip:
... ¿cómo realizarlo para varios pares de divisas?

Para ello, el asesor de socket debe colocarse en los gráficos de los pares de divisas para los que desea recopilar información de tick.

No es la solución más elegante. Pero estoy dispuesto a escuchar sugerencias para mejorar el proyecto.

 
avoitenko:

Para ello, el Asesor Experto de socket debe colocarse en los gráficos de los pares de divisas para los que desea recopilar información de tick.

No es la solución más elegante. Pero estoy dispuesto a escuchar sugerencias sobre cómo mejorar el proyecto.

Para MT4 parece claro cómo - a través del servidor DDE, pero cómo en MT5 le pregunto a todo el mundo.

Tal vez alguien tiene algunas ideas ?

 
gisip:

Para MT4 parece claro cómo - a través del servidor DDE, pero cómo en MT5 le pregunto a todo el mundo.

¿Alguien tiene alguna idea?

Todo depende de lo avanzado del servidor, de la complejidad del protocolo de red y de la tarea a realizar....

Primero hay que definir la tarea, luego desarrollar un protocolo de red (puede ser necesario elaborar la estructura de la base de datos del servidor).

 
Interesting:

Todo depende de lo avanzado que sea el servidor, de la complejidad del protocolo de red y de la tarea a realizar....

Primero hay que definir la tarea, luego desarrollar un protocolo de red (puede que haya que trabajar la estructura de la base de datos del servidor).

Sin trucos, sólo un flujo de cotizaciones, tan primitivo como en MT4 a través del servidor DDE.
 

Si tienes paciencia, terminaré el proyecto de intercambio de datos File Mapping. Será justo lo que necesitas.

 
avoitenko:

Si tienes paciencia, terminaré el proyecto de intercambio de datos File Mapping. Será justo lo que necesita.

¿Tendré que poner un asesor en cada par en el que quiera recibir datos?
 
gisip:
¿Tendré que configurar un Asesor Experto para cada par del que quiera recibir datos?

Todavía no he hecho la transferencia de cotizaciones como lo hace MT4 vía DDE, porque MT4 es un servidor de automatización. Yo lo hago así: MT5 es un cliente, y si quieres saber los current_prices, envías una petición y obtienes el resultado. Esto funciona para todos los pares de divisas activos en la ventana de vista de mercado.

También puede en este proyecto enviar todas las cotizaciones en un solo paquete. Por ejemplo, en un Asesor Experto, en un temporizador cada segundo, recibir datos y comprobar antes de enviar que los nuevos datos no son similares a los datos ya enviados, para cada par de divisas, es decir, un cambio en los datos de Ask o Bid se considerará un nuevo tick.