Как создать торгового робота
Многие трейдеры хоть раз задумывались о создании своего торгового робота, который бы автоматизировал процесс торговли. Проще всего обратиться с этим к хорошему программисту, но есть минусы.
- Возможно, ваша стратегия окажется прибыльной, и этим воспользуется программист.
- Не всегда есть деньги, чтобы оплатить работу. Стоимость разработки скрипта стартует от $5 и до бесконечности. В отдельных случаях она может достигать тысячи долларов.
- Написанный советник не всегда будет работать так, как вам хотелось бы, в итоге получаем многочисленные обращения к программисту с переделками и доводками до “ума”.
- Вы не поймете, что написал программист, если не знаете языка программирования. В итоге получаете “кота в мешке”, за который заплатили.
Прежде чем обращаться за помощью к программисту, можно попробовать создать торговый советник самостоятельно. Навыков программирования для этого вам не понадобится - робота сконструирует специальная программа, на основании заданных вами настроек.
Но и тут есть недостатки:
- Вы не сможете подключить к советнику все виды индикаторов, есть ограничения по пониманию программой той или иной логики индикатора.
- Такие советники не смогут работать с аналитикой и прямыми потоками котировок по API (FIX API).
В этой статье мы расскажем, как создать робота через программиста и самостоятельно.
Внимание: данный материал подготовлен исключительно в ознакомительных целях и не является рекламой какого-либо программного обеспечения. Решать, обращаться ли к программисту или сделать робота самому - выбор трейдера.
Как заказать советника у программиста
Если вы решили обратится за помощью к программисту, вам нужен специалист, специализирующийся на MQL4/MQL5. Такого программиста можно найти на фриланс-биржах, либо на mql5.com.
Самое главное - составить тщательное техническое задание. Прилагайте максимум графического материала, каждое движение пытайтесь уточнить и описать.
Основные параметры, которые нужно прописать в техническом задании по созданию простейшего советника:
- На основе чего работает советник (стратегия, индикатор). Например, советник работает на основе трендового индикатора “Линейная регрессия“. Индикатор сам делает расчет регрессии - проводит анализ баров и рисует уровни по совпадающим минимумам и максимумам, как видим ниже на рисунке. Поскольку программист будет писать робота на основе базового индикатора, описывать ему работу этого индикатора не обязательно.

- Условия входа в сделку. В нашем случае условием входа в сделку на покупку будет пробитие (пересечение) верхней линии индикатора.

Условием входа в сделку на продажу будет пробитие (пересечение) нижней линии индикатора.

- Параметры для подтверждения точности входа, они должны быть задаваемыми. В нашем случае это количество пунктов, которые цена должна пройти после пересечения линии канала, чтобы убедиться, что она не отскочит. Например, 5 - это значит, что при пробитии линии индикатора цена должна пройти далее 5 пунктов. Только при выполнении этого условия робот открывает ордер.

- Условия закрытия сделки. В нашей стратегии выход из сделки будет осуществляться стандартными (реальными) стоп-лосс и тейк-профит. Это нужно всегда указывать, так как есть еще и виртуальные Стоп Лосс и Тейк профит - их заказывают тогда, когда хотят скрыть ордера от брокера, так как они для него не видны. Сделки должны иметь возможность использовать трейлинг-стоп.
- Все ваши настройки, например Стоп Лосс и Тейк Профит, должна быть возможность в любое время изменить.
Требуйте, чтобы программист отдал исходный код заказанного эксперта! Скомпилированный файл изменить невозможно, а вот открытый код поменяет любой программист, если вы захотите сделать правки.
После того, как программист выполнит задание, нужно тщательно проверить работу эксперта. Для этого можно воспользоваться тестером стратегий, который есть в МетаТрейдере.

Как создать робота с помощью System Creator
Программа System Creator поможет создать и протестировать торговый советник для МТ4-МТ5 без участия программиста. Программа бесплатная. Ниже расскажем, как ею пользоваться.
Установка
Скачиваем, устанавливаем и запускаем программу. Для упрощения работы, рекомендуем сразу сменить язык.

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

Исторические данные нам нужны для того, чтобы на их основании проводить тестирование стратегий. По факту это мы скачиваем историю котировок в подходящем формате. Скачать их можно на специальных сайтах, или у брокера. Вот несколько сайтов, которые предлагают скачать чистые котировки: Financial Content, AlphaVantage, Quotemedia, Tiingo, Macrotrends.
Старайтесь скачать максимально плотный и чистый поток котировок - чтобы тестирование вашей торговой стратегии было максимально точным.
Создание и настройка аккаунта
Начнем работу с создания нового аккаунта. Вверху ищем параграф “Счет”, далее “Настройки аккаунта”, потом “Главная”.

Поставьте галочку на “Закрытие позиций по маржинколу” - это действие будет повторять действия терминала брокера, когда счет находится в красной зоне риска, то есть баланс счета приблизился к критическому минимуму, и компания может закрыть сделку автоматически без вашего вмешательства.
Рекомендуем поставить галочку напротив “Использовать все доступные более короткие периоды и тиковые данные” - точность использования котировок вырастет в разы, так как за определенный промежуток времени будет использован гораздо более плотный поток данных.
Подтвердите, чтобы показывало на графике длинные и короткие позиции - вам так легче будет понять работу эксперта. Вы сможете видеть свои входы не только в журнале торгов, а и визуально на графике.

Далее переходим на вкладку “Счет” и меняем под себя баланс и плечо. Внимательно относитесь к менеджменту объема входа в сделку относительно баланса. Мы оставляем баланс по-умолчанию - 10 000 USD. Плечо 1:100.

Вкладка “Символы” позволяет настроить каждый инструмент очень точно. К примеру вы можете установить точно такие же условия, которые предоставляет вам ваш брокер.
Далее переходим к пункту “Горизонт данных”. Можете настроить количество баров истории, какое вам потребуется. Это важный параметр: чем больше баров - тем более точный визуализированный тест у вас получится.
В разделе “Профили” можете указать имя нового профиля.
Пропускаем пункты “Источники данных” и “Пользовательский код”, переходим сразу к разделу “Приемлемость”. По сути это риск-менеджер вашей торговой системы. На скриншоте видно, какие важные настройки здесь хранятся. Выделенные пункты являются фундаментальными, обратите на них внимание.

Во вкладке “Советник” укажите путь к папкам, куда бы вы хотели выгрузить готовый советник. Проще всего указать путь к МетаТрейдеру в папку “эксперты”. Тогда можно будет сразу запускать торговый эксперт в работу.

В пункте “Настройки” есть возможность задать проскальзывание и прочие задержки, которые делает брокер в момент торгов.
Создание советника
Переходим на начальную страницу и открываем пункт “Создать стратегию”.

На новой вкладке мы видим обширный массив информации.

Описание самых важных настроек, из которых вы соберете свой первый торговый
эксперт:
- Выбор инструмента для торговли.
- Таймфрейм.
- Метод проведения теста - в этом пункте закладываются торговые гипотезы. Например, состоится ли проскальзывание или расширение спреда.
- Входящие параметры вашего торгового счета, включая период тестов, свопы, комиссии, плечо, начальный депозит и т.д.
- Описание. Этот блок является “мозгом” советника. Здесь указываем условия входа и выхода из сделки, методы и условия их осуществления.
- Полный отчет по вашей торговой стратегии. Тут сразу можно увидеть потенциальный доход, просадки, коэффициент Шарпа (показатель эффективности стратегии), профит-фактор (показатель доходности стратегии) и многое другое.
- Диаграмма работы задействованных индикаторов. Мониторинг ведется в реальном времени.
- Графический показатель движения вашего капитала.
Для примера напишем советник на основании индикатора “Pivot Point“. “Pivot Point“ - это индикатор поиска уровней поддержки и сопротивления, построенных на данных High, Low, Close, Open по итогам предыдущего дня. Выдается три уровня выше и три уровня ниже цены.

Работает данная стратегия так: мы ищем те уровни, при приближении к которым цена, возможно, развернется и отскочит. При приближении нужно продавать, при пробое покупать, если эти уровни выше цены. Если же линии ниже цены, то при пробитии мы продаем, а при приближении выкупаем.
Советник будем делать только на отскок. Такую систему можно назвать “Торговля внутри канала”.
“Свойства стратегии”
В “Свойствах стратегии” выставляем настройки, которые могут подойти стратегии.

- Объем для торговли (методика входа в сделку) - можно выбрать вход лотами, а можно в проценте от депозита. Мы оставляем 0,1 лота.
- Объем для новой позиции - объем в валюте счета, которым мы собираемся торговать.
- Следующий сигнал того же направления - включение-отключение методики входа в сделку при уже открытом ордере. Оставляем отключенным.
- Объем, который добавить к существующему - объем входа в валюте депозита в сигнал того же направления. Оставляем отключенным.
- Следующий противоположного направления - включение-отключение методики входа сделку при уже открытом ордере. Если во время существования открытого ордера мы получаем новый сигнал, противоположный открытому, то советник может закрыть или уменьшить объем открытой сделки.
- Объем, на который уменьшить - объем, который нужно закрыть у существующей открытой сделки. Объем в валюте депозита в сигнал противоположного направления.
- Stop Loss - количество убыточных пунктов, при котором советник закроет сделку. Мы поставили 17 пунктов.
- Take Profit - количество прибыльных пунктов, при которых сделка закрывается. Мы выбрали 70 пунктов.
- Безубыточность - перенос в открытой сделке ордера Стоп Лосс на уровень цены открытия или выше. Переносится ордер только тогда, когда цена пройдет в нужном направлении на определенное количество пунктов. Мы поставили безубыток близко к цене открытия - 5 пунктов.
- Множитель мартингейла - на сколько мы будем умножать усреднение (доливку) при включенном мартингейле. С этой настройкой нужно быть очень аккуратным, мартингейл - высокорисковая система торговли. В нашем советнике мартингейл отключен.
“Мозг” будущего советника
Указываем нужный нам индикатор. Выставляем настройки.

- Условие входа. Мы выбрали - Long на S2 (Short на R2). Это значит, что при приближении ко второму нижнему уровню поддержки S2 советник будет покупать пару, а при приближении к уровню сопротивления R2 он начнет продавать.

- Базовая цена: цену индикатор рассчитывает за день или по барам.
- Вертикальный сдвиг: длина сдвига по вертикали в пунктах, при которой сделка должна будет открыться, не доходя до уровня на заданное количество пунктов. Для чего это сделано: уровень может быть пробит прямо на линии, и чтобы этого избежать, нам нужно открыть сделку, не доходя несколько пунктов до цели.
- Сдвиг сигнала: горизонтальный сдвиг индикатора на заданное количество пунктов. Ноль - это факт, то есть индикатор рисует на текущем баре.
- Символ индикатора: тут нужно указать конкретный символ (тикер) инструмента, на котором торгуете. Это сделано для того, чтобы советник при компилировании мог привязаться только к одной паре.
- Более длительный таймфрейм: привязка индикатора в советнике к определенному временному периоду.
- Использовать предыдущее значение бара: включается дополнительная фильтрация, работает только когда работает горизонтальный сдвиг. Обсчет заканчивается не на текущем баре, а на предыдущем.
“Точка закрытия”
“Точка закрытия” - это дополнительная функция закрытия открытых ордеров. Открытый ордер, кроме Стоп Лосс и Тейк Профит, можно закрыть встречными сигналами по индикаторах или по условиям. Мы выбрали условие “Ограничить риск процентом счета” - это значит, что сделка, независимо от стопа или профита, закроется, когда просадка по балансу будет 2%.

“Статистика аккаунта”, ”График индикатора”, “График Баланс”
После внесения всех данных об условиях торговли и индикатора, у нас менялись и данные в этих окнах: при создании робота программа сразу производит его тестовый прогон, и мы можем увидеть результаты. Мы видим, что мы получили небольшую прибыль - $37, при объеме входа 0,1 лот и депозите в 10 000 USD.

Самое главное, на что нужно смотреть - это просадка и прибыль, которая была. Как видим, у нас средняя потеря 0,67 а прибыль 0,91. Неплохой результат.
Чтобы убедится, что все работает как нужно, заходим в “Свойства стратегии” и увеличиваем объем входа до 15 лотов. И видим, что по тестам при начальном депозите в $10 000 прибыль составила уже $5643.


Но это все же быстрый метод проверки, он берет не все тики и не полностью. Чтобы сгенерировать нормальный обсчет стратегии, нам нужно перейти в пункт “Генератор” и нажать на кнопочку “Начало”.
На всех компьютерах по-разному будет проходить прогон стратегии. Если временной промежуток большой и много различных функций включено, то это может занять несколько часов.
Итак, генерация прошла, и результат сразу изменился - депозит более чем удвоился.

Компилирование советника
Чтобы скомпилировать советник, нам нужно перейти в пункт “Стратегия”, который находится в главном меню, и нажать “Экспорт советника МТ4/5”.

Советник будет скомпилирован в ту папку, которую мы указывали ранее.
Торговый эксперт экспортируется в открытом программном коде.

Устанавливаем советника на торговый терминал, настраиваем нужные нам параметры. Советник готов, можно ставить в торги!
Выводы и советы
Если вы решили создать своего советника, мы рекомендуем не спешить ставить его на реальный счет. Даже если при создании эксперта по итогу вы увидели положительный результат, это не дает гарантий, что так будет в реальной торговле. Перед тем, как любой продукт ставить на реальный счет, его нужно сперва как минимум месяц проверять на демо-счете, потом еще месяц тестировать на центовом счете. И только после этого ставить на реальный счет.
Brokers.best не несет ответственности за возможные финансовые потери пользователей, возникшие в результате торговых решений, принятых на основе информации с сайта.
Все материалы сайта носят исключительно информационный характер и не являются инвестиционными рекомендациями.
Мы не призываем открывать счет у какого-либо конкретного брокера из наших рейтингов.
Торговля на рынке Форекс, CFD и криптовалютами связана с высоким риском потери средств и подходит не всем пользователям. Перед началом торговли следует объективно оценить уровень собственной компетентности, финансовое положение и готовность принять возможные убытки, особенно если речь идет о торговле с использованием кредитного плеча.
Brokers.best может получать партнерские вознаграждения за переходы, регистрации или другие действия пользователей сайта по ссылкам.
Партнерские вознаграждения не влияют на места компаний в рейтингах, редакционные оценки, выводы и методологию составления рейтингов.
Торговые условия у брокеров могут меняться, поэтому перед регистрацией пользователь должен проверять актуальную информацию на официальном сайте брокера.