MQL5参考物件函数ObjectDelete 

ObjectDelete

函数从指定图表中的指定名称里删除物件。

bool  ObjectDelete(
   long    chart_id,     // 图表标识符
   string  name          // 物件名称
   );

参量

chart_id

[in]  图表标识符。0表示当前图表。

name

[in]  删除物件的名称。

返回值

如果命令成功添加到指定图表队列那么函数返回true,否则返回false。

注释

非同步调用通常用于ObjectDelete(),这也是函数仅返回命令添加到图表队列的结果。在这种情况下,true仅表示命令已成功加入队列,但执行结果尚不可知。

若要检查命令执行结果,您可以使用ObjectFind()函数或任何其他请求对象属性的函数,例如ObjectGetXXX。但是,您需要牢记的是这类函数将被加入到图表的队尾,需要等待执行结果(因为同步调用),因此,可能会耗费大量时间。当处理图表上的大量对象时应该考虑这个特性。

当物件重命名,两个事件同时形成。这些事件可以在EA交易或者 OnChartEvent() 函数指标中处理:

  • 旧名称物件删除事件;
  • 新名称物件新建事件。