ObjectDelete

Удаляет объект с указанным именем с указанного графика.

bool  ObjectDelete(
   long    chart_id,     // идентификатор графика
   string  name          // имя объекта
   );

Параметры

chart_id

[in]  Идентификатор графика. 0 означает текущий график.

name

[in]  Имя удаляемого объекта.

Возвращаемое значение

Возвращает true при успешной постановке команды в очередь указанного графика, иначе false.

Примечание

При вызове ObjectDelete() всегда используется асинхронный вызов, поэтому функция возвращает только результат постановки команды в очередь графика. В этом случае true означает только то, что команда успешно поставлена в очередь, сам результат её выполнения неизвестен.

Для проверки результата выполнения можно использовать функцию ObjectFind() или любые функции, запрашивающие свойства объекта, например вида ObjectGetXXX. Но при этом следует иметь в виду, что такие функции ставятся в конец очереди команд графика и дожидаются результата выполнения (так как являются синхронными вызовами), то есть могут быть затратными по времени.  Нужно иметь это обстоятельство в виду, если ведется работа с большим количеством объектов на графике.

При переименовании графического объекта одновременно  формируются два события, которые можно обработать в эксперте или индикаторе функцией OnChartEvent():

  • событие удаления объекта со старым именем;
  • событие создания графического объекта с новым именем.