Renat: Cela a été fait dans la dernière version de MetaTrader 4.
Je m'excuse, je pensais avoir manqué quelque chose. J'ai regardé l'annonce 445 - il y a effectivement des pips. La question est qu'il n'y a aucun mot à ce sujet dans l'aide. Il y aura-t-il des mises à jour sur ce sujet, et quand ? Vous pouvez peut-être en parler dans le forum.
Renat: Elle a été faite dans la dernière version de MetaTrader 4.
Tout semble fonctionner correctement sur MT5.
Le seul point :
Il serait bon de faire en sorte que lorsque l'on essaie de lire à partir du canal en utilisant ReadString et d'autres méthodes, l'intégrité du pipe-channel soit d'abord vérifiée.
Sinon, nous restons indéfiniment dans la méthode WaitForRead, bien que le serveur soit fermé depuis longtemps. Tout ceci a été vérifié sous Win7-64.
J'ai ajouté un délai d'attente et d'autres astuces à la méthode WaitForRead côté serveur et j'ai obtenu un système fonctionnel avec des reconnexions automatiques des deux côtés du canal,
Il serait bon de faire en sorte que lorsque l'on essaie de lire le canal à l'aide de ReadString et d'autres méthodes, l'intégrité du pipe-channel soit d'abord vérifiée.
Sinon, nous restons indéfiniment dans la méthode WaitForRead, bien que le serveur soit fermé depuis longtemps. Tout ceci a été vérifié sous Win7-64.
J'ai ajouté un délai d'attente et d'autres astuces à la méthode WaitForRead côté serveur et j'ai obtenu un système fonctionnel avec des reconnexions automatiques des deux côtés du canal,
mais c'est un peu "béquille".
De notre côté, c'était une démonstration de la possibilité.
Veuillez nous faire part de votre variante de la classe. Nous finaliserons la classe standard.
En fait, je n'ai ajouté que la méthode WaitForRead avec vérification des erreurs et sortie par timeout (temps d'attente - en unités conventionnelles - nombre d'intervalles d'environ 20 ms) :
Le problème est que la méthode FileSize, qui est utilisée en attendant que les données arrivent, ne détecte pas de violation de connexion (apparemment, elle ne vérifie pas).
Le délai d'attente aide, mais IMHO pas dans toutes les situations possibles. Il serait bon de vérifier toutes ces erreurs dans la méthode FileSize.
Les images de la mémoire tampon ne sont pas insérées dans les commentaires et si l'on utilise alt+PrntScr et qu'on le colle dans l'éditeur, l'image est insérée mais le message n'est pas inséré dans la branche.
Ok, le problème est que l'exemple de test de l'article ne passe pas
Mais dans le terminal, le script n'enregistre rien jusqu'à ce que je le supprime du graphique.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Lors de la transmission de chaînes de caractères, 4 octets de leur taille sont placés en premier.
Correction de la fonction de réception de données avec spécification de la taille explicite de la mémoire tampon.
J'ai compris la raison pour laquelle le transfert inverse ne fonctionnait pas - je n'avais pas spécifié la longueur des données transférées.
Merci beaucoup. Tout a fonctionné.
Les tuyaux sont puissants. Respect à l'auteur de l'article.
Cela a été fait dans la dernière version de MetaTrader 4.
Les tuyaux de la version 4 fonctionnent de la même manière que ceux de la version 5, y compris par le biais d'opérations sur les fichiers.
Nous publierons un article pour MT4.
Les tuyaux de la version 4 fonctionnent de la même manière que ceux de la version 5, y compris par le biais d'opérations sur les fichiers.
Nous publierons un article pour MT4.
Bonjour, puis-je avoir un exemple simple pour MT4 ? Je ne compte pas sur un article, bien sûr.
Je suis spécifiquement intéressé par la façon de lire trois paramètres de mon programme auto-écrit dans un Expert Advisor dans le terminal.
Elle a été faite dans la dernière version de MetaTrader 4.
Tout semble fonctionner correctement sur MT5.
Le seul point :
Sinon, nous restons indéfiniment dans la méthode WaitForRead, bien que le serveur soit fermé depuis longtemps. Tout ceci a été vérifié sous Win7-64.
J'ai ajouté un délai d'attente et d'autres astuces à la méthode WaitForRead côté serveur et j'ai obtenu un système fonctionnel avec des reconnexions automatiques des deux côtés du canal,
mais tout cela est un peu "béquille".
Tout semble fonctionner correctement sur MT5.
Un seul point :
Sinon, nous restons indéfiniment dans la méthode WaitForRead, bien que le serveur soit fermé depuis longtemps. Tout ceci a été vérifié sous Win7-64.
J'ai ajouté un délai d'attente et d'autres astuces à la méthode WaitForRead côté serveur et j'ai obtenu un système fonctionnel avec des reconnexions automatiques des deux côtés du canal,
mais c'est un peu "béquille".
De notre côté, c'était une démonstration de la possibilité.
Veuillez nous faire part de votre variante de la classe. Nous finaliserons la classe standard.
La partie client elle-même ressemble à peu près à ceci :
Le problème est que la méthode FileSize, qui est utilisée en attendant que les données arrivent, ne détecte pas de violation de connexion (apparemment, elle ne vérifie pas).
Le délai d'attente aide, mais IMHO pas dans toutes les situations possibles. Il serait bon de vérifier toutes ces erreurs dans la méthode FileSize.
C'est étrange...
Les images de la mémoire tampon ne sont pas insérées dans les commentaires et si l'on utilise alt+PrntScr et qu'on le colle dans l'éditeur, l'image est insérée mais le message n'est pas inséré dans la branche.
Ok, le problème est que l'exemple de test de l'article ne passe pas
Mais dans le terminal, le script n'enregistre rien jusqu'à ce que je le supprime du graphique.
et je vois alors dans le journal
Win7x64 build 787 daté du 21 mars 2013
Je viens de vérifier, tout fonctionne.
Dans le MQ5, il suffit de remplacer la ligne
Je viens de vérifier, tout fonctionne.
Dans le MQ5, il suffit de remplacer la ligne
Je n'ai pas ...
J'ai remplacé la ligne sinon ça ne compilerait pas.