Добавьте страницу в закладки, чтобы не потерять
Введение, отличия MQL4 и MQL5
Работа с ордерами
Домашнее задание к уроку
В качестве домашнего задания я предлагаю написать метод класса Order, который позволит закрыть позицию открытого ордера частично, т.е. если у Вас открыта позиция на 0.5 лота, то функция должна позволить закрыть, к примеру 0.13 лота у открытого ордера.
Пишем первый советник на MQL5
Домашнее задание к уроку
- Используя методы класса CTrade установить StopLoss и TakeProfit после установки ордера.
- Корректно удалить из программы за ненадобностью код, отвечающий за закрытие ордеров в режиме реального времени.
Создаем информационную панель
Домашнее задание к уроку
- Добавьте в свойства панели информацию о времени открытия позиции.
- Измените код советника таким образом, чтобы панель отображалась не справа, а слева (будьте внимательны, одним изменением координат тут не обойтись).
Как написать скрипт для MT5
Домашнее задание к уроку
- Написать для скрипта функцию открытия позиции на продажу.
- Добавить в скрипт функцию закрытия всех рабочих ордеров, находящихся в рынке.
Пишем советник на Мартингейле
Домашнее задание к уроку
- С целью минимизации убытка добавьте в советник StopLoss.
- Добавьте в советник ограничение на время торговли. К примеру, эксперт открывает позиции в ночное время, а в дневное только пытается выйти из просадки методом усреднения.
- Предлагаю изменить условия входа в рынок и воспользоваться индикатором Bollindger Bands. Входить в продажи, когда цена пересекает верхнюю границу канала и в покупки при пересечении ценой нижней границы канала.
Пишем мультивалютный советник
Домашнее задание к уроку
- Мы с вами написали эксперт для торговли на трёх валютных парах, расширьте диапазон торговли, добавив ещё несколько пар, к примеру USDJPY, AUDUSD, EURGBP.
- Добавьте в советник для каждой валютный пары StopLoss и TakeProfit.
- Вместо сигнала от Moving Average используйте сигналы индикатора MACD.
- Напишите функцию ErrorDescription и вместо кода ошибки выводите её текстовое описание.
Как написать индикатор для MT5
Домашнее задание к уроку
- Вместо отображения разности показаний Moving Average сделайте отображение гистограммы на основе индикатора RSI.
- На уроках 6 и 7 мы с вами писали советники. Продолжим? Напишите советник, работающий на этом индикаторе. Пусть это будет скальпер-ночник, т.е. одним из параметров которого будет время работы.
Как переписать советник из MQL4 в MQL5
Домашнее задание к уроку
Выберите Ваш любимый советник, написанный на языке программирования MQL4 и перепишите его под платформу MQL5, используя встроенные классы языка.
Пишем советник на внешнем индикаторе
Домашнее задание к уроку
Понятно, что в этом уроке мы не преследовали цель написать прибыльный советник, поэтому эта задача ляжет на вас. Итак, давайте попробуем:
- Раз индикатор, и, соответственно, советник трендовый, то понятно, что стоит исключить из торговли ночное время – время флета. Добавьте в советник ограничение по времени работы – ночью не торгуем.
- Предлагаю добавить трейлинг-стоп – а вдруг будет лучше? Слабо?
Пишем универсальный советник для MT4 и MT5
Использование экономического календаря в MT5
Домашнее задание к уроку
Итак, функции разработаны и советник написан. Увы, но протестировать его в тестере стратегий не удастся, т.к. функции экономического календаря в нём не поддерживаются. Зато можно поставить эксперта на демо-счёт и понаблюдать за его работой. Давайте доработаем наш советник для большей гибкости:
- Добавьте внешний параметр “GMTOffset” или вычислите его автоматически, измените код эксперта с учётом этого параметра.
- Добавьте внешний параметр “StartBeforeNews” (время в минутах) для установки отложенных ордеров перед новостями. Доработайте соответствующую функцию.