MT5 e velocidade em ação - página 73

 
Andrey Dik:

Por favor, diga-me um exemplo onde eventos assíncronos são necessários e isso não é viável agora por meios padrão.

Tudo começou com um descasamento de eventos OnTick OnBook, e Slava o confirmou. Esta é uma delas.
O fxsaber é melhor que obter um SymbolInfoTick() em tempo hábil. Por causa da operação de bloqueio dos manipuladores, isto é um problema. São dois.
Aleitura de tomadas de diferentes manipuladores, isso é um problema. Este é o terceiro.
Looping loops nos manipuladores. Este é o quarto.
Cálculos longos. Este é o quinto.

Incapaz de receber eventos de manipuladores em tempo hábil se outro manipulador estiver ocupado. Isto é seis.
Muitas restrições ocorrem devido ao modelo de bloqueio dos manipuladores.
A lista pode continuar e continuar, desde que você tenha imaginação suficiente.

Para não mencionar eventos de gráficos, eventos de renderização gráfica, etc.
 
Igor Makanu:

Por quê? Eu entendo como funcionam as aplicações em Win.

É melhor você descobrir a história de Python, de onde e quando vieram essas bem denominadas muletas assíncronas? - Você entende que a arquitetura python não permitiu originalmente estas soluções?

Concordo que graças a estas coisas assíncronas você pode usaro Python para soluções cliente-servidor, talvez seja legal que o frontend do usuário possa agora usar os recursos de um servidor multi-processador,

mas por que um usuário em uma aplicação desktop teria um terminal em Win? - Bem, se você receber mais tópicos, mesmo que possa sincronizá-los com algumas funções de espera, um pool comum de mensagens/eventos permanecerá


Ok, estou cansado de discutir aqui na frente de todos vocês, desorganizar os fios com suas fantasias, não é problema meu.

E você não tem que começar com suas fantasias. Ninguém está lhe pedindo isso. Se você não sabe do que estou falando, é melhor ficar quieto, você vai passar por alfabetizado.

 
Roman:
Tudo começou com um descasamento dos eventos OnTick OnBook, e Slava confirmou-o. Esta é uma delas.
O fxsaber é melhor que obter um SymbolInfoTick() em tempo hábil. Por causa da operação de bloqueio dos manipuladores, isto é um problema. São dois.
Aleitura de tomadas de diferentes manipuladores, isso é um problema. Este é o terceiro.
Looping loops nos manipuladores. Este é o quarto.
Cálculos longos. Este é o quinto.

Incapaz de receber eventos de manipuladores em tempo hábil se outro manipulador estiver ocupado. Isto é seis.
Muitas restrições ocorrem devido ao modelo de bloqueio dos manipuladores.
A lista pode continuar e continuar, até onde se pode imaginar
.

A solução é simples - mova os manipuladores para separar os Expert Advisors. Qualquer modelo de evento pode ser implementado por meio do padrão MT5.

Outra coisa é que o Windows não é um sistema em tempo real, mas mesmo que fosse, o evento deve ser processado mais rapidamente do que o programado, mas não instantaneamente em qualquer caso. Portanto, os desenvolvedores estão certos (embora não seja para mim e não para você julgar se eles estão certos ou não): você quer executar programas mais rapidamente - compre processadores e memória mais rapidamente e com o maior número possível de núcleos reais.

 
Andrey Dik:

A solução é simples - mova os manipuladores para separar os Expert Advisors. Qualquer modelo de evento pode ser implementado por meio do MT5.

Outra coisa é que o Windows não é um sistema em tempo real, mas mesmo que fosse, o evento deve ser processado mais rapidamente do que o pretendido, mas não instantaneamente em qualquer caso.
Portanto, os desenvolvedores estão certos: você quer executar programas mais rapidamente - compre processadores e memória mais rapidamente e o maior número possível de núcleos reais.

Isto não é uma solução, mas uma muleta )) manipuladores dispersos em programas separados. Eles ensinam uma coisa ruim aqui ))
Os desenvolvedores estão errados aqui, todos os projetos sérios são escritos assincronamente por programadores normais.
Não é hardware que você precisa levantar, mas a arquitetura de execução do programa.

 
Roman:

Vá e aprenda programação assíncrona, você está ficando farto.

Romano, rapaz. Acalme-se já.

 
Slava:

Romano, rapaz. Acalme-se já.

Uncle Slava )) escrever todos os manipuladores em um loop de eventos sem bloqueio. Você resolverá uma série de problemas.

 
Roman:

Isto não é uma solução, mas uma muleta )) manipuladores dispersos em programas separados. Eles ensinam uma coisa ruim aqui ))
Os desenvolvedores estão errados aqui, todos os projetos sérios são escritos assincronamente por programadores normais.
Não é o hardware que precisa ser atualizado, mas a arquitetura de execução do programa.

Qual é o problema? Você escreve seu próprio código e está comprovadamente certo.

Eu admiro esses caras, eles não lhe disseram nada, eles tentaram explicar. De uma maneira muito cortês. Eles não precisam provar nada para você - eles são auto-suficientes. O Saber foi proibido aqui mais do que qualquer outra pessoa. Dick também foi banido. Igor é a própria exatidão, e ele está constantemente aprendendo. Mas temos um diálogo muito frutífero com eles. Ao contrário de você.

 
Roman:

Uncle Slava )) escrever todos os manipuladores em um loop de eventos sem bloqueio. Você resolverá uma série de problemas.

O que não bloqueia não funciona. Pura e simplesmente por razões objetivas

 
Slava:

Qual é o problema? Você escreveu seu próprio código - você provou seu ponto de vista.

Eu admiro esses caras, eles não mandaram você embora, eles tentaram explicar. De uma maneira muito cortês. Eles não precisam provar nada para você - eles são auto-suficientes. O Saber foi proibido aqui mais do que qualquer outra pessoa. Dick também foi banido. Igor é a própria exatidão, e ele está constantemente aprendendo. Mas temos um diálogo muito frutífero com eles. Ao contrário de você.

Se as pessoas aqui não entendem sobre o que estão escrevendo, sinto muito, não é problema meu, é problema daqueles que não fumam o tema da conversa.

 
Slava:

O que não bloqueia não funciona. Puramente por razões objetivas.

Você pode especificar estas razões objetivas?