запоминание старых показаний индикатора

 

Доброе настроение.

Помощь уж очень нужна. Уже достаточно время туплю не могу написать. 

Прогаю на мкл4 недавно. проблема  следующая.

 Написал индикатор все ок. Но еще захотел, чтобы он рисовал еще и старые линии. Индикатор на часовом промежутке. Мне интересно , чтобы он еще отображал и старые линии . Интересно сравнивать, чтобы в голове не держать.

Пишу примерно так. через счетчик

int hh=1; //начало счетчика
int start()
{
if (Minute()>=0 && Minute()<=5) // Ограничение по работе
{
int k;
double arr1[150][4]; // описание двумерного массива
double vall[150]; // искомый столбец
 functionW1(vall); // далее цепь функций которые работают
double vall1[150];
functionD1(vall1);
double vall2[150];
functionH4(vall2);
double vall3[150];
functionH1(vall3);



if (TimeFrame==PERIOD_H1) // работаем только на часе
{
for ( k=1;k<=145;k++) // цикл для рисования линии по уже вычесленному массиву vall3
{
Buffer13[146-k]=vall3[k];


arr1[k][hh]=vall3[k]; // пытаюсь создать двумерный массив
}
}
hh=hh+1; // конец счетчика

if (TimeFrame==PERIOD_H1)
{
for ( k=1;k<=145;k++)
{
Buffer18[146-k]=arr1[k][2]; //тут пытаюсь забрать нужный мне массив и нарисовать старую линию
}
}

return(0);
}
 

Ничего не получается. Помогите пожалуйста. Чувствую проблема в логике программирования.

С Уважением Олег 

Заранеее спасибо 

 
Над полем для текста нового сообщения, в меню, есть поле SRC. Кликните на него, предварительно скопировав в буфер ВЕСЬ код (он ведь не секретен?) и воткните туда содержимое буфера обмена. 
 
int hh=1; //начало счетчика
int start()
{
if (Minute()>=0 && Minute()<=5) // Ограничение по работе 
{
int k;
 double arr1[150][4]; // описание двумерного массива
double vall[150]; // искомый столбец
 functionW1(vall); // далее цепь функций которые работают
 double vall1[150];
 functionD1(vall1);
 double vall2[150];
 functionH4(vall2);
 double vall3[150];
 functionH1(vall3);



if (TimeFrame==PERIOD_H1) // работаем только на часе
{
for ( k=1;k<=145;k++) // цикл для рисования линии по уже вычесленному массиву vall3
{
Buffer13[146-k]=vall3[k];


arr1[k][hh]=vall3[k]; // пытаюсь создать двумерный массив
}
}
hh=hh+1; // конец счетчика

if (TimeFrame==PERIOD_H1) 
{
for ( k=1;k<=145;k++)
{
Buffer18[146-k]=arr1[k][2]; //тут пытаюсь забрать нужный мне массив и нарисовать старую линию
}
}

return(0);
}
 
Спасибо. 
 
tara:
 Спасибо.  Можете посмотреть?
 
Я этого кода не понимаю, в моем представлении он работать не должен даже по замыслу его создателя. Ушел. 
Причина обращения: