Получить количество баров

 
forexman77:

Как получить количество доступных баров при расчете индикатора, на текущей итерации?

Что-то вроде Bars. Или счетчик делать?

А собственно зачем? Ведь есть:

int OnCalculate (const int rates_total,      // размер массива price[]
                 const int prev_calculated,  // обработано баров на предыдущем вызове
                 const int begin,            // откуда начинаются значимые данные
                 const double& price[]       // массив для расчета
   );

 

Хотя, можно и так: Bars

 
barabashkakvn:

А собственно зачем? Ведь есть:

 

Хотя, можно и так: Bars

Немного другое нужно. Начинается расчет индикатора циклом и на текущем индексе необходимо знать сколько всего баров от начала. 

Bars покажет сколько всего баров, от нулевого индекса, а в цикле индекс все время смещается. 

 
forexman77:

Немного другое нужно. Начинается расчет индикатора циклом и на текущем индексе необходимо знать сколько всего баров от начала. 

Bars покажет сколько всего баров, от нулевого индекса, а в цикле индекс все время смещается. 

текущая позиция индикатора - это i (к примеру, выйдем из цикла на 100-м баре) :

for(i = IndPeriod; i >= 0; i--)

{

if(i==IndPeriod-100) break;

}

 
_new-rena:

текущая позиция индикатора - это i :

Долго будет. Будет цикл в цикле. Может есть что-то наподобие Bars, но для индикатора?

И индексация нужна, как в MQL4, справа ноль. 

 
Вроде придумал. На первой итерации записать время и через баршифт получать индекс, который и будет количеством баров,  текущей итерации.
 
forexman77:

Долго будет. Будет цикл в цикле. Может есть что-то наподобие Bars, но для индикатора?

И индексация нужна, как в MQL4, справа ноль. 

тогда нужно еще раз уточнить - чего хотим? ведь было так:

forexman77:

Немного другое нужно. Начинается расчет индикатора циклом и на текущем индексе необходимо знать сколько всего баров от начала. 

Bars покажет сколько всего баров, от нулевого индекса, а в цикле индекс все время смещается. 

 
_new-rena:

тогда нужно еще раз уточнить - чего хотим? ведь было так:

Просто у меня начало это первый бар слева, а Вы наверное справо считаете. Это не столь важно.
 
forexman77:
Вроде придумал. На первой итерации записать время и через баршифт получать индекс, который и будет количеством баров,  текущей итерации.
С баршифтом поторопился. Он покажет индекс текущего состояния в окне, а не внутри цикла индикатора.
 
Просто вычислить. Количество баров известно. Индекс при отсчете справа известен. Остается вычесть.
 
Integer:
Просто вычислить. Количество баров известно. Индекс при отсчете справа известен. Остается вычесть.

 Спасибо! Скриптом (MQL4)проверил считает правильно.

Не знаете на MQL4 корректно работает, на четвертом в справке документации не указана возможность с диапазоном дат?

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