Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):


 

Приветствую. Напомню, что в предыдущей статье мы изучили переменные, которые мы вводили сами, а именно глобальные и локальные переменные. В этой же статье, мы будем рассматривать переменные, которые предопределены (встроены) в составе языка MQL4.

 

Bid, Ask

Существует предопределенная переменная Bid, она имеет дробный тип, то есть double. Данная переменная — это последняя известная цена покупки текущего инструмента.

Аналогичная переменная double Ask — последняя известная цена продажи текущего инструмента.

В обычном состоянии графика в терминале MetaTrader4 мы видим всегда цену Bid.

Чтобы увидеть цену Ask, необходимо щелкнуть правой кнопкой мыши по графику, выбрать строку «Свойства», в появившемся окне поставить галочку возле графы «Показывать линию Ask»

Показать линию Ask

 

И тогда мы сможем увидеть на графике обе цены. В моем случае Bid – серая линия, Ask – красная линия, а расстояние между этими линиями – это спред.

Bid – серая линия, Ask – красная линия

 

Point, Digits, Bars

Далее, double Point — это переменная, которая обозначает размер пункта текущего инструмента в валюте котировки.

int Digits — это переменная, которая обозначает количество цифр после запятой в цене текущего инструмента. Она нам будет очень важна, так как обозначает, в каких котировках работает наш брокер по текущим инструментам. Например, Фунт – GBPUSD. У этой валютной пары после запятой 5 знаков, то есть, пятизначная котировка. В таком случае Digits равна пяти.

MQL4 - Digits

 

int Bars — это предопределенная переменная, которая обозначает количество баров на текущем графике. То есть, на нашем графике очень много баров и эта переменная показывает, сколько баров на нашем графике в текущий момент.
 



 

Работа с предопределенными переменными в MQL4 на практике

Итак, давайте пропишем встроенные переменные Ask, Bid, Point, Digits, Bars у нас в коде и выведем их через команду Comment().

// БЛОК ЦИКЛА, ВЫПОЛНЯЮЩИЙСЯ ПО ТАЙМЕРУ
void OnTimer()
{
 Comment(
 Bid
 Ask
 Point
 Digits
 Bars
 );
}

 

Теперь у нас данные переменные внесены во входящие параметры функции Comment(). Давайте проверим. Компилируем, и у нас выходит ошибка.

Компилятор MQL4 - ошибка

 

Что это за ошибка? А ошибка в том, что программа не понимает, что мы написали. На данный момент мы просто перечислили пять разных переменных в функции Comment(). Мы их перечислили, но не разделили, а разделить мы их можем запятыми.

// БЛОК ЦИКЛА, ВЫПОЛНЯЮЩИЙСЯ ПО ТАЙМЕРУ
void OnTimer()
{
 Comment(
 Bid,
 Ask,
 Point,
 Digits,
 Bars
 );
}

 

Компилируем заново и видим, что ошибок у нас нет.

Переходим в наш терминал и запускаем советник. В левом верхнем углу мы видим набор каких-то цифр. Почему? Это произошло потому, что мы вывели все эти переменные подряд, не разделяя их пробелами.

MQL4 - вывод информации предопределенных переменных на экран

 

Что нам необходимо сделать — это добавить разделители, а именно обычный текстовый символ «пробел» и после него поставить запятую.

MQL4 - знак разделения

 

Снова компилируем. Переходим в наш терминал и смотрим что получилось. И мы видим, что разделение произошло.

MQL4 - вывод информации с разделением

 

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
 );
}

 

И, результат на графике теперь у нас такой — красивая, наглядная, понятная информация:

MQL4: вывод на экран Bid, Ask, Digits, Point, Bars
 

Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.

 

Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.

 

На этом, все. Переходите к следующей статье, где мы с Вами рассмотрим вывод информации о валютных инструментах на график при помощи функций Symbol(); MarketInfo().

Благодарю за внимание.
 
Другие статьи по теме Программирование на MQL4 Вы можете просмотреть в данном содержании практических уроков по MQL.

 

Понравился материал статьи?
Избранные закладкиДобавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D

 

С уважением, Антон.

Обучающий Форекс портал SanGReal Invest
 


 


Вам это может быть интересно. Другие статьи нашего обучающего портала:


  • Антон — SanGReal Invest (Сангрил Инвест)

    Если у Вас появились вопросы по статье, пишите их здесь. Я Вам обязательно отвечу.
    Также, буду рад Вашей обратной связи