Как Запустить Несколько MT5 Одновременно в Пакетном и Автоматическом Режиме | Руководство по Автозапуску и Планировщику Заданий


Целевая аудитория и Задача

Эта статья предназначена для трейдеров, которые одновременно используют несколько MT5 в среде Windows. В ней объясняются конкретные шаги для ① пакетного запуска с помощью bat-файла и ② автоматического запуска (Автозагрузка/Планировщик Заданий). Конечная цель – настроить систему так, чтобы все MT5 запускались без единого клика после перезагрузки ПК/VPS.

Инструкции по установке нескольких MT5 одного или разных брокеров на один ПК/VPS можно найти в связанной статье (Как установить и запустить несколько копий MT5 на одном ПК/VPS【Полное Руководство для Начинающих】).


Преимущества Пакетного и Автоматического Запуска

1) Восстановление После Перезагрузки Без Кликов

Даже после Windows Update или обслуживания VPS, MT5 автоматически запускаются последовательно, и советники (EA) немедленно начинают работу.

2) Стандартизация Процедуры Запуска Снижает Ошибки

Предотвращает пропуск или неправильную последовательность при ручном запуске. Ведение логов упрощает отслеживание причин.

3) Выравнивание Нагрузки

Запуск с задержкой в несколько секунд предотвращает скачки нагрузки на CPU/IO, что способствует стабильной работе.


Предварительная Подготовка: Размещение MT5 и Структура Папок

Предположение: В данной статье предполагается, что папки каждого MT5 расположены непосредственно в корне диска C, например, C:\HFM Metatrader 5\ или C:\MetaTrader 5 IC Markets (SC)\ (можно не создавать специальную папку C:\MT5\).

Причина: Размещение в корневом каталоге более практично с точки зрения управления путями (корректная обработка пробелов или скобок с помощью кавычек), ясности прав на запись и простоты резервного копирования/клонирования. Хотя запуск возможен и в папке Program Files, для работы с несколькими экземплярами предпочтительнее расположение в корневом каталоге. См. Ошибка Разрешения UAC (Контроль Учетных Записей Пользователей) в MT5×EA: Причины и Способы Избежать.

Экран диска C: → Папка ProgramСкриншот папки MT5, расположенной непосредственно в корне диска C

 

  • Для переноса существующей установки скопируйте всю папку так, чтобы terminal64.exe находился непосредственно в каждой папке.

【Пакетный Запуск】Процедура Создания bat-файла

Процедура

Создайте новый файл блокнота (текстовый документ) на рабочем столе или в другом месте.
Создание блокнота (текстового документа) с рабочего стола Windows

Вставьте и сохраните следующее содержимое (измените пути в соответствии с именами папок вашего MT5).

@echo off
rem ===== Скрипт Пакетного Запуска MT5 =====
setlocal

rem (Необязательно) Ожидание стабилизации сети (секунды)
set WAIT_NET=10
timeout /t %WAIT_NET% /nobreak >nul

rem ---- Первый (Явно указываем рабочий каталог) ----
start "" /D "C:\MetaTrader 5 IC Markets (SC)" "terminal64.exe" /portable
timeout /t 3 /nobreak >nul

rem ---- Второй ----
start "" /D "C:\HFM Metatrader 5" "terminal64.exe" /portable
timeout /t 3 /nobreak >nul

rem ---- Третий и последующие аналогично ----

endlocal

Пример имени файла: Измените на mt5_start_all.bat.
(Обязательно измените расширение с .txt на .bat. Если расширение не отображается, установите флажок «Расширения имен файлов» во вкладке [Вид] Windows. Нажмите «Да» при появлении предупреждения.)
Настройки отображения Windows: Показать 'Расширения имен файлов' во вкладке Вид Смена с txt на bat: Диалог предупреждения об изменении расширения

Запуск MT5

Дважды щелкните mt5_start_all.bat, и несколько MT5 будут запущены последовательно.

Ключевые Моменты

  • Использование start "" /D "папка" "terminal64.exe" позволяет корректно указать рабочий каталог.
  • Добавление timeout /t 3 между каждым запуском снижает резкую нагрузку. Увеличьте интервал до 5–10 секунд, если терминалов много.
  • Для изменения запускаемых MT5 (добавление/удаление) просто щелкните правой кнопкой мыши на bat-файле и выберите «Изменить».

【Автоматический Запуск — Рекомендуется】Регистрация в Автозагрузке (Startup)

Это самый простой и наименее проблемный способ. bat-файл будет автоматически выполнен при входе в систему Windows.

Процедура

Введите shell:startup в адресную строку Проводника, чтобы открыть папку Автозагрузка (Startup).
Ввод 'shell:startup' в адресную строку проводника папок


Скопируйте только что созданный mt5_start_all.bat в эту папку. Ярлык также подойдет.
Размещение bat-файла в папке Автозагрузки Windows

Внимание: Поскольку Автозагрузка срабатывает после входа в систему, она не будет работать на ПК/VPS без настройки автоматического входа.


【Автоматический Запуск — Альтернатива】Регистрация через Планировщик Заданий

Позволяет более детально контролировать, например, отложенный запуск и повторные попытки (требуется вход в систему, так как это GUI-приложение).

Базовая Настройка

  1. «Планировщик Заданий» → «Создать задачу».
  2. Общие: Имя «MT5 Auto Start»,
    Выбрать «Выполнять только при выполненном входе пользователя в систему» (для отображения GUI).
    «Выполнить с наивысшими правами» обычно выключено.
  3. Триггеры: «При входе в систему». При необходимости «Отложить выполнение задачи на» (например, 30 секунд).
  4. Действия: «Запуск программы»
    Программа/скрипт: C:\mt5_start_all.bat
    Начать в (рабочая папка): C:\ (изменить в соответствии с размещением bat-файла)
  5. Условия: Рекомендуется установить флажок «Запускать, только если доступно следующее сетевое подключение».
  6. Параметры: «Если задача не выполняется, перезапускать с интервалом» → например, 1 минута, 3 раза.

Примечание: Триггер «При запуске системы» выполняется как служба (Сессия 0), и пользовательский интерфейс MT5 не появляется, поэтому он не рекомендуется.


Продвинутое Использование: Задержка, Логирование, Приоритет/Выделение CPU

Ведение Лога Запуска

Добавьте вывод лога в начало и конец bat-файла.

@echo off
set LOG=%~dp0mt5_start.log
echo [%date% %time%] --- Запуск MT5 Начало --- >> "%LOG%"
rem ... (Команды запуска) ...
echo [%date% %time%] --- Запуск MT5 Завершено --- >> "%LOG%"

Указание Приоритета и Сродства (Аффинности) CPU

Эффективно при высокой нагрузке (для опытных пользователей).

start "" /HIGH /AFFINITY 3 /D "C:\HFM Metatrader 5" "terminal64.exe" /portable
rem /AFFINITY 3 = Использовать CPU0+CPU1 (Шестнадцатеричная битовая маска)

Скрипт Для Остановки (Принудительное Завершение — Внимание)

Принудительное завершение может привести к потере несохраненных данных, используйте его только при плановой остановке.

@echo off
taskkill /IM terminal64.exe /F
rem * Завершает все экземпляры. Для ограничения цели используйте фильтрацию по условиям командной строки.

Устранение Неполадок

  • Не запускается/Запускается только часть: Проверьте bat-файл на предмет неверного пути или отсутствия кавычек вокруг пробелов (заключайте в двойные кавычки, например, "C:\HFM Metatrader 5\terminal64.exe").
  • Советник (EA) выдает ошибку из-за отсутствия сети: Добавьте timeout в начало bat-файла для задержки запуска. В Планировщике установите условие «Сетевое подключение доступно» в ON.
  • Тормозит при одновременном запуске: Увеличьте timeout между терминалами до 5–10 секунд. При необходимости рассмотрите возможность указания сродства (аффинности).
  • Нужен ли /portable?: Рекомендуется для одновременной работы с несколькими MT5. Это предотвращает смешивание/конфликт настроек и MQL-файлов.

Часто Задаваемые Вопросы

В. Какая разница между C:\Users\…\AppData\Roaming\MetaQuotes\Terminal\… и C:\HFM Metatrader 5\?
О. Первый – это папка данных MT5 по умолчанию (для каждого пользователя). Второй – пример места размещения программы в этой статье. При работе с несколькими экземплярами удобнее размещать их в отдельных папках непосредственно в корне C (например, C:\HFM Metatrader 5\) и использовать /portable для разделения данных.
В. Следует ли использовать /portable?
О. Рекомендуется для одновременной работы с несколькими экземплярами. Профиль остается автономным в каждой папке, предотвращая конфликты настроек и MQL-файлов (использование /portable в Program Files не рекомендуется).
В. Что лучше: Автозагрузка (Startup) или Планировщик Заданий?
О. Начните с Автозагрузки (при входе в систему) – это просто и стабильно. Если потребуется управление, такое как задержка или повторная попытка, перейдите к Планировщику Заданий (при входе в систему / выполнять только при выполненном входе пользователя в систему).
В. Обязателен ли автоматический вход в систему?
О. Метод Автозагрузки срабатывает после входа. Для полностью беспилотного режима необходима настройка автоматического входа или использование RMM для автоматизации входа.
В. Как определить порядок запуска?
О. Практично перечислять наиболее важные счета (EA) первыми и добавлять timeout в несколько секунд между каждым запуском.

Добавить комментарий