Установка и первый запуск
Документация · Настройки · Веб-интерфейс
Подготовка компьютера
Нужны Windows, Python, Git для клонирования проекта и хотя бы одна установленная
копия MetaTrader 5. Текущая реализация проверена на Python 3.14; пакеты перечислены
в requirements.txt, зависимость от Python API MetaTrader5 отсутствует.
Один раз установите MT5 обычным способом и запустите terminal64.exe /portable.
Для работы менеджера все управляемые копии также запускаются в portable-режиме.
Выберите каталог, в который текущий пользователь может записывать файлы.
Приложение и терминалы должны работать от одного пользователя Windows, поскольку
используют его общую папку MetaQuotes/Terminal/Common/Files.
Размещение проекта
Рекомендуемое расположение — MQL5/Shared Projects/mt5-manager внутри установки
MT5. Например, при установке в C:\MT5\MetaTrader5.1 корень проекта будет
C:\MT5\MetaTrader5.1\MQL5\Shared Projects\mt5-manager.
Так менеджер может найти EXE, каталог серверов и MetaEditor этой установки, а
скомпилированный сервис попадает в ожидаемую папку MQL5/Services/Shared Projects.
Команды клонирования и создания Python-окружения приведены в README.
Все команды запуска выполняются из корня проекта.
Проект можно разместить отдельно, например в C:\Apps\mt5-manager. На странице
«Настройки» укажите «Папку установки MT5 для получения файлов» (mt5_installation),
например C:\MT5\MetaTrader5.1. Либо загрузите оба EXE и servers.dat через
интерфейс или подготовьте папку-образец с ними. Компиляция сервиса работает и при
отдельном размещении: используется доступный MetaEditor и исходник текущего проекта.
Готовый EX5 можно загрузить вместо сборки.
Личная конфигурация
В репозитории есть config.example.json с пустым списком
терминалов. Создайте из него config.local.json, как показано в README. Команды
там подставляют путь к Common/Files текущего пользователя и создают каталог,
если его ещё нет. Не запускайте пример с буквальным USERNAME в пути.
config.local.json исключён из Git. Исходный config.json менять для первого
запуска не требуется. При старте указывайте личный файл явно:
.\.venv\Scripts\python.exe run.py --config-file config.local.json --host 127.0.0.1 --port 8000
Данные о базе, папках и существующих экземплярах описаны в справочнике конфигурации.
Файлы для создания терминала
На странице «Настройки» доступна загрузка четырёх файлов:
| Файл | Для чего нужен |
|---|---|
terminal64.exe |
Исполняемый файл MT5 |
MetaEditor64.exe |
Редактор и компилятор MQL5 |
servers.dat |
Сведения о торговых серверах; в образце хранится как config/servers.dat |
ServiceStateWriter.ex5 |
Сервис, который передаёт состояние через SQLite |
Если отдельный файл не загружен, EXE и config/servers.dat берутся из указанной
установки MT5; установка с проектом определяется автоматически только для
MQL5/Shared Projects. Для сервиса при отсутствии заданного пути и загруженного EX5 вызывается
компиляция из исходника проекта. Если сборка уже не старее MQ5, она используется
повторно. Неудачная компиляция останавливает создание нового экземпляра; можно
собрать сервис вручную в MetaEditor или загрузить готовый EX5.
Для ручной сборки откройте ServiceStateWriter.mq5 в MetaEditor и нажмите F7.
Для отдельного проекта EX5 создаётся рядом с исходником; в Shared Projects —
в соответствующей подпапке MQL5/Services. Можно указать полученный файл в
service_ex5 или загрузить его через настройки.
Перед подготовкой servers.dat найдите нужного брокера в диалоге открытия счёта
локального терминала. Файл-образец должен содержать сведения обо всех торговых
серверах, которые планируется использовать при создании новых экземпляров.
После обновления файла закройте локальный терминал и загрузите его
config/servers.dat на сервер менеджера. Установленные экземпляры при загрузке
не изменяются.
Первый экземпляр
Проверьте mt5_folder и исходные файлы в настройках. На главной странице нажмите
«Новый терминал». Можно оставить счёт пустым или указать уже существующие логин,
сервер и пароль. Менеджер не открывает демо- или реальные счета самостоятельно.
Создание завершится только после получения свежего состояния от сервиса, а при заданных реквизитах — после проверки первого подключения и повторного обычного запуска. Последовательность и возможные ошибки разобраны в руководстве по интерфейсу.
Уже установленные экземпляры
Укажите их базовую папку в mt5_folder и добавьте имена подпапок в terminals
личной конфигурации. Отдельное расположение для экземпляра не задаётся.
В каждом должен быть сервис по пути
MQL5/Services/Shared Projects/mt5-manager/ServiceStateWriter.ex5 и файл
config/services.ini из static/services.ini. Значение InpDatabase должно
совпадать с именем базы менеджера; формат файла — UTF-16.
После изменения JSON вручную перезапустите менеджер. Способ развёртывания сервиса сразу по нескольким существующим терминалам и ограничения скрипта описаны в руководстве по эксплуатации.