- ObjectCreate
- ObjectName
- ObjectDelete
- ObjectsDeleteAll
- ObjectFind
- ObjectGetTimeByValue
- ObjectGetValueByTime
- ObjectMove
- ObjectsTotal
- ObjectSetDouble
- ObjectSetInteger
- ObjectSetString
- ObjectGetDouble
- ObjectGetInteger
- ObjectGetString
- TextSetFont
- TextOut
- TextGetSize
ObjectCreate
Crea un objeto con el nombre especificado, tipo y coordinadas iniciales en la subventana del gráfico especificada. Durante la creación se puede indicar hasta 30 coordinadas.
bool ObjectCreate(
|
Parámetros
chart_id
[in] Identificador del gráfico. 0 significa el gráfico actual.
name
[in] Nombre del objeto. El nombre tiene que ser único dentro de los límites de un gráfico, incluyendo sus subventanas.
type
[in] Tipo de objeto. Su valor puede ser uno de los valores de la enumeración ENUM_OBJECT.
sub_window
[in] Número de subventana del gráfico. 0 significa la ventana principal del gráfico. La subventana especificada debe existir, de lo contrario la función devuelve false.
time1
[in] Coordinada de hora del primer enlace.
price1
[in] Coordinada de precio del primer punto de anclaje.
timeN=0
[in] Coordinada de hora del punto de anclaje N.
priceN=0
[in] Coordinada de precio del punto de anclaje N.
time30=0
[in] Coordinada de hora del punto de anclaje 30.
price30=0
[in] Coordinada de precio del punto de anclaje 30.
Valor devuelto
Retorna true en el caso de que se haya añadido con éxito el comando a la cola del gráfico indicado, de lo contrario, false. Si el objeto ya ha sido creado con anterioridad, entonces se realizará un intento de cambiar sus coordenadas.
Nota
Al llamar ObjectCreate() siempre se usa una llamada asincrónica, por eso la función retorna solo el resultado de la colocación del comando en la cola del gráfico. En este caso, true solo significa que el comando se ha puesto en la cola con éxito, el propio resultado de su ejecución aún se desconoce.
Para comprobar el resultado de la ejecución se puede usar la función ObjectFind() o cualquier función que retorne las propiedades del objeto, por ejemplo, del tipo ObjectGetXXX. Pero, en esta caso, además, se deberá tener en cuenta que estas funciones se colocan al final de la cola de comandos del gráfico y esperan el resultado de la ejecución (puesto que que son llamadas sincrónicas), es decir, pueden consumir bastante tiempo. Hay que tener esta circunstancia en cuenta al trabajar con multitud de objetos en el gráfico.
El nombre del objeto gráfico no debe superar 63 caracteres.
La numeración de las subventanas del gráfico (si en el gráfico hay subventanas con indicadores) se empieza desde 1. Siempre existe la venta principal y tiene el índice 0.
La gran cantidad de puntos de anclaje (hasta 30) está prevista para usarlas en el futuro. Al mismo tiempo el límite de 30 posibles puntos de anclaje para los objetos gráficos se debe al hecho que durante la llamada a la función el número de parámetros no debe superar 64.
Al renombrar un objeto gráfico, se generan al mismo tiempo dos eventos que pueden ser procesados en el Asesor Experto o el indicador usando la función OnChartEvent():
- evento de eliminación del objeto con el nombre anterior;
- evento de creación del objeto gráfico con el nombre nuevo.
Para crear cada uno de los siguientes tipos de objetos, es necesario fijar una cierta cantidad de los puntos de anclaje:
Identificador |
Descripción |
Puntos de anclaje |
---|---|---|
Línea vertical |
Un punto de anclaje. Prácticamente se utiliza sólo la coordinada del eje de tiempo. |
|
Línea horizontal |
Un punto de anclaje. Prácticamente se utiliza sólo la coordinada del eje de precio. |
|
Línea de tendencia |
Dos puntos de anclaje. |
|
Línea de tendencia por ángulo |
Dos puntos de anclaje. |
|
Líneas cíclicas |
Dos puntos de anclaje. |
|
Objeto "Línea con flecha" |
Dos puntos de anclaje. |
|
Canal equidistante |
Tres puntos de anclaje. |
|
Canal de desviación estándar |
Dos puntos de anclaje. |
|
Canal de regresión lineal |
Dos puntos de anclaje. |
|
Tridente de Andrews |
Tres puntos de anclaje. |
|
Línea de Gann |
Dos puntos de anclaje. |
|
Abanico de Gann |
Dos puntos de anclaje. |
|
Cuadrícula de Gann |
Dos puntos de anclaje. |
|
Niveles de Fibonacci |
Dos puntos de anclaje. |
|
Zonas temporales de Fibonacci |
Dos puntos de anclaje. |
|
Abanico de Fibonacci |
Dos puntos de anclaje. |
|
Arcos de Fibonacci |
Dos puntos de anclaje. |
|
Canal de Fibonacci |
Tres puntos de anclaje. |
|
Expansión de Fibonacci |
Tres puntos de anclaje. |
|
5 ondas de Elliott |
Cinco puntos de anclaje. |
|
3 ondas de Elliott |
Tres puntos de anclaje. |
|
Rectángulo |
Dos puntos de anclaje. |
|
Triángulo |
Tres puntos de anclaje. |
|
Elipse |
Tres puntos de anclaje. |
|
Signo "Bien" (pulgar arriba) |
Un punto de anclaje. |
|
Signo "Mal" (pulgar abajo) |
Un punto de anclaje. |
|
Signo "Flecha arriba" |
Un punto de anclaje. |
|
Signo "Flecha abajo" |
Un punto de anclaje. |
|
Signo "Stop" |
Un punto de anclaje. |
|
Signo "Visto" (marca de comprobación) |
Un punto de anclaje. |
|
Etiqueta izquierda de precio |
Un punto de anclaje. |
|
Etiqueta derecha de precio |
Un punto de anclaje. |
|
Signo "Buy" |
Un punto de anclaje. |
|
Signo "Sell" |
Un punto de anclaje. |
|
Objeto "Flecha" |
Un punto de anclaje. |
|
Objeto "Texto" |
Un punto de anclaje. |
|
Objeto "Etiqueta de texto" |
La posición se fija utilizando las propiedades OBJPROP_XDISTANCE y OBJPROP_YDISTANCE. |
|
Objeto "Botón" |
La posición se fija utilizando las propiedades OBJPROP_XDISTANCE y OBJPROP_YDISTANCE. |
|
Objeto "Gráfico" |
La posición se fija utilizando las propiedades OBJPROP_XDISTANCE y OBJPROP_YDISTANCE. |
|
Objeto "Imagen" |
Un punto de anclaje. |
|
Objeto "Etiqueta gráfica" |
La posición se fija utilizando las propiedades OBJPROP_XDISTANCE y OBJPROP_YDISTANCE. |
|
Objeto "Campo de edición" |
La posición se fija utilizando las propiedades OBJPROP_XDISTANCE y OBJPROP_YDISTANCE. |
|
Objeto "Evento" que corresponde a un evento en el calendario económico |
Un punto de anclaje. Prácticamente se utiliza sólo la coordinada del eje de tiempo. |
|
Objeto "Etiqueta rectangular" para crear y personalizar la interfaz gráfica de usuario. |
La posición se fija utilizando las propiedades OBJPROP_XDISTANCE y OBJPROP_YDISTANCE. |