explicar
MQL4 usa TimeLocal(); TimeCurrent() que são baseados no tick por tick mesmo iTime....
O que eu realmente quero é ser capaz de exibir em meu gráfico um relógio em tempo real que será atualizado a cada segundo, provavelmente usando meu relógio de computador ou um servidor remoto.
TimeCurrent() não é baseado em tic-tac.
Mas a função de início é baseada em tic-tac. Você pode usar um loop infinito em combinações com o sono. há um artigo publicado aqui no mql4.com explicando as vantagens e soluções.
Como todo o mt4 é baseado em tick, não gosto de implementar lógica sensível ao tempo. no passado, combinei estes dois em meus indicadores de tempo personalizados. É apenas um trabalho simples, mas você pode ter uma idéia. Se você quiser um relógio atualizado a cada segundo, então meu trabalho é inútil para você. https://www.mql5.com/en/code/10080
//z
A idéia é obter um relógio para atualizar a cada segundo não apenas as funções de chamada no Start() como seu programa, ou seja
if(TimeCurrent()>(t+TimeInSeconds))
de sua explicação; posso usar um laço na função init() e depois o que acontece quando a chamo na função start(); ainda será tique a tique!
zzuegg; este será um loop infinito e limitará o indicador metatrader a fazer uma coisa... contar.
Portanto, se você optar por usar a função sono em combinação com o TimeCurrenet chamado a partir de uma diversão para adicionar um segundo a cada Sleep(1000); este programa não será capaz de fazer mais nada.
Ele apenas contará.... para que você esteja se limitando a uma função.
e sim metatrader não gosta de loops intermináveis; ele cai como eu vivi agora rs deveria ter uma pausa em algum lugar :)
Você não está limitado a uma função. Você pode fazer o que quiser dentro do loop. você pode precisar de alguns recálculos para garantir um tempo de execução de 1 segundo. mas em geral funciona.
Eu nunca o fiz com acusações, mas na EA funciona.
Outra opção é usar um programa externo para enviar carrapatos falsos para seu terminal em um intervalo de 1seg. por isso você garantiu que a função de início é chamada pelo menos uma vez a cada segundo. Em combinação com meu código do Custom Timeframe Candles, você deve obter seu resultado.
while( !(IsTesting() || IsStopped()) ){ updateWatch(); RefreshRates(); if (...) doTrading(); Sleep(1000); }
Use MQL5
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
É meu subentendido que a função Start() funciona tique a tique.
Existe uma maneira de usar os dados em tempo real do relógio do computador e atualizá-los a cada segundo? Não tique por tique, mas a cada segundo?
Se sim, por favor, me dê alguma ajuda.
obrigado