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

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

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

Введение в MQL4

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

Напишите программу (советник), который в зависимости от заданной во внешних параметрах переменной X, выведет информацию в виде сообщения(Алерта), комментария на экране и комментария в логах одновременно, следующего содержания:

При X = 0, то отобразить “TradeLikeAPro forever…”, а при X=1 – “Insta must die!”.

Циклы, функции и ордера в советнике

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

Используя знания, которые Вы приобрели после просмотра этого видео, прошу Вас дописать советник, который мы разбирали в видеоматериале следующим образом:

  • Необходимо добавить внешнюю переменную Indent, которая будет являться отступом (выше/ниже) от экстремумов цены и учитывая этот параметр уже устанавливать лимитные ордера.
  • Выше/ниже экстремумов, на расстоянии PipStop(добавить внешнюю переменную) установить стоп-ордера, учитывая StopLoss и TakeProfit, указанные в параметрах эксперта.

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

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

Используя знания, которые Вы приобрели после этого урока прошу Вас переделать советник таким образом, чтобы:

  • закрытие рыночных ордеров происходило не на противоположной границе канала, а на средней линии.
  • Добавить в советник сигналы индикатора “Стохастик” и совместить с сигналами индикатора “ТМА”.
  • выше/ниже границ каналов поставить страховочные стоп-ордера на некотором расстоянии от рыночных ордеров, дабы компенсировать убытки при возможных потерях от рыночных ордеров (с обязательной установкой SL, TP).

Советник на Мартингейле

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

Используя знания, которые Вы приобрели после этого урока, прошу Вас доработать советник следующим образом:

  • Добавить внешний параметр MaxOrders и доработать советник таким образом, чтобы он не открывал ордеров больше, чем указано в этой переменной.
  • Добавить параметр MaxLoss, который будет будет отвечать за максимально допустимый убыток в пунктах для эксперта(обязательно учесть объёмы). В случае, если такое произошло, закрывать все открытые ордера.

Трейлинг-Стоп

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

Используя знания, которые Вы приобрели после этого видео-урока, прошу Вас написать трейлинг-стоп по :

  • фракталам (Fractals);
  • параболику (Parabolic SAR).

Разработка и написание скриптов

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

Используя знания, которые Вы приобрели после этого видео-урока, прошу Вас написать :

  • скрипт для установки защитных отложенных ордеров (BuyStop/SellStop) для уже открытых позиций (объём ордеров должен быть в два раза больше существующих);
  • скрипт для переворота позиций, т.е. существующие ордера должны быть закрыты, а вместо них открыть ордера противоположного направления;
  • при написании первого скрипта в данном видео-уроке была заведомо допущена ошибка, которая может привести к его некорректной работе. Найдите её и предложите своё решение.

Сетка ордеров

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

  • 1. Измените советник таким образом, чтобы условием входа в рынок был не индикатор Moving Average, а индикатор RSI.
  • 2. В этом примере я намеренно не ставил Stop-loss у ордеров, предлагаю вам реализовать механизм закрытия ордеров при достижении определённого убытка

Качественное открытие и модификация ордеров

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

  • Доработайте функцию OrderSendX для корректной работы с лимитными и стоп-ордерами и обработайте возможные возникающие ошибки этих ордеров.
  • Напишите функцию OrderCloseX, которая будет также корректно закрывать уже существующий рыночный ордер, разумеется с обработкой ошибок.

Введение в Объектно ориентированное Программирование, структуры

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

  • Добавьте в структуру AccountInfo информацию о валюте счета, свободной маржи и наименование активного сервера, с которым работает Ваш терминал. Выведите информацию в комментарии.
  • Расширьте структуру Order, добавив в неё информацию о сроке экспирации ордера, объёме ордера и комиссии.
  • Создайте отдельно структуру и массив, в котором будет содержаться информация об отложенных ордерах. Выведите информацию(номер тикета, тип ордера, цена) в виде комментария на экран, однако это нужно через функцию, с передачей адреса массива в функцию(аналог ShowInfo).

ООП: Классы

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

Итак, посмотрев этот урок, Вы теперь наверняка сможете написать:

  • Класс, на основе индикатора Moving average, который бы так же давал сигнал на открытие и закрытие позиции.
  • Советник, который бы открывал и закрывал позиции на основе показаний сигналов от этого класса.

Работа с Icustom

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

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

  • Напишите советник по индикатору “Scalper Dream_build600“;
  • Возьмите любой понравившийся индикатор с форума или блога и напишите скальпер по нему.

Функции расчета торгового лота

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

Итак, посмотрев этот урок, Вы теперь наверняка сможете сделать следующее задание:

  • Возьмите за основу советник, который был Вами написан по материалам урока «Введение в ООП» и подставьте расчет лота с риском, который мы описали в этом уроке.

Получаем сигналы на почту и мобильные устройства

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

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

В этом задании я предлагаю реализовать аналог индикатора Moving Average, но не скопировать его, а как раз использовать среднюю цену между High и Low свечи, это ведь не так сложно, правда? Ну а затем уже реализовать в индикаторе свою секретную формулу, с этим уже проблем наверняка не будет.