| # 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)
|