Перемещение стрелок

 
Добрый вечер. При использовании индикатора, столкнулась с тем, что через определенное время его стрелки самопроизвольно перемещаются по графику. Скрин прикрепила к сообщению. Может кто знает как это исправить?
Файлы:
Strelki.png  153 kb
 
Tatiana Zyrianova:
Добрый вечер. При использовании индикатора, столкнулась с тем, что через определенное время его стрелки самопроизвольно перемещаются по графику. Скрин прикрепила к сообщению. Может кто знает как это исправить?

Стрелки перемещается после смены таймфрейма?

 
Tatiana Zyrianova:
Добрый вечер. При использовании индикатора, столкнулась с тем, что через определенное время его стрелки самопроизвольно перемещаются по графику. Скрин прикрепила к сообщению. Может кто знает как это исправить?

Если есть сигнал, то вы заполняете данные буфера (на котором сигнал) значением (на котором стрелка должна появиться), например так:

if(condition)
  {
   Buffer[i]=high[i];
  }

А теперь допишите далее:

else 
   Buffer[i]=EMPTY_VALUE;

И ещё:

Когда rates_total - prev_calculated>1, то нужно инициализировать буфер стрелок пустым значением:

int limit=rates_total-prev_calculated;
if(limit>1)
  {
   ArrayInitialize(EMPTY_VALUE);
   limit=rates_total-1;
  }

Ну и цикл индикатора делайте
либо от limit до >=0,
либо от 0, и до limit

 
Tatiana Zyrianova:
Добрый вечер. При использовании индикатора, столкнулась с тем, что через определенное время его стрелки самопроизвольно перемещаются по графику. Скрин прикрепила к сообщению. Может кто знает как это исправить?

Нужно инициализировать индикаторные буферы, как при старте, так и при смене символа/периода.
Это остатки предыдущего расчета.

 
Ок, поняла, спасибо.
 
Такое бывает, если значение буфера зависит от спреда. Спред меняется, буфер - соответственно