- Tipos de objetos
- Propiedades de objetos
- Modos de enlace de objetos
- Esquina de enlace
- Visibilidad de objetos
- Niveles de las ondas de Elliott
- Objetos de Gann
- Colores Web
- Wingdings
Propiedades de objetos
Los objetos gráficos pueden tener muchas propiedades, dependiendo del tipo del objeto. Para establecer y obtener los valores de las propiedades de los objetos se utilizan las correspondientes funciones de trabajo con objetos gráficos.
Todos los objetos utilizados en el análisis técnico están enlazados con los gráficos conforme a las coordenadas de precio y tiempo, la línea de tendencia, los canales, los instrumentos de Fibonacci, etc. Pero hay una serie de objetos auxiliares pensados para mejorar el interfaz, y que tienen un enlace con una parte siempre visible del gráfico (la ventana principal del gráfico o las subventanas de los indicadores):
Objeto |
Identificador |
X/Y |
Width/Height |
Date/Price |
|||
---|---|---|---|---|---|---|---|
Text |
|
|
Sí |
|
Sí |
Sí |
|
Label |
Sí |
Sí (sólo lectura) |
|
Sí |
Sí |
Sí |
|
Button |
Sí |
Sí |
|
Sí |
|
|
|
Bitmap |
|
Sí (sólo lectura) |
Sí |
|
Sí |
|
|
Bitmap Label |
Sí |
Sí (sólo lectura) |
|
Sí |
Sí |
|
|
Edit |
Sí |
Sí |
|
Sí |
|
|
|
Rectangle Label |
Sí |
Sí |
|
Sí |
|
|
En el recuadro se usan las siguientes denominaciones:
- X/Y las coordenadas del punto de enlace se establecen en píxeles con respecto a uno de los ángulos del gráfico;
- Width/Height el objeto tiene anchura y altura. Si se indica "sólo lectura", esto significa que los valores de la anchura y la altura se calculan sólo después de que el objeto haya sido dibujado en el gráfico;
- Date/Price las coordenadas del punto de enlace se dan con la pareja fecha/hora;
- OBJPROP_CORNER establece el ángulo del gráfico con respecto al cual se indican las coordenadas del punto de enlace. Puede ser uno de los 4 valores de la enumeración ENUM_BASE_CORNER;
- OBJPROP_ANCHOR establece la posición del punto de enlace en el propio objeto, y puede ser uno de los 9 valores de la enumeración ENUM_ANCHOR_POINT. Precisamente desde este punto hasta el ángulo elegido en el gráfico se indican las coordenadas en píxeles;
- OBJPROP_ANGLE establece el ángulo de rotación del objeto en el sentido opuesto a las agujas del reloj.
Las funciones que establecen las propiedades de objetos gráficos, así como las operaciones de creación ObjectCreate() y movimiento ObjectMove() de los objetos en el gráfico, sirven prácticamente para mandar los comandos al gráfico. Cuando estas funciones se ejecuten con éxito, el comando se coloca en la cola general de los eventos del gráfico. El cambio visual de los objetos gráficos se realiza durante el procesamiento de la cola de eventos de este gráfico.
Por esta razón no hay que esperar la modificación visual inmediata de los objetos gráficos tras la llamada de estas funciones. En general la actualización de los objetos gráficos se realiza por el terminal de forma automática según los eventos del cambio, es decir: la llegada de una nueva cotización, cambio del tamaño de la ventana, etc.
Para la actualización forzosa de los objetos gráficos, se utiliza el comando de redibujo del gráfico ChartRedraw().
Para las funciones ObjectSetInteger() y ObjectGetInteger()
Identificador |
Descripción |
Tipo de la propiedad |
---|---|---|
OBJPROP_COLOR |
Color |
color |
OBJPROP_STYLE |
Estilo |
|
OBJPROP_WIDTH |
Grosor de línea |
int |
OBJPROP_BACK |
Objeto en el fondo |
bool |
OBJPROP_ZORDER |
La prioridad de un objeto gráfico para obtener el evento de cliquear sobre el gráfico (CHARTEVENT_CLICK). Por defecto, cuando se crea un objeto, este valor se pone a cero; pero si hace falta, se puede subir la prioridad. Cuando los objetos se aplican uno al otro, sólo uno de ellos, cuya prioridad es superior, recibirá el evento CHARTEVENT_CLICK. |
long |
OBJPROP_FILL |
Relleno de objeto con color (para OBJ_RECTANGLE, OBJ_TRIANGLE, OBJ_ELLIPSE, OBJ_CHANNEL, OBJ_STDDEVCHANNEL, OBJ_REGRESSION) |
bool |
OBJPROP_HIDDEN |
Prohíbe mostrar el nombre del objeto gráfico en la lista de objetos del menú del terminal "Gráficos" - "Objetos" - "Lista de objetos". El valor true permite ocultar el objeto que el usuario no necesita. Por defecto, true se pone para los objetos que muestran los eventos del calendario, historial de trading, así como para los objetos creados en un programa MQL5. Para poder ver estos objetos gráfico y acceder a sus propiedades, hay que pulsar en el botón "Todos" en la ventana "Lista de objetos". |
bool |
OBJPROP_SELECTED |
Selección de objeto |
bool |
OBJPROP_READONLY |
Posibilidad de editar el texto en el objeto Edit |
bool |
OBJPROP_TYPE |
Tipo de objeto |
ENUM_OBJECT r/o |
OBJPROP_TIME |
Coordenadas de tiempo |
datetime modificador=número del punto de anclaje |
OBJPROP_SELECTABLE |
Disponibilidad de objeto |
bool |
OBJPROP_CREATETIME |
Tiempo de creación de objeto |
datetime r/o |
OBJPROP_LEVELS |
Número de niveles |
int |
OBJPROP_LEVELCOLOR |
Color de línea-nivel |
color modificador=número del nivel |
OBJPROP_LEVELSTYLE |
Estilo de línea-nivel |
ENUM_LINE_STYLE modificador=número del nivel |
OBJPROP_LEVELWIDTH |
Grosor de línea-nivel |
int modificador=número del nivel |
OBJPROP_ALIGN |
Alineación del texto horizontalmente en el objeto "Campo de edición" (OBJ_EDIT) |
|
OBJPROP_FONTSIZE |
Tamaño de caracteres |
int |
OBJPROP_RAY_LEFT |
Rayo va a la izquierda |
bool |
OBJPROP_RAY_RIGHT |
Rayo va a la derecha |
bool |
OBJPROP_RAY |
Línea vertical va a través de todas las ventanas del gráfico |
bool |
OBJPROP_ELLIPSE |
Visualización del elipse entero para el objeto "Arcos de Fibonacci" (OBJ_FIBOARC) |
bool |
OBJPROP_ARROWCODE |
Código de flecha para el objeto "Flecha" |
uchar |
OBJPROP_TIMEFRAMES |
Visibilidad de objeto en períodos de tiempo |
juego de banderas flags |
OBJPROP_ANCHOR |
Posición del punto de anclaje de un objeto gráfico |
ENUM_ARROW_ANCHOR (para OBJ_ARROW), ENUM_ANCHOR_POINT (para OBJ_LABEL, OBJ_BITMAP_LABEL y OBJ_TEXT) |
OBJPROP_XDISTANCE |
Distancia en píxeles por el eje X desde la esquina de enlace (ver nota) |
int |
OBJPROP_YDISTANCE |
Distancia en píxeles por el eje Y desde la esquina de enlace (ver nota) |
int |
OBJPROP_DIRECTION |
Tendencia del objeto de Gann |
|
OBJPROP_DEGREE |
Nivel de marcación ondulada de Elliott |
|
OBJPROP_DRAWLINES |
Visualización de líneas para la marcación ondulada de Elliott |
bool |
OBJPROP_STATE |
Estado del botón (Pulsado/Despulsado) |
bool |
OBJPROP_CHART_ID |
Identificador del objeto "Gráfico" (OBJ_CHART). Permite trabajar con las propiedades de este objeto como con cualquier otro gráfico usando las funciones descritas en el apartado Operaciones con gráficos, pero hay algunas excepciones. |
long r/o |
OBJPROP_XSIZE |
Ancho del objeto por el eje X en píxeles. Se establece para los objetos OBJ_LABEL (read only), OBJ_BUTTON, OBJ_CHART, OBJ_BITMAP, OBJ_BITMAP_LABEL, OBJ_EDIT, OBJ_RECTANGLE_LABEL. |
int |
OBJPROP_YSIZE |
Alto del objeto por el eje Y en píxeles. Se establece para los objetos OBJ_LABEL (read only), OBJ_BUTTON, OBJ_CHART, OBJ_BITMAP, OBJ_BITMAP_LABEL, OBJ_EDIT, OBJ_RECTANGLE_LABEL. |
int |
OBJPROP_XOFFSET |
Coordenada X de la esquina superior izquierda del área rectangular de visibilidad en los objetos gráficos "Etiqueta gráfica" y "Dibujo" (OBJ_BITMAP_LABEL y OBJ_BITMAP). El valor se establece en píxeles respecto a la esquina superior izquierda de la imagen original. |
int |
OBJPROP_YOFFSET |
Coordenada Y de la esquina superior izquierda del área rectangular de visibilidad en los objetos gráficos "Etiqueta gráfica" y "Dibujo" (OBJ_BITMAP_LABEL y OBJ_BITMAP). El valor se establece en píxeles respecto a la esquina superior izquierda de la imagen original. |
int |
OBJPROP_PERIOD |
Período de tiempo para el objeto "Gráfico" |
|
OBJPROP_DATE_SCALE |
Visualiza la escala de tiempo para el objeto "Gráfico" |
bool |
OBJPROP_PRICE_SCALE |
Visualiza la escala de precios para el objeto "Gráfico" |
bool |
OBJPROP_CHART_SCALE |
Escala para el objeto "Gráfico" |
int valores en el rango de 05 |
OBJPROP_BGCOLOR |
Color del fondo para el OBJ_EDIT, OBJ_BUTTON, OBJ_RECTANGLE_LABEL |
color |
OBJPROP_CORNER |
Esquina del gráfico para enlazar un objeto gráfico |
|
OBJPROP_BORDER_TYPE |
Estilo del borde del objeto "Etiqueta rectangular" |
|
OBJPROP_BORDER_COLOR |
Color del borde para el objeto OBJ_EDIT y OBJ_BUTTON |
color |
Cuando se utilizan las operaciones con gráficos para el objeto "Gráfico" (OBJ_CHART), se procede según las siguientes limitaciones:
- no se puede cerrar usando ChartClose();
- no se puede cambiar símbolo/período usando la función ChartSetSymbolPeriod();
- no funcionan las propiedades CHART_SCALE, CHART_BRING_TO_TOP, CHART_SHOW_DATE_SCALE y CHART_SHOW_PRICE_SCALE (ENUM_CHART_PROPERTY_INTEGER).
Para los objetos OBJ_BITMAP_LABEL y OBJ_BITMAP se puede establecer programáticamente el modo especial de visualización de las imágenes. En este modo se muestra sólo aquella parte de la imagen original a la que se aplica el área rectangular de visibilidad, mientras que el resto de la imagen se hace invisible. El tamaño del área de visibilidad se establece mediante las propiedades OBJPROP_XSIZE y OBJPROP_YSIZE. Usted puede "mover" el área de visibilidad sólo dentro de los márgenes de la imagen original, utilizando las propiedades OBJPROP_XOFFSET y OBJPROP_YOFFSET.
Para los objetos con tamaños fijos: OBJ_BUTTON, OBJ_RECTANGLE_LABEL, OBJ_EDIT y OBJ_CHART, las propiedades OBJPROP_XDISTANCE y OBJPROP_YDISTANCE establecen la posición del punto superior izquierdo respecto al ángulo del gráfico (OBJPROP_CORNER) del que van a calcularse las coordenadas X y Y en píxeles.
Para las funciones ObjectSetDouble() y ObjectGetDouble()
Identificador |
Descripción |
Tipo de la propiedad |
---|---|---|
OBJPROP_PRICE |
Coordenadas de precio |
double modificador=número del punto de anclaje |
OBJPROP_LEVELVALUE |
Valor de nivel |
double modificador=número del nivel |
OBJPROP_SCALE |
Escala (propiedad de objetos de Gann y del objeto "Arcos de Fibonacci") |
double |
OBJPROP_ANGLE |
Ángulo. Para los objetos con el ángulo no especificado, creados desde el programa, el valor es igual a EMPTY_VALUE |
double |
OBJPROP_DEVIATION |
Desviación para el canal de la desviación estándar |
double |
Para las funciones ObjectSetString() y ObjectGetString()
Identificador |
Descripción |
Tipo de la propiedad |
---|---|---|
OBJPROP_NAME |
Nombre de objeto |
string |
OBJPROP_TEXT |
Descripción de objeto (texto contenido en el objeto) |
string |
OBJPROP_TOOLTIP |
El texto de la ayuda emergente. Si la propiedad no está establecida, entonces sale la ayuda generada automáticamente por el terminal. Puede desactivar la visualización de ayuda emergente poniendo el valor "\n" (salto de línea) para esta propiedad |
string |
OBJPROP_LEVELTEXT |
Descripción de nivel |
string modificador=número del nivel |
OBJPROP_FONT |
Fuente |
string |
OBJPROP_BMPFILE |
Nombre del archivo BMP para el objeto "Etiqueta gráfica". Véase también Recursos |
string modificador: 0-estado ON, 1-estado OFF |
OBJPROP_SYMBOL |
Símbolo para el objeto "Gráfico" |
string |
Para los objetos OBJ_RECTANGLE_LABEL ("Etiqueta rectangular") se puede especificar uno de los tres estilos del borde a los que corresponden los valores de la enumeración ENUM_BORDER_TYPE.
Identificador |
Descripción |
---|---|
BORDER_FLAT |
Borde plano |
BORDER_RAISED |
Convexo |
BORDER_SUNKEN |
Cóncavo |
Para el objeto OBJ_EDIT ("Campo de edición") y para la función ChartScreenShot() se puede indicar el tipo de alineación por la horizontal utilizando los valores de la enumeración ENUM_ALIGN_MODE.
Identificador |
Descripción |
---|---|
ALIGN_LEFT |
Alineación por la izquierda |
ALIGN_CENTER |
Alineación centrada (sólo para el objeto "Campo de edición") |
ALIGN_RIGHT |
Alineación derecha |
Ejemplo:
#define UP "\x0431"
|