- Tipos de objetos y características de la especificación de sus coordenadas
- Objetos vinculados a tiempo y precio
- Objetos vinculados a coordenadas de pantalla
- Crear objetos
- Borrar objetos
- Encontrar objetos
- Visión general de las funciones de acceso a las propiedades de los objetos
- Propiedades principales de los objetos
- Coordenadas de tiempo y precio
- Anclar la esquina de la ventana y las coordenadas de la pantalla
- Definir el punto de anclaje en el objeto
- Gestión del estado de los objetos
- Prioridad de los objetos (orden Z)
- Ajustes de visualización de objetos: color, estilo y marco
- Ajustes de fuente
- Rotar un texto en un ángulo arbitrario
- Determinar ancho y alto del objeto
- Visibilidad de los objetos en el contexto de marcos temporales
- Asignar un código de carácter a una etiqueta
- Propiedades de los rayos para objetos con líneas rectas
- Gestionar el estado pulsado de los objetos
- Ajustar imágenes en objetos bitmap
- Recortar (dar salida a parte) de una imagen
- Propiedades de los campos de entrada: alineación y sólo lectura
- Anchura del canal de desviación estándar
- Establecer niveles en objetos de nivel
- Propiedades adicionales de los objetos de Gann, Fibonacci y Elliot
- Objeto gráfico
- Mover objetos
- Obtener hora o precio en puntos de línea especificados
Objetos gráficos
Los usuarios de MetaTrader 5 conocen bien el concepto de objetos gráficos: líneas de tendencia, etiquetas de precios, canales, niveles de Fibonacci, formas geométricas y muchos otros elementos visuales que se utilizan para el marcado analítico de gráficos. El lenguaje MQL5 permite crear, editar y eliminar objetos gráficos mediante programación. Esto puede ser útil, por ejemplo, cuando se desean mostrar ciertos datos simultáneamente en una subventana y en la ventana principal de un indicador. Dado que la plataforma sólo admite la salida de búferes de indicadores en una ventana, podemos generar objetos en la otra ventana. Con el marcado creado a partir de objetos gráficos es fácil organizar operaciones semiautomatizadas utilizando Asesores Expertos. Además, los objetos se utilizan a menudo para construir interfaces gráficas personalizadas para programas MQL, tales como botones, campos de entrada y banderas. Estos programas se pueden controlar sin necesidad de abrir el cuadro de diálogo de propiedades, y los paneles creados en MQL pueden ofrecer una flexibilidad mucho mayor que las variables de entrada estándar.
Cada objeto existe en el contexto de un gráfico concreto. Por eso, las funciones que analizaremos en este capítulo comparten una característica común: el primer parámetro especifica el ID del gráfico. Además, cada objeto gráfico se caracteriza por un nombre que es único dentro de un gráfico, incluidas todas las subventanas. Cambiar el nombre de un objeto gráfico implica borrar el objeto con el nombre antiguo y crear el mismo objeto con un nombre nuevo. No se pueden crear dos objetos con el mismo nombre.
Las funciones que definen las propiedades de los objetos gráficos, así como las operaciones de creación (ObjectCreate) y desplazamiento (ObjectMove) de objetos en el gráfico, sirven esencialmente para enviar órdenes asíncronas al gráfico. Si estas funciones se ejecutan correctamente, el comando entra en la cola de eventos compartidos del gráfico. La modificación visual de las propiedades de los objetos gráficos se produce durante el procesamiento de la cola de eventos para ese gráfico en particular. Por lo tanto, la representación externa del gráfico puede reflejar el cambio de estado de los objetos con cierto retraso tras las llamadas a las funciones.
En general, la actualización de los objetos gráficos del gráfico la realiza automáticamente el terminal en respuesta a eventos relacionados con el gráfico, tales como la recepción de una nueva cotización, el cambio de tamaño de la ventana, etc. Para forzar la actualización de los objetos gráficos, puede utilizar la función de solicitud de redibujado de gráficos (ChartRedraw). Esto es especialmente importante tras la creación o modificación masiva de objetos.
Los objetos sirven como fuente de eventos programáticos, como la creación, la eliminación, la modificación de sus propiedades y los clics del ratón. Todos los aspectos relacionados con la aparición y gestión de incidentes se tratan en un capítuloaparte, junto con los eventos en el contexto de ventana general.
Comenzaremos por los fundamentos teóricos y pasaremos gradualmente a los aspectos prácticos.