mt5-manager/README.md

MT5 Manager

Веб-приложение для управления несколькими экземплярами MetaTrader 5 на Windows. Позволяет создавать терминалы, запускать и останавливать их, задавать торговые счета и просматривать состояние и финансовые показатели. Данные поступают от MQL5-сервиса через общую SQLite; Python-библиотека MetaTrader5 для работы менеджера не требуется.

Быстрый старт

Понадобятся Windows, Python (текущая версия проверена на 3.14) и хотя бы одна установка MetaTrader 5, уже запущенная в режиме /portable. Менеджер и терминалы должны работать от одного пользователя Windows.

  1. Клонируйте проект в удобную папку. Размещение внутри установки MT5 необязательно. Если выбрать MQL5/Shared Projects/mt5-manager, менеджер сможет автоматически использовать файлы этой установки без дополнительной настройки. В примере терминал установлен в C:\MT5\MetaTrader5.1:

    New-Item -ItemType Directory -Force 'C:\MT5\MetaTrader5.1\MQL5\Shared Projects' | Out-Null
    Set-Location 'C:\MT5\MetaTrader5.1\MQL5\Shared Projects'
    git clone https://forge.mql5.io/antekov/mt5-manager.git
    Set-Location mt5-manager
    
  2. Установите зависимости в отдельное окружение:

    py -3.14 -m venv .venv
    .\.venv\Scripts\python.exe -m pip install -r requirements.txt
    
  3. Подготовьте личную конфигурацию из примера. Команды подставят путь к общей папке текущего пользователя вместо USERNAME:

    $managerConfig = Get-Content config.example.json -Raw | ConvertFrom-Json
    $managerConfig.database = Join-Path $env:APPDATA 'MetaQuotes\Terminal\Common\Files\mt5-manager.sqlite'
    New-Item -ItemType Directory -Force (Split-Path -Parent $managerConfig.database) | Out-Null
    $managerConfig | ConvertTo-Json -Depth 10 | Set-Content config.local.json -Encoding utf8
    

    В примере нет счетов и существующих экземпляров. При необходимости измените mt5_folder: это базовая папка всех терминалов. Каждый экземпляр расположен в её подпапке с именем из terminals. Изменение базы меняет пути всех экземпляров; сами папки при этом не перемещаются.

  4. Запустите приложение из корня проекта и откройте главную страницу:

    .\.venv\Scripts\python.exe run.py --config-file config.local.json --host 127.0.0.1 --port 8000
    
  5. Откройте «Настройки» и проверьте наличие исходных файлов. Если они не загружены, менеджер использует terminal64.exe, MetaEditor64.exe и config/servers.dat из установки, указанной в поле «Папка установки MT5 для получения файлов». Для проекта внутри MQL5/Shared Projects это поле можно оставить пустым. При отдельном размещении укажите установку или загрузите файлы через интерфейс. Для автоматической сборки достаточно доступного MetaEditor64.exe и исходника проекта; можно также загрузить готовый ServiceStateWriter.ex5. Затем нажмите «Новый терминал» на главной странице. Реквизиты счёта можно задать сразу или оставить пустыми и настроить позже.

В настройках также доступны проверка Git-обновлений и отдельная команда сборки и распространения сервиса. Порядок обновления описан в руководстве по эксплуатации.

Для работы с нужным брокером исходный servers.dat должен содержать сведения о его торговом сервере. Как подготовить файлы и разместить проект вне установки MT5, описано в руководстве по установке.

В приложении пока нет входа пользователей и разграничения прав. Для удалённой работы используйте защищённый доступ, например VPN. Параметры сети и хранения реквизитов разобраны в документации по эксплуатации.

Документация

Документация описывает текущую реализацию и обновляется вместе с кодом. Статьи сохраняют последовательность разработки и состояние соответствующей части цикла.

MQL5 Algo Forge / antekov