- Python 63%
- JavaScript 17.1%
- CSS 7.6%
- HTML 6.9%
- MQL5 5.4%
| Fichier | Dernier message de commit | Date du dernier commit |
|---|---|---|
| .forgejo/workflows | ||
| docs | ||
| static | ||
| templates | ||
| tests | ||
| tools | ||
| .gitignore | ||
| config.example.json | ||
| config.json | ||
| config.py | ||
| deploy_service.py | ||
| extracticon.py | ||
| LICENSE | ||
| main.py | ||
| mt5_control.py | ||
| project_updates.py | ||
| README.md | ||
| requirements.txt | ||
| run.py | ||
| ServiceStateWriter.mq5 | ||
| terminal_manager.py | ||
MT5 Manager
Веб-приложение для управления несколькими экземплярами MetaTrader 5 на Windows.
Позволяет создавать терминалы, запускать и останавливать их, задавать торговые счета
и просматривать состояние и финансовые показатели. Данные поступают от MQL5-сервиса
через общую SQLite; Python-библиотека MetaTrader5 для работы менеджера не требуется.
Быстрый старт
Понадобятся Windows, Python (текущая версия проверена на 3.14) и хотя бы одна
установка MetaTrader 5, уже запущенная в режиме /portable. Менеджер и терминалы
должны работать от одного пользователя Windows.
-
Клонируйте проект в удобную папку. Размещение внутри установки 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 -
Установите зависимости в отдельное окружение:
py -3.14 -m venv .venv .\.venv\Scripts\python.exe -m pip install -r requirements.txt -
Подготовьте личную конфигурацию из примера. Команды подставят путь к общей папке текущего пользователя вместо
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. Для изменения базовой папки через интерфейс предусмотрен перенос экземпляров с подтверждением и остановкой терминалов. Если менеджер находится внутри базовой папки, сначала разместите его отдельно. -
Запустите приложение из корня проекта и откройте главную страницу:
.\.venv\Scripts\python.exe run.py --config-file config.local.json --host 127.0.0.1 --port 8000 -
Откройте «Настройки», укажите базовую папку экземпляров и папку исходной установки MT5. Она может находиться вне базовой папки. Менеджер берёт из неё
terminal64.exeиMetaEditor64.exe; если EXE отсутствует, его можно загрузить в эту папку через интерфейс. Сервис собирается из исходников проекта автоматически. -
На главной странице нажмите «Новый терминал». При необходимости выберите
servers.datс вашего компьютера для этого экземпляра; загрузка необязательна. Реквизиты счёта можно указать сразу или позже.
В настройках также доступны проверка Git-обновлений и отдельная команда сборки и распространения сервиса. Порядок обновления описан в руководстве по эксплуатации.
Если терминалу не хватает сведений о нужном брокере, загрузите servers.dat,
содержащий его торговый сервер. Как подготовить файлы и разместить проект вне установки MT5,
описано в руководстве по установке.
В приложении пока нет входа пользователей и разграничения прав. Для удалённой работы используйте защищённый доступ, например VPN. Параметры сети и хранения реквизитов разобраны в документации по эксплуатации.
Документация
- Оглавление документации и текущее состояние.
- Установка и первый запуск.
- Настройки и формат конфигурации.
- Работа через веб-интерфейс.
- Обновление, резервные копии и устранение неполадок.
- Устройство приложения, API и проверки.
- Статьи: тексты, черновики и материалы публикации.
Документация описывает текущую реализацию и обновляется вместе с кодом. Статьи сохраняют последовательность разработки и состояние соответствующей части цикла.
MQL5 Algo Forge / antekov