- Функции для получения основных свойств текущего графика
- Идентификация графиков
- Получение списка графиков
- Получение символа и таймфрейма произвольного графика
- Обзор функций для работы с полным набором свойств
- Описательные свойства графика
- Проверка состояния основного окна
- Получение количества и признака видимости окон/подокон
- Режимы отображения графика
- Управление видимостью элементов графика
- Отступы по горизонтали
- Горизонтальный масштаб (по времени)
- Вертикальный масштаб (по цене и показаниям индикаторов)
- Цвета
- Управление мышью и клавиатурой
- Открепление окна графика
- Получение координат буксировки MQL-программы на график
- Перевод экранных координат во время/цену и обратно
- Прокрутка графика по оси времени
- Запрос перерисовки графика
- Переключение символа и таймфрейма
- Управление индикаторами на графике
- Открытие и закрытие графиков
- Работа с tpl-шаблонами графика
- Сохранение изображения графика
Получение количества и признака видимости окон/подокон
С помощью функции ChartGetInteger MQL-программа может узнать количество окон на графике (включая подокна), а также их видимость.
Идентификатор |
Описание |
Тип значения |
---|---|---|
CHART_WINDOWS_TOTAL |
Общее количество окон графика, включая подокна индикаторов (r/o) |
int |
CHART_WINDOW_IS_VISIBLE |
Видимость подокна, параметр window — номер подокна (r/o) |
bool |
Некоторые подокна могут быть скрыты, если размещенные в них индикаторы отключены на текущем таймфрейме в диалоге Свойств, на закладке Отображение. Сбросить все флаги нельзя: из-за особенностей хранения tpl-шаблонов такое состояние трактуется как включение всех таймфреймов. Поэтому если пользователь хочет скрыть подокно на некоторое время, нужно оставить хоть один включенный флаг на самом редко используемом таймфрейме.
Настройка видимости индикатора на разных таймфреймах
Следует отметить, что в MQL5 нет штатных средств для программного определения состояния и переключения конкретных флагов. Наиболее простой способ сымитировать подобный контроль заключается в сохранении tpl-шаблона и его анализе, с возможным последующим редактированием и загрузкой (см. раздел Работа с tpl-шаблонами).
В новой версии скрипта ChartList4.mq5 выведем количество подокон (одно окно — основное — есть всегда), признак активности графика, признак объекта-графика, а также Windows-дескриптор.
const int win = (int)ChartGetInteger(id, CHART_WINDOWS_TOTAL);
|
Вот что может получиться в результате.
Chart List
|
На первом графике (под индексом 0) имеется одно подокно (#1). На последнем графике нашлось два подокна (#2), причем второе из них в данный момент скрыто. Позднее, в разделе Управление индикаторами на графике мы представим полную версию ChartList.mq5, где включим в отчет информацию об индикаторах, находящихся в подокнах и основном окне.
Внимание! У чарта внутри объекта-графика свойство CHART_WINDOW_IS_VISIBLE всегда равно true, даже если визуализация объекта отключена на текущем или на всех таймфреймах.