Por que a Metaquotes empurra o MT5 em vez do MT4? - página 4

 
fxsaber:

Estranho que ao longo dos anos ninguém tenha colocado funções de ordem assíncrona na kodobase MT4.

Como é isso? Pedidos de diferentes terminais?

 
Andrei:

Como assim? Pedidos de diferentes terminais?

Chartow.

 
fxsaber:

Gráficos.

As ordens do gráfico individual vão de forma assíncrona para o MT4?
 
fxsaber:

Esta opção, infelizmente, só funciona para um símbolo de cada vez.


É estranho que ninguém tenha colocado funções de ordem assíncrona no MT4 kodobase ao longo dos anos.


Eu os chamaria de multi-threaded mas síncronos porque eles esperam por uma resposta do servidor de qualquer maneira. Havia um produto assim no mercado. Você pode procurar por ela.

 
Andrey Barinov:

Eu os chamaria de multi-threaded, mas também síncronos, pois eles estão esperando por uma resposta do servidor de qualquer maneira. Havia um produto assim no mercado. Você pode procurá-lo.

Você pode, é claro, fazer nerd sobre os nomes.
 
fxsaber:

É estranho que ninguém jamais tenha colocado funções de ordem assíncrona na kodobase MT4 ao longo dos anos.

Tecnicamente, não é difícil criar um sistema tão escalável de Expert Advisors auxiliares para enviar pedidos, mas será que vale a pena?

Afinal, existe apenas um fluxo comercial de qualquer maneira. Enquanto uma ordem de uma EA está sendo processada, a IsTradeContextBusy retornará verdadeira e as próximas ordens ("paralelas") ficarão penduradas na fila.

 
Stanislav Korotky:

Tecnicamente não é difícil fazer um sistema tão escalável de EAs auxiliares para enviar pedidos, mas será que vale a pena?

Afinal, de qualquer forma, existe apenas um fio comercial. Enquanto um pedido de um consultor especializado está sendo processado, a IsTradeContextBusy retornará verdadeiro e os próximos pedidos ("paralelos") serão pendurados na fila.

Não é assim. IsTradeContextBusy retornará verdadeiro se 9 pedidos forem enviados antes que pelo menos um deles seja processado. Verificado. 8 - sim, tudo funciona. Nove em paralelo - sim, "linha ocupada".

 
Vladimir:

Não é assim. IsTradeContextBusy retornará verdadeiro se 9 pedidos forem enviados antes que pelo menos um deles seja processado. Verificado. 8 - sim, tudo funciona. Nove em paralelo - sim, "a linha está ocupada".

Existe um link para alguma fonte oficial de informação? Então, o valor de retorno não garante nada, mesmo que o comportamento seja exatamente o mesmo - muito provavelmente, significa que há um buffer para 8 pedidos, mas ainda há um thread enviando-os para o servidor.

 
Stanislav Korotky:

Existe um link para alguma fonte oficial de informação? Então, o valor de retorno não garante nada, mesmo que o comportamento seja exatamente isso - muito provavelmente significa que há um buffer para 8 pedidos, mas ainda há um thread enviando-os para o servidor.

O fio é o mesmo para uma EA. Oito EAs em uma conta funcionarão sem interferir um com o outro.

Acho estranho que você ainda não saiba disto. Isso já foi dito muitas vezes, inclusive por Renat.

 
Stanislav Korotky:

Tecnicamente não é difícil fazer um sistema tão escalável de EAs auxiliares para enviar pedidos, mas será que vale a pena?

Ao comercializar o mesmo portfólio, precisamos de uma assincronia como o ar. Uma vez que os Expert Advisors/Scripts podem ser lançados em MQL4 puro e novos gráficos podem ser abertos para eles, precisamos apenas escrever um artigo literário para MT4 uma vez - conectá-lo ao código fonte em uma linha e todas as funções de pedido se tornam assíncronas, com o OnTrade através do CustomEvent e quando o Expert Advisor inicia, os oito Expert Advisors universais são carregados em segundo plano automaticamente.