명시
ТЗ на разработку торгового советника (MT5 / MQL5)
1) Цель
Нужен советник для MetaTrader 5 с проверенной алгоритмической стратегией, ориентированной на стабильную работу в среднесрочной/долгосрочной перспективе на рынке Forex.
2) Инструменты и рамки
* Инструменты: только валютные пары (Forex). Без акций, металлов (в т.ч. золота), индексов, нефти/сырья, крипто.
* Таймфреймы: M15–H1 (возможно любое из этого диапазона; допускается выбор в параметрах).
* Тип счёта: Pro, hedging (разрешены разнонаправленные позиции по одному символу, но см. ограничения ниже).
* Минимальный депозит для расчётов: от 100 USD.
* Брокер/условия исполнения: RoboForex (спреды, комиссии, проскальзывание, стоп-уровни, маржин-колл/стоп-аут — по данным брокера/сервера).
3) Строго запрещено
* Мартингейл, грид/сетки, усреднение убыточных позиций, “пересиживание” без Stop Loss.
* Любое увеличение риска после убытков.
* Открытие сделок без заранее определённого Stop Loss.
Требование: каждая сделка должна иметь SL (фиксированный или динамический), выставленный при открытии позиции.
4) Разрешённые/предпочтительные подходы
Допускаются: трендовые, пробойные, price action, mean reversion.
Важно: стратегия должна быть логически обоснована и иметь положительное матожидание на тестах по протоколу приёмки.
5) Правила позиций и ограничители (обязательные параметры)
Сделать входными параметрами (inputs):
* MaxSpread (в пунктах/пипсах) — запрет открытия при превышении.
* MaxSlippage (в пунктах) — параметр.
* MaxPositionsPerSymbol / MaxTotalPositions — лимиты.
* CooldownAfterLoss (минуты/свечи) — опционально.
* Разрешение/запрет:
* pyramiding (добавление в прибыль) — параметр,
* одновременные позиции по символу — параметр.
Запрет по умолчанию: усреднение убыточных (добавление к убыточной позиции) — запрещено.
6) Риск-менеджмент (обязательные функции)
* Управление объёмом: фикс. лот и/или риск % от equity (выбор параметром).
* Базовый риск на сделку (RiskPercent или FixedLot) — параметр.
* Эквити-дроудаун лимит: при достижении заданного процента (по умолчанию 20%) — запрет открытия новых сделок до конца дня/до ручного сброса (вариант — параметром).
* Дневной лимит убытка (MaxDailyLoss%) — параметр.
* Все SL/TP/трейлинг — параметризованы (в разумных пределах).
7) Условия брокера RoboForex — как фиксировать в коде (важно)
Запрещено хардкодить условия брокера в советнике.
Советник должен:
* читать StopOut/MarginCall уровни из терминала через AccountInfo* (уровни брокера),
* читать stops level / freeze level / tick size / contract size / spread через SymbolInfo*,
* работать корректно при 5-значных котировках,
* учитывать комиссии/свопы в тестах (см. протокол приёмки).
Цель: чтобы советник оставался корректным при изменениях условий у брокера и при смене счёта внутри RoboForex.
Подтверждение стратегии (до старта разработки)
Исполнитель предоставляет:
1. Краткое описание стратегии (вход/выход/фильтры/SL/TP/логика управления позицией).
2. Ссылку на мониторинг:
* Myfxbook или FXBlue: история ≥ 6 месяцев (demo или real допустимо),
* либо MQL5 Signals: только real.
9) Протокол тестирования и критерии приёмки
9.1 Бэктест
* MT5 Strategy Tester: Every tick based on real ticks.
* Период: ≥ 5 лет + отдельно OOS ≥ 12 месяцев (последние 12 месяцев как OOS).
* В тестах должны быть включены: комиссии, свопы, реальные тики.
* Условия приближённые к RoboForex: спред/комиссии — по спецификациям и условиям брокера, проскальзывание — параметром теста.
9.2 Минимальные требования на OOS
* Max equity drawdown ≤ 20%.
* У каждой сделки SL обязателен.
* R:R целевое не хуже 1:1 (если стратегия использует частичные фиксации/динамический TP — допускается, но должно быть объяснение и подтверждение стабильностью на OOS).
* Отсутствуют запрещённые методы из раздела 3.
9.3 Форвард и аудит
Перед финальной оплатой:
* независимый аудит кода,
* форвард-тест на наших тиковых данных/условиях RoboForex (период согласуется), с заранее зафиксированными критериями (DD, спред-фильтр, отсутствие запрещённых практик).
10) Формат поставки (обязательно)
* Полный исходный код .mq5 (без .ex5 как единственного результата).
* .set пресеты: базовый + минимум 1 альтернативный (более консервативный риск).
* Отчёты тестера (HTML) + скриншоты вкладок Report/Graph/Results.
* Короткая тех-спецификация: логика входа/выхода, описание параметров, правила риск-менеджмента.
* Логирование (Experts): причины входа/выхода + ключевые значения фильтров (спред, сигнал, риск, SL/TP).
11) Требования к качеству кода
* Корректная обработка торговых ошибок/retcode, повтор запросов по правилам MT5.
* Уникальный MagicNumber, понятные комментарии к ордерам.
* Без DLL/внешних зависимостей (WebRequest и т.п.) — только если отдельно согласовано.
12) Права и оригинальность
* Передача исключительных прав на исходный код и производные работы.
* Исполнитель подтверждает оригинальность (не перепаковка публичного EA).