Самый быстрый способ установить свойство объекта

 

Я пробовал это:

for(int obj_index = ObjectsTotal(0, 0, OBJ_HLINE) - 1; obj_index >= 0; obj_index--)
 {
  string name = ObjectName(0, obj_index, 0, OBJ_HLINE);
  if(!ObjectSetInteger(0, name, OBJPROP_SELECTED, false))
         Print(name, " Not Selected");
 }

Но на это нужно немного времени. Я хочу знать, как быстрее всего установить свойство объекта, если это возможно, не просматривая все строки одну за другой.

 
Забыл упомянуть, у меня 1000 строк. И это займет немного времени, чего я намерен избежать.
 
void OnChartEvent(const int id, const long& lparam, const double& dparam, const string& sparam)
  {
  if(id==CHARTEVENT_OBJECT_CLICK)
    {
    if(sparam=="My_obj"))
      {
      //code....
      }
    }
  }
Hi
 
jaffer wilson:
Забыл упомянуть, у меня 1000 строк. И это займет немного времени, чего я намерен избежать.

Попробуйте сначала сохранить имена всех объектов в свой массив, а потом уже сделать для всех ObjectSetInteger.

Разработчики неоднократно советовали не смешивать read- и write-операции с объектами.

 

Я не читаю и не пишу. Я просто хочу быстрее выделять и снимать выделение с объектов. Если есть другой способ, кроме сохранения имен, предложите. Потому что я рисую линии вручную, а советник выполняет какую-то задачу, в которой мне нужно несколько раз выбирать и отменять выбор объекта.

Пожалуйста, дайте мне знать.

 

Кто выделяет и снимает объекты?

Если человек - тогда следить в OnChartEvent.

Если советник, тогда он должен запоминать свои действия, или перебор всех объектов.

Других вариантов не могу даже придумать.

 

Вот это может немного помочь


 
Спасибо всем за ваш выбор.
 
jaffer wilson:

Я не читаю и не пишу.

ObjectName, ObjectGetXXX = read

ObjectSetXXX = write

Don't mix them.