- Главное событие экспертов: OnTick
- Основные принципы и понятия: ордер, сделка, позиция
- Типы торговых операций
- Типы ордеров
- Режимы исполнения ордеров по цене и объемам
- Сроки действия отложенных ордеров
- Расчет залога для будущего ордера: OrderCalcMargin
- Оценка прибыли торговой операции: OrderCalcProfit
- Структура торгового запроса MqlTradeRequest
- Структура проверки запроса MqlTradeCheckResult
- Проверка корректности запроса: OrderCheck
- Результат отправки запроса: структура MqlTradeResult
- Отправка торгового запроса: OrderSend и OrderSendAsync
- Совершение покупки или продажи
- Модификация уровней Stop Loss и/или Take Profit позиции
- Трейлинг стоп
- Полное и частичное закрытие позиции
- Полное и частичное закрытие встречных позиций (хедж)
- Установка отложенного ордера
- Модификация отложенного ордера
- Удаление отложенного ордера
- Получение списка действующих ордеров
- Свойства ордеров (действующих и в истории)
- Функции для чтения свойств действующих ордеров
- Отбор ордеров по свойствам
- Получение списка позиций
- Свойства позиций
- Функции для чтения свойств позиций
- Свойства сделок
- Выборка ордеров и сделок из истории
- Функции для чтения свойств ордеров из истории
- Функции для чтения свойств сделок из истории
- Типы торговых транзакций
- Событие OnTradeTransaction
- Синхронные и асинхронные запросы
- Событие OnTrade
- Контроль за изменениями торгового окружения
- Особенности создания мультисимвольных экспертов
- Ограничения и преимущества экспертов
- Создание заготовки эксперта в Мастере MQL
Создание заготовки эксперта в Мастере MQL
Итак, мы завершаем изучение торговых API для разработки экспертов. На протяжении этой главы было представлено немало примеров, которые можно использовать в качестве отправной точки для собственного проекта. Однако если требуется начать эксперт с нуля, не обязательно делать это буквально "с чистого листа". Напомним, что в редактор MetaEditor встроен Мастер MQL, позволяющий, кроме всего прочего, создать и заготовку эксперта. Причем в случае экспертов данный Мастер предлагает два разных способа генерации исходного кода.
Мы уже знакомились с первым шагом Мастера в разделе Мастер MQL и эскиз программы. Очевидно, что именно на первом шаге происходит выбор типа создаваемого проекта. Тогда мы создавали заготовку скрипта. Затем в главе про индикаторы мы провели экскурсию по созданию заготовки индикатора. Сейчас наше внимание будет обращено к первым двум вариантам:
- Советник (шаблон)
- Советник (сгенерировать)
Первый из них — более простой. Он позволяет выбрать название, входные параметры и требуемые обработчики событий, — ниже приведена пара скриншотов, — но никакой торговой логики и готовых алгоритмов в полученном исходном файле не будет.
Второй вариант более сложный. Результатом его работы является готовый советник на основе стандартной библиотеки — набора классов в заголовочных файлах, поставляемых вместе с MetaTrader 5. Файлы располагаются в папках MQL5/Include/Expert/, MQL5/Include/Trade, MQL5/Include/Indicators и нескольких других. В классах библиотеки реализованы наиболее популярные сигналы индикаторов, механизмы выполнения торговых операций по комбинациям сигналов, а также алгоритмы мани-менеджмента и трейлинг-стопа. Рассмотрение стандартной библиотеки выходит за рамки данной книги.
Вне зависимости от того, какой из вариантов генерации эксперта выбран, на втором шаге Мастера нужно ввести его название и входные параметры. Внешний вид этого шага аналогичен тому, что также был уже показан в разделе Мастер MQL и эскиз программы. Единственный нюанс заключается, в том, что советники на основе стандартной библиотеки должны иметь 2 обязательных (неудаляемых) параметра: Symbol и TimeFrame.
Для простого шаблона на 3-м шаге предлагается выбрать дополнительные обработчики событий, которые будут добавлены в исходный код, помимо OnTick (OnTick вставляется всегда).
Создание шаблона эксперта. Шаг 3. Дополнительные обработчики событий
Завершающий 4-й шаг позволяет указать один или несколько опциональных обработчиков событий для тестера. О них речь пойдет в следующей главе.
Создание шаблона эксперта. Шаг 4. Обработчики событий тестера
Если пользователь выбрал на первом шаге Мастера генерацию программы на основе стандартной библиотеки, то 3-й шаг представляет собой настройку торговых сигналов.
Генерация готового эксперта. Шаг 3. Настройка торговых сигналов
Подробнее про неё можно почитать в документации.
Шаги 4 и 5 предназначены для включения в советник трейлинга и автоматического подбора лотов согласно одному из предопределенных методов.
Генерация готового эксперта. Шаг 4. Выбор метода трейлинг-стопа
Генерация готового эксперта. Шаг 5. Подбор лотов
Мастер, конечно, не является универсальным средством, и получившийся прототип программы, как правило, требует доработки. Однако знания, почерпнутые в данной Главе, позволят вам увереннее чувствовать себя в сгенерированных исходных кодах и расширять их в соответствии с требованиями.