![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Sim, instale a comunidade do estúdio visual, é gratuito.
Oestúdio visual éumdesenvolvimento da mikrosoft.
Talvez eu esteja errado, mas depois de uma rápida olhada no código eu não vi a implementação do websocket, o soquete tcp é implementado lá.
Vou expressar minha posição a respeito: a implementação de algo puramente em linguagem mql é, naturalmente, excelente. É bom quando tudo é implementado em um único ambiente. Nenhum ambiente de desenvolvimento é capaz de cobrir todas as necessidades. É por isso que diferentes tipos de bibliotecas, que expandem as possibilidades do ambiente de desenvolvimento, são criadas. Mas este não é nem mesmo o problema principal. Em mql não há multithreading e assíncrono, todos os métodos são executados estritamente sequencialmente. Qualquer referência a fontes externas, seja solicitação http ou solicitação web, inevitavelmente leva à interrupção do programa até que uma resposta seja recebida. Às vezes estas interrupções podem ser significativas, especialmente se houver uma interrupção na Internet. Do meu ponto de vista, qualquer interação externa é melhor feita na forma de bibliotecas de terceiros (dll).
Websockets é um add-on para soquetes tcp, o que eu publiquei implementou uma peça de um cliente websocket clássico de acordo comhttps://tools.ietf.org/html/rfc6455
Do meu ponto de vista, quaisquer interações externas são melhor feitas na forma de bibliotecas de terceiros (dll).
Esta questão é puramente uma questão de religião pessoal e as exigências dos ToR.
Eu estava mais confortável com a forma como era feito.
Você já tentou pela internet, como você especifica nas configurações do MT para usar ws?
Dimitri, não estou alegando que esta é a única maneira de fazer isso e não estou impondo isso a ninguém. Estou expressando minha posição sobre este assunto, nada mais. :)
:) Sim, eu entendo. Não há dúvidas sobre isso.
Acredite, eu vim a esta implementação por uma razão.
No início, havia o WCF na forma de um dll, que em princípio funcionava. Mas o número de muletas produz exponencialmente mais bugs,
e perdendo tempo com uma infra-estrutura torta... não é a coisa certa a fazer. E assim, tudo transparente e simples.
Terminal de eventos <- json processing -> <- websocket clients -- websocket server -> <- json processing <- DataSience services
Escrevi acima que agora congelei este cliente, pois apareceu uma libra de pitão de qualidade para trabalhar com a MT e outra muleta pode ser jogada fora.
Você já tentou pela internet, como você especifica em configurações de MT para usar ws?
Então é uma conexão ip, eu tinha tudo dentro de um host, o que está impedindo você de entrar em endereços reais e ir como você quiser.
Basta ter em mente que eu não fiz https. Eu não precisava.
Você já tentou pela internet, como você especifica em configurações de MT para usar ws?
Foto de Atacha. A porta 80 é para aperto de mão, 5000 para soquetes tcp.
Permitir dll - você não precisa.
Então é uma conexão ip, eu tinha tudo dentro de um host, o que está impedindo você de entrar em endereços reais e ir como você quiser.
Basta ter em mente que eu não fiz https. Eu não precisava disso.
Tentei fazer meu próprio websocket baseado em soquetes MT, mas não foi além de um aperto de mão, nenhuma resposta voltou. Pensei que era o "firewall" MT.
Se a memória servir, eu testei com este servidor http://demos.kaazing.com/echo/index.htmlTentei fazer meu próprio websocket baseado em soquetes MT, mas não foi além do aperto de mão, nenhuma resposta veio. Pensei que era o "firewall" MT.
Se a memória servir, eu testei com este servidor http://demos.kaazing.com/echo/index.htmlSe você estiver implementando o protocolo websockets, você precisa implementar cabeçalhos binários lá.
Sim, você pode testá-lo aqui:http://www.websocket.org/demos/echo/