MQL4 Relógio de Tempo Real (segundo por segundo)

 

É 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

 

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!

 

você precisará de algo como isto, sua função inicial. O loop é executado no primeiro tick. depois disso, ele será independente do tick

while(true){
 updateWatch();
 Sleep(1000);
} 
 

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);
} 


e sim metatrader não gosta de loops intermináveis; ele cai como eu experimentei agora rs deveria ter uma pausa em algum lugar :)
Não há loops intermináveis nos indicadores. Para roteiros e EAs, não há problema se você atualizar os internos primeiro (como no acima).
 

Use MQL5