Probando 'CopyTicks' - página 5

 
Karputov Vladimir:
Así que pido dos páginas: dar un ejemplo lo más corto posible (aclaro, por si acaso, que "ejemplo" es el archivo *.mq5 en número de una pieza - es decir, sólo una), que muestra el problema.
Bueno, al menos te dieron una hifa entera... Y al principio pensé que el monitor se estaba muriendo...
 

Se adjunta la fuente que genera los dos archivos de texto posteriores. La captura de pantalla de parte de estos archivos que aparece más arriba es un ejemplo de la diferencia entre las banderas y los volúmenes.

 
zimbabve15:

Se adjunta la fuente que genera los dos archivos de texto posteriores. La captura de pantalla de parte de estos archivos que aparece más arriba es un ejemplo de la diferencia entre las banderas y los volúmenes.

Te lo dije: hay que simplificar. Aquí está el indicador: muestra las banderas de dos estructuras MqlTick en una línea (una estructura se llena a través de CopyTicks, la segunda a través de SymbolInfoTick). Además se comparan las banderas de estas dos estructuras - en caso de que la bandera sea igual a cero, entonces Alarma.
Archivos adjuntos:
 

el resultado de su indicador en mi terminal.

No he entendido bien la premisa de tu último mensaje, o bien tengo que rehacerlo, o bien me has enseñado cómo debería haberse hecho y lo has hecho tú. Su método y el mío muestran la diferencia en la estructura de las garrapatas tomadas por diferentes métodos. ¿A qué hemos llegado?

 
zimbabve15:

el resultado de su indicador en mi terminal.

No he entendido bien la premisa de tu último mensaje, o bien tengo que rehacerlo, o bien me has enseñado cómo debería haberse hecho y lo has hecho tú. Su método y el mío muestran la diferencia en la estructura de las garrapatas tomadas por diferentes métodos. ¿A qué hemos llegado?

¿En qué servidor de negociación y en qué instrumento realiza las pruebas? Las banderas con "0" se reciben claramente - esto es un fallo del servidor de comercio.
 

Digamos que hay un fallo en el servidor de comercio con las banderas. ¿Y los volúmenes? Un par de mensajes más arriba, envié una captura de pantalla y dos archivos de texto, que muestra claramente que las banderas no sólo puede ser cero, pero en las mismas garrapatas obtenidos por diferentes métodos son diferentes, y diferentes volúmenes - esto es dos. Si hubo un error durante la transferencia desde el servidor ySymbolInfoTick obtiene información incorrecta, entonces ¿en base a qué datos la función CopyTicks obtiene ticks con un volumen diferente? ¿Y qué creer?

 
Dos archivos adjuntos - la misma manera recogido garrapatas, pero en el par euro-dólar en el corredor FiboGroup. Mira, aunque no hay ceros, pero hay un lío con las banderas
Archivos adjuntos:
 

A continuación se muestra una captura de pantalla y archivos del historial de ticks del servidor MetaQuotes-Demo. Los indicadores de los mismos ticks recibidos por diferentes métodos son diferentes.

Como resultado, en dos servidores de comercio de divisas de diferentes empresas un mismo tick, recibido a través de CopyTicks ySymbolInfoTick tienen diferentes banderas, en el servidor de comercio de divisas junto con esto se emiten diferentes volúmenes.

Archivos adjuntos:
 
zimbabve15:

A continuación se muestra una captura de pantalla y archivos del historial de ticks del servidor MetaQuotes-Demo. Las banderas de las mismas garrapatas recibidas de diferentes maneras son diferentes.

Como resultado, en dos servidores de comercio de divisas de diferentes empresas un mismo tick, recibido a través de CopyTicks ySymbolInfoTick tienen diferentes banderas, en el servidor de comercio de divisas junto con esto se emiten diferentes volúmenes.

Son diferentes en MetaQuotes-Demo - porque, una vez más, el ejemplo debe ser lo más simple posible. Mis banderas son las mismas en MetaQuotes-Demo hoy.
 

Intente establecer la profundidad de la solicitud de ticks a dos en su indicador y vea los siguientes valores en el depurador:

El elemento con índice 0 de la matriz tick_array muestra la historia, es decir, el segundo tick solicitado. Y si observas cómo cambian los valores en cada iteración - tres de ellos cambian de forma sincronizada y muestran el valor actual de la bandera, y el mismo valor en el siguiente paso de la ejecución debería mostrarse en tick_array[0]. Como debe ser no sucede. ¿O la función CopyTicks funciona correctamente con una profundidad de historia no superior a 1 tick?

Razón de la queja: