Возникает разница в показаниях для iAO и значениями на графике. Почему это может происходить?

 

Добрый день! Нужна консультация по индикатору iAO. Возникает разница в показаниях для iAO и значениями на графике.  Происходит сдвиг на 2 бара. Нулевому бару может присваиваться значение 3-го, первому - 4-й. Почему такое может происходить? (данная ошибка возникает не постоянно)


double aoH1[],aoH4[],aoD[];
   ArrayResize(aoH1,6);
   ArrayResize(aoH4,6);
   ArrayResize(aoD,6);
   for(int i=0; i<6; i++)
      {
      aoH1[i]=iAO(Symbol(),PERIOD_H1,i);
      aoH4[i]=iAO(Symbol(),PERIOD_H4,i);
      aoD[i]=iAO(Symbol(),PERIOD_D1,i);
   //   Alert(Symbol(), " H1(",i,")= ",aoH1[i]," Н4(",i,")= ",aoH4[i]," D(",i,")= ",aoD[i]);
      }