Как это работает? - страница 3

 
Renat Akhtyamov #:

а где "s"?

у Вас же i,j...

Надо код смотреть. Там ArrayResize просто. s- размер массива

 
Aleksandr Kononov #:

Надо код смотреть. Там ArrayRasize просто

ArrayResize(ind,s+1,total_Indicators)

по первому измерению ресайз

total_Indicators

это что?

 

после этого 

if(ArrayResize(ind,s+1,total_Indicators)>0)

{

Print("Я тут");

....

}

Напечатает?

 
Renat Akhtyamov #:

по первому измерению ресайз

это что?

Рис

Это количество индикаторов

 
Renat Akhtyamov #:

после этого 

{

Print("Я тут");

....

}

Напечатает?

ArrayResize(ind,s+1,total_Indicators)

ind это массив структур для хранения параметров индикаторов. Его размер не может быть больше чем количество индикаторов на графике. Поэтому резервируем для него максимум элементов равное количеству индикаторов

 
Aleksandr Kononov #:

Это количество индикаторов

Кстати вот тут ошибка. 
int total_Indicators=ChartIndicatorsTotal(0,0);
Тут мы считаем индикаторы в только главном окне. А осцилляторы будут не посчитаны
 
Aleksandr Kononov #:

ind это массив структур для хранения параметров индикаторов. Его размер не может быть больше чем количество индикаторов на графике. Поэтому резервируем для него максимум элементов равное количеству индикаторов

втыкайте принты, после одной, после второй команды

найдете причину

 
Renat Akhtyamov #:

втыкайте принты, после одной, после второй команды

найдете причину

Да, спасибо. Буду пробовать

 

Почему тип любого индикатора равен 43?

type

Файлы:
Test.mq5  12 kb
 
                  ind[s].countParam = IndicatorParameters(ind[s].handle,ind[s].type_indicator,ind[s].param);

Получается эта функция берет данные параметров из хендла и заполняет массив параметров и тип, а так же возвращает количество параметров. Почему у хендлов разных индикаторов параметры и имя разные, а тип одинаковый? И почему 43?

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