Discussão do artigo "Comunicando-se com o MetaTrader 5 utilizando pipes nomeados sem DLLs" - página 6
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Tenho uma pergunta como esta:
O artigo afirma:
Conecte-se ao servidor verificando duas vezes: no computador remoto chamado 'RemoteServerName' ou no computador local. No computador local, tudo funciona e não há dúvidas.
Mas se você executar o PipeServer.exe em um VPS remoto e, em seguida, lançar o script do cliente para o gráfico em outro PC, tendo alterado o RemoteServerName para o nome pertencente ao VPS, o servidor e o cliente não se veem, ou seja, o canal não funciona, não há conexão.
Qual é o problema aqui? O nome de um VPS específico deve ser escrito inicialmente no PipeServer.exe ou o quê?
Seria interessante ouvir a solução,
Se os desenvolvedores especificaram a possibilidade de usá-lo em um computador remoto, provavelmente deve funcionar.
Espero que os desenvolvedores aqui possam ajudar com um exemplo de como realizar isso em um computador remoto.
Alguém está usando esse cliente para sempre? Para quê e como?
Eu li no início:
"Um script do terminal se conectará a esse servidor e trocará dados com ele."
Posso perguntar como posso conectar dois clientes em execução em dois terminais diferentes por meio desse servidor? Pelo que entendi do servidor e dos testes, apenas um cliente se conecta ao servidor e o que esse servidor pode fazer com as mensagens que recebeu?
Não seria necessário ter
1) um servidor independente esperando por vários clientes,
2) cada cliente para iniciar a conexão enviando um ID exclusivo de si mesmo,
3) um servidor enviando a cada cliente conectado qualquer mensagem que o servidor tenha recebido - pode ser exceto para o cliente do qual ele recebeu a mensagem,
4) um servidor que envia cada mensagem começando com a ID exclusiva do cliente que enviou a mensagem?
- Dessa forma, o cliente pode detectar suas próprias mensagens e excluí-las, caso tenham sido enviadas de volta pelo servidor, por qualquer motivo.
- Dessa forma, o cliente pode detectar o(s) cliente(s) que deve(m) escutar - isso deve fazer parte do código mq4 do cliente.
Não entendi a questão de forma alguma! O que o servidor faz com os dados que recebo de lá em outro cliente?
Aqui eu projetei uma solução racional: Link para a discussão em inglês. Presumivelmente, alguém pode escrever uma resposta em inglês?
Muito obrigado, Calli
A solução apresentada aqui não funciona com os Async Named Pipes. Consulte https://www.mql5.com/en/forum/94343
Newgel
Boa tarde, MetaQuotes.
Você pode me dizer se há planos para adicionar uma função análoga a WaitNamedPipe() da WinAPI para MQL4/5?
Essa função eliminaria a necessidade de os clientes MQL consultarem o canal por meio de FileOpen() em um loop infinito, enquanto esperam que o servidor abra uma instância do canal. Isso é especialmente útil quando a espera é longa.
Boa tarde, MetaQuotes.
Você pode me dizer se há planos para adicionar uma função análoga a WaitNamedPipe() da WinAPI para MQL4/5?
Essa função eliminaria a necessidade de os clientes MQL consultarem o canal por meio de FileOpen() em um loop infinito, enquanto esperam que o servidor abra uma instância do canal. Isso é especialmente útil quando a espera é longa.
É melhor fazer essas perguntas no Service Desk por meio de seu perfil.
Olá.
Iniciei o PipeServer.exe e executei o script pipeclient.mq5 no modo de depuração. O script está fazendo um loop aqui:
O que estou fazendo de errado?
Sistema: Windows 7 Ultimate (PC baseado em x64), IE 11.00, RDP, UAC, Processador AMD FX-8300 Eight-Core, RAM: 5601 / 8190 Mb, HDD: 14763 / 114370 Mb, GMT+02:00
Terminal: MetaTrader 5 x64 build 1643 iniciado (MetaQuotes Software Corp.).
P.S. Executo o PipeServer como administrador.
Quem pode ajudar a lançar o fichário de teste MQL5+python? Estou disposto a compensar os custos de mão de obra.
Preciso de um exemplo funcional de implementação de chamadas de função a partir de um script Python.
Estou tentando criar uma função em MQL5 que interaja com um script Python, mas não por meio de um arquivo. Preciso de uma troca rápida de argumentos.
Ficaria grato se me enviassem algum exemplo, por exemplo, para passar alguns números do MT, e o script Python retornaria, por exemplo, a soma dos números de volta ao MT.
Quem pode ajudar a lançar o fichário de teste MQL5+python? Pronto para compensar os custos de mão de obra.
Preciso de um exemplo funcional de implementação de chamadas de função a partir de um script Python.
Estou tentando criar uma função em MQL5 que interaja com um script Python, mas não por meio de um arquivo. Preciso de uma troca rápida de argumentos.
Ficaria grato se me dessem algum exemplo, por exemplo, para passar alguns números do MT, e o script Python retornaria, por exemplo, a soma dos números de volta ao MT.
Implementei o servidor em C# e acho que está tudo bem. No Python, acho que não é mais difícil.
Há planos para adicionar uma função à biblioteca que verifique se a conexão com o servidor está aberta? Pelo que entendi, essa função não existe atualmente.
O identificador mantém o valor diferente de zero mesmo que a conexão com o servidor seja perdida.