- Функции для получения основных свойств текущего графика
- Идентификация графиков
- Получение списка графиков
- Получение символа и таймфрейма произвольного графика
- Обзор функций для работы с полным набором свойств
- Описательные свойства графика
- Проверка состояния основного окна
- Получение количества и признака видимости окон/подокон
- Режимы отображения графика
- Управление видимостью элементов графика
- Отступы по горизонтали
- Горизонтальный масштаб (по времени)
- Вертикальный масштаб (по цене и показаниям индикаторов)
- Цвета
- Управление мышью и клавиатурой
- Открепление окна графика
- Получение координат буксировки MQL-программы на график
- Перевод экранных координат во время/цену и обратно
- Прокрутка графика по оси времени
- Запрос перерисовки графика
- Переключение символа и таймфрейма
- Управление индикаторами на графике
- Открытие и закрытие графиков
- Работа с tpl-шаблонами графика
- Сохранение изображения графика
Управление видимостью элементов графика
Большой набор свойств в ENUM_CHART_PROPERTY_INTEGER управляет видимостью элементов графика. Почти все они имеют логический тип: true соответствует показу элемента, а false — сокрытию. Исключение составляет CHART_SHOW_VOLUMES, для которого используется перечисление ENUM_CHART_VOLUME_MODE (см. ниже).
Идентификатор |
Описание |
Тип значения |
---|---|---|
CHART_SHOW |
Признак отрисовки ценового графика в целом. Если установлено значение false, то отключается отрисовка любых атрибутов ценового графика и устраняются все отступы по краям графика: шкалы времени и цены, строка быстрой навигации, метки событий календаря, значки сделок, всплывающие подсказки индикаторов и баров, подокна индикаторов, гистограммы объёмов и т.д. |
bool |
CHART_SHOW_TICKER |
Отображение в левом верхнем углу тикера символа. Отключение тикера автоматически отключает OHLC (CHART_SHOW_OHLC) |
bool |
CHART_SHOW_OHLC |
Отображение в левом верхнем углу значений OHLC. Включение OHLC автоматически включает тикер (CHART_SHOW_TICKER) |
bool |
CHART_SHOW_BID_LINE |
Отображение значения Bid горизонтальной линией |
bool |
CHART_SHOW_ASK_LINE |
Отображение значения Ask горизонтальной линией |
bool |
CHART_SHOW_LAST_LINE |
Отображение значения Last горизонтальной линией |
bool |
CHART_SHOW_PERIOD_SEP |
Отображение вертикальных разделителей между соседними периодами |
bool |
CHART_SHOW_GRID |
Отображение сетки на графике |
bool |
CHART_SHOW_VOLUMES |
Отображение объемов на графике |
ENUM_CHART_VOLUME_MODE |
CHART_SHOW_OBJECT_DESCR |
Отображение текстовых описаний объектов (описания показываются не для всех типов объектов) |
bool |
CHART_SHOW_TRADE_LEVELS |
Отображение на графике торговых уровней (уровни открытых позиций, Stop Loss, Take Profit и отложенных ордеров) |
bool |
CHART_SHOW_DATE_SCALE |
Отображение на графике шкалы времени |
bool |
CHART_SHOW_PRICE_SCALE |
Отображение на графике ценовой шкалы |
bool |
CHART_SHOW_ONE_CLICK |
Отображение на графике панели быстрой торговли (опция "Торговля одним кликом") |
bool |
Флаги в диалоге настроек для некоторых свойств ENUM_CHART_PROPERTY_INTEGER
Некоторые из этих свойств доступны пользователю из контекстного меню графика, некоторые — только из диалога настроек, однако есть и такие, которые можно менять только из MQL5, в частности, отображение вертикальной (CHART_SHOW_DATE_SCALE) и горизонтальной (CHART_SHOW_DATE_SCALE) шкалы, а также видимость всего графика целиком (CHART_SHOW). Последний случай следует отметить особо, потому что отключение отрисовки является идеальным решением для создания собственного интерфейса программы с использованием графических ресурсов и графических объектов — они отрисовываются всегда, независимо от значения CHART_SHOW.
К книге прилагается скрипт ChartBlackout.mq5, который переключает режим CHART_SHOW из текущего на обратный при каждом запуске.
void OnStart()
|
Таким образом, можно применить его на обычном графике, чтобы полностью очистить окно, а потом применить повторно, чтобы восстановить прежний внешний вид.
Вышеупомянутое перечисление ENUM_CHART_VOLUME_MODE содержит следующие элементы.
Идентификатор |
Описание |
Значение |
---|---|---|
CHART_VOLUME_HIDE |
Объемы скрыты |
0 |
CHART_VOLUME_TICK |
Тиковые объемы |
1 |
CHART_VOLUME_REAL |
Торговые объемы (если есть) |
2 |
По аналогии со скриптом ChartMode.mq5 реализуем монитор видимости элементов графика в скрипте ChartElements.mq5. Основное отличие заключается в другом наборе контролируемых флагов.
void OnStart()
|
Кроме того, после создания бэкапа настроек мы намеренно отключаем шкалы времени и цены программным способом (при завершении работы скрипт восстановит их из бэкапа).
...
|
Далее приведен фрагмент журнала с комментариями о выполненных действиях. Первые две записи возникли как раз из-за того, что в MQL-коде шкалы были отключены уже после создания начального бэкапа.
CHART_SHOW_DATE_SCALE 1 -> 0 // отключили шкалу времени в MQL5-коде
|