- Функции для получения основных свойств текущего графика
- Идентификация графиков
- Получение списка графиков
- Получение символа и таймфрейма произвольного графика
- Обзор функций для работы с полным набором свойств
- Описательные свойства графика
- Проверка состояния основного окна
- Получение количества и признака видимости окон/подокон
- Режимы отображения графика
- Управление видимостью элементов графика
- Отступы по горизонтали
- Горизонтальный масштаб (по времени)
- Вертикальный масштаб (по цене и показаниям индикаторов)
- Цвета
- Управление мышью и клавиатурой
- Открепление окна графика
- Получение координат буксировки MQL-программы на график
- Перевод экранных координат во время/цену и обратно
- Прокрутка графика по оси времени
- Запрос перерисовки графика
- Переключение символа и таймфрейма
- Управление индикаторами на графике
- Открытие и закрытие графиков
- Работа с tpl-шаблонами графика
- Сохранение изображения графика
Функции для получения основных свойств текущего графика
Во многих примерах книги нам уже приходилось использовать Предопределенные переменные, содержащие основные свойства графика и его рабочего символа. MQL-программам доступны также функции, возвращающие значения некоторых из этих переменных. Что именно использовать — переменную или функцию — не играет роли: вы можете просто придерживаться избранного стиля оформления исходных кодов.
Каждый график характеризуется рабочим символом и таймфреймом. Их можно узнать с помощью функций Symbol и Period, соответственно. Кроме того, MQL5 предоставляет упрощенный доступ к двум наиболее часто используемым свойствам символа: размеру пункта цены (Point) и связанному с ним количеству значащих цифр (Digits) после десятичной точки в цене.
string Symbol()
Функция Symbol возвращает имя символа текущего графика, то есть значение системной переменной _Symbol. Для получения символа произвольного графика существует функция ChartSymbol, требующая знания идентификатора того графика. Способов получения идентификаторов графиков мы коснемся чуть позже.
ENUM_TIMEFRAMES Period()
Функция Period возвращает значение таймфрейма (ENUM_TIMEFRAMES) текущего графика, что соответствует переменной _Period. Для получения таймфрейма произвольного графика предназначена функция ChartPeriod, и ей также требуется идентификатор в качестве параметра.
double Point()
Функция Point возвращает размер пункта текущего инструмента в валюте котировки, что совпадает со значением переменной _Point.
int Digits()
Функция возвращает количество десятичных знаков после запятой, определяющее точность измерения цены символа текущего графика, что эквивалентно переменной _Digits.
Прочие свойства текущего инструмента позволяют получить SymbolInfo-функции, которые в более общем случае обеспечивают анализ всех инструментов.
Следующий простой пример скрипта ChartMainProperties.mq5 выводит в журнал описанные в данном разделе свойства.
void OnStart()
|
Для графика EURUSD,H1 получим следующие записи в журнале.
_Symbol=EURUSD / ok
|