Mercado fechado - página 8

 
fxsaber:

O script no comentário do gráfico mostra este erro

Existe uma aplicação para este problema no SD? Você não tem mais de uma centena deles ainda não fechados?
 

Vasiliy Pushkaryov:
В СД есть заявка по этой проблеме?

Equipe de apoio2018.01.24 07:13

É preciso ter em mente que o Windows (Unix também) nunca foi um sistema operacional em tempo real. Isto significa que a medição do tempo em tal sistema não é uma prioridade e permite imprecisões.

Em segundo lugar, o temporizador no sistema é baseado em mensagens e suas filas de espera. Em uma aplicação de vento, todas as mensagens são processadas no fio principal. Eles são processados de forma sequencial. Com todas as suas implicações.

No seu caso, você deve escolher uma amostra crítica do temporizador. Se você escolher o menor - 1 milissegundo, então esteja pronto para desperdiçar 1000 vezes mais na geração, recebimento e processamento de mensagens do que se você escolher uma amostra de 1000 msec. Portanto, procure por um compromisso razoável.

Você não tem mais de uma centena deles ainda abertos?

Sim.

 

fxsaber:

Tentei me sincronizar desta forma

Não funciona. E eu tenho maus pensamentos em relação ao MT5 lag. Veja por si mesmo como seu roteiro se comportará com estas mudanças.

Tentei com seu código, ainda está atrasado. Vamos esperar que mais pessoas ou funcionários mais influentes da empresa prestem atenção a ela, já que a SD escreve que os atrasos são a norma.


 
Vasiliy Pushkaryov:

Tentei com seu código, ainda fica para trás. Vamos esperar que mais pessoas ou funcionários mais influentes da empresa prestem atenção a isto, já que o SD escreve que atrasos são a norma.

Bem, parece lógico, no Market Watch a hora do último tick em qualquer símbolo, e na janela do símbolo - a hora do tick no símbolo. É por isso que há discordância, os carrapatos não vêm ao mesmo tempo

 
Vitaly Muzichenko:

Bem, parece fazer sentido, na visão geral do mercado a hora do último tick para qualquer símbolo, e na janela do símbolo - a hora do tick para o símbolo. É por isso que há discordância, os carrapatos não vêm ao mesmo tempo

TimeCurrent - ver Ajuda.

 
fxsaber:

TimeCurrent - ver Ajuda.

Bem, isso mesmo: a última hora do servidor. Sem carrapato - sem tempo, mas há sempre um carrapato na visão geral do mercado para algum par, portanto o tempo não corresponde ao tempo no símbolo, onde o carrapato foi "há muito tempo".

 
Vitaly Muzichenko:

Isso mesmo: a última hora do servidor. Sem carrapato - sem tempo, mas há sempre um carrapato na análise do mercado para algum par, portanto o tempo não corresponde ao tempo no símbolo, onde o carrapato foi "há muito tempo".

TimeCurrent produz os mesmos valores para qualquer MQL-prog em qualquer momento.

 
Vitaly Muzichenko:

Isso mesmo: a última hora do servidor. Sem carrapato - sem tempo, mas há sempre um carrapato na visão geral do mercado para algum par, portanto o tempo não corresponde ao tempo no símbolo onde o carrapato estava "há muito tempo".

Eu também me lembrei disso. Mas a referência ali acrescentada:

"Em outros casos (chamada em OnInit(), OnDeinit(), OnTimer() e assim por diante, os manipuladores ) esta é a hora de chegada da última cotação para qualquer símbolo disponível na janela de observação do mercado, a mesma hora que é mostrada no título desta janela".

No código é OnTimer com um intervalo de 0,5 segundos. Como você pode ver na captura de tela acima, eu posso facilmente pegar manualmente no PrintScreen quando o tempo mostrado no título da janela não corresponde ao TimeCurrent().

 
Vasiliy Pushkaryov:

Eu também me lembrei disso. Mas aí a ajuda foi acrescentada:

"Em outros casos (chamada em OnInit(), OnDeinit(), OnTimer() e assim por diante, os manipuladores ) esta é a hora de chegada da última cotação por qualquer símbolo disponível na janela Market Watch, a mesma hora que é mostrada no título desta janela".

A ajuda originalmente mentiu:

No manipuladorOnTick(), esta função retornará o tempo de chegada do tick que está sendo manipulado

Isto, é claro, não é verdade. O roteiro, para ter certeza
void OnTick()
{
  Print(TimeCurrent());
  
  Sleep(10000);

  Print(TimeCurrent());  
}
 
fxsaber:

O certificado inicialmente mentiu:

Certamente não foi. Um roteiro para ter certeza
Não está muito claro o que está errado aqui.
Razão: