C логарифмом не сложилось... - страница 2

 
Rosh писал(а)  :

Логарифм здесь не причем. Компилятор указывает на выход за пределы индексации при доступе к массиву ExtBuffer[]. Вы его объявили на глобальном уровне, но он так и остался нулевого размера. Если бы Вы его привязали к индикаторному буферу, то все было бы нормально.


а 

//---- buffers 
SetIndexBuffer(0,ExtBuffer,INDICATOR_DATA);

недостаточно?

Уберите обращение к price. и посмотрите. Например,

 ExtBuffer[i]=std*MathLog(sred);

;) 


 

 
avatara:

а 

недостаточно?

Уберите обращение к price. и посмотрите. Например,

;) 


 

Да, есть какая-то ошибка. Спасибо за то, что настояли на рассмотрении. Если немного изменить код вот так,

   int pos=prev_calculated-1;
   if(pos<0) pos=0;   
   double MathLogPrice=MathLog(price[0]);   
   for(int i=pos;i<rates_total;i++)
     {
      ExtBuffer[i]=std*MathLog(sred)/(MathLogPrice*Means);
      //Print(i,"=",ExtBuffer[i]," price[0]=",price[0]);
     }

то будет работать.

Будем разбираться.

 

Спасибо за сообщение. Ошибка исправлена, ждите обновления.

Причина обращения: