# 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`: ```powershell 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. Установите зависимости в отдельное окружение: ```powershell py -3.14 -m venv .venv .\.venv\Scripts\python.exe -m pip install -r requirements.txt ``` 3. Подготовьте личную конфигурацию из примера. Команды подставят путь к общей папке текущего пользователя вместо `USERNAME`: ```powershell $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. Запустите приложение из корня проекта и откройте [главную страницу](http://127.0.0.1:8000/): ```powershell .\.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-обновлений и отдельная команда сборки и распространения сервиса. Порядок обновления описан в [руководстве по эксплуатации](docs/maintenance.md). Для работы с нужным брокером исходный `servers.dat` должен содержать сведения о его торговом сервере. Как подготовить файлы и разместить проект вне установки MT5, описано в [руководстве по установке](docs/installation.md). В приложении пока нет входа пользователей и разграничения прав. Для удалённой работы используйте защищённый доступ, например VPN. Параметры сети и хранения реквизитов разобраны в [документации по эксплуатации](docs/maintenance.md). ## Документация - [Оглавление документации и текущее состояние](docs/README.md). - [Установка и первый запуск](docs/installation.md). - [Настройки и формат конфигурации](docs/configuration.md). - [Работа через веб-интерфейс](docs/user-guide.md). - [Обновление, резервные копии и устранение неполадок](docs/maintenance.md). - [Устройство приложения, API и проверки](docs/architecture.md). - [Статьи: тексты, черновики и материалы публикации](docs/articles/README.md). Документация описывает текущую реализацию и обновляется вместе с кодом. Статьи сохраняют последовательность разработки и состояние соответствующей части цикла. MQL5 Algo Forge / [antekov](https://www.mql5.com/en/users/antekov)