Rejoignez notre page de fans
- Vues:
- 318
- Note:
- Publié:
- Mise à jour:
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
Cet article présente un exemple de transmission de cotations depuis MetaTrader 5 vers une application serveur développée en Delphi 7.
La communication s'effectue via le protocole TCP, ce qui permet de transférer des données non seulement en local, mais aussi à distance, par exemple vers un PC connecté au réseau local.
Pour la gestion des sockets, on utilise la bibliothèque Winsock2 (wsock32.dll). Cependant, il n’est pas possible d’utiliser directement les fonctions de cette bibliothèque en raison de l’absence, dans MQL5, d’un mécanisme permettant de gérer les pointeurs et de transmettre des types de données complexes en tant que paramètres aux fonctions appelées de la DLL.
La bibliothèque socket_mql5.dll, écrite en C++, sert d’intermédiaire entre le conseiller et la bibliothèque de sockets.
La figure 1 illustre le schéma d'interaction entre MetaTrader 5 et l'application serveur.

Figure 1. Schéma d'interaction entre MetaTrader 5 et l'application serveur
La bibliothèque socket_mql5.dll met en œuvre un ensemble minimal de fonctions pour le transfert unidirectionnel de données : SocketOpen, SocketWriteData, SocketWriteString, SocketClose. Les cotations peuvent être transmises sous deux formats : sous forme de données et sous forme de chaîne de caractères. Le choix du format s’effectue via la variable d’entrée « type de données transmises » du conseiller.
Le résultat du fonctionnement d'un expert qui implémente un client se connectant à l'application serveur et transmettant les données à chaque tick est illustré à la figure 2.

Figure 2. Transfert de données depuis MetaTrader 5 vers l’application serveur
L'archive contient :
- Un expert ;
- La bibliothèque socket_mql5.dll (code source écrit sous Visual Studio 2008) ;
- Un serveur TCP et un client TCP (code source écrit en Delphi 7).
Traduit du russe par MetaQuotes Ltd.
Code original : https://www.mql5.com/ru/code/169
Time To Close v1.01 - MT5
Temps de fermeture de la bougie. Couleurs de texte dynamiques. Optimisé pour le back-testing.
DailyHighLow Indicator for MQL5
L'indicateur DailyHighLow est un outil polyvalent conçu pour MetaTrader 5 (MQL5) pour afficher les niveaux de prix haut et bas sur un graphique basé sur une période spécifiée. Cet indicateur est particulièrement utile pour les traders qui s'appuient sur les niveaux de prix clés pour prendre des décisions, offrant une flexibilité grâce à des délais et des méthodes de calcul des prix personnalisables.
AlfOs
Un oscillateur similaire à l'OsMA, basé sur la moyenne dynamique à indice variable.
Mots-clés MQL5
Mots-clés du langage MQL5