Косяк с ZigZagом от квотесов или мой косяк?

 

Использую стандартный зигзаг для определения вершин на старших ТФ, т.е. на графиках меньше Н4 рисуются стрелочки, где вершины у зигзага на Н4. При запуске всё в порядке - мой индикатор отрисовывает стрелочки в нужных местах. Но проблема в том, что спустя допустим 6-7 часов новая стрелка не появляется, хотя вершина и сформировалась. Если сменить ТФ, то индикатор переинициализируется и стрелка появится. Вроде как получается, что до переинициализации данные с Н4 для зигзага вызываемого через икастом не обновляются. Как это исправить?

Новые вершины собираю вот так.

   int count, i, tf;
   bool flag;
   double zz;
   double pt[5];
   double br[5];
   
   count=0; i=0;
   flag=true;
   tf=240;
   
   while(flag)
      {
      zz=NormalizeDouble(iCustom(Symbol(),tf,"ZigZag",12,5,3,0,i),Digits);
      if(zz>Point && zz<Bid*2)
         {
         pt[count]=zz; //значение вершины
         br[count]=i;  //номер бара
         count++;
         }
      if(count>=ArraySize(pt)) flag=false;
      i++;
      }