В течение некоторого времени я думал над возможными способами взаимодействия между терминалами MetaTrader 5. Моя цель состояла в том, чтобы использовать тиковый индикатор и показывать тики от различных поставщиков котировок в одном из терминалов. Естественное решение было в использовании отдельных файлов на жестком диске - один терминал будет...
서버가 클라이언트 한 명용인가요? 두 번째 클라이언트를 연결하려고 하는데 연결이 열리지 않습니다. 5004 오류가 발생했습니다. 파일 이름이 연결된 다른 클라이언트와 동일합니다.
첫 번째 클라이언트의 연결을 끊으면 두 번째 클라이언트가 연결됩니다. 이름이 지정된 채널은 하나의 연결만 가능한 건가요?
네임드 채널을 통해 두 MT 클라이언트를 연결하려면 어떻게 해야 하나요?
여기에서 코드를 시도해 보았습니다 https://www.mql5.com/ko/articles/115. 작동하지 않습니다. 연결 방법이 중단됩니다.
동료 여러분, 현재 이 예제가 효과가 있는지 확인해 주시겠습니까?
VS 2022 / VS 2026 + MT5 5570 + Win11에서 테스트한 결과
클라이언트에서 서버에서 생성한 파이프를 열 수 없다는 오류가 발생합니다.
누가 어떻게 실행할 수 있었나요?
MT4의 비슷한 예 - 역시 작동하지 않습니다 https://www.mql5.com/ru/forum/28683#comment_59076685
문제는 UAC로 밝혀졌습니다.
서버가 관리자 권한으로 실행 중이고 MT 권한은 없는 상태였습니다.
이 문제는 동일한 권한으로 시작하거나 0으로 설정된 Dacl을 사용하여 CreateNamedPipe에 SECURITY_ATTRIBUTES를 추가하면 해결됩니다.