Discussão do artigo "Introdução ao Connexus (Parte 1): Como usar a função WebRequest?"

 

Novo artigo Introdução ao Connexus (Parte 1): Como usar a função WebRequest? foi publicado:

Este artigo é o início de uma série de desenvolvimentos para uma biblioteca chamada “Connexus”, que tem como objetivo facilitar requisições HTTP com MQL5. O objetivo deste projeto é fornecer ao usuário final essa oportunidade e mostrar como usar esta biblioteca auxiliar. Eu procurei torná-lo o mais simples possível para facilitar o estudo e proporcionar a possibilidade de futuros desenvolvimentos.

A função WebRequest abre uma ampla gama de possibilidades para integração com serviços externos. Desde a coleta de dados financeiros, que podem ser essenciais para decisões automatizadas de negociação, até a automação completa de processos, essa função permite que EAs interajam diretamente com a web. Isso possibilita, por exemplo, que seu robô de negociação obtenha informações em tempo real de fontes externas, como notícias econômicas ou dados de mercado de outras plataformas. Esses dados podem ser processados e usados para ajustar automaticamente suas estratégias de negociação, aumentando tanto a precisão quanto a eficiência de suas operações.

No entanto, como será demonstrado nos exemplos apresentados, o uso da função WebRequest pode não ser trivial. Enviar uma requisição HTTP pode parecer simples, mas você rapidamente encontrará desafios técnicos, como envio de cabeçalhos corretos, formatação de dados JSON, tratamento adequado das respostas do servidor e até mesmo lidar com erros e exceções que podem ocorrer durante a comunicação. Esses desafios ilustram que, embora poderosa, a função requer uma compreensão sólida dos protocolos e da comunicação entre sistemas, o que pode representar uma barreira significativa para desenvolvedores que estão começando a explorar essa área.


Autor: joaopedrodev

 

Olá, engenheiro joaopedrodev!

De qualquer forma, muito obrigado por este artigo muito interessante.

Mas há apenas um pequeno problema. É que, quando tento testar em condições reais o código que você forneceu, ou seja, a função "WebRequest" com o método POST, a solicitação chega sem problemas ao meu servidor. Somente os dados passados nos parâmetros (

"{\"key1\":\"value1\",\"key2\":\"value2\"}" 

), eles não chegam ao servidor. É possível que você tenha uma ideia para resolver isso? Obrigado, senhor

Tradução automática aplicada pelo moderador. No fórum em inglês, por favor, escreva em inglês. Use a ferramenta de tradução automática ou poste em um dos fóruns de outros idiomas.
 
J M #:

Olá, engenheiro joaopedrodev!

De qualquer forma, muito obrigado por este artigo muito interessante.

Mas há apenas um pequeno problema. É que, quando tento testar em condições reais o código que você forneceu, ou seja, a função "WebRequest" com o método POST, a solicitação chega sem problemas ao meu servidor. Só que os dados passados nos parâmetros (

), eles não chegam ao servidor. É possível que você tenha uma ideia para resolver isso? Obrigado, senhor

Tradução automática aplicada pelo moderador. No fórum em inglês, por favor, escreva em inglês. Use a ferramenta de tradução automática ou publique em um dos fóruns de outros idiomas.

Olá @J M

Certifique-se de que está enviando esses dados no corpo da solicitação, para que o servidor receba corretamente os dados que você deseja enviar. Também peço que você use a versão mais recente da biblioteca que está anexada no último artigo Connexus Observer (Parte 8): Adicionando um observador de solicitação

J M
J M
  • 2024.06.19
  • www.mql5.com
Trader's profile
 
Também estou interessado no problema de usar o MT5 para DeFi. Em geral, vejo que o MT5, com todos os seus atrativos (ou seja, a capacidade de escrever ferramentas com ferramentas embutidas), não foi projetado para funcionar sem corretoras. Os projetos comerciais existentes, que permitem a conexão livre de recursos externos, são bastante caros para seu uso. O salário de um operador geralmente é irregular, portanto, despesas constantes não são adequadas para nós. O WebRequest() não é inicialmente conveniente para carregar cotações via API, porque as APIs de diferentes bolsas são diferentes e não são otimizadas para o WebRequest(). De fato, o WebRequest() é um método GET com foco restrito, mas a resposta vem com um conjunto de diferentes tipos de dados, que devem ser adaptados (melhor) em .csv, estruturados para o MT5. As listas Python são muito mais adequadas para isso do que as matrizes MQL. Mas esse não é o ponto, precisamos de um símbolo na visualização de mercado que possa carregar cotações de uma fonte externa (SQL, por exemplo). Por meio de um EA, isso é complicado e requer conexão com um corretor de esquerda. Portanto, o uso gratuito do MT5 ainda é questionável, e o WebRequest() é uma utopia.
 
Good Beer #:
Mas esse não é o ponto, precisamos de um símbolo na visão geral do mercado que possa carregar cotações de uma fonte externa (SQL, por exemplo).

Para essa finalidade, criei um símbolo personalizado e um serviço que, em segundo plano, atualiza seu histórico por meio das funções CustomRatesUpdate (via WebRequest) e CustomTicksAdd (via websocket).

Good Beer #:
Por meio de um EA, é complicado e requer uma conexão com um corretor de esquerda.

O uso do EA é realmente complicado. Use um serviço. Você não precisa se conectar a um corretor "esquerdo", obtenha cotações diretamente do provedor onde planeja negociar.

Good Beer #:
Portanto, o uso gratuito do MT5 ainda está em questão, e o WebRequest() é uma utopia.

Eu uso o MT5 livremente, sem nenhum problema. O WebRequest é bom para atualizações infrequentes do histórico e para enviar solicitações de negociação. Para atualizações em tempo real, use websockets.

 
É isso mesmo! Serviço! Não os estudei e me esqueci deles. Obrigado!