Немного перемудрил, попробуй так
extern int Kol_Tikov=6; double BID[]; int init() { ArrayResize(BID,Kol_Tikov); } int start() { for(int i=Kol_Tikov-1;i>0;i--)BID[i]=BID[i-1]; BID[0]=NormalizeDouble(Bid,5); Alert("BID[0] = ", BID[0], "\nBID[1] = ", BID[1], "\nBID[2] = ", BID[2], "\nBID[3] = ", BID[3], "\nBID[4] = ", BID[4], "\nBID[5] = ", BID[5]); return(0); }
Roger:
Немного перемудрил, попробуй так
Огромное спасибо! Все работает.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Помогите!
Хочу написать советник в котором бы в массиве запоминалось некоторое количество последних цен Bid, а при наступлении нового тика новое значение цены Bid присваивалось нулевому значению массива, цена Bid полученная раньше присваивалась первому значению массива и т. д. Короче подобно массивам тайм-серий: цена Open[0] - цена последне свечи, Open[1] - цена предыдущей и т. д. Сам пытался разобрать:
extern int Kol_Tikov=6;
int j, i, g;
double BID[10];
int start()
{
i=Kol_Tikov;
if (BID[i]!=0)
{
j++;
i=Kol_Tikov-j;
if (i<0)
{
i=0;
BID[1]=BID[0];
BID[2]=BID[1];
BID[3]=BID[2];
BID[4]=BID[3];
BID[5]=BID[4];
}
}
BID[i]=NormalizeDouble(Bid,5);
Alert("BID[0] = ", BID[0],
"\nBID[1] = ", BID[1],
"\nBID[2] = ", BID[2],
"\nBID[3] = ", BID[3],
"\nBID[4] = ", BID[4],
"\nBID[5] = ", BID[5]);
return(0);
}