«MQL5 Программирование»

«MQL5 Программирование» | 09/05/2026 | 1

Добавьте страницу в закладки, чтобы не потерять

Введение, отличия MQL4 и MQL5

YouTube

Работа с ордерами

YouTube

Домашнее задание

В качестве домашнего задания я предлагаю написать метод класса Order, который позволит закрыть позицию открытого ордера частично, т.е. если у Вас открыта позиция на 0.5 лота, то функция должна позволить закрыть, к примеру 0.13 лота у открытого ордера.

Пишем первый советник на MQL5

YouTube

Домашнее задание

  1. Используя методы класса CTrade установить StopLoss и TakeProfit после установки ордера.
  2. Корректно удалить из программы за ненадобностью код, отвечающий за закрытие ордеров в режиме реального времени.

Создаем информационную панель

YouTube

Домашнее задание

  1. Добавьте в свойства панели информацию о времени открытия позиции.
  2. Измените код советника таким образом, чтобы панель отображалась не справа, а слева (будьте внимательны, одним изменением координат тут не обойтись).

Как написать скрипт для MT5

YouTube

Домашнее задание

  1. Написать для скрипта функцию открытия позиции на продажу.
  2. Добавить в скрипт функцию закрытия всех рабочих ордеров, находящихся в рынке.

Пишем советник на Мартингейле

YouTube

Домашнее задание

  1. С целью минимизации убытка добавьте в советник StopLoss.
  2. Добавьте в советник ограничение на время торговли. К примеру, эксперт открывает позиции в ночное время, а в дневное только пытается выйти из просадки методом усреднения.
  3. Предлагаю изменить условия входа в рынок и воспользоваться индикатором Bollindger Bands. Входить в продажи, когда цена пересекает верхнюю границу канала и в покупки при пересечении ценой нижней границы канала.

Пишем мультивалютный советник

YouTube

Домашнее задание

  1. Мы с вами написали эксперт для торговли на трёх валютных парах, расширьте диапазон торговли, добавив ещё несколько пар, к примеру USDJPYAUDUSD, EURGBP.
  2. Добавьте в советник для каждой валютный пары StopLoss и TakeProfit.
  3. Вместо сигнала от Moving Average используйте сигналы индикатора MACD.
  4. Напишите функцию ErrorDescription и вместо кода ошибки выводите её текстовое описание.

Как написать индикатор для MT5

YouTube

Домашнее задание

  1. Вместо отображения разности показаний Moving Average сделайте отображение гистограммы на основе индикатора RSI.
  2. На уроках 6 и 7 мы с вами писали советники. Продолжим? Напишите советник, работающий на этом индикаторе. Пусть это будет скальпер-ночник, т.е. одним из параметров которого будет время работы.

Как переписать советник из MQL4 в MQL5

YouTube

Домашнее задание

Выберите Ваш любимый советник, написанный на языке программирования MQL4 и перепишите его под платформу MQL5, используя встроенные классы языка.

Пишем советник на внешнем индикаторе

YouTube

Домашнее задание

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

  1. Раз индикатор, и, соответственно, советник трендовый, то понятно, что стоит исключить из торговли ночное время – время флета. Добавьте в советник ограничение по времени работы – ночью не торгуем.
  2. Предлагаю добавить трейлинг-стоп – а вдруг будет лучше? Слабо?

Пишем универсальный советник для MT4 и MT5

YouTube

Использование экономического календаря в MT5

YouTube

Домашнее задание

Итак, функции разработаны и советник написан. Увы, но протестировать его в тестере стратегий не удастся, т.к. функции экономического календаря в нём не поддерживаются. Зато можно поставить эксперта на демо-счёт и понаблюдать за его работой. Давайте доработаем наш советник для большей гибкости:

  1. Добавьте внешний параметр “GMTOffset” или вычислите его автоматически, измените код эксперта с учётом этого параметра.
  2. Добавьте внешний параметр “StartBeforeNews” (время в минутах) для установки отложенных ордеров перед новостями. Доработайте соответствующую функцию.