Настройка торгового советника — полное руководство
Настройка терминала
Перед запуском советника добавьте следующие URL в раздел «Советники» терминала:
- https://emilon.ru
- http://ec.forexprostools.com
- https://api.telegram.org
- http://client-api.instaforex.org
- https://api.vk.com
Активация советника
Лицензия (License_ID)
Номер лицензионного ключа. При покупке в маркете MQL5 параметр неактивен и может принимать любое значение.
Ключ генерируется автоматически при оплате на сайте разработчика. Ссылка на персональную страницу с ключом отправляется на электронную почту, также ключ доступен в личном кабинете на сайте.
- Именная лицензия — работает на любом счёте, оформленном на ваше имя (кроме демо, так как демо можно открыть на любое имя).
- Номерная лицензия — оформляется на любой тип счёта, включая демо.
Донаторство (Vk_Token)
Токен соцсети «ВКонтакте» для проверки подписки на закрытые сообщества в качестве донатора. Дает право на использование советника. Метод активации может быть недоступен.
Автоматическая настройка (Code_Token_Subscription)
Система удалённой перенастройки. Вводится код комплекта настроек или токен Telegram-бота. Советник скачивает актуальные настройки и перенастраивается автоматически — хоть каждый день.
При аренде советника или использовании партнёрской программы поле должно быть пустым (услуга включена в пакет).
Коалиция валютных пар
Choice_Coalition
Режим коалиции между валютными парами:
| Значение | Описание |
|---|---|
| Coalition_Off | Не используется |
| Coalition_Direct | Только параллельная коалиция |
| Coalition_Cross | Также перекрёстная коалиция |
| Coalition_All | Любая коалиция |
Пример параллельной коалиции: EURUSD и GBPUSD имеют общую секцию USD. Если советник открывает покупку по EURUSD, то по GBPUSD рассматривается продажа. При изменении курса USD баланс сохраняется — по одной паре просадка, по другой прибыль.
Пример перекрёстной коалиции: EURUSD и USDJPY. При покупке EURUSD советник также ищет возможность покупки по USDJPY для хеджирования USD.
Коалиция может работать между несколькими терминалами на одном или разных устройствах — через интернет по FTP-протоколу (требует дополнительной настройки терминала и сервера). В рамках одного терминала достаточно просто включить функцию.
Symbol_Coalition
Номер очереди обработки данных (от 1 до 10) для обмена между терминалами. В каждом последующем терминале номер должен быть на единицу больше предыдущего. При нарушении цепочка обработки прерывается.
Автоматический отбор файлов с настройками
Auto_Selection
| Значение | Описание |
|---|---|
| Drive_Off | Не используется |
| Drive_Selection | Автоматический отбор файлов |
| Drive_Turbo | Турбо-режим со всеми файлами комплекта |
В турбо-режиме советник работает по принципу карусели — по кругу обходит все доступные папки с файлами и способен открывать множество позиций в разных направлениях по разным парам.
Selection_Profit
Фиксированная сумма отчётного листа форвард-тестирования, ниже которой файлы настроек не принимаются при отборе.
Selection_Time
Очередность загрузки файлов: 1 — лидер (с него начинается отсчёт и на нём сбрасывается), далее 2 , 3 , 4 ... до 60 .
Нужен для распределения файлов между советниками в разных терминалах. Если первый робот (лидер) принял настройки №10, следующий терминал начинает с №11 и т. д.
Менеджер загрузки файлов с сервера
DS_Server
| Значение | Описание |
|---|---|
| Server_Off | Не используется |
| Download_Server | Автоматическая загрузка файлов с сервера разработчика (нужен код в Code_Token_Subscription , перезагрузка каждые 3 часа) |
| Send_Server | Отправка файлов на ваш сервер по FTP для последующей загрузки советником из любой точки мира |
Файлы с вашего сервера сможет загрузить любой пользователь — достаточно указать адрес сервера в настройках терминала и код в Code_Token_Subscription . Код генерируется автоматически при запуске тестера стратегий в режиме оптимизации, коды не повторяются. Это позволяет организовать платную подписку на файлы настроек.
Broker_TF
Периоды, доступные для загрузки: все существующие в терминале или определённый. При PERIOD_CURRENT периоды перебираются с учётом параметра Period_TF , иначе — один заданный период (поиск быстрее).
Period_TF
Фильтр для выборочной загрузки настроек по периодам. Экономит время — иначе робот пытается загрузить файлы по всем периодам. Периоды указываются через косую черту:
1=M1, 2=M5, 3=M15, 4=M30, 17=H1, 20=H4, 24=D1, 25=W1, 26=MN, 10=M2, 11=M3, 12=M4, 13=M6, 14=M10, 15=M12, 16=M20, 18=H2, 19=H3, 21=H6, 22=H8, 23=H12
При этом Broker_TF должен быть равен PERIOD_CURRENT .
Broker_List
Поиск символов для загрузки: среди предложений брокера или из заданного списка. Локальный поиск сокращает время перебора. Пары указываются через косую черту:
EURUSD/USDJPY/USDCHF/GBPUSD/USDCAD/ NZDUSD/AUDUSD/EURGBP/EURCHF/EURJPY/ AUDCAD/CADJPY/CADCHF/AUDCHF/AUDNZD/ EURCAD/EURAUD/NZDJPY/EURNZD/GBPJPY/ NZDCHF/GBPNZD/GBPCHF/NZDCAD/AUDJPY/ CHFJPY/GBPAUD/GBPCAD/XAUUSD/XAGUSD/
Загрузка файлов в параметры советника
Auto_Set
При включении советник создаёт и загружает файлы настроек при запуске. Выключите, если не хотите торговать с предустановленными настройками (они предназначены преимущественно для демонстрации в тестере стратегий и со временем устаревают).
Download_Files
Торговля с файловой системой настроек. Робот запускается на один график, а торговля ведётся в мультивалютном режиме — обычно от 1 до 30+ пар (максимум 201 пара в комплекте). Робот не допускает перегрузки депозита и может работать от $100.
Symbol_Filter
При включении робот загружает настройки только для пар из списка Broker_List . Список можно изменять, обязательны разделители / .
Чем больше пар — тем выше нагрузка на терминал и компьютер/VPS. При запуске 10+ терминалов убедитесь, что сервер справится. Если нет — советники будут принудительно выгружены, но при возвращении на графики безошибочно найдут свои позиции и продолжат их контролировать.
Иерархия файлов настроек
Структура: Группа ( Folder_Group ) → Стратегия ( Folder_Number ) → Настройки ( Magic_Number ) → Номер файла ( Expert_Number ).
| Параметр | Назначение |
|---|---|
| Folder_Group | Группа папок (A, B, C... Z). Объединяет комбинации настроек с разными фильтрами сигналов |
| Folder_Number | Номер папки с файлами. Задаётся при оптимизации, используется для поиска комплекта |
| Magic_Number | Идентификатор позиций и начальный номер подпапок. Задаётся при оптимизации, последующие папки нумеруются по возрастанию |
| Expert_Number | Идентификатор советника для отличия позиций при работе нескольких копий в одном терминале |
Different_Magic
При включении идентификаторы позиций не повторяются: к Magic_Number добавляется порядковый номер файла, например (1)1 , (1)2 , (1)3 ... Magic_Number выступает префиксом.
Важно: параметр Different_Magic несовместим с TotalPass — при оптимизации с TotalPass порядковое расположение файлов не соблюдается и робот потеряет контроль над рядом позиций. Для отключения TotalPass приравняйте его к нулю.
Блокировка и удаление устаревших файлов
| Параметр | Описание |
|---|---|
| Delete_File | При включении робот удаляет файлы старше Max_Time_File дней (от даты завершения оптимизации). Файлы нельзя перезаписать — они удаляются вручную, автоматически по истечении срока или обновляются с сервера |
| Max_Time_File | Срок годности файлов в днях. По истечении открытие первых позиций приостанавливается, усреднение продолжается до закрытия всех серий, затем торговля прекращается. 0 — не используется |
Выделение средств и ограничение риска
Базовые параметры
| Параметр | Описание |
|---|---|
| Account_Balance | Если > 0 — виртуальный баланс для расчётов лота и ограничения потерь; иначе — реальный. Полезно при работе нескольких копий советника на одном счёте |
| History_Datetime | Учёт профит/убытка за указанное число суток (например, 30 — за последние 30 дней). Значение прибавляется к Virtual_Account_Balance . 0 — не используется |
| Minimum_Account_Balance | Минимальный размер средств для торговли. Если баланс ниже — торговля приостанавливается до пополнения. 0 — не используется |
| Stop_Trade_All | При включении — при падении баланса ниже Minimum_Account_Balance блокируются все пары; иначе — только та пара, по которой виртуальный баланс упал ниже порога. Работает только при Minimum_Account_Balance > 0 |
Ограничение убытка по отдельной паре
| Параметр | Описание |
|---|---|
| Total_Balance_Risk_One | Процент просадки, при котором закрываются все позиции с указанными Expert_Number и Magic_Number . 0 — не используется |
| Broker_Stop_Loss | При включении стоп-лосс фиксируется на стороне брокера и корректируется при открытии новых позиций так, чтобы общий убыток не превысил заданный процент |
Ограничение убытка по всем парам
| Параметр | Описание |
|---|---|
| Total_Balance_Risk_All | Процент просадки от реального баланса, при котором закрываются все позиции с указанным Expert_Number . 0 — не используется |
| Mode_Balance_Real | При включении расчёт ведётся по реальному балансу, иначе — по виртуальному Account_Balance |
Блокировка советника при опасном снижении депозита
| Параметр | Описание |
|---|---|
| Total_Close_Stop | Количество убыточных серий, при достижении которого советник блокируется. 0 — не используется |
| Total_Close_Risk | Процент от депозита, при закрытии с которым серия считается критично убыточной |
| Stop_Time_Reset | Сброс данных и разблокировка по времени (в часах). 0 — не используется |
| Balance_Reset | Разблокировка при пополнении баланса. false — не используется |
| New_Files_Update | Разблокировка при обновлении файлов настроек (срок годности менее 24 часов). false — не используется |
Также на графике есть кнопка ручного сброса. Перезагрузка терминала данные не сбрасывает.
Анализ истории торговли и блокировка
| Параметр | Описание |
|---|---|
| Trade_Loss_History | Количество убыточных сделок за период Select_Loss_History , после которого торговля приостанавливается. Возобновляется, когда сделки устаревают и перестают учитываться |
| Select_Loss_History | Период учёта убыточных сделок в сутках (например, 30 — сделки старше 30 дней не учитываются) |
| Stop_All_Symbol | При включении — при превышении нормы убытков по любому символу блокируются все пары |
| Stop_All_Magic | При включении анализ позиций ведётся без учёта идентификаторов |
Ограничение количества одновременно торгуемых пар
Count_Symbol_Max
Количество пар, торгующихся одновременно с учётом Count_SMT . Считается по валютам, а не по позициям: 2 позиции по EURUSD + 3 по GBPUSD = 2 пары.
Count_SMT
| Значение | Учёт |
|---|---|
| Count_Symbol | По символу |
| Count_Symbol_Magic | По символу и магику |
| Count_Symbol_Magic_Typ | По символу, магику и типу |
Synchronous_Trading
При работе нескольких копий в одном терминале: при выключении позиции Count_Symbol_Max считаются отдельно (с учётом Expert_Number ), иначе — вместе.
Контроль количества позиций
| Параметр | Описание |
|---|---|
| Count_Trades_Symbol_Max | Лимит позиций по одной паре, после превышения которого торговля по другим парам приостанавливается до закрытия просадочной серии |
| Control_Positions | Идентификация позиций по принципу «свои-чужие». При изменении критичных параметров ( Expert_Number , Magic_Number или исключении пар) нераспознанные позиции отображаются красным, торговля приостанавливается до их закрытия. Работает совместно с Count_Trades_Symbol_Max |
Блокировка новых серий при просадке
- Drawdown_Max — просадка в процентах от депозита, при превышении которой открытие новых позиций (кроме усредняющих) приостанавливается.
Дистанция между позициями
| Параметр | Описание |
|---|---|
| Dist_Price | Минимальное расстояние между первыми позициями независимо от идентификаторов |
| Dist_Price_After | Соблюдение Dist_Price для вторых и последующих позиций |
Контроль направления торговли
- Direction_Control — при включении робот не открывает противоположные позиции по одной паре с учётом идентификатора.
Досрочный выход с рынка
| Параметр | Описание |
|---|---|
| Max_Total_Exit | Максимальное количество позиций, при достижении которого советник закрывает серию с профитом Exit_Profit |
| Exit_Profit | Размер профита для досрочного закрытия при срабатывании Max_Total_Exit |
| Exit_Range | При включении — автоматическая установка значений оптимизации (старт/шаг/стоп) |
| Exit_Total_Range | Значения оптимизации для Max_Total_Exit через / (например, 7/1/10 ). Только с Exit_Range и Auto_Set_Default |
| Exit_Profit_Range | Значения оптимизации для Exit_Profit . Только с Exit_Range и Auto_Set_Default |
Манименеджмент
| Параметр | Описание |
|---|---|
| Risk | Если > 0 — лот автоматический. Формула: Risk = (Risk += Lot) на каждую градацию баланса. Например, Risk=100 , Lot=0.01 : $100 → 0.01, $200 → 0.02, $300 → 0.03 |
| Lot | Если Risk=0 — фиксированный лот, иначе рассчитывается автоматически |
| Lot_Exponent | Коэффициент умножения лота усредняющих позиций |
| Max_Lots | Максимальный лот; при достижении перестаёт умножаться и фиксируется |
| Lot_Exponent_Range | Значения оптимизации для Lot_Exponent . Только с Auto_Set_Default |
Спред и проскальзывание
- Max_Spread — максимально допустимый спред.
- Max_Slippage — максимально допустимое проскальзывание.
Тейк-профит
Рыночный тейк-профит
| Параметр | Описание |
|---|---|
| Take_Profit | Рыночный тейк-профит. 0 — не используется |
| Take_Profit_Range | Значения оптимизации для Take_Profit . Только с Auto_Set_Default |
Виртуальный тейк-профит / стоп-лосс
- Virtual_TP_SL — при включении стоп-лосс и тейк-профит хранятся в памяти советника и не передаются на сервер.
- Close_Inverse — закрытие противоположных позиций вместе с направленными при достижении SL/TP. Только с Virtual_TP_SL .
Рыночный стоп-лосс
| Параметр | Описание |
|---|---|
| Stop_Loss | Рыночный стоп-лосс. 0 — не используется |
| Stop_Loss_Range_Set | Флаг разрешения автоустановки значений оптимизации |
| Stop_Loss_Range | Значения оптимизации для Stop_Loss . Только с Auto_Set_Default |
Усреднение позиций
| Параметр | Описание |
|---|---|
| Martingale | Усреднение позиций |
| Dynamic_Pips | Динамическое расстояние между позициями |
| Default_Pips | Фиксированное расстояние (если Dynamic_Pips выключен) |
| Depth_History | Глубина истории для динамического расчёта расстояния |
| Sep_Channel | Коэффициент деления динамического расстояния |
| Max_Trades | Максимум позиций по каждой отдельной стратегии |
| Limit_Orders | Максимум позиций в терминале (общее число, независимо от идентификаторов) |
| Max_Trades_Range | Значения оптимизации для Max_Trades . Только с Auto_Set_Default |
Досрочное закрытие по времени
| Параметр | Описание |
|---|---|
| Expiration_Seconds | При включении — время жизни в секундах, иначе в часах |
| Max_Trade_Open | Время жизни позиций. Минимум — 660 секунд; для меньших значений отправляется запрос на 660 сек для гарантии закрытия на стороне брокера + внутренний отсчёт для принудительного закрытия |
| Min_Profit | Минимальный плавающий профит для закрытия по истечении времени. Может быть отрицательным |
| Exp_Time_Prof | Флаг разрешения уменьшения Min_Profit для зависших позиций |
| Exp_Time_Prof_Max | Коэффициент максимального уменьшения Min_Profit . Например: Min_Profit=-10% , Max_Trade_Open=24ч , коэффициент=2 → через 48 часов порог составит -20%, дальше не снижается |
| Exp_First_Break | При включении отсчёт экспирации от последней позиции, иначе от первой. Кардинально влияет на ход торговли |
| Max_Trade_Open_Range | Значения оптимизации для Max_Trade_Open . Только с Auto_Set_Default |
| Min_Profit_Range | Значения оптимизации для Min_Profit . Только с Auto_Set_Default |
Время торговой сессии
| Параметр | Описание |
|---|---|
| Open_Hour / Open_Min | Час и минута начала сессии |
| Close_Hour / Close_Min | Час и минута завершения сессии |
| Your_Time_Zone | Ручной сдвиг времени. Если торговля у того же брокера, на котировках которого оптимизировался советник — 0 . Иначе — сдвиг для подгонки под серверное время брокера оптимизации |
Пример: советник оптимизирован на RoboForex (17:00), а у текущего брокера 20:00 → сдвиг на -3 часа.
| Параметр | Описание |
|---|---|
| Trade_Wednesday | Торговля в среду (день тройного свопа) |
| Trade_Friday | Торговля в пятницу (перед закрытием недели) |
| Trade_End_Year_Month | Торговля в последний день месяца и за 7 суток перед новым годом |
| Open_Hour_Range | Значения оптимизации для Open_Hour . Только с Auto_Set_Default |
| Close_Hour_Range | Значения оптимизации для Close_Hour . Только с Auto_Set_Default |
| Use_Min_Profit_Close | При включении — досрочное закрытие с учётом Min_Profit ; иначе с текущим профитом (в т. ч. отрицательным), что может привести к неоправданным убыткам |
| Close_Time | Закрытие позиций после сессии с учётом Min_Profit — чтобы избежать больших потерь при поспешном закрытии |
| Friday_Close | Досрочное закрытие в пятницу с учётом Use_Min_Profit_Close |
Трейлинг-стоп
| Параметр | Описание |
|---|---|
| Use_Trailing_Stop | Trailing_Off — не используется; Trailing_On_2 — без перевода в безубыток; Trailing_On_4 — с переводом в безубыток |
| Open_Bar_Trailing | Трейлинг только по ценам открытия |
| Price_Next_Bar | Трейлинг начинается после закрытия текущего бара (только в режиме Trailing_On_2 ) |
| Trail_Start | Старт трейлинг-стопа |
| Trail_Stop | Шаг трейлинг-стопа |
| No_Loss | Перевод в безубыток (только Trailing_On_4 ) |
| Min_Profit_No_Loss | Уровень безубытка (только Trailing_On_4 ) |
| Trailing_Range | Флаг автоустановки значений оптимизации для Trail_Start и Trail_Stop |
| Trail_Start_Range | Значения оптимизации для Trail_Start . Только с Auto_Set_Default |
| Trail_Stop_Range | Значения оптимизации для Trail_Stop . Только с Auto_Set_Default |
Тип ордеров
Order_Typ
| Значение | Описание |
|---|---|
| Buy_Sell | Срочные позиции (рыночные) |
| Buy_Sell_Stop | Отложенные ордера Stop |
| Buy_Sell_Limit | Отложенные ордера Limit |
Order_Price
Цена установки отложенных ордеров:
- (Ask/Bid +-) Order_Distance — текущая цена ± дистанция
- (Fractal +-) Order_Distance — цена фрактала ± дистанция
- (ZigZag +-) Order_Distance — цена зигзага ± дистанция
Дополнительные параметры ордеров
| Параметр | Описание |
|---|---|
| Order_SL_Moment | Моментальная установка стоп-лосса вместе с отложенным ордером; иначе — только после срабатывания |
| Dist_Price_Modify | Постоянная модификация отложенных ордеров вслед за ценой (для новостной торговли) |
Дистанция отложенных ордеров
| Параметр | Описание |
|---|---|
| Order_Distance | Расстояние от намеченной цены для установки ордеров |
| Min_Dist_Order_History | Запрет переустановки ордеров на пробитых уровнях в течение N суток. 0 — не используется |
| Auto_Set_Distance | Флаг автоустановки значений оптимизации для Order_Distance |
| Order_Distance_Range | Значения оптимизации для Order_Distance . Только с Auto_Set_Default |
Индикаторы
Фракталы
- Fractal_Count — индекс фракталов.
ЗигЗаг
| Параметр | Описание |
|---|---|
| Inp_Depth | Depth индикатора |
| Inp_Deviation | Deviation индикатора |
| Inp_Step | Step индикатора |
Удаление отложенных ордеров
По времени
| Параметр | Описание |
|---|---|
| Order_Time_Seconds | При включении — расчёт времени жизни в секундах, иначе в часах |
| Order_Time | Время жизни отложенных ордеров |
| Auto_Set_Time_Seconds | Флаг автоустановки значений оптимизации для Order_Time |
| Order_Time_Range | Значения оптимизации для Order_Time . Только с Auto_Set_Default |
По условиям
| Параметр | Описание |
|---|---|
| Del_Orders_Time | Удаление после окончания торговой сессии |
| Del_Orders_Spread | Удаление при превышении максимального спреда |
| Del_Orders_Signal | Удаление при обратном сигнале индикаторного блока |
| Del_Orders_Level | Удаление при изменении экстремального уровня фрактала или зигзага |
Важное примечание
Параметры, отмеченные звёздочками (***), изменяются при загрузке файлов настроек. Остальные параметры — персональные и изменяются по усмотрению пользователя. Персональные параметры не влияют на качество сделок, но способны изменять нагрузку на депозит.
Подробное описание параметров
- Part 1: https://www.mql5.com/ru/blogs/post/775402
- Part 2: https://www.mql5.com/ru/blogs/post/775410
- Part 3: https://www.mql5.com/ru/blogs/post/775411
- Emperor — MQL5 Market: https://www.mql5.com/ru/market/product/59948


