mt5-manager/README.md
89 lines
6.5 KiB
Markdown
Yuriy Bykov
2025-10-14 07:37:15 +03:00
# MT5 Manager
Веб-приложение для управления несколькими экземплярами MetaTrader 5 на Windows.
Позволяет создавать терминалы, запускать и останавливать их, задавать торговые счета
и просматривать состояние и финансовые показатели. Данные поступают от MQL5-сервиса
через общую SQLite; Python-библиотека `MetaTrader5` для работы менеджера не требуется.
Yuriy Bykov
2025-10-14 07:37:15 +03:00
## Быстрый старт
Yuriy Bykov
2025-11-20 09:46:27 +03:00
Понадобятся Windows, Python (текущая версия проверена на 3.14) и хотя бы одна
установка MetaTrader 5, уже запущенная в режиме `/portable`. Менеджер и терминалы
должны работать от одного пользователя Windows.
Yuriy Bykov
2025-10-14 07:37:15 +03:00
1. Клонируйте проект в удобную папку. Размещение внутри установки MT5 необязательно.
Если выбрать `MQL5/Shared Projects/mt5-manager`, менеджер сможет автоматически
использовать файлы этой установки без дополнительной настройки.
В примере терминал установлен в `C:\MT5\MetaTrader5.1`:
Yuriy Bykov
2025-10-14 07:37:15 +03:00
```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
```
Yuriy Bykov
2025-11-20 09:46:27 +03:00
2. Установите зависимости в отдельное окружение:
Yuriy Bykov
2025-11-20 09:46:27 +03:00
```powershell
py -3.14 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
```
Yuriy Bykov
2025-10-14 07:37:15 +03:00
3. Подготовьте личную конфигурацию из примера. Команды подставят путь к общей
папке текущего пользователя вместо `USERNAME`:
Yuriy Bykov
2025-11-20 09:46:27 +03:00
```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
```
Yuriy Bykov
2025-10-14 07:37:15 +03:00
В примере нет счетов и существующих экземпляров. При необходимости измените
`mt5_folder`: это базовая папка всех терминалов. Каждый экземпляр расположен
в её подпапке с именем из `terminals`. Изменение базы меняет пути всех экземпляров;
сами папки при этом не перемещаются.
Yuriy Bykov
2025-11-20 09:46:27 +03:00
4. Запустите приложение из корня проекта и откройте [главную страницу](http://127.0.0.1:8000/):
Yuriy Bykov
2025-11-20 09:46:27 +03:00
```powershell
.\.venv\Scripts\python.exe run.py --config-file config.local.json --host 127.0.0.1 --port 8000
```
Yuriy Bykov
2025-11-20 09:46:27 +03:00
5. Откройте «Настройки» и проверьте наличие исходных файлов. Если они не загружены,
менеджер использует `terminal64.exe`, `MetaEditor64.exe` и `config/servers.dat`
из установки, указанной в поле «Папка установки MT5 для получения файлов».
Для проекта внутри `MQL5/Shared Projects` это поле можно оставить пустым.
При отдельном размещении укажите установку или загрузите файлы через интерфейс.
Для автоматической сборки достаточно доступного `MetaEditor64.exe` и исходника
проекта; можно также загрузить
готовый `ServiceStateWriter.ex5`. Затем нажмите «Новый терминал» на главной странице.
Реквизиты счёта можно задать сразу или оставить пустыми и настроить позже.
Yuriy Bykov
2025-11-20 09:46:27 +03:00
В настройках также доступны проверка Git-обновлений и отдельная команда сборки
и распространения сервиса. Порядок обновления описан в
[руководстве по эксплуатации](docs/maintenance.md).
Yuriy Bykov
2025-11-20 09:46:27 +03:00
Для работы с нужным брокером исходный `servers.dat` должен содержать сведения о его
торговом сервере. Как подготовить файлы и разместить проект вне установки MT5,
описано в [руководстве по установке](docs/installation.md).
Yuriy Bykov
2025-11-20 09:46:27 +03:00
В приложении пока нет входа пользователей и разграничения прав. Для удалённой работы
используйте защищённый доступ, например VPN. Параметры сети и хранения реквизитов
разобраны в [документации по эксплуатации](docs/maintenance.md).
Yuriy Bykov
2025-11-20 09:46:27 +03:00
## Документация
Yuriy Bykov
2025-10-04 08:21:12 +00:00
- [Оглавление документации и текущее состояние](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)