- 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
Propiedades principales de los objetos
Todos los objetos tienen algunos atributos universales. Los principales se enumeran en el cuadro siguiente. Más adelante veremos otras propiedades generales de uso especial (véanse las secciones Gestión del estado de los objetos, Orden Z y Visibilidad de los objetos en el contexto de marcos temporales).
Identificador |
Descripción |
Tipo |
---|---|---|
OBJPROP_NAME |
Nombre del objeto |
string |
OBJPROP_TYPE |
Tipo de objeto (r/o) |
ENUM_OBJECT |
OBJPROP_CREATETIME |
Hora de creación del objeto (r/o) |
datetime |
OBJPROP_TEXT |
Descripción del objeto (texto contenido en el objeto) |
string |
OBJPROP_TOOLTIP |
Texto de información sobre herramientas al pasar el ratón |
string |
La propiedad OBJPROP_NAME es un identificador de objeto. Editarla equivale a borrar el objeto antiguo y crear uno nuevo.
Para algunos tipos de objetos capaces de mostrar texto (como etiquetas o botones), la propiedad OBJPROP_TEXT siempre se muestra directamente en el gráfico, dentro del objeto. Para otros objetos (por ejemplo, líneas), esta propiedad contiene una descripción que se muestra en el gráfico junto al objeto y sólo si la opción «Mostrar descripciones de objetos» está activada en la configuración del gráfico. En cualquier caso, OBJPROP_TEXT se muestra en la información sobre herramientas.
La propiedad OBJPROP_CREATETIME sólo existe hasta el final de la sesión actual y no se escribe en los archivos chr.
Puede cambiar el nombre de un objeto mediante programación o manualmente (en el cuadro de diálogo de propiedades del objeto), mientras que su hora de creación seguirá siendo la misma. De cara al futuro, observamos que el cambio de nombre mediante programación no provoca ningún evento sobre los objetos del gráfico. Como vamos a descubrir en el capítulo siguiente, el cambio de nombre manual desencadena tres eventos:
- borrado de un objeto con el nombre antiguo (CHARTEVENT_OBJECT_DELETE),
- creación de un objeto con un nuevo nombre (CHARTEVENT_OBJECT_CREATE) y
- modificación de un nuevo objeto (CHARTEVENT_OBJECT_CHANGE).
Si la propiedad OBJPROP_TOOLTIP no está definida, se muestra información sobre herramientas para el objeto, generado automáticamente por el terminal. Para desactivar dicha información sobre herramientas, establezca su valor en «\n» (salto de línea).
Adaptemos el script ObjectFinder.mq5 de la sección Encontrar objetos para registrar todas las propiedades anteriores de los objetos del gráfico actual. Vamos a ponerle al nuevo script el nombre ObjectListing.mq5.
Al principio de OnStart, crearemos o modificaremos una línea recta vertical situada en la última barra (en el momento en que se lanza el script). Si existe la opción de mostrar descripciones de objetos en la configuración del gráfico, entonces veremos el texto «Última barra en este momento» a lo largo de la línea vertical derecha.
void OnStart()
|
A continuación, en un bucle a través de las subventanas, consultaremos todos los objetos hasta ObjectsTotal y sus principales propiedades.
int count = 0;
|
Obtenemos las siguientes entradas en el registro.
Window 0
|
Un valor cero de OBJPROP_CREATETIME (1970.01.01 00:00) significa que el objeto no se creó durante la sesión actual, sino antes.