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
Basta chamar start() a partir do init () ...e você estará no start() mesmo que não venha nenhum tick !
obrigado u 2
Expandindo o meu link acima... Eu executo uma EA separada para monitorar o status da conexão. Ele basicamente tem todo o código para o meu teste codificado por dentro, começando com um sono no final. O início é basicamente um grande loop, quando termina, ele volta para o início. Mas ao invés de esperar que um tick acione o início, eu chamo de start() dentro do init(). Desta forma, start() continua a fazer loop com o sono e o init() nunca termina, então o código funciona com base em intervalos de tempo a partir do sono em vez de esperar por um tick... o link acima mostra o principal...
hth
V
Basta chamar start() a partir do init () ...e você estará no start() mesmo que não venha nenhum tick !
nenhum dos dois resolve o problema porque o init() também não começou se não houver conexão
a única maneira de fazer isso é com um script; o problema é que não há maneira de abrir o terminal com um script carregado
nenhum dos dois resolve o problema porque o init() também não começou se não houver conexão
a única maneira de fazer isso é com um script; o problema é que não há maneira de abrir o terminal com um script carregado
Dê uma olhada nas ferramentas do MT4i.com. Eu as utilizo para monitot connexionar e enviar alerta por correio ou sms.
http://www.mt4i.com/mtdashboard.aspx
Basta chamar start() a partir do init () ...e você estará em start() mesmo que não venha nenhum tick !
NÃO! Isto não é permitido. espera-se que o init() retorne após 2 segundos. Não é permitido bloquear o init()! Todo tipo de problema pode (e irá) surgir a partir disso.
Basta fazer o loop no início e esperar que o próximo tick disponível seja chamado automaticamente após o carregamento da EA. Houve ticks antes que a conexão caísse, portanto seu loop já estará funcionando quando este evento ocorrer.
Se você realmente precisar acionar um init() a partir de dentro do init() porque você precisa que ele funcione no fim de semana, então a única maneira correta é usar o truque PostMessage() para impor um tick. Você atira a mensagem e depois deixa o init retornar! O MT4 então chamará start() da maneira normal e o init() não bloqueará.
Veja o próximo post para um exemplo.
E isto é o mesmo que o script acima, mas implementado como uma EA, demonstra os dois conceitos em uma EA.
No init(), ele vai perguntar o primeiro tique para acionar o primeiro start() e depois no start(), ele vai produzir mais tiquetaques em um loop infinito.
Esta é a única maneira correta de forçar um início() de dentro do init() em uma EA. Você não está autorizado a fazer isto em um indicador, uma vez que o start() será executado na rosca GUI.
tente colocar este EA em um gráfico, feche o terminal, depois desative sua conexão à internet e ligue seu terminal (enquanto a conexão à internet estiver desligada) & Você verá que não funciona
tente colocar esta ea em uma tabela fechar o terminal do que desativar sua conexão com a internet e ligar seu terminal (enquanto a conexão com a internet estiver desligada) & Você verá que não funciona
Mas deve continuar funcionando uma vez iniciado em condições normais (que deve ser o caso de uso normal). Tente desconectar depois de ter sido iniciado.
E serve como um exemplo de como evitar um init() de bloqueio e executá-lo como um EA em vez de um script.
Mas deve continuar funcionando uma vez iniciado em condições normais (que deve ser o caso de uso normal). Tente desconectar depois de ter sido iniciado.
E serve como um exemplo de como evitar um init() de bloqueio e executá-lo como um EA em vez de um script.
Você está certo, mas eu não estou procurando uma solução para a situação que você descreve, eu estou procurando uma solução para a situação que eu descrevo, e neste momento a única solução que encontrei, que, software externo, irá executar um script