Identificación de gráficos

Cada gráfico en MetaTrader 5 opera en una ventana independiente y tiene un identificador único. Para los programadores familiarizados con los principios de funcionamiento de Windows, nos gustaría aclarar que este identificador no es un manejador de ventana del sistema (aunque la API de MQL5 permite obtener este último a través de la propiedad CHART_WINDOW_HANDLE). Como sabemos, además del área principal de trabajo del gráfico con cotizaciones, existen áreas adicionales (subventanas) con indicadores que tienen la propiedad indicator_separate_window. Todas las subventanas forman parte del gráfico y pertenecen a la misma ventana de Windows.

long ChartID()

La función devuelve un identificador único para el gráfico actual.

Muchas de las funciones que veremos requieren un ID de gráfico como parámetro, pero puede especificar 0 para el gráfico actual en lugar de llamar a ChartID. Tiene sentido utilizar ChartID en los casos en que el identificador se envía entre programas MQL; por ejemplo, al intercambiar mensajes (eventos personalizados) en el mismo gráfico o en gráficos diferentes. Si se especifica un ID no válido se producirá el error ERR_CHART_WRONG_ID (4101).

El ID del gráfico suele ser el mismo de una sesión a otra.

Demostraremos la función ChartID y el aspecto de los identificadores en el script de ejemplo ChartList1.mq5 después de estudiar el método para obtener una lista de gráficos.