ArrayResize в помощь
dualbit:
ArrayResize в помощь
ArrayResize в помощь
То есть перед тем как заносить данные в массив, надо ресайз делать на 2 элемента?
Danogas:
То есть перед тем как заносить данные в массив, надо ресайз делать на 2 элемента?
То есть перед тем как заносить данные в массив, надо ресайз делать на 2 элемента?
ага, сколько баров хай лоу
//+------------------------------------------------------------------+ void FindLevels() { double Lev_W1[], Lev_D1[];//создаю массив ArrayResize(Lev_W1,iBars(Symbol(),PERIOD_W1)); ArrayResize(Lev_D1,iBars(Symbol(),PERIOD_D1)); //---- for(int i=0;i<iBars(Symbol(),PERIOD_W1)-1;i++)//записываю первую половину массива(недельные хай и лоу) { double H=NormalizeDouble(iHigh(NULL,PERIOD_W1,i),Digits);//определяю хай double L=NormalizeDouble(iLow(NULL,PERIOD_W1,i),Digits);//лоу //---- Lev_W1[i]=H;//заношу в массив Lev_W1[i]=L; } //---- for(i=0;i<iBars(Symbol(),PERIOD_D1)-1;i++)//вторая половина массива(дневные хай/лоу) { double h=NormalizeDouble(iHigh(NULL,PERIOD_D1,i),Digits); double l=NormalizeDouble(iLow(NULL,PERIOD_D1,i),Digits); //---- Lev_D1[i]=h; Lev_D1[i]=l; } //---- Alert("Lev_W1 "+ArraySize(Lev_W1)); Alert("Lev_D1 "+ArraySize(Lev_D1)); } //+------------------------------------------------------------------+
costy_:
ага, сколько баров хай лоу
Ну так много баров мне не надо)) А за подсказку с ресайзом всем СПАСИБО))) Сработало)))
ArrayResize(Lev,ArraySize(Lev)+2);
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте, коллеги! Помогите, пожалуйста решить задачку. Хочу создать массив, в который бы занеслись максимумы и минимумы последних Count недель и Count дней.
Вот чего наваял)))
void FindLevels()
{
double Lev[]; создаю массив
for (int i=1;i<=Count+1;i++) записываю первую половину массива (недельные хай и лоу)
{double H=NormalizeDouble(iHigh(NULL,Period_W1,i),Digits); определяю хай
double L=NormalizeDouble(iLow(NULL,Period_W1,i),Digits); лоу
Lev[i*2-2]=H; заношу в массив
Lev[i*2-1]=L;
}
for (i=Count+1;i<=Count*2;i++) вторая половина массива (дневные хай/лоу)
{double h=NormalizeDouble(iHigh(NULL,Period_D1,i-Count),Digits);
double l=NormalizeDouble(iLow(NULL,Period_D1,i-Count),Digits);
Lev[i*2-2]=h;
Lev[i*2-1]=l;
}
Alert(ArraySize(Lev)); проверяю результат((((((((((((((((
И как не ломал голову - Alert все равно возвращает 0. Т.е. данные в массив не заносятся и он остается пустым.