Bibliotecas: Trabalhando com soquetes em MQL5 - página 2

 
avoitenko:

Ainda não fiz a transferência de cotações exatamente como o MT4 faz via DDE, porque o MT4 é um servidor de automação. Faço da seguinte maneira: o MT5 é um cliente e, se você quiser saber os current_prices, envia uma solicitação e obtém o resultado. Isso funciona para todos os pares de moedas ativos na janela de visualização do mercado.

Também é possível enviar todas as cotações em um lote nesse projeto. Por exemplo, em um Expert Advisor, em um cronômetro a cada segundo, receba os dados e verifique, antes de enviá-los, se os novos dados não são semelhantes aos dados já enviados para cada par de moedas, ou seja, uma alteração nos dados de Ask ou Bid será considerada um novo tique.

O cronômetro não é adequado, pois a carga será muito grande!

"...para que os novos dados não sejam semelhantes aos dados já enviados".

Às vezes, o valor da cotação pode ser o mesmo que o anterior, determinando a atividade no mercado.

 
gisip:

O cronômetro não é adequado, pois o excesso de carga será muito grande!

Aparentemente, para resolver seu problema, é necessário receber e enviar ao servidor os dados no evento OnBookEvent de alteração do preço do vidro.

 
avoitenko:

Aparentemente, para resolver sua tarefa, é necessário receber e enviar ao servidor dados sobre o evento OnBookEvent de alteração do tumblr de preço.

Você tem um exemplo de uso do evento OnBookEvent price glass, pois não consigo entender por onde começar?
[Excluído]  
gisip:
Você tem um exemplo de como usar um preço de vidro OnBookEvent, pois não consigo entender por onde começar?
Obtendo o vidro ou usando-o no TC?
 
Interesting:
Obter um vidro ou usá-lo em um TC?
Qualquer coisa que não seja patética!
[Excluído]  
gisip:
Qualquer coisa que não seja inútil!

É melhor usar óculos na Alpari (há problemas com eles aqui).

Você pode ver um exemplo aqui
 

Olá, muito bom trabalho!

O mql5.dll funciona com o EA mq4?

Você tem um exemplo?

 
Veja este exemplo para MLQ4 - trabalhando com soquetes sem usar DLL.
 

Obrigado por isso!

mas para a versão x64, você precisa alterar os rutins my_rand()

//--------------------------------------------------------------------------//
unsigned long long rand64()
//--------------------------------------------------------------------------//
{
        return ( static_cast<unsigned long long>( rand() ) << 32 ) | rand();
}

algo assim.

 
Однако, непосредственная работа с функциями этой библиотеки невозможна из-за отсутствия в MQL5 механизма работы с указателями и передачи сложных типов данных в качестве параметров в вызываемые функции DLL.

tudo é possível! Normalmente, a MQL5 passa/recebe estruturas e ponteiros para elas em funções DLL.