¿Por qué los indicadores (líneas, flechas, histogramas) parpadean en el terminal MT5? - página 9

 
Andrey Khatimlianskii: El parpadeo se reproduce fácilmente cuando el procesador está muy cargado. Ejecute la optimización en todos los núcleos locales e intente eliminar/crear una docena de objetos y haga ChartRedrow. El efecto swag está asegurado.

Sí, pero me gustaría todo lo contrario, no reproducir el parpadeo, sino detenerlo, hacer algo para no ver más ese parpadeo.
Y en buenas condiciones, cuando el procesador no está cargado, podríamos decir que está ocioso, la optimización no está en marcha, es decir, los núcleos locales tampoco están cargados, no se crean objetos y no se llama a ChartRedraw(). Y en este estado de tranquilidad del ordenador, ¡las "guirnaldas" siguen parpadeando!

Los desarrolladores ni siquiera respondieron, ¿este parpadeo es irrecuperable y será eliminado sólo en futuras versiones de MT5 o tal vez los desarrolladores de indicadores tienen las manos equivocadas y no entienden algo durante el desarrollo de indicadores para MT5...

 

No sólo los indicadores personalizados parpadean, sino también las herramientas incorporadas, por ejemplo, el "Canal de Regresión".

 

Aleksey Vyazmikin: Мерцают не только пользовательские индикаторы, но и встроенные инструменты, к примеру "Канал регрессии".

Si es así, entonces no hay nada que adivinar, significa que este problema no puede ser resuelto en principio todavía y será resuelto en algunas versiones futuras de MT5. Los desarrolladores deberían ser honestos al respecto y no hacer que los programadores se pregunten qué es lo que hacen mal y cómo solucionarlo...

 

Llevo un par de días luchando con esto.

He intentado todo lo que se ha aconsejado anteriormente.

No ayudó.

El indicador parpadea en MT5 por la única razón:

Al aplicar ChartGetInteger(0,CHART_VISIBLE_BARS ...

Al menos, cuando puse un número constante en lugar de esta función, dejó de parpadear.

Puede que haya aplicado la función de forma torpe, pero no obstante...
Документация по MQL5: Операции с графиками / ChartGetInteger
Документация по MQL5: Операции с графиками / ChartGetInteger
  • www.mql5.com
Возвращает значение соответствующего свойства указанного графика. Свойство графика должно быть типов datetime, int или bool. Существует 2 варианта функции. 2. Возвращает true или false в зависимости от успешности выполнения функции.  В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром...
 

Eso tampoco ayudó ;)))

 
Renat Akhtyamov:

Tampoco ayudó ;)))

" ... La función es sincrónica - esto significa que espera hasta que todos los comandos que se han colocado en la cola del horario antes de ser llamado ... "

Esto es de la documentación. Puedo añadir que la función sincrónica ralentiza todo el proceso - hasta que no termine de ejecutarse, ningún otro proceso comenzará a ejecutarse, incluso si hay recursos disponibles para su ejecución.

 
Existe la hipótesis de que el parpadeo depende del redibujado de los objetos por parte del motor de la terminal, es decir, si los puntos de la trama están fuera de la pantalla visible, tienen una menor prioridad para el renderizado, lo que se manifiesta en la carga computacional del gráfico (incluyendo la tasa de llegada de citas - he notado que es con movimientos fuertes e intensos cuando se produce el parpadeo).
 
Aleksey Vyazmikin:
Existe la hipótesis de que el parpadeo depende del redibujado de los objetos por parte del motor de la terminal, es decir, si los puntos de la trama están fuera de la pantalla visible, tienen una menor prioridad para el renderizado, lo que se manifiesta durante la carga computacional en el gráfico (incluyendo la tasa de llegada de citas - he notado que es con movimientos fuertes e intensos que se produce el parpadeo).

Me gustaría que los desarrolladores prestaran atención a este tema.

El parpadeo del indicador no se puede eliminar por sí solo.

 

Creo que lo he descubierto.

no es un hecho sino

parece algún tipo de prueba externa del actual EA que actualmente está operando en la cuenta real.

mis conclusiones personales son las siguientes:

El gráfico se construye exactamente con 10 horas de antelación, vemos el

el resto está entre bastidores a la derecha y nos llega poco a poco en la pantalla

He grabado el vídeo, para no abalanzarme, pero lo mostraré no aquí sino allí, donde la gente estaría muy interesada en él

---

ahora en imágenes

En primer lugar, cambia el número de barras, que está fijado en 1000, pero como el cálculo parte de cero, resulta ser 1001:

en el momento del parpadeo de repente las barras se convierten en 600 menos (y siempre al parpadear el número es el mismo - 358):

y en el momento del indicador de parpadeo a veces sucede (logré captar el cuadro sólo en el video):

y lo más interesante:a veces en los momentos de parpadeo muestra gráficamente las operaciones cerradas del presente al futuro, es decir, sólo están abiertas por ahora, y se cerrarán en algún lugar por ahí - detrás de las escenas

para verlo todo con tus propios ojos, recalcula todas las barras, no sólo la última, y en cada tick, limpia los buffers antes de cada cálculo

Oh, sí, lo olvidé.

esto ocurre por la noche

mi amigo el investigador se llevó todo el material, dice que es muy chulo ;)

;))))

----

y ahora el debate...

 
Aleksey Vyazmikin:
Existe la hipótesis de que el parpadeo depende del redibujado de los objetos por parte del motor de la terminal, es decir, si los puntos de trazado están fuera de la pantalla visible tienen una menor prioridad para el renderizado, lo que aparece durante la carga computacional en el gráfico (incluyendo la tasa de citas - he notado que el parpadeo se produce durante los movimientos fuertes e intensos).

Estaba claro para el caballo, como dijo Alla Yurievna. El compostador ha indicado la causa, aunque indirectamente. El parpadeo se produce cuando el terminal está sobrecargado, esto es un hecho. La sobrecarga se produce por varias razones y no siempre significa que se supere la potencia de cálculo del terminal.

Razón de la queja: