Что такое оптимизации MT5?
Docker-воркер на вашем компьютере выполняет оптимизации MT5 и регулярно получает команды из панели.
Вы предоставляете EA (.ex5), сетки параметров (.set) и брокерский счёт MT5 (демо или реальный). Результаты сохраняются в папке reports на вашем компьютере и отображаются на панели как прошедшие проверки и избранное. Для портфелей компании нужен исходный код поддерживаемого портфельного EA.
Эта функция самохостится. PositionRelay не запускает MetaTrader за вас. Хостинг-оптимизатора сегодня нет.
Как это работает
Опубликованный Docker-образ Wine + MetaTrader 5 работает на вашей машине. Heartbeat аутентифицируется по User ID PositionRelay, проверяет доступ Ultimate и ждёт команд из панели.
Проверенные результаты появляются в Passed и Favorites. Портфели компании дополнительно требуют исходный код поддерживаемого портфельного EA.
- Оформите Ultimate и откройте Dashboard → Setup → MT5 Optimizations.
- Установите Docker и следуйте мастеру настройки для своей операционной системы.
- Подключите Experts и SetFiles, заполните optimizer.env и запустите контейнер.
- Сначала проверьте авторизацию у брокера в журнале запуска, затем убедитесь, что воркер online на Dashboard → Optimizations.
- Настройте даты, символы и стратегии, затем нажмите Start.
Требования
- Активная подписка PositionRelay Ultimate.
- Компьютер x64 с Windows, Linux или Intel macOS и Docker. Apple Silicon / ARM не поддерживаются.
- Достаточно оперативной памяти и места на диске для истории реальных тиков; при использовании Docker Desktop ресурсы настраиваются в его параметрах.
- Брокерский счёт MT5, демо или реальный (логин, пароль, сервер).
- Свой скомпилированный EA (.ex5). EA с MQL5 Market заблокированы активацией и не запустятся.
- Файлы .set в SetFiles/Classic/<timeframe>, как показано в мастере настройки.
Настройка Docker
Пошаговая установка находится в Dashboard → Setup → MT5 Optimizations. Мастер показывает папки, файлы и команды для вашей системы и подставляет User ID.
Где хранятся файлы: вариант 1 — папка на вашем компьютере (C:\PositionRelay\optimizer в Windows, $HOME/PositionRelay/optimizer в Linux и macOS) с советником, файлами .set, Broker/servers.dat и optimizer.env. Сейчас это единственный вариант, и мастер использует именно его. Вариант 2 — загрузка советника, файлов .set и переменных окружения в PositionRelay — скоро появится и будет на ваш собственный риск.
В каждой строке -v для Experts, SetFiles, Broker и reports путь слева — это папка на вашем компьютере, а /data/... — путь в контейнере. Если файлы находятся в другом месте, замените каждый полный путь хоста, включая букву диска в Windows. Изменение --env-file не меняет эти подключения.
В работающем терминале MT5 выберите Файл → Открыть каталог данных. Скопируйте config/servers.dat в папку Broker оптимизатора, чтобы Docker нашёл сервер брокера. Не копируйте accounts.dat. Точный путь показан в мастере настройки.
Следуйте мастеру настройки. Используйте свой брокерский счёт MT5 и удаляйте MT5_PASSWORD только после сообщения « Broker login authorized » в логах.
При первом запуске вход в брокерский счёт выполняется до запуска heartbeat и может занять несколько минут. Следите за логами контейнера. После "Starting optimizer heartbeat" подождите несколько опросов, пока воркер появится online на странице Optimizations.
- Никогда не коммитьте optimizer.env.
- Experts и SetFiles монтируются только для чтения; reports — с записью.
- Дерево MT5 и кэш тиков живут на именованном томе positionrelay-mt5.
Запуск из панели
Откройте Dashboard → Optimizations. Выберите диапазон дат, символы, таймфреймы, стратегии, режим оптимизации, баланс и макс. просадку equity. При желании включите robustness после валидации.
Start начинает новый пакет. Resume продолжает прерванный прогон. Stop останавливает активный пакет; воркер остаётся online. Clean очищает артефакты кэша тестера на хосте.
Живой статус обновляется каждые несколько секунд, пока страница открыта. Держите контейнер запущенным на время задания.
Результаты, избранное и портфель
Строки Passed — проверенные выжившие из пакета. Отметьте избранное в панели; воркер может синхронизировать его в папку Favorites на хосте.
Портфели компании сейчас поддерживают только один портфельный EA от PositionRelay и требуют его исходный код, которого нет в публичном образе. Со своим скомпилированным .ex5 можно оптимизировать, проверять и добавлять в избранное, но не собирать портфели.
Отчёты сохраняются в созданной вами папке reports на хосте.
Обновление образа
Чтобы проверить наличие нового образа, выполните docker pull ghcr.io/razvantomegea/position-relay-portfolio-optimizer:latest (команда загрузки из мастера настройки). Статус pull описывает только локальный образ—не то, использует ли его уже работающий контейнер. Сравните docker inspect --format '{{.Image}}' positionrelay-optimizer и docker inspect --format '{{.Id}}' ghcr.io/razvantomegea/position-relay-portfolio-optimizer:latest. Если они совпадают, оставьте контейнер работать. Если различаются—или вы уже скачали образ раньше и отложили пересоздание—дождитесь завершения активного запуска и пересоздайте контейнер командами из последнего шага мастера настройки. Обновление образа заменяет только воркер; том сохраняет MT5 и кэш тиков. Новую версию MT5 нужно обновлять отдельно.
Устранение неполадок
- Воркер остаётся offline — проверьте, что Ultimate активен, POSITIONRELAY_USER_ID совпадает с Setup, и docker logs показывает heartbeat.
- Вход к брокеру не подтверждён — проверьте Broker/servers.dat из работающего MT5, затем MT5_LOGIN, MT5_PASSWORD и MT5_SERVER. Удаляйте пароль из env-файла только после сообщения "Broker login authorized".
- При первом входе Wine может выводить сообщения fixme и ошибки графических библиотек. Сами по себе они не подтверждают успех или сбой. Ищите "Broker login authorized" или "broker login not confirmed", затем "Starting optimizer heartbeat". Воркер может быть online даже при неудачном входе в брокерский счёт.
- EA не запускается — купленные на Market EA заблокированы активацией. Используйте свой скомпилированный .ex5.
- Нет места / медленные тики — увеличьте ресурсы Docker Desktop и освободите место под историю реальных тиков.
- Apple Silicon / ARM — не поддерживаются. Используйте компьютер x64.
- Команда в панели не выполнилась — откройте docker logs -f positionrelay-optimizer для ошибки воркера.
