Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Telegram !
Rejoignez notre page de fans
Un script intéressant ?
Poster un lien vers celui-ci -
laisser les autres l'évaluer
Vous avez aimé le script ? Essayez-le dans le terminal MetaTrader 5
Bibliothèque

Utilisation des sockets en MQL5 - bibliothèque pour MetaTrader 5

Andriy Voitenko
Andriy Voitenko
4.9 (337)
* Creating Server Plugins and Manager Applications for MetaTrader 4/5.
* MQL4 and MQL5 programming. Creation of EAs, indicators, scripts for market analysis. Writing applications for popular trading platforms.
| French English Русский 中文 Español Deutsch 日本語 Português 한국어 Italiano Türkçe
Vues:
318
Note:
(52)
Publié:
Mise à jour:
socket.zip (506.46 KB)
MQL5 Freelance 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.

Schéma de l'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.

Transfert de données depuis MetaTrader 5 vers l'application serveur

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 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 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 AlfOs

Un oscillateur similaire à l'OsMA, basé sur la moyenne dynamique à indice variable.

Mots-clés MQL5 Mots-clés MQL5

Mots-clés du langage MQL5