Когда нет отступа FirstVisibleBar( ) = BarsPerWindow( ).
Ну и что? Полистайте график направо и налево, в начало (кнопкой home) и посмотрите значение, выдаваемое функцией FirsVisibleBar. Только перед этим обязательно отключите автопрокрутку графика.
Какие системные функции и библиотеки необходимо подключать для - получения вертикального и горизонтального размера текущего графика в пикселах; - получения максимальной и минимальной видимых котировок текущего графика; - получения общего количества развернутых графиков в окне ???
Может быть есть смысл дополнить язык MQL4 соответствующими функциями ?
Пользователь использует графики с отступами от правого края. Сколько баров отображается на таком графике ? Чистая геометрическая константа, не зависящая от периодов, истории, прокрутки и всего прочего.
Скачкообразные изменения значений в 20 и более раз и задержки FirstVisibleBar( ) для меня лично неприемлимы.
какие системные функции и библиотеки необходимо подключать для
- получения вертикального и горизонтального размера текущего графика в пикселах; - получения максимальной и минимальной видимых котировок текущего графика; - получения общего количества развернутых графиков в окне ???
Может быть есть смысл дополнить язык MQL4 соответствующими функциями ?
1. GetClientRect из user32.dll 2. Специальной функции нет. Можно посчитать самостоятельно, исходя из FirstVisibleBar() и BarsPerWindow() 3. Что такое "общее количество графиков в окне"? Если имеются в виду подокна с индикаторами, то поможет встроенная функция WindowsTotal(). Если имеются в виду открытые графики в клиентском терминале, то прямым способом это не определить - только через соответствующие WinAPI функции в собственной dll.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Геометрические размеры графика неизменны.
FirstVisibleBar( ) = BarsPerWindow( ) - отступ от правого края;
BarsPerWindow( ) = const, от периода и данных не зависит.
отступ от правого края = const, от периода и данных не зависит.
FirstVisibleBar( ) = BarsPerWindow( ) - отступ от правого края;
Откуда Вы взяли эту формулу?
Первый видимый бар на графике и количество баров, помещающихся в окне графика, никак не связаны друг с другом
При этих условиях у FirstVisibleBar( ) все равно неправильное стартовое значение при переключении периодов.
Когда нет отступа FirstVisibleBar( ) = BarsPerWindow( ).
Ну и что? Полистайте график направо и налево, в начало (кнопкой home) и посмотрите значение, выдаваемое функцией FirsVisibleBar. Только перед этим обязательно отключите автопрокрутку графика.
Какие системные функции и библиотеки необходимо подключать для
- получения вертикального и горизонтального размера текущего графика в пикселах;
- получения максимальной и минимальной видимых котировок текущего графика;
- получения общего количества развернутых графиков в окне ???
Может быть есть смысл дополнить язык MQL4 соответствующими функциями ?
Нужна функция, возвращающая количество баров в окне текущего графика с учетом наличия / отсутствия отступа от правого края графика.
Зачем?
Несмотря на наличие отступа окно графика может быть заполнено полностью.
И несмотря на отсутствие отступа окно графика может быть не заполнено.
Скачкообразные изменения значений в 20 и более раз и задержки FirstVisibleBar( ) для меня лично неприемлимы.
какие системные функции и библиотеки необходимо подключать для
- получения вертикального и горизонтального размера текущего графика в пикселах;
- получения максимальной и минимальной видимых котировок текущего графика;
- получения общего количества развернутых графиков в окне ???
Может быть есть смысл дополнить язык MQL4 соответствующими функциями ?
Спасибо.
2. Специальной функции нет. Можно посчитать самостоятельно, исходя из FirstVisibleBar() и BarsPerWindow()
3. Что такое "общее количество графиков в окне"? Если имеются в виду подокна с индикаторами, то поможет встроенная функция WindowsTotal(). Если имеются в виду открытые графики в клиентском терминале, то прямым способом это не определить - только через соответствующие WinAPI функции в собственной dll.
Сейчас мы ничего добавлять в язык не будем.