Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Зарабатывай на сервисах MQL5. Это просто!
NICK_R
19
NICK_R 2013.03.20 20:43 

Помогите!

 Хочу написать советник в котором бы  в массиве  запоминалось некоторое количество последних цен 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);
}

 

Alexander
2441
Alexander 2013.03.21 00:31  

Немного перемудрил, попробуй так

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);
 }
NICK_R
19
NICK_R 2013.03.21 19:16  
Roger:

Немного перемудрил, попробуй так

 

NICK_R
19
NICK_R 2013.03.21 19:17  
Огромное спасибо! Все работает.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий