- 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
Obtener la lista de gráficos
Un programa MQL puede obtener una lista de los gráficos abiertos en el terminal (tanto windows como objetos gráficos) mediante las funciones ChartFirst y ChartNext.
long ChartFirst()
long ChartNext(long chartId)
La función ChartFirst devuelve el identificador del primer gráfico del terminal de cliente. MetaTrader 5 mantiene una lista interna de todos los gráficos, el orden de los cuales puede diferir con respecto al que vemos en pantalla; por ejemplo, en las pestañas de las ventanas cuando están maximizadas. En concreto, el orden en la lista puede cambiar como resultado de arrastrar pestañas y desacoplar y acoplar ventanas. Después de cargar el terminal, el orden visible de los marcadores es el mismo que el de la vista de lista interna.
La función ChartNext devuelve el ID del gráfico siguiente al gráfico con el chartId especificado.
A diferencia de otras funciones para trabajar con gráficos, el valor 0 en el parámetro ChartId no significa el gráfico actual, sino el principio de la lista. En otras palabras: la llamada a ChartNext(0) equivale a ChartFirst.
Si se llega al final de la lista, la función devuelve -1.
El script ChartList1.mq5 muestra la lista de gráficos en el registro. El trabajo principal lo realiza la función ChartList que se llama desde OnStart. Al principio de la función obtenemos el identificador del gráfico actual utilizando ChartID y a continuación lo marcamos con un asterisco en la lista. Al final, se obtiene el número total de gráficos.
void OnStart()
|
A continuación se muestra un ejemplo de resultado:
Chart List
|