- Funciones para obtener las propiedades básicas del gráfico actual
- Identificación de gráficos
- Obtener la lista de gráficos
- Obtener el símbolo y el marco temporal de un gráfico arbitrario
- Visión general de funciones para trabajar con el conjunto completo de propiedades
- Propiedades descriptivas de los gráficos
- Comprobar el estado de la ventana principal
- Obtener el número y la visibilidad de las ventanas/subventanas
- Modos de visualización de gráficos
- Gestionar la visibilidad de los elementos del gráfico
- Desplazamientos horizontales
- Escala horizontal (por tiempo)
- Escala vertical (por precio y lecturas del indicador)
- Colores
- Control del ratón y del teclado
- Desacoplar la ventana del gráfico
- Obtener las coordenadas de caída del programa MQL en un gráfico
- Conversión de coordenadas de pantalla a tiempo/precio y viceversa
- Desplazamiento de gráficos por el eje temporal
- Solicitud para volver a dibujar el gráfico
- Cambiar símbolo y marco temporal
- Gestionar indicadores en el gráfico
- Abrir y cerrar gráficos
- Trabajar con plantillas de gráficos tpl
- Guardar la imagen de un gráfico
Solicitud para volver a dibujar el gráfico
En la mayoría de los casos, los gráficos responden automáticamente a los cambios en los datos y en la configuración del terminal, actualizando la imagen de la ventana en consecuencia (gráficos de precios, de indicadores, etc.). No obstante, los programas MQL son demasiado versátiles y pueden realizar acciones arbitrarias, para las que no es tan fácil determinar si es necesario redibujar o no. Además, analizar cualquier acción de cada programa MQL en esta cuenta puede consumir muchos recursos y causar una caída en el rendimiento general del terminal. Por lo tanto, la API de MQL5 proporciona la función ChartRedraw, con la ayuda de la cual el propio programa MQL puede, si es necesario, solicitar que se vuelva a dibujar el gráfico.
void ChartRedraw(long chartId = 0)
La función provoca un redibujado forzado del gráfico con el identificador especificado (el valor por defecto 0 significa el gráfico actual). Normalmente, se aplica después de que el programa cambie las propiedades del gráfico u objetos colocados en él.
Hemos visto un ejemplo de utilización de ChartRedraw en el indicador IndSubChart.mq5 en la sección Modos de visualización de gráficos. Se ofrecerá otro ejemplo en la sección Abrir y cerrar gráficos.
Esta función afecta exactamente al redibujado del gráfico, sin provocar el recálculo de las series temporales con cotizaciones e indicadores. La última opción para actualizar (de hecho, reconstruir) el gráfico es más «dura» y la realiza la función ChartSetSymbolPeriod (véase la sección siguiente).