Discussion de l'article "Communiquer avec MetaTrader 5 en utilisant Named Pipes sans utiliser de DLL" - page 7

[Supprimé]  
Désolé pour la question nubienne, qu'est-ce que cela fait quand on utilise les pips dans des applications comme mt5 mt4 copier ?
[Supprimé]  
Ou bien les points ne sont-ils plus pertinents ?
 

Le serveur est-il destiné à un seul client ? J'essaie de connecter un deuxième client, mais la connexion ne s'ouvre pas. Erreur 5004. Le nom du fichier est le même que celui de l'autre client connecté.

Si je déconnecte le premier client, le second se connecte. Donc un canal nommé est une seule connexion ?

 

Comment connecter deux clients MT via des canaux nommés ?

J'ai essayé le code qui se trouve ici https://www.mql5.com/fr/articles/115. Cela ne fonctionne pas. La méthode Connect se bloque.

Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)
Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)
  • www.mql5.com
В течение некоторого времени я думал над возможными способами взаимодействия между терминалами MetaTrader 5. Моя цель состояла в том, чтобы использовать тиковый индикатор и показывать тики от различных поставщиков котировок в одном из терминалов. Естественное решение было в использовании отдельных файлов на жестком диске - один терминал будет...
 
Salom
 
Est-il possible de l'utiliser en C# ?
 

Chers collègues, pouvez-vous vérifier si cet exemple fonctionne pour vous en ce moment ?

mes tests sur VS 2022 / VS 2026 + MT5 5570 + Win11

le client ne peut pas ouvrir un pipe créé par le serveur, INVALID_HANLE sur FileOpen.

Qui l'a fait fonctionner ? Comment avez-vous réussi à l'exécuter ?

exemple similaire pour MT4 - ne fonctionne pas non plus https://www.mql5.com/ru/forum/28683#comment_59076685

 

Le problème s'est avéré être l'UAC.

Le serveur fonctionnait avec admin et MT sans.

Le problème est résolu soit en démarrant avec les mêmes permissions, soit en ajoutant SECURITY_ATTRIBUTES à CreateNamedPipe avec un Dacl à zéro.