Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Поделись программой в CodeBase. Получи доступ к миллионам трейдеров!
Evgeniy Zhdan
4622
Evgeniy Zhdan 2015.02.24 09:19 

Здравствуйте, уважаемые программисты! Помогите найти ошибку Zero divide

В той строке нуля никак не может быть, однако ошибка появляется

        i=Bars-Timeframe-1;
        if(counted_bars>=Timeframe) i=Bars-counted_bars-1;
      while(i>=0)   
      { 
        int sh=iBarShift(NULL,Timeframe,Time[i],false);
        Buff8[i]=iMA(NULL,Timeframe,Period1,0,MODE_SMA,PRICE_CLOSE,sh);
        Buff[i]=iClose(NULL,Timeframe,sh)*Buff8[i]/iClose(NULL,Timeframe,sh+Period1); // ошибка в этой строке
        Buff1[i]=(Buff[i]+Buff[i+1]+Buff[i+2]
                 +Buff[i+3]+Buff[i+4]+Buff[i+5]+Buff[i+6]
                 +Buff[i+7]+Buff[i+8]+Buff[i+9]+Buff[i+10]
                 +Buff[i+11]+Buff[i+12]+Buff[i+13])/14;
      } 
Victor Nikolaev
Модератор
14049
Victor Nikolaev 2015.02.24 09:35  
remon:

Здравствуйте, уважаемые программисты! Помогите найти ошибку Zero divide

В той строке нуля никак не может быть, однако ошибка появляется

У Вас выход за пределы массива. Вот тут iClose(NULL,Timeframe,sh+Period1). 
Evgeniy Zhdan
4622
Evgeniy Zhdan 2015.02.24 09:41  
Vinin:
У Вас выход за пределы массива. Вот тут iClose(NULL,Timeframe,sh+Period1). 
Как это выход за пределы массива? Тут его нет.
Victor Nikolaev
Модератор
14049
Victor Nikolaev 2015.02.24 10:08  
remon:
Как это выход за пределы массива? Тут его нет.

Вы пытаетесь получить значение из массива, но этого значения нет. 

Поиграйте с этой строчкой i=Bars-Timeframe-1;

Доведите значение  i до рабочего варианта. Для начала просто сделайте что бы оно равнялось небольшому числу. Убедитесь в работоспособности алгоритма

Evgeniy Zhdan
4622
Evgeniy Zhdan 2015.02.24 10:19  
Vinin:

Вы пытаетесь получить значение из массива, но этого значения нет. 

Поиграйте с этой строчкой i=Bars-Timeframe-1;

Доведите значение  i до рабочего варианта. Для начала просто сделайте что бы оно равнялось небольшому числу. Убедитесь в работоспособности алгоритма

Спасибо. буду копать
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий