Создаю класс массивов по историческим данным ордеров, что не так

 

Доброго времени. 

Где ошибка?

void GetHPosition(_hist &Array[])
  {
// --- определение границ требуемой торговой истории
   datetime end=TimeCurrent();                 // текущее серверное время
   datetime start=end-PeriodSeconds(PERIOD_W1);// установим начало на сутки назад
//--- запросим в кэш программы нужный интервал торговой истории
   HistorySelect(start,end);
   int _GetLastError=0;
//--- получим количество сделок в истории
   int _PositionsHTotal=HistoryDealsTotal();
//--- получим тикет сделки, имеющей последний индекс в списке
   int temp_value=(int)MathMax(_PositionsHTotal,1);
   ArrayResize(Array,temp_value);

   _ExpertHist=0;
   for(int z=_PositionsHTotal-1; z>=0; z--)
     {
         ulong deal_ticket=HistoryDealGetTicket(z);
        {
         Array[z].magic= HistoryDealGetInteger(deal_ticket,DEAL_MAGIC);
         Array[z].priceopen=HistoryDealGetDouble(deal_ticket,DEAL_PRICE);

         _ExpertHist++;
        }
     }

   temp_value=(int)MathMax(_ExpertHist,1);
   ArrayResize(Array,temp_value);
  }
 
if(HistorySelect(start,end))
{
}

Первая ошибка

 

 datetime start=end-PeriodSeconds(PERIOD_W1);// установим начало на сутки назад
Так на сутки или на неделю?

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