Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):
Приветствую. Напомню, что в предыдущей статье мы изучили переменные, которые мы вводили сами, а именно глобальные и локальные переменные. В этой же статье, мы будем рассматривать переменные, которые предопределены (встроены) в составе языка MQL4.
Bid, Ask
Существует предопределенная переменная Bid, она имеет дробный тип, то есть double. Данная переменная — это последняя известная цена покупки текущего инструмента.
Аналогичная переменная double Ask — последняя известная цена продажи текущего инструмента.
В обычном состоянии графика в терминале MetaTrader4 мы видим всегда цену Bid.
Чтобы увидеть цену Ask, необходимо щелкнуть правой кнопкой мыши по графику, выбрать строку «Свойства», в появившемся окне поставить галочку возле графы «Показывать линию Ask»
И тогда мы сможем увидеть на графике обе цены. В моем случае Bid – серая линия, Ask – красная линия, а расстояние между этими линиями – это спред.
Point, Digits, Bars
Далее, double Point — это переменная, которая обозначает размер пункта текущего инструмента в валюте котировки.
int Digits — это переменная, которая обозначает количество цифр после запятой в цене текущего инструмента. Она нам будет очень важна, так как обозначает, в каких котировках работает наш брокер по текущим инструментам. Например, Фунт – GBPUSD. У этой валютной пары после запятой 5 знаков, то есть, пятизначная котировка. В таком случае Digits равна пяти.
int Bars — это предопределенная переменная, которая обозначает количество баров на текущем графике. То есть, на нашем графике очень много баров и эта переменная показывает, сколько баров на нашем графике в текущий момент.
Работа с предопределенными переменными в MQL4 на практике
Итак, давайте пропишем встроенные переменные Ask, Bid, Point, Digits, Bars у нас в коде и выведем их через команду Comment().
// БЛОК ЦИКЛА, ВЫПОЛНЯЮЩИЙСЯ ПО ТАЙМЕРУ void OnTimer() { Comment( Bid Ask Point Digits Bars ); }
Теперь у нас данные переменные внесены во входящие параметры функции Comment(). Давайте проверим. Компилируем, и у нас выходит ошибка.
Что это за ошибка? А ошибка в том, что программа не понимает, что мы написали. На данный момент мы просто перечислили пять разных переменных в функции Comment(). Мы их перечислили, но не разделили, а разделить мы их можем запятыми.
// БЛОК ЦИКЛА, ВЫПОЛНЯЮЩИЙСЯ ПО ТАЙМЕРУ void OnTimer() { Comment( Bid, Ask, Point, Digits, Bars ); }
Компилируем заново и видим, что ошибок у нас нет.
Переходим в наш терминал и запускаем советник. В левом верхнем углу мы видим набор каких-то цифр. Почему? Это произошло потому, что мы вывели все эти переменные подряд, не разделяя их пробелами.
Что нам необходимо сделать — это добавить разделители, а именно обычный текстовый символ «пробел» и после него поставить запятую.
Снова компилируем. Переходим в наш терминал и смотрим что получилось. И мы видим, что разделение произошло.
1.24691 — это цена Bid;
1.24835 — это цена Ask;
1e-05 — это Point, то есть, размер пункта (почему он так отображается, поговорим чуть позже);
5 — это Digits, то есть, количество знаков после запятой;
2048 — это количество баров на данном графике.
Теперь, давайте вместо разделения пробелом, распишем вывод информации отдельно на каждой строчке, для этого, воспользуемся следующим символом переноса строки: «\n», а также, добавим текстовое описание к каждой переменной для более наглядного вывода информации.
// БЛОК ЦИКЛА, ВЫПОЛНЯЮЩИЙСЯ ПО ТАЙМЕРУ void OnTimer() { Comment( "Цена Bid = ",Bid,"\n", "Цена Ask = ", Ask,"\n", "Размер пункта = ",Point,"\n", "Количество знаков, после запятой = ",Digits,"\n", "Количество баров на графике = ",Bars ); }
И, результат на графике теперь у нас такой — красивая, наглядная, понятная информация:
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
На этом, все. Переходите к следующей статье, где мы с Вами рассмотрим вывод информации о валютных инструментах на график при помощи функций Symbol(); MarketInfo().
Благодарю за внимание.
Другие статьи по теме Программирование на MQL4 Вы можете просмотреть в данном содержании практических уроков по MQL.
Понравился материал статьи?
Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D
С уважением, Антон.
Обучающий Форекс портал SanGReal Invest