Ну что ты будешь делать?! Опять проблемы с делением!

 

Из темы вопрос, думаю, ясен. Вот код:

   double past[];
   double p1;
   double p2;
      p1 = iClose(NULL,0,k);
      p2 = iClose(NULL,0,k-1);
   
      past[k]=((p2-p1)*100)/p2;
      Alert("past " + past[k]);

При любом значении k от 1 до 100 выдает ноль :( Как думаете, в чем проблема?

 
в том, что размер массива не определен
 
Да, действительно, спасибо! Хм.. Достаточно странное ограничение со стороны MQL
 
Fduch писал (а) >>
Да, действительно, спасибо! Хм.. Достаточно странное ограничение со стороны MQL

Интересно, в каком языке не надо определять размер массива?

 
Integer писал (а) >>

Интересно, в каком языке не надо определять размер массива?

В MQL4 в индикаторах, если далее происходит связка массива, объявленного на глобальном уровне, с предопределенным буфером пользовательского индикатора.

 
Integer писал (а) >>

Интересно, в каком языке не надо определять размер массива?

В моём любимом PHP (к примеру).

Больше того, там не обязательно определять тип переменной.

 
Andy_Kon писал (а) >>

В моём любимом PHP (к примеру).

Больше того, там не обязательно определять тип переменной.

Что поделаешь? Армейская дисциплина немного отличается от школьной продлёнки. Привыкайте к боевым будням... :-)

 
Andy_Kon писал (а) >>

В моём любимом PHP (к примеру).

Больше того, там не обязательно определять тип переменной.

это потому что у вас так настроены предупреждения

и все ваши не объявления просто проглытываются системой

а на самом деле он варнинги сыпет по этому поводу)

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