Perguntas sobre a MQL4. - página 2

 
komposter, bem, me ajude.
Responder à pergunta original.
Estou tendo alguns milagres por aqui...
 
Você está falando sobre a caixa de mensagens?
Quero dizer, verifique com você mesmo?
 
Sim. Ou de alguma forma.
Estou chegando à conclusão de que um CF pendurado por um tempo antes de pressionar o botão não permite que a EA seja conectada mais tarde.
Coloque qualquer MB em deinit, carregue e descarregue EA.
1. Se você responder OK rapidamente, continua sendo possível reconectar a EA.
2. Se você esperar um pouco, a EA não entrará.

Quase perdi a cabeça quando o entendi...
 
você já tentou ler os registros? =))))
Eu lhe disse no primeiro posto - o deinit corre por 2,5 segundos.
A caixa atrasa o processo, e a EA é fechada à força. Depois disso, não funciona (acabou de descobrir)
A propósito, ele funciona no roteiro ;)
 
Veja, a coisa é...
Deixe funcionar o tempo que você quiser, mas por que (ou por que) precisamos da dificuldade de conectar a próxima EA depois?

É suposto ser assim, ou é uma falha? Talvez os desenvolvedores possam nos dizer...
 
Talvez os desenvolvedores nos digam
... talvez eles =)
mas até agora eles raramente (ou pouco?) leram este fórum...
 
komposter:
deinit funciona por 2,5 segundos - o usuário deve responder tão rapidamente? =)
Você pode escrever em um arquivo o que precisa ser feito, e então o script irá lê-lo, exibir MessageBox e, dependendo da resposta, fazer algo a respeito.
como regra geral, se o script não for loopado infinitamente, seu deinit pode funcionar por muito tempo. a razão é que, se o script não for extinto externamente, não há ninguém para controlar o timeout. o deinit do script ocorre naturalmente imediatamente após a função de início ser executada. mas para o deinit especializado funcionar, o EA deve ser extinto primeiro por uma das 6 maneiras
 
stringo,
se o roteiro não for laçado indefinidamente, seu deinit pode funcionar por um longo tempo.
Realmente não entendo. O que o looping tem a ver com a duração do deinit?
 
SKif:
stringo,
se o roteiro não for laçado indefinidamente, seu deinit pode funcionar por muito tempo.
Realmente não entendo. O que o looping tem a ver com a duração do deinit?
se o script tiver um loop infinito - ele funcionará até ser desativado (então o deinit será limitado a 2,5 segundos), e se não - ele funcionará primeiro a partida e depois o deinit (se houver) e o deinit funcionará o tempo que você quiser
 
SKif:
Realmente não entendo. O que o looping tem a ver com as durações deinit?
é muito simples. um script com loop infinito não termina por si mesmo. ele só pode ser extinto externamente (apagar o script explicitamente, pendurar um novo script, mudar o símbolo/tempo do gráfico, fechar o gráfico, fechar o terminal). quando o comando para fechar o script (e o EA também) é passado, a espera de 2,5 segundos é definida imediatamente depois. Se o roteiro (ou especialista) é tão "estúpido" que não verifica o IsStopped, então, após 2 segundos e meio, é colocada uma bandeira de parada, que é verificada automaticamente após cada iteração do loop e após cada chamada de qualquer função.
Se o roteiro completar seu trabalho, então ele corre deinit e ninguém o observa de cima e nenhum timeout é verificado.