Вопрос по отображаемым барам в окне терминала.

 

Здравствуйте, уважаемые!

Хотел поинтересоваться, если кто занимался подобной проблемой. Возникла необходимость отображать в индикаторе максимум и минимум видимых баров (т.е. тех, которые находятся только в видимой части окна терминала, без прокрутки), просто лень по шкале считать и прикидывать, сколько пунктов колебания видим. Пока решил вопрос грубо, что называется в лоб, смещение на всех графиках установлено одинаковое и масштабирование по ширине баров тоже, поэтому просто тупо посчитал кол-во отображаемых баров и на всей длине нашел самый высокий High и самый низкий Low, и их разность высыпается в индикатор.

Теперь собственно сам вопрос, может это возможно сделать каким-нибудь более стандартным и так сказать эллегантным способов, средствами mql4?

Заранее благодарен за ответы.

 

есть такие функции, может они помогут .


int WindowFirstVisibleBar( )
Функция возвращает номер первого видимого бара в окне текущего графика. Необходимо иметь в виду, что ценовые бары нумеруются задом наперед, от последнего к первому. Текущий бар, самый последний в ценовом массиве, имеет индекс 0. Самый старый бар имеет индекс Bars-1. Если номер первого видимого бара меньше, чем количество видимых баров на графике на 2 и более, это значит, что окно графика заполнено не до конца и имеется поле справа.


int WindowBarsPerChart( )
Функция возвращает количество баров, помещающихся в окно текущего графика.
 
satop писал >>

есть такие функции, может они помогут .

Спасибо, сейчас проверим.

 

Проверил, ф-ция не учитывает установленное смещение на графике... Жаль...

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