Características da linguagem mql5, subtilezas e técnicas - página 204
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
Ninguém garantiu que os outros manipuladores de eventos serão interrompidos (ou não correrão).
Após o alerta, tanto o deinit como o init acontecem, certo?
Sim, há um reinício completo em curso. É apenas o temporizador (mesmo um segundo) que é colocado - uma característica, não um bug.
Este conselheiro alerta quando se muda de conta. Parece que não o deveria fazer, de acordo com a regra
Esta característica pode ser utilizada para resolver um problema simples de formulação, mas complexo na implementação.
Esta característica pode ser utilizada para resolver um problema simples de formulação mas complexo de implementação.
Porque não podemos simplesmente verificar a mudança de conta à entrada de cada On-function?
Porquê um temporizador de milissegundos? Não interromperá de qualquer forma a execução do programa se ocorrer um re-login durante o tempo de execução.
Porque não pode simplesmente verificar a mudança de conta à entrada de cada On-function?
Porquê um temporizador de milissegundos? Não interromperá a execução do programa de qualquer forma se um novo registo acontecer enquanto estiver a decorrer.
Experimente-o. Há uma longa discussão sobre este tópico no link acima.
Sim, há um reinício completo em curso. É apenas o temporizador (mesmo um segundo temporizador) que é esbarrado - uma característica, não um bug.
Após o comando ExpertRemove() a bandeira de paragem é simplesmente levantada e a EA continua a funcionar até ao próximo tick. Num novo tick, a EA será descarregada quando a bandeira de paragem for hasteada. Isto significa que até que um novo tick chegue, todas as funções On-funções continuam a funcionar no modo normal.
Consequentemente, se não conseguirmos obter o estado desta bandeira programática (não procurei especificamente esta funcionalidade), então precisamos de ter uma bandeira personalizada a nível mundial. Pomos a nossa própria bandeira antes do comando ExpertRemove() e verificamo-la em cada On-function. Se a bandeira estiver hasteada, partimos. Então, o temporizador não executará o código que nele está escrito.
Ou talvez eu me tenha enganado e a questão seja diferente?
Após o comando ExpertRemove(), a bandeira de paragem é simplesmente colocada e a EA continua a funcionar até ao próximo tick. Num novo tick, se a bandeira de paragem for colocada, a EA será descarregada. Isto significa que até que um novo tick chegue, todas as funções On-funções continuam a funcionar no modo normal.
Consequentemente, se não conseguirmos obter o estado desta bandeira programática (não procurei especificamente esta funcionalidade), então precisamos de ter uma bandeira personalizada a nível mundial. Pomos a nossa própria bandeira antes do comando ExpertRemove() e verificamo-la em cada On-function. Se a bandeira estiver hasteada, partimos. Então, o temporizador não executará o código que nele está escrito.
Ou talvez tenha percebido tudo mal e a questão seja diferente?
Não sei que problema está a descrever.
Após o comando ExpertRemove(), a bandeira de paragem é simplesmente colocada e a EA continua a funcionar até ao próximo tick. Se a bandeira de paragem for hasteada num novo tick, a EA é descarregada. Isto significa que até que um novo tick chegue, todas as funções On-funções continuam a funcionar no modo normal.
Consequentemente, se não conseguirmos obter o estado desta bandeira programática (não procurei especificamente esta funcionalidade), então precisamos de ter uma bandeira personalizada a nível mundial. Pomos a nossa própria bandeira antes do comando ExpertRemove() e verificamo-la em cada On-function. Se a bandeira estiver hasteada, partiremos. Então, o temporizador não executará o código que nele está escrito.
Ou talvez tenha percebido tudo mal e a questão seja diferente?
Não num novo tique, mas no próximo regresso;
Colocar ExpertRemove() no OnInit() e verificá-lo passo a passo no debug.
Não num novo tique, mas no próximo regresso;
Colocar ExpertRemove() no OnInit() e verificá-lo passo a passo na depuração.
Sim, erro meu. Qualquer evento seguinte não será executado. Há muito tempo que não procuro ajuda para funções de que não preciso :)
Não sei que problema está a descrever.
O significado da resposta não é claro. Não importa.
O significado da resposta não é claro.
ExpertRemove não foi invocado.