Максимальная и минимальная видимые котировки - страница 3

 
Почему же стартовое значение FirstVisibleBar( ) неправильное ???

Геометрические размеры графика неизменны.

FirstVisibleBar( ) = BarsPerWindow( ) - отступ от правого края;

BarsPerWindow( ) = const, от периода и данных не зависит.

отступ от правого края = const, от периода и данных не зависит.
 
Почему же стартовое значение FirstVisibleBar( ) неправильное ???
FirstVisibleBar( ) = BarsPerWindow( ) - отступ от правого края;

Откуда Вы взяли эту формулу?

Первый видимый бар на графике и количество баров, помещающихся в окне графика, никак не связаны друг с другом
 
Когда нет отступа FirstVisibleBar( ) = BarsPerWindow( ).

При этих условиях у FirstVisibleBar( ) все равно неправильное стартовое значение при переключении периодов.
 

Когда нет отступа FirstVisibleBar( ) = BarsPerWindow( ).

Ну и что? Полистайте график направо и налево, в начало (кнопкой home) и посмотрите значение, выдаваемое функцией FirsVisibleBar. Только перед этим обязательно отключите автопрокрутку графика.
 
Очень интересные вопросы задал belkor. Помогите.

Какие системные функции и библиотеки необходимо подключать для
- получения вертикального и горизонтального размера текущего графика в пикселах;
- получения максимальной и минимальной видимых котировок текущего графика;
- получения общего количества развернутых графиков в окне ???

Может быть есть смысл дополнить язык MQL4 соответствующими функциями ?
 
Нужна функция, возвращающая количество баров в окне текущего графика с учетом наличия / отсутствия отступа от правого края графика.
 

Нужна функция, возвращающая количество баров в окне текущего графика с учетом наличия / отсутствия отступа от правого края графика.

Зачем?
Несмотря на наличие отступа окно графика может быть заполнено полностью.
И несмотря на отсутствие отступа окно графика может быть не заполнено.
 
Пользователь использует графики с отступами от правого края. Сколько баров отображается на таком графике ? Чистая геометрическая константа, не зависящая от периодов, истории, прокрутки и всего прочего.

Скачкообразные изменения значений в 20 и более раз и задержки FirstVisibleBar( ) для меня лично неприемлимы.
 
Господа разработчики, подскажите

какие системные функции и библиотеки необходимо подключать для

- получения вертикального и горизонтального размера текущего графика в пикселах;
- получения максимальной и минимальной видимых котировок текущего графика;
- получения общего количества развернутых графиков в окне ???

Может быть есть смысл дополнить язык MQL4 соответствующими функциями ?

Спасибо.
 
1. GetClientRect из user32.dll
2. Специальной функции нет. Можно посчитать самостоятельно, исходя из FirstVisibleBar() и BarsPerWindow()
3. Что такое "общее количество графиков в окне"? Если имеются в виду подокна с индикаторами, то поможет встроенная функция WindowsTotal(). Если имеются в виду открытые графики в клиентском терминале, то прямым способом это не определить - только через соответствующие WinAPI функции в собственной dll.

Сейчас мы ничего добавлять в язык не будем.
Причина обращения: