Как получить количество доступных баров при расчете индикатора, на текущей итерации?
Что-то вроде Bars. Или счетчик делать?
А собственно зачем? Ведь есть:
int OnCalculate (const int rates_total, // размер массива price[] const int prev_calculated, // обработано баров на предыдущем вызове const int begin, // откуда начинаются значимые данные const double& price[] // массив для расчета );
Хотя, можно и так: Bars
Немного другое нужно. Начинается расчет индикатора циклом и на текущем индексе необходимо знать сколько всего баров от начала.
Bars покажет сколько всего баров, от нулевого индекса, а в цикле индекс все время смещается.
текущая позиция индикатора - это i (к примеру, выйдем из цикла на 100-м баре) :
for(i = IndPeriod; i >= 0; i--)
{
if(i==IndPeriod-100) break;
}
Долго будет. Будет цикл в цикле. Может есть что-то наподобие Bars, но для индикатора?
И индексация нужна, как в MQL4, справа ноль.
тогда нужно еще раз уточнить - чего хотим? ведь было так:
Немного другое нужно. Начинается расчет индикатора циклом и на текущем индексе необходимо знать сколько всего баров от начала.
Bars покажет сколько всего баров, от нулевого индекса, а в цикле индекс все время смещается.
тогда нужно еще раз уточнить - чего хотим? ведь было так:
Вроде придумал. На первой итерации записать время и через баршифт получать индекс, который и будет количеством баров, текущей итерации.
Просто вычислить. Количество баров известно. Индекс при отсчете справа известен. Остается вычесть.
Спасибо! Скриптом (MQL4)проверил считает правильно.
Не знаете на MQL4 корректно работает, на четвертом в справке документации не указана возможность с диапазоном дат?

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Как получить количество доступных баров при расчете индикатора, на текущей итерации?
Что-то вроде Bars. Или счетчик делать?