Функция ObjectGetShiftByValue применительно к ARROW

 
на графике имеется объект SYMBOL_RIGHTPRICE с именем "symbolARROW"
почему я не могу получить номер бара?

int f=ObjectGetShiftByValue("symbolARROW",ObjectGet("symbolARROW",OBJPROP_PRICE1));


функция ObjectFind("symbolARROW") находит этот объект.

 
понял, эта функция применятеся только к треновой линии
 
Разобраться то я разобрался, но возникла другая проблема.
Я нарисовал трендовую линию, на определенном баре, поставил ценовую метку, но когда использую функцию ObjectGetShiftByValue, подставляя в нее цену ценовой метки, функция возвращает мне неправильный номер бара. Такая цена в действительности находилась на рядом стоящем баре. Поэтому приходится от полученного значения отнимать 1.

Например: функция показала что цена находится на 6 баре, но на самом деле эта цена находится на 5 баре.

Что это глюк? Или как?
 
разберёмся