- Функции для получения основных свойств текущего графика
- Идентификация графиков
- Получение списка графиков
- Получение символа и таймфрейма произвольного графика
- Обзор функций для работы с полным набором свойств
- Описательные свойства графика
- Проверка состояния основного окна
- Получение количества и признака видимости окон/подокон
- Режимы отображения графика
- Управление видимостью элементов графика
- Отступы по горизонтали
- Горизонтальный масштаб (по времени)
- Вертикальный масштаб (по цене и показаниям индикаторов)
- Цвета
- Управление мышью и клавиатурой
- Открепление окна графика
- Получение координат буксировки MQL-программы на график
- Перевод экранных координат во время/цену и обратно
- Прокрутка графика по оси времени
- Запрос перерисовки графика
- Переключение символа и таймфрейма
- Управление индикаторами на графике
- Открытие и закрытие графиков
- Работа с tpl-шаблонами графика
- Сохранение изображения графика
Идентификация графиков
Каждый график в MetaTrader 5 "живет" в отдельном окне и обладает уникальным идентификатором. Для программистов, знакомых с принципами работы Windows, уточним, что данный идентификатор не является системным дескриптором окна (хотя MQL5 API и позволяет получить последний через свойство CHART_WINDOW_HANDLE). Как мы знаем, кроме основной рабочей области графика с котировками в нижней части окна могут появляться выделенные дополнительные области (подокна) с индикаторами, имеющими свойство indicator_separate_window. Все подокна являются частью графика и принадлежат одному окну Windows.
long ChartID()
Функция возвращает уникальный идентификатор текущего графика.
Во многих функциях, которые мы рассмотрим далее, требуется идентификатор графика в качестве параметра, но для текущего графика можно указывать 0 вместо вызова ChartID. Использовать ChartID имеет смысл в тех случаях, когда идентификатор пересылается между MQL-программами, например, при обмене сообщениями (пользовательскими событиями) на одном графике или на разных. Указание неверного идентификатора приведет к ошибке ERR_CHART_WRONG_ID (4101).
Идентификатор графика, как правило, остается прежним от сеанса к сеансу.
Мы продемонстрируем работу функции ChartID и то, как выглядят идентификаторы, в примере скрипта ChartList1.mq5, после изучения способа получения списка графиков.