Mercado cerrado - página 8

 
fxsaber:

El script en el comentario del gráfico muestra este error

¿Existe una aplicación para este problema en la SD? ¿No tiene más de un centenar de ellas aún sin cerrar?
 

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

Equipo de apoyo2018.01.24 07:13

Hay que tener en cuenta que Windows (también Unix) nunca ha sido un sistema operativo en tiempo real. Esto significa que la medición del tiempo en un sistema de este tipo no es una prioridad y permite que haya imprecisiones.

En segundo lugar, el temporizador del sistema se basa en los mensajes y sus colas. En una aplicación de viento todos los mensajes se procesan en el hilo principal. Se procesan de forma secuencial. Con todas sus implicaciones.

En su caso, debe elegir una muestra de temporizador crítico. Si eliges el más pequeño - 1 milisegundo, prepárate para gastar 1000 veces más en la generación de mensajes, la búsqueda de mensajes y el procesamiento de mensajes que si eliges una muestra de 1000 mseg. Así que busca un compromiso razonable.

¿No tiene más de un centenar de ellas aún abiertas?

Sí.

 

fxsaber:

Traté de sincronizar así

No funciona. Y tengo malos pensamientos hacia el lag de MT5. Comprueba por ti mismo cómo se comportará tu script con estos cambios.

Lo he probado con tu código, pero sigue habiendo retrasos. Esperemos a que más personas o empleados más influyentes de la empresa le presten atención, ya que SD escribe que los retrasos son la norma.


 
Vasiliy Pushkaryov:

Lo he probado con tu código, pero sigue siendo un retraso. Esperaremos a que más personas o empleados más influyentes de la empresa presten atención a esto, ya que la SD escribe que los retrasos son la norma.

Bueno, parece lógico, en el Market Watch la hora del último tick en cualquier símbolo, y en la ventana de símbolos - la hora del tick en el símbolo. Por eso hay desacuerdo, las garrapatas no llegan al mismo tiempo

 
Vitaly Muzichenko:

Bueno, parece que tiene sentido, en la visión general del mercado la hora del último tick para cualquier símbolo, y en la ventana del símbolo - la hora del tick para el símbolo. Por eso hay desacuerdo, las garrapatas no llegan al mismo tiempo

TimeCurrent - ver Ayuda.

 
fxsaber:

TimeCurrent - ver Ayuda.

Así es: la última hora del servidor. Sin tic - no hay tiempo, pero siempre hay un tic en la visión general del mercado para algún par, por lo que el tiempo no se corresponde con el tiempo en el símbolo, donde el tic fue "hace tiempo".

 
Vitaly Muzichenko:

Así es: la última hora del servidor. Sin tic - no hay tiempo, pero siempre hay un tic en la revisión del mercado para algún par, por lo que el tiempo no corresponde al tiempo en el símbolo, donde el tic fue "hace mucho tiempo".

TimeCurrent emite los mismos valores para cualquier MQL-prog en cualquier momento.

 
Vitaly Muzichenko:

Así es: la última hora del servidor. Sin tic - no hay hora, pero siempre hay un tic en la visión general del mercado para algún par, por lo que la hora no se corresponde con la hora en el símbolo donde el tic fue "hace tiempo"

Yo también me acordé de eso. Pero la referencia allí añadida:

"En otros casos (llamada en los manejadores OnInit(), OnDeinit(), OnTimer() y demás) es la hora de llegada de la última cotización de cualquier símbolo disponible en la ventana de Observación del Mercado, la misma que se muestra en el título de esta ventana."

En el código es OnTimer con un intervalo de 0,5 seg. Como puedes ver en la captura de pantalla de arriba, puedo fácilmente atrapar manualmente en PrintScreen cuando el tiempo mostrado en el título de la ventana no coincide con TimeCurrent().

 
Vasiliy Pushkaryov:

Yo también me acordé de eso. Pero ahí la ayuda añadida:

"En otros casos (llamada en los manejadores OnInit(), OnDeinit(), OnTimer() y demás) es la hora de llegada de la última cotización de cualquier símbolo disponible en la ventana de Market Watch, la misma que se muestra en el título de esta ventana."

La ayuda originalmente mintió:

En el manejadorOnTick(), esta función devolverá la hora de llegada del tick que se está manejando

Esto, por supuesto, no es cierto. El guión, para estar seguros
void OnTick()
{
  Print(TimeCurrent());
  
  Sleep(10000);

  Print(TimeCurrent());  
}
 
fxsaber:

El certificado mintió inicialmente:

Ciertamente no lo era. Una secuencia de comandos para asegurarse
No está muy claro qué es lo que falla aquí.
Razón de la queja: