Скрипт для скачивания котировок без дыр

 

Подскажите пожалуйста, есть ли такой скрипт, который будет скачивать котировки не в отдельные файлы, а в один, так, чтобы совпадало время? Я написал что-то такое, в-принципе работает нормально для мажоров, но вот сейчас решил скачать котировки по золоту - там вообще мрак. Посоветуйте плз. Вот код моего скрипта(в виде советника, чтобы не зависал терминал)

string write;
extern int barsback = 1000;
string pairs[35];
string time;
bool error;
int handle, errorcount,j,i;
bool worked;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
pairs[1] = "XAUUSDFXF";
pairs[2] = "XAGUSDFXF";
pairs[3] = "XAUAUDFXF";
pairs[4] = "XAUCHFFXF";
pairs[5] = "XAUEURFXF";
pairs[6] = "XAUGBPFXF";
handle=FileOpen("history4.csv", FILE_CSV|FILE_WRITE);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   if(worked) return(0);
//----
   i = barsback;
   while(i > 0)
   {
    
    write = TimeToStr(iTime(Symbol(),0,i));
    time = TimeToStr(iTime(Symbol(),0,i));
    
    for(j = 1; j <=6; j++)
    {
    if((TimeToStr(iTime(pairs[j],0,i)) != time) || (iOpen(pairs[j],0,i) == 0)) 
    {
    error = 1; 
    Print(j);
    errorcount++;
    }
    write = write + "," + DoubleToStr(iOpen(pairs[j],0,i)/MarketInfo(pairs[j],MODE_POINT), MarketInfo(pairs[j],MODE_DIGITS));
    }
   
    if (!error)
    {
    FileWrite(handle, write);
    }
    error = 0;
    i--;
   }
    FileClose(handle);
    Alert("История записана: ", errorcount, " ошибок");
    worked = 1;
//----
   return(0);
  }
 

Самый надёжный способ подкачки здесь.