Bibliothèque: Travailler avec des sockets dans MQL5 - page 2

 
avoitenko:

Je n'ai pas encore effectué le transfert des cotations exactement comme MT4 le fait via DDE, parce que MT4 est un serveur d'automatisation. Je procède de la manière suivante : MT5 est un client, et si vous voulez connaître les prix actuels, vous envoyez une requête et obtenez le résultat. Cela fonctionne pour toutes les paires de devises actives dans la fenêtre de visualisation du marché.

Dans ce projet, vous pouvez également envoyer toutes les cotations en un seul paquet. Par exemple, dans un Expert Advisor, sur un timer toutes les secondes, recevoir les données et vérifier avant d'envoyer que les nouvelles données ne sont pas similaires aux données déjà envoyées pour chaque paire de devises, c'est-à-dire qu'un changement dans les données pour Ask ou Bid sera considéré comme un nouveau tick.

Le timer n'est pas adapté, une charge trop importante sera trop importante !

"...afin que les nouvelles données ne soient pas similaires aux données déjà envoyées".

Parfois, la valeur de la cotation peut être la même que la précédente, ce qui détermine l'activité sur le marché.

 
gisip:

Par timer n'est pas adapté, trop de charge sera trop importante !

Apparemment, pour résoudre votre problème, il est nécessaire de recevoir et d'envoyer au serveur des données sur l'événement OnBookEvent de changement de prix du verre.

 
avoitenko:

Apparemment, pour résoudre votre problème, il est nécessaire de recevoir et d'envoyer au serveur des données sur l' événement OnBookEvent de changement de gobelet de prix.

Avez-vous un exemple d'utilisation de OnBookEvent price glass, car je ne comprends pas par où commencer ?
[Supprimé]  
gisip:
Avez-vous un exemple d'utilisation d'un verre de prix OnBookEvent, car je ne comprends pas par où commencer ?
Obtenir le verre ou l'utiliser dans la CT ?
 
Interesting:
Obtenir un verre ou l'utiliser dans un TC ?
Tout ce qui n'est pas pathétique !
[Supprimé]  
gisip:
Tout ce qui n'est pas inutile !

Il est préférable d'utiliser des lunettes dans Alpari (il y a des problèmes avec elles ici).

Vous pouvez voir un exemple ici
 

Bonjour, très bon travail !

Le fichier mql5.dll fonctionne-t-il avec EA mq4 ?

Vous avez un exemple ?

 
Regardez cet exemple pour MLQ4 - travailler avec des sockets sans utiliser de DLL.
 

Merci pour ce travail !

mais pour la version x64 il faut changer les rutins de my_rand()

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

quelque chose comme ça.

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

tout est possible ! MQL5 transmet/reçoit normalement des structures et des pointeurs vers celles-ci dans les fonctions DLL.