Discussão do artigo "Comunicando-se com o MetaTrader 5 utilizando pipes nomeados sem DLLs" - página 4
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
Ao transmitir cadeias de caracteres, 4 bytes de seu tamanho vão primeiro.
Corrigida a função de recebimento de dados com a especificação do tamanho explícito do buffer.
Entendi o motivo pelo qual a transferência reversa não funcionou - não especifiquei o tamanho dos dados transferidos.
Muito obrigado. Tudo funcionou.
Os pipes são poderosos. Respeito ao autor do artigo.
Isso foi feito na última versão do MetaTrader 4.
Os pipes no 4 funcionam de forma semelhante ao 5, também por meio de operações de arquivo.
Lançaremos um artigo sobre o MT4.
Os pipes no 4 funcionam de forma semelhante ao 5, também por meio de operações de arquivo.
Lançaremos um artigo para o MT4.
Olá, posso ter um exemplo simples para o MT4? Não estou contando com um artigo, é claro.
Estou especificamente interessado em como ler três parâmetros de meu programa escrito por mim mesmo em um Expert Advisor no terminal.
Ele foi feito na última versão do MetaTrader 4.
Tudo parece funcionar bem no MT5.
O único ponto:
Caso contrário, ficaremos pendurados no método WaitForRead indefinidamente, embora o lado do servidor tenha sido fechado há muito tempo. Tudo isso foi verificado no Win7-64.
Adicionei o tempo limite e alguns outros truques ao método WaitForRead no lado do servidor e obtive um sistema funcional com reconexões automáticas em ambos os lados do canal,
mas tudo isso é um pouco "muleta".
Tudo parece estar funcionando bem no MT5.
O único ponto:
Caso contrário, ficaremos pendurados no método WaitForRead indefinidamente, embora o lado do servidor tenha sido fechado há muito tempo. Tudo isso foi verificado no Win7-64.
Adicionei o tempo limite e alguns outros truques ao método WaitForRead no lado do servidor e obtive um sistema funcional com reconexões automáticas em ambos os lados do canal,
mas tudo isso é um pouco "muleta".
Do nosso lado, foi uma demonstração da possibilidade.
Publique sua variante da classe. Nós finalizaremos a classe padrão.
A parte do cliente em si é mais ou menos assim:
A questão é que o método FileSize, que é usado enquanto se aguarda a chegada dos dados, não detecta uma violação de conexão (aparentemente, ele não verifica).
O tempo limite ajuda, mas, na minha opinião, não em todas as situações possíveis. Seria bom verificar todos esses erros no método FileSize.
Estranho...
As imagens do buffer não entram nos comentários e, exatamente se você usar alt+PrntScr e colá-las no editor, a imagem é inserida, mas a mensagem não entra na ramificação.
Certo, o problema é que o exemplo de teste do artigo não é executado
Mas no terminal, o script não registra nada até que eu o exclua do gráfico.
E então eu vejo no registro
Win7x64 build 787 datado de 21 de março de 2013
Acabei de verificar, tudo funciona.
No MQ5, você só precisa substituir a linha
Acabei de verificar, tudo funciona.
No MQ5, você só precisa substituir a linha
Eu não tenho ...
Substituí a linha ou ele não compilaria.