Кто нибудь подскажет?

 

Я столкнулся со следующей проблемой: в нижеприведенном скрипте оператор ObjectType все время возвращает -1, хотя на графике присутствеют различные объекты (трендовые линии, текстовые метки и т.д)

//----
  int obj_total=ObjectsTotal(), Tip;
  string name;
  for(int i=0;i<obj_total;i++)
  {
  name=ObjectName(i);
  Tip=ObjectType(i);
  Alert(i,": Имя объекта - ",name,"Tip - ",Tip);
  }
 
//----OBJ_TREND

И еще. Имеется трендовая линия. Если подвести курсор к линии появляется окошечко с сообщенеием

что это трендовая линия и ниже значение. Как програмно получить в скрипте это значение,

например, на нулвой свече?




 
Foma_N писал (а) >>

Я столкнулся со следующей проблемой: в нижеприведенном скрипте оператор ObjectType все время возвращает -1, хотя на графике присутствеют различные объекты (трендовые линии, текстовые метки и т.д)

//----
  int obj_total=ObjectsTotal(), Tip;
  string name;
  for(int i=0;i<obj_total;i++)
  {
  name=ObjectName(i);
  Tip=ObjectType(i);
  Alert(i,": Имя объекта - ",name,"Tip - ",Tip);
  }

int ObjectType( string name)
Функция возвращает тип указанного объекта. Для получения информации об ошибке необходимо вызвать функцию GetLastError().
Параметры:
name - Имя объекта.

 
WWer писал (а) >>

int ObjectType( string name)
Функция возвращает тип указанного объекта. Для получения информации об ошибке необходимо вызвать функцию GetLastError().
Параметры:
name - Имя объекта.

Спасибо. Работает. А как же получить координаты, например, на уровне последней свечки?

 
Foma_N писал (а) >>

Спасибо. Работает. А как же получить координаты, например, на уровне последней свечки?

Сам додумался:

int start()
  {
//----
  int obj_total=ObjectsTotal(), Tip;
  string name;
  for(int i=0;i<obj_total;i++)
  {
  name=ObjectName(i);
  Tip=ObjectType(name);
  if (Tip==2)
  {
  double price=ObjectGetValueByShift(name, 0);
  Alert(i,": Имя объекта - ",name," Значение - ",price);
  }
  }
 
//----OBJ_TREND
  return(0);
  }