EA停用后,怎么选中和删除留下的图形对象???

 

EA运行时画了一些线段、矩形等图形对象。我把EA从图表中移除后图形对象并不能被移除,而且也无法被选中。

请教各位:怎么在EA移除后选中和操作留下来的图形对象?

 

//反初始化函数

void OnDeinit(const int reason)

  {
   ObjectsDeleteAll();//删除当前图表所有对象
   EventKillTimer();//反初始化销毁计时器

   Comment("");//清除左上角注释

}

 
Zhi Peng Pei #:

//反初始化函数

void OnDeinit(const int reason)

  {
   ObjectsDeleteAll();//删除当前图表所有对象
   EventKillTimer();//反初始化销毁计时器

   Comment("");//清除左上角注释


谢谢你,利用你的方法了,但现在问题是……我画不出图形来,而且我也不知道要画好多线段的话该怎么处理,是做个动态数组存这些线段还是咋弄

 
畫好的圖可以儲存在模板 下次調出來使用
 
Hung Wen Lin #:
畫好的圖可以儲存在模板 下次調出來使用

哦,这个思路,有范例代码吗?

 
Hung Wen Lin #:
畫好的圖可以儲存在模板 下次調出來使用

另外,创建的每一根线段该怎么自动起名而不重复?

 
Liang Liu:

EA运行时画了一些线段、矩形等图形对象。我把EA从图表中移除后图形对象并不能被移除,而且也无法被选中。

请教各位:怎么在EA移除后选中和操作留下来的图形对象?

OnDeinit方法是对ea或指标执行删除、更换时间周期、重新输入参数操作时调用的,所以在这个方法里删除ea参建的图形。在建造的时候可以给对象起有规律的名字,比如创建一个全局int变量count,ea每创建一个对象count++,用"ea"+count为对象名称来创建对象,然后在OnDeinit方法里for循环count,删除所有"ea"+count的对象即可。