Bibliotecas: Trabajar con sockets en MQL5 - página 2

 
avoitenko:

Todavía no he hecho la transferencia de cotizaciones exactamente 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 enviar todas las cotizaciones en un lote en este proyecto. 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.

El temporizador no es adecuado, ¡demasiada carga será demasiado grande!

"...para que los nuevos datos no sean similares a los ya enviados".

A veces, el valor de la cotización puede ser el mismo que el anterior, determinando la actividad en el mercado.

 
gisip:

¡Por temporizador no es adecuado, demasiada carga será demasiado grande !

Al parecer, para resolver su problema, es necesario recibir y enviar al servidor los datos en el evento OnBookEvent cambio de cristal de precio.

 
avoitenko:

Aparentemente, para resolver su tarea, es necesario recibir y enviar al servidor los datos en el evento OnBookEvent de cambio de vaso de precios.

¿ Tienes algún ejemplo de utilización del OnBookEvent precio vaso, porque no entiendo por donde empezar ?
 
gisip:
¿Tiene un ejemplo de cómo utilizar un precio de vidrio OnBookEvent, porque no puedo entender por dónde empezar?
¿Conseguir el vaso o usarlo en el TC?
 
Interesting:
¿Conseguir un vaso o usarlo en un TC?
¡Cualquier cosa que no sea patético!
 
gisip:
¡Cualquier cosa que no sea inútil!

Es mejor usar gafas en Alpari (aquí hay problemas con ellas).

Puede ver un ejemplo aquí
 

¡hola, muy buen trabajo!

¿El mql5.dll funciona con EA mq4?

¿Tiene usted ejemplo?

 
Mira este ejemplo para MLQ4 - trabajando con sockets sin usar DLL.
 

¡Gracias por esto!

pero para x64 version u debe cambiar my_rand() rutins

//--------------------------------------------------------------------------//
unsigned long long rand64()
//--------------------------------------------------------------------------//
{
        return ( static_cast<unsigned long long>( rand() ) << 32 ) | rand();
}

algo como esto.

 
Однако, непосредственная работа с функциями этой библиотеки невозможна из-за отсутствия в MQL5 механизма работы с указателями и передачи сложных типов данных в качестве параметров в вызываемые функции DLL.

¡todo es posible! MQL5 normalmente pasa/recibe estructuras y punteros a ellas en funciones DLL.