- Получение списков доступных символов и Обзора рынка
- Редактирование списка Обзора рынка
- Проверка символа на существование
- Проверка актуальности данных по символу
- Получение последнего тика по символу
- Расписания торговых и котировочных сессий
- Маржинальные коэффициенты по символу
- Обзор функций получения свойств символа
- Проверка состояния символа
- Тип цены для построения графиков по символу
- Базовая, котировочная и маржинальная валюты инструмента
- Точность представления и шаг изменения цен
- Разрешенные объемы торговых операций
- Разрешения на торговлю
- Торговые условия и режимы исполнения приказов по символу
- Маржинальные требования
- Правила истечения сроков отложенных ордеров
- Спреды и отступы приказов от текущей цены
- Получение величины свопов
- Текущая рыночная информация (тик)
- Описательные свойства символов
- Глубина стакана цен
- Свойства пользовательских символов
- Специфические свойства (биржа, срочный рынок, облигации)
Свойства пользовательских символов
Во введении в данную главу мы уже упоминали пользовательские символы — символы, для которых котировки создаются непосредственно в терминале по команде пользователя или программным способом.
В виде пользовательского символа легко сформировать, например, синтетический инструмент на основе формулы, включающей другие символы Обзора рынка — это доступно пользователю непосредственно в интерфейсе терминала.
MQL-программа может реализовывать в MQL5 более сложные сценарии, вроде склейки разных инструментов за разные периоды, генерации рядов по заданному случайному распределению или получение данных (котировки, бары, тики) из внешних источников.
Чтобы в алгоритмах можно было отличить стандартный символ от пользовательского, в MQL5 имеется свойство SYMBOL_CUSTOM — это логический признак того, что символ является пользовательским.
Если для символа задана формула, она доступна через строковое свойство SYMBOL_FORMULA. В формулах, как известно, можно использовать имена других символов, а также математические функции и операторы. Вот несколько примеров:
- Синтетический символ: "@ESU19"/EURCAD
- Календарный спред: "Si-9.13"-"Si-6.13"
- Индекс евро: 34.38805726 * pow(EURUSD,0.3155) * pow(EURGBP,0.3056) * pow(EURJPY,0.1891) * pow(EURCHF,0.1113) * pow(EURSEK,0.0785)
Указание формулы удобно для пользователя, но, как правило, не используется из MQL-программ, поскольку они могут рассчитывать формулы непосредственно в коде, с нестандартными функциями и с большим контролем, в частности, на каждом тике, а не по таймеру 1 раз в 100мс.
Проверим работу со свойствами в скрипте SymbolFilterCustom.mq5: он выводит в журнал все пользовательские символы и их формулы (если есть).
input bool UseMarketWatch = false;
|
Ниже показан результат с единственным найденным пользовательским символом.
===== All available custom symbols =====
|