ObjectDelete

Elimina el objeto con el nombre especificado del gráfico especificado.

bool  ObjectDelete(
   long    chart_id,     // identificador del gráfico
   string  name          // nombre del objeto
   );

Parámetros

chart_id

[in]  Identificador del gráfico. 0 significa el gráfico actual.

name

[in]  Nombre del objeto a eliminar.

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.

Nota

Al llamar ObjectDelete() siempre se usa una llamada asincrónica, por eso la función retorna solo el resultado de la colocación de la orden 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.

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.