Características da linguagem mql5, subtilezas e técnicas - página 107

 
fxsaber:

Provavelmente significa que uma única passagem pode durar mais de ~50 dias.

Não, o Slava acertou e disse-o.

 
Nikolai Semko:

A densidade de tempo no testador é completamente diferente. Não vai funcionar.

Eu estava errado.
Eu estava certo de que na funçãoGetTickCount() do testador a função emula valores baseados no tempo de teste.

Muito estranho e ilógico. Surpresa para mim. Isso significa que GetTickCount() simplesmente "congela" no testador.

 
Nikolai Semko:

Eu estava errado.
Eu tinha certeza que a função GetTickCount() no testador estava emulando valores com base na hora do teste.

Muito estranho e não lógico. Surpresa para mim. Isto é, deve-se entender que GetTickCount() simplesmente "congela" no testador.

Por que é ilógico?

Dentro de uma chamada OnTick, OnCalculate, OnInit, OnDeinit, etc. é bastante lógico. Os cálculos podem ser muito diferentes na severidade.

 
TheXpert:

Não, o Slava acertou e disse-o.

Não, ele não o fez.
Se passaram exactamente 50 dias desde o início do programa, a diferença irá mostrar algumas horas.

Mas se você usarGetMicrosecondCount() em vez de GetTickCount(), então o tempo de não transbordar será de 584542 anos em vez de 50 dias
ZY Para ser mais exato, 583081 anos se você considerar o calendário gregoriano ))

 
Slava:

Por que é ilógico?

Dentro de uma única chamada para OnTick, OnCalculate, OnInit, OnDeinit, etc. é bastante lógico. Os cálculos podem ser muito diferentes na severidade.

Bem sim, é apenas lógico para medir o tempo de execução dos cálculos de alguma função ou bloco de código. As funções GetTickCount() eGetMicrosecondCount() são inúteis no testador para o resto, por exemplo, para medir o tempo entre alguns eventos.

 
Depois disso, a origem de todos os grãos de teste é clara. ))
 
Nikolai Semko:

Não, não é.
Se tiverem decorrido exactamente 50 dias desde o início do programa, a diferença irá mostrar algumas horas.

Tais intervalos não são medidos

Para ser honesto, mesmo que tal caso seja levado em conta, COMO levá-lo em conta - não sei.

 
TheXpert:

tais lacunas não são medidas

E para ser honesto, mesmo que tal caso seja levado em conta, COMO levá-lo em conta - eu não sei.

Não, claro que não tens de te preocupar com isso. 50 dias - realmente ultrapassa os limites da aplicação prática. Se você realmente precisa testar mais de 50 dias, melhor ainda usarGetTickCount(), porque é mais fácil, apenas com controle de transbordamento (haverá variável adicional).

 

Na verdade, o tema da hora local no testador é muito tóxico para a concorrência leal. Está tudo em mentiras brancas.
Se eu fosse MQ, fecharia todas estas brechas para determinar a hora local, porque não é necessário no testador, e só é necessário fazer disparates para os novos comerciantes crédulos.

Bem, ou pelo menos remover este tópico deste tópico e outros, se disponíveis.

 
Nikolai Semko:

Na verdade, o tema levantado da hora local no testador é muito tóxico para a concorrência leal. É tudo um chapéu branco.
Se eu fosse MQ fecharia todas essas brechas para definir a hora local, porque não é necessário no testador, e apenas necessário para enganar os crédulos novos comerciantes.

Bem, ou pelo menos retirar o tópico deste tópico e outros, se disponíveis.

Nenhuma decepção pode ser suportada pelo tema. Quanto à aplicação prática, utilizo-a em KB. É útil.

Razão: