Historia de la garrapata - página 10

 
Vasiliy Sokolov:
El tiempo es un verdadero problema en MT5. En primer lugar, el tipo de fecha del sistema tiene una resolución demasiado baja, según los estándares modernos, un segundo es una eternidad. En segundo lugar, la llegada de eventos no está relacionada con el tiempo. Supongamos que obtenemos una nueva captura de pantalla de un vaso en OnBookEvent, ¿y a qué hora se refiere? ¿Debemos buscar TimeCurrent con la última hora conocida del servidor? ¿Y si la última hora conocida del servidor se ha actualizado hace un minuto?

Es poco probable que cambien la fecha antes del año 3000

последняя дата datetime 3001.01.01 00:00:00 | 32535216000

Es mucho más fácil hacer una envoltura.

struct millisekdatetime
  {
   datetime time;
   ushort millisek;
  };
 
Tapochun:
No necesito un indicador. Y no necesito diferencias de modo. Dime, ¿observas diferencias de los mismos ticks al solicitar desde un modo una cantidad diferente (por ejemplo, 2000 y 10000).
Karputov Vladimir:
Ahora lo entiendo. Tengo que comprobarlo...

Ghjdt Comprobado. Así que: en una misma herramienta para un mismo modo de recepción de ticks (busqué el modo COPY_TICKS_INFO - sólo Bid y Ask) y a diferente profundidad de solicitud de ticks el flujo de ticks llega de manera diferente. El archivo adjunto del Asesor Experto (v. 1.41) muestra claramente la razón de tal comportamiento:

1

Al solicitar 1500 devuelve 1500 ticks, al solicitar 10000 devuelve 4691. Generalmente, si devuelve más de 2000 ticks, entonces el modo de devolver el historial cambia.

Archivos adjuntos:
CopyTicks.mq5  4 kb
 
Karputov Vladimir:

Ghjdt Comprobado. Así que: en un mismo código para un mismo modo de recepción de ticks (he comprobado el modo COPY_TICKS_INFO - sólo Bid y Ask) y a diferente profundidad de solicitud de ticks se recibe un flujo de ticks diferente. El archivo adjunto del Asesor Experto (v. 1.41) muestra claramente la razón de tal comportamiento:

Al solicitar 1500 devuelve 1500 ticks, al solicitar 10000 devuelve 4691. En general, si se devuelven más de 2000 ticks, se cambia el modo de devolución del historial.

Ya está, genial, tengo lo mismo. Escribí a servicedesk, vamos a esperar.
 
Tapochun:
Eso es genial, yo tengo lo mismo. Escribí a servicedesk, vamos a esperar.

He observado una característica interesante. He ejecutado el EA descrito en mi post anterior con un instrumento nuevo (aún no ha solicitado el historial de ticks y por lo tanto no ha creado archivos con el historial de ticks en el disco) y he comprobado que al principio devolvía unos 200 ticks cuando solicitaba 2000. Pero poco a poco, con cada tic, el número de tics devueltos crece - parece que la historia en línea se está añadiendo a los 200 tics iniciales mientras escribo aquí.

Añadido: adjunto EA v 1.42 - corregido el error de salida de rango en la primera ejecución.

Archivos adjuntos:
CopyTicks.mq5  4 kb
 
Actualizado a la nueva versión 1190. Recompilación de EA en la nueva versión. En la prueba CopyTicks() no obtiene los ticks - error 4014.
 
Karputov Vladimir:

He observado una característica interesante. He ejecutado el EA descrito en mi post anterior con un instrumento nuevo (aún no ha solicitado el historial de ticks y por tanto no ha creado archivos con el historial de ticks en el disco) y he comprobado que al principio devolvía unos 200 ticks cuando solicitaba 2000. Pero poco a poco, con cada tic, el número de tics devueltos crece - parece que la historia en línea se está añadiendo a los 200 tics iniciales mientras escribo aquí.

Añadido: adjunto EA v 1.42 - corregido el error de salida de rango en la primera ejecución.

Sí, Renat ha observado que las garrapatas se están cargando. Así que deberíamos comprobar si hay un retorno de -1 (al menos). Por el contrario, el modo COPY_TICKS_INFO permite al analizador comprobar la igualdad de los ticks devueltos con el solicitado, aunque no sea tan importante. Seguirá devolviendo menos.
 
Tapochun:
Sí, Renat señaló que las garrapatas son recogidas. Por lo tanto, debe comprobar el retorno -1 (al menos). Y en el modo COPY_TICKS_INFO, puede comprobar que la cantidad devuelta es igual a la solicitada, aunque no lo haga, es inútil.
Bueno, no podré comprobar nada con las garrapatas hasta el lunes. Me ocuparé de otras cosas.
 

Intenté solicitar garrapatas ahora - en el gráfico fuera de línea. Independientemente del modo y del número de ticks solicitados, el resultado es prácticamente el mismo: ningún precio de oferta (todos los ticks tienen bid = 0).

 
Karputov Vladimir:
De todos modos, no podrás creer nada con tics hasta el lunes. Voy a hacer otra cosa.
¿Por qué? Si descargas un indicador, hay un gran botón para actualizarlo. Y nadie canceló los guiones.
 
Por favor, explique de nuevo. ¿Cuál es la profundidad del historial de garrapatas disponible ahora? ¿El historial se descarga del servidor, es decir, no es necesario acumularlo? ¿Cómo funciona el comprobador, utiliza la simulación de ticks o el historial de ticks?