- Функции для получения основных свойств текущего графика
- Идентификация графиков
- Получение списка графиков
- Получение символа и таймфрейма произвольного графика
- Обзор функций для работы с полным набором свойств
- Описательные свойства графика
- Проверка состояния основного окна
- Получение количества и признака видимости окон/подокон
- Режимы отображения графика
- Управление видимостью элементов графика
- Отступы по горизонтали
- Горизонтальный масштаб (по времени)
- Вертикальный масштаб (по цене и показаниям индикаторов)
- Цвета
- Управление мышью и клавиатурой
- Открепление окна графика
- Получение координат буксировки MQL-программы на график
- Перевод экранных координат во время/цену и обратно
- Прокрутка графика по оси времени
- Запрос перерисовки графика
- Переключение символа и таймфрейма
- Управление индикаторами на графике
- Открытие и закрытие графиков
- Работа с tpl-шаблонами графика
- Сохранение изображения графика
Получение списка графиков
MQL-программа может получить список открытых в терминале графиков (как окон, так и объектов-графиков) с помощью функций ChartFirst и ChartNext.
long ChartFirst()
long ChartNext(long chartId)
Функция ChartFirst возвращает идентификатор первого графика клиентского терминала. MetaTrader 5 поддерживает некий внутренний список всех графиков, порядок в котором может отличаться от того, что мы видим на экране, например, в закладках окон, когда те максимизированы. В частности, порядок в списке может поменяться в результате перетаскивания вкладок, открепления и закрепления окон. После загрузки терминала видимый порядок закладок совпадает с внутренним представлением списка.
Функция ChartNext возвращает идентификатор графика, следующего за графиком с указанным идентификатором chartId.
В отличие от других функций для работы с графиками, значение 0 в параметре chartId означает не текущий график, а "начало списка". Иными словами, вызов ChartNext(0) эквивалентен ChartFirst.
Если достигнут конец списка, функция возвращает -1.
Скрипт ChartList1.mq5 позволяет вывести в журнал список графиков. Основную работу выполняет функция ChartList, вызываемая из OnStart. В самом начале функции мы узнаем идентификатор текущего графика с помощью ChartID и позднее помечаем его звездочкой в списке. В конце выводится общее количество графиков.
void OnStart()
|
Ниже показан пример результата.
Chart List
|