- Python 49.6%
- MQL5 26.4%
- JavaScript 13.4%
- HTML 7.2%
- CSS 3.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .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 -
Откройте «Настройки» и проверьте наличие исходных файлов. Если они не загружены, менеджер использует
terminal64.exe,MetaEditor64.exeиconfig/servers.datиз установки, указанной в поле «Папка установки MT5 для получения файлов». Для проекта внутриMQL5/Shared Projectsэто поле можно оставить пустым. При отдельном размещении укажите установку или загрузите файлы через интерфейс. Для автоматической сборки достаточно доступногоMetaEditor64.exeи исходника проекта; можно также загрузить готовыйServiceStateWriter.ex5. Затем нажмите «Новый терминал» на главной странице. Реквизиты счёта можно задать сразу или оставить пустыми и настроить позже.
В настройках также доступны проверка Git-обновлений и отдельная команда сборки и распространения сервиса. Порядок обновления описан в руководстве по эксплуатации.
Для работы с нужным брокером исходный servers.dat должен содержать сведения о его
торговом сервере. Как подготовить файлы и разместить проект вне установки MT5,
описано в руководстве по установке.
В приложении пока нет входа пользователей и разграничения прав. Для удалённой работы используйте защищённый доступ, например VPN. Параметры сети и хранения реквизитов разобраны в документации по эксплуатации.
Документация
- Оглавление документации и текущее состояние.
- Установка и первый запуск.
- Настройки и формат конфигурации.
- Работа через веб-интерфейс.
- Обновление, резервные копии и устранение неполадок.
- Устройство приложения, API и проверки.
- Статьи: тексты, черновики и материалы публикации.
Документация описывает текущую реализацию и обновляется вместе с кодом. Статьи сохраняют последовательность разработки и состояние соответствующей части цикла.
MQL5 Algo Forge / antekov