Why indicator is not showing older then x values?

 
Hi members,

my first post here, but i have to say very good site!

I'm working a custom indicator that i have made. So far so good but i can not get values from it older than lets say x bars. Why is that, when i'm reading all bars with Bars-1 function?
Maybe the problem is in Time[i+j] function? Is that possible? Or may be the drawing arrey is restricted some how?
This is a simple correlation indicator. Please take a look at my code:

#property copyright "*"
#property link "*"

#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color2 White
#property indicator_color4 Red

#property indicator_maximum 1
#property indicator_minimum -1

#property indicator_level1 0.7
#property indicator_level2 -0.7

extern int Per=14;
bool GBPJPY_v_EURJPY=true;
bool USDJPY_v_EURJPY=true;




double CloseEURJPY,CloseGBPJPY;
double CloseUSDJPY;
double summaEURJPY=0,summaGBPJPY=0;
double summaUSDJPY=0;
double summaPow_EURJPY=0,summaPow_GBPJPY=0;
double summaPow_USDJPY=0;
double summa_eur_aud=0,summa_eur_jpy=0;
double sredneeEURJPY=0,s,sredneeGBPJPY=0;
double sredneeUSDJPY=0;
double Q_eur_usd=0,Q_gbp_usd=0,Q_aud_usd=0,Q_usd_chf=0,Q_usd_jpy=0,Q_usd_cad=0;
double Correl_eur_aud=0,Correl_eur_jpy=0;


double ExtMapBuffer2[];
double ExtMapBuffer4[];

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----


SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);

SetIndexStyle(3,DRAW_LINE);
SetIndexBuffer(3,ExtMapBuffer4);

SetIndexLabel(1,"GBPJPY v EURJPY");
SetIndexLabel(3,"USDJPY v EURJPY");
IndicatorDigits(2);

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start(){

int limit=Bars-1;

for(int j=limit;j>=0;j--){
sredneeEURJPY=0;
sredneeGBPJPY=0;
sredneeUSDJPY=0;
summaEURJPY=0;
summaGBPJPY=0;
summaUSDJPY=0;
summaPow_EURJPY=0;
summaPow_GBPJPY=0;
summaPow_USDJPY=0;
summa_eur_aud=0;
summa_eur_jpy=0;
Q_eur_usd=0;
Q_gbp_usd=0;
Q_aud_usd=0;
Q_usd_chf=0;
Q_usd_jpy=0;
Q_usd_cad=0;
Correl_eur_aud=0;
Correl_eur_jpy=0;
for (int i=0; i<Per; i++){
CloseEURJPY=iClose("EURJPY", 0,iBarShift("EURJPY", 0, Time[i+j], false));//X
if(GBPJPY_v_EURJPY)CloseGBPJPY=iClose("GBPJPY", 0, iBarShift("GBPJPY", 0,Time[i+j], false));//Y
if(USDJPY_v_EURJPY)CloseUSDJPY=iClose("USDJPY", 0, iBarShift("USDJPY", 0,Time[i+j], false));//Y

summaEURJPY=summaEURJPY+CloseEURJPY;//Xi
if(GBPJPY_v_EURJPY)summaGBPJPY=summaGBPJPY+CloseGBPJPY;//Yi
if(USDJPY_v_EURJPY)summaUSDJPY=summaUSDJPY+CloseUSDJPY;//Yi

summaPow_EURJPY=summaPow_EURJPY+MathPow(CloseEURJPY, 2);//Xi2
if(GBPJPY_v_EURJPY)summaPow_GBPJPY=summaPow_GBPJPY+MathPow(CloseGBPJPY, 2);//Yi2
if(USDJPY_v_EURJPY)summaPow_USDJPY=summaPow_USDJPY+MathPow(CloseUSDJPY, 2);//Yi2

if(GBPJPY_v_EURJPY)summa_eur_aud=summa_eur_aud+(CloseEURJPY*CloseGBPJPY);//XiYi
if(USDJPY_v_EURJPY)summa_eur_jpy=summa_eur_jpy+(CloseEURJPY*CloseUSDJPY);//XiYi
}
sredneeEURJPY=summaEURJPY/Per;//X
if(GBPJPY_v_EURJPY)sredneeGBPJPY=summaGBPJPY/Per;//Y
if(USDJPY_v_EURJPY)sredneeUSDJPY=summaUSDJPY/Per;//Y

Q_eur_usd=MathSqrt(MathAbs(summaPow_EURJPY/Per-MathPow(sredneeEURJPY, 2)));//Qx
if(GBPJPY_v_EURJPY)Q_aud_usd=MathSqrt(MathAbs(summaPow_GBPJPY/Per-MathPow(sredneeGBPJPY, 2)));//Qy
if(USDJPY_v_EURJPY)Q_usd_jpy=MathSqrt(MathAbs(summaPow_USDJPY/Per-MathPow(sredneeUSDJPY, 2)));//Qy

if(GBPJPY_v_EURJPY)if(Q_eur_usd*Q_aud_usd!=0)Correl_eur_aud=NormalizeDouble((summa_eur_aud/Per-sredneeEURJPY*sredneeGBPJPY)/(Q_eur_usd*Q_aud_usd), 2);
if(USDJPY_v_EURJPY)if(Q_eur_usd*Q_usd_jpy!=0)Correl_eur_jpy=NormalizeDouble((summa_eur_jpy/Per-sredneeEURJPY*sredneeUSDJPY)/(Q_eur_usd*Q_usd_jpy), 2);


if(GBPJPY_v_EURJPY)ExtMapBuffer2[j]=Correl_eur_aud;
if(USDJPY_v_EURJPY)ExtMapBuffer4[j]=Correl_eur_jpy;

}
}
 
Because history on some symbols is absent. Check history depth on all symbols used in this indicator.