Problem with Time series functions - page 2

 
AR78:

Hello stringo

Can you please tell me what I’ve done wrong with this piece of code?

#property library
 
 
 
//----------------------------------------------------------------------------------------------
 
datetime StartTime=D'2006.07.20 00:00';
 
datetime EndTime=D'2006.07.23 00:00';
 
 
 
//----------------------------------------------------------------------------------------------
 
static datetime Time1m[];
 
static double High1m[];
 
static double Low1m[];
 
 
 
//----------------------------------------------------------------------------------------------
 
void InitSymbol(string SymbolName)
 
{
 
   ArrayCopySeries(Time1m,MODE_TIME,SymbolName,PERIOD_M1);
 
 
 
   int error;
 
   ArrayCopySeries(Time1m,MODE_TIME,SymbolName,PERIOD_M1);
 
   error=GetLastError();
 
   if(error==4066)
 
     {
 
      for(int i=0;i<2; i++)
 
        {
 
         Sleep(5000);
 
         ArrayCopySeries(Time1m,MODE_TIME,SymbolName,PERIOD_M1);
 
        }
 
     }
 
   ArrayCopySeries(High1m,MODE_HIGH,SymbolName,PERIOD_M1);
 
   ArrayCopySeries( Low1m,MODE_LOW ,SymbolName,PERIOD_M1);
 
   
 
   if(StartTime<Time1m[ArraySize(Time1m)])
 
      StartTime=Time1m[ArraySize(Time1m)];
 
   
 
   if(EndTime>Time1m[0])
 
      EndTime=Time1m[0];
 
      
 
  Alert("End=" ,TimeToStr(Time1m[ArraySize(Time1m)]),", Zero=", TimeToStr(Time1m[0]),", " ,ArraySize(Time1m) );
 
   
 
}


I assumed to see beginning and end date of history but I received this alert:

End=1970.01.01 00:00, Zero=1970.01.01 00:00, 0

I have history data in my History center from 2006.01.09 09:37 to 2006.07.26 21:13 for EUR/GBP pair and no data for other pairs. But in neither cases I receive reasonable data.


Hi,

because arrays are 0-based, the index: ArraySize(Time1m) does not exist.
You probably needed: ArraySize(Time1m) - 1

But that solves only one part of the puzzle.

Cheers!

Max