- Hora local y del servidor
- Horario de verano (local)
- Hora universal
- Pausar un programa
- Contadores de intervalos de tiempo
Contadores de intervalos de tiempo
Para detectar un intervalo de tiempo de hasta un segundo, basta con tomar la diferencia entre dos valores de datetime obtenidos mediante TimeLocal. Sin embargo, a veces necesitamos una precisión aún mayor. Para ello, MQL5 permite obtener contadores de milisegundos (GetTickCount, GetTickCount64) o microsegundos (GetMicrosecondCount) del sistema.
uint GetTickCount()
ulong GetTickCount64()
Las funciones devuelven el número de milisegundos que han pasado desde que se cargó el sistema operativo. La precisión de la temporización está limitada por el temporizador estándar del sistema (~10-15 milisegundos). Para una medición más precisa de los intervalos, utilice la función GetMicrosecondCount.
En el caso de la función GetTickCount, el tipo de retorno uint predetermina el periodo de tiempo tras el cual se desbordará el contador: aproximadamente 49,7 días. En otras palabras: la cuenta atrás volverá a empezar desde 0 si el ordenador no se ha apagado durante un tiempo tan prolongado.
En cambio, la función GetTickCount64 devuelve valores de ulong, y este contador no se desbordará en un futuro previsible (584'942'417 años).
ulong GetMicrosecondCount()
La función devuelve el número de microsegundos que han pasado desde el inicio del programa MQL.
En el script TimeCount.mq5 se resumen ejemplos de uso de las funciones de contador y Sleep.
void OnStart()
|
Este es el aspecto que podría tener la salida de registro del script.
GetTickCount()=12912811 / ok
|