Características del lenguaje mql5, sutilezas y técnicas - página 107

 
fxsaber:

Probablemente se refiere a que un solo pase puede durar más de ~50 días

No, Slava ha acertado y lo ha dicho.

 
Nikolai Semko:

La densidad de tiempo en el probador es completamente diferente. No funcionará.

Me equivoqué.
Estaba seguro de que en el probador la funciónGetTickCount( ) emula valores basados en el tiempo de prueba.

Muy extraño e ilógico. Una sorpresa para mí. Esto significa que GetTickCount() simplemente se "congela" en el probador.

 
Nikolai Semko:

Me equivoqué.
Estaba seguro de que la función GetTickCount() del probador emulaba valores basados en el tiempo de la prueba.

Muy extraño y poco lógico. Una sorpresa para mí. Es decir, debe entenderse que GetTickCount() simplemente se "congela" en el probador.

¿Por qué es ilógico?

Dentro de una llamada OnTick, OnCalculate, OnInit, OnDeinit etc es bastante lógico. Los cálculos pueden ser muy diferentes en gravedad.

 
TheXpert:

No, Slava acertó y lo dijo.

No, no lo hizo.
Si han pasado exactamente 50 días desde el inicio del programa, la diferencia mostrará unas pocas horas.

Pero si usasGetMicrosecondCount() en lugar de GetTickCount(), entonces el tiempo de no desbordamiento será de 584542 años en lugar de 50 días
ZY Para ser más exactos 583081 años si consideras el calendario gregoriano ))

 
Slava:

¿Por qué es ilógico?

Dentro de una sola llamada a OnTick, OnCalculate, OnInit, OnDeinit etc es bastante lógico. Los cálculos pueden ser muy diferentes en gravedad.

Pues sí, es lógico para medir el tiempo de ejecución de los cálculos de alguna función o bloque de código. Las funciones GetTickCount() yGetMicrosecondCount() son inútiles en el probador para el resto, por ejemplo, para medir el tiempo entre algunos eventos.

 
Después, el origen de todos los griales de prueba está claro. ))
 
Nikolai Semko:

No, no lo es.
Si han transcurrido exactamente 50 días desde el inicio del programa, la diferencia mostrará unas pocas horas.

Estos intervalos no se miden

Para ser honesto, incluso si tal caso se tiene en cuenta, CÓMO tenerlo en cuenta - no lo sé.

 
TheXpert:

no se miden estas brechas

Y para ser honesto, incluso si tal caso se tiene en cuenta, CÓMO tenerlo en cuenta - no lo sé.

No, por supuesto que no tienes que preocuparte. 50 días - realmente va más allá de la aplicación práctica. Si realmente necesita probar más de 50 días, es mejor utilizarGetTickCount(), porque es más fácil, sólo con el control de desbordamiento (habrá una variable adicional).

 

De hecho, el tema de la hora local en el probador es muy tóxico para la competencia justa. Todo está en las mentiras blancas.
Si yo fuera MQ, cerraría todas estas lagunas para determinar la hora local, porque no es necesario en el probador, y sólo es necesario para hacer tonterías a los nuevos comerciantes crédulos.

Bueno, o al menos eliminar este tema de este hilo y otros, si está disponible.

 
Nikolai Semko:

De hecho, el tema planteado de la hora local en el probador es muy tóxico para la competencia justa. Todo es de sombrero blanco.
Si yo fuera MQ cerraría todas esas lagunas para definir la hora local, porque no es necesario en el probador, y sólo es necesario para engañar a los crédulos nuevos operadores.

Bueno, o al menos quitar el tema de este hilo y de otros, si está disponible.

No hay engaño que pueda soportar el tema. En cuanto a la aplicación práctica, la utilizo en KB. Es muy útil.