Объект 'точка' неверно указывает местоположение цены на баре

 
Здравствуйте форумчане.

Скрипт создает точку по цене открытия бара, когда его бросаешь на свечу. 
Отрисованная точка неверно указывает только местоположение цены на баре.
Причем разница в показании цены 'Окна данных' и точки изменяется при смене таймфрейма.

Причину найти не удалось.Может кто подскажет решение?

extern bool   Sound=false ;
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
{
   int      i;
   string   name1,NumberOfBar1;
   double   price1;
   datetime time1;
//--- координаты точки дата\цена ---
 
   time1=WindowTimeOnDropped();// время 1-ой координаты : если скрипт кинут на свечу,тогда возвращает время открытия
   
   if(Sound)
   {Alert("Время открытия бара : ",TimeToStr(time1,TIME_SECONDS));}
   
   NumberOfBar1=iBarShift(NULL,0,time1);
   price1=iOpen(NULL,0,NumberOfBar1);// цена 1-ой координаты
   
//--- рисуем точку ------------------------------------------------------ 
  for(i=0;i<1000000;i++){name1="Point_"+i; if(ObjectFind(name1)<0) break;}
      
   ObjectCreate(0,name1,OBJ_ARROW,0,time1,price1,0,0);// создадим стрелку 
   ObjectSetInteger(0,name1,OBJPROP_ARROWCODE,108);   // установим код стрелки 
   ObjectSetInteger(0,name1,OBJPROP_TIME,time1);      // зададим время 
   ObjectSetDouble(0,name1,OBJPROP_PRICE,price1);     // зададим цену 
  return(0);
}

ErrorPoint

 

ставьте другой код стрелки
один из: 1,2,3,4,5,6

 
Для точного отображения используйте другой графический объект: OBJ_TEXT.
 
Пробую.
 
Евгений Гребенщиков:

Всем спасибо, все получилось

Тема закрыта , вопрос решен.

Причина обращения: