помогите найти ошибку уже 2 часа голову ломаю где промахнулся не могу понять

 

Собственно прочел пол книги по программированию и понял что дальше без практической подпитки не как, вот решил програмить по маленьку

первая моя задача значит по каждому тику заполняет одномерный масив в 10 элементов, ну собствено получается до 10 элемента то заполнение происходит дальше смещение происходит то есть елемент масива 1 принимает значения элемента 2, второй значение третьего и так далее, и выдается сообщение, но блин с каждым тиком после 10 получается смещение с нулем, массив почемуто обнуляется с конца с каждым тиком(итог должен быть чтоб выдавалось сообщение с каждым тиков 10ть элементов массива с каждым тиком со смещением, чтоб видно было 10 предыдущих цен)

Помогите сдвинуться с мертвой точки!!!

int i=0,a=1;
double mas[10];

int start()
{
//10 последниъ тиков в массиве ----
mas[i]=Bid; // присваиваем элементу массива цену
if (i!=10) // выполнения счетчика пока масив полностью не заполнится
{
i++;
a=0;
}
else
{
for (a=1;a<=10;a++) // после заполнения массива сдвигаем значение массива на один оставляя для 10ого элемента место
{
mas[a-1]=mas[a];
}
a=0;
}//
while(a<=11) // видимое заполнение массива
{
a++;
Alert("masiv-",a-1,"-",mas[a-1]);
}
//----
return(0);

 
И еще народ я тут слыхал что в делфи например можно компилить по этапно что видить куда цикл или условие пошло, а можно сдесь это сделать, я понимаю что сдесь все основывается на тиках которые могут происходить очень быстро но может быть можно как то прогрузить историю и на истории компилить советника?
 
Все, что могу посоветовать - Учебник. От корки до корки ;)
 
double mas[10]; 
 
int start()
{
  for (int i=9; i>0; i--) mass[i]=mass[i-1];
  mass[0]=Bid;
}
 
Figar0 ладно спс, а на счет второго вопроса что скажете?