Windows에서 MT5 다중 동시 실행|시작프로그램 & 작업 스케줄러로 일괄·자동 시작하기


대상 독자와 목표

본 글은 Windows 환경에서 여러 MT5를 동시에 운용하는 트레이더를 위해 ① bat 파일로 일괄 시작② 자동 시작(Startup/작업 스케줄러) 방법을 설명합니다. 목표는 PC/VPS 재부팅 후에도 클릭 없이 모든 MT5가 자동 실행되도록 하는 것입니다.

동일/상이 브로커의 MT5 여러 개를 한 PC/VPS에 설치하는 법은 (관련 글: 한 대의 PC/VPS에서 여러 MT5 설치·실행하기 [초보자 가이드])를 참고하세요.


일괄/자동 시작의 이점

1) 재부팅 후 ‘무클릭’ 복구

Windows 업데이트나 VPS 점검 후에도 MT5가 순차 자동 실행되고 EA가 즉시 가동됩니다.

2) 표준화된 시작 절차로 실수 감소

수동 시작 시 누락·순서 오류 방지. 로그를 남기면 원인 추적이 용이합니다.

3) 부하 평준화

수 초 간격의 지연 시작으로 CPU/IO 스파이크를 회피해 안정성을 높입니다.


사전 준비: MT5 배치와 폴더 설계

전제: 이 글은 C:\HFM Metatrader 5\, C:\MetaTrader 5 IC Markets (SC)\처럼 C 드라이브 루트에 각 MT5 폴더를 배치하는 것을 가정합니다(C:\MT5\ 전용 폴더는 불필요).

이유: 루트 배치는 경로 처리(공백/괄호의 인용부호), 쓰기 권한 명확화, 백업·복제 운용이 수월합니다. Program Files 하위도 가능하나 다중 인스턴스에는 루트 배치가 보통 더 수월합니다. MT5×EA UAC 권한 오류: 원인과 회피를 참고하세요.

C 드라이브 → Program 폴더 화면C 드라이브 루트에 위치한 MT5 폴더 스크린샷

 

  • 기존 설치를 이동할 때는 폴더 통째로 복사하여 각 폴더 루트에 terminal64.exe가 존재하도록 합니다.

[일괄 시작] bat 파일 만들기

절차

데스크톱 등에서 메모장(텍스트 문서)을 새로 만듭니다.
Windows 데스크톱에서 메모장(텍스트 문서) 만들기

아래 내용을 붙여 넣어 저장합니다(경로는 환경에 맞게 수정).

@echo off
rem ===== MT5 일괄 시작 스크립트 =====
setlocal

rem (선택) 네트워크 안정 대기(초)
set WAIT_NET=10
timeout /t %WAIT_NET% /nobreak >nul

rem ---- 1번째(작업 디렉터리 명시) ----
start "" /D "C:\MetaTrader 5 IC Markets (SC)" "terminal64.exe" /portable
timeout /t 3 /nobreak >nul

rem ---- 2번째 ----
start "" /D "C:\HFM Metatrader 5" "terminal64.exe" /portable
timeout /t 3 /nobreak >nul

rem ---- 3번째 이후 동일 ----

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초로 늘립니다.
  • 대상 변경(추가/삭제)은 bat 파일 우클릭 “편집”으로 조정합니다.

[자동 시작 · 권장] 시작프로그램 등록

가장 간단하고 문제 적은 방법입니다. Windows 로그온 시 bat가 자동 실행됩니다.

절차

파일 탐색기 주소 표시줄에 shell:startup을 입력해 Startup 폴더를 엽니다.
탐색기 주소 표시줄에 ‘shell:startup’ 입력


앞서 만든 mt5_start_all.bat을 이 폴더에 복사합니다. 바로 가기도 가능.
Windows Startup 폴더에 bat 파일 배치

주의: Startup은 로그온 후 동작하므로, 자동 로그온이 없는 PC/VPS에서는 효과가 없습니다.


[자동 시작 · 대안] 작업 스케줄러 등록

지연 시작·재시도 등 더 정밀한 제어가 가능합니다(GUI 앱이므로 로그온 전제).

기본 설정

  1. “작업 스케줄러” → “작업 만들기”.
  2. 일반: 이름 “MT5 Auto Start”, “사용자가 로그인한 경우에만 실행” 선택(GUI 표시 필요). “가장 높은 권한으로 실행”은 보통 해제.
  3. 트리거: “로그온할 때”. 필요 시 “작업 지연”(30초 등).
  4. 동작: “프로그램 시작”
    프로그램/스크립트: C:\mt5_start_all.bat
    시작 위치: C:\(bat 위치에 맞게)
  5. 조건: “네트워크 연결 사용 가능 시 작업 시작” 권장.
  6. 설정: “실패 시 다음 간격으로 다시 시작” → 1분·3회 등.

보충: “시스템 시작 시” 트리거는 서비스(Session 0)로 동작해 MT5 UI가 표시되지 않으므로 비권장.


응용: 딜레이·로그·우선순위/CPU 할당

시작 로그 남기기

bat의 시작/끝에 로그 출력을 추가합니다.

@echo off
set LOG=%~dp0mt5_start.log
echo [%date% %time%] --- MT5 시작 --- >> "%LOG%"
rem ... (시작 명령) ...
echo [%date% %time%] --- MT5 시작 완료 --- >> "%LOG%"

우선순위·CPU Affinity 지정

고부하 시 유용(고급).

start "" /HIGH /AFFINITY 3 /D "C:\HFM Metatrader 5" "terminal64.exe" /portable
rem /AFFINITY 3 = CPU0+CPU1 사용(16진 비트마스크)

중지 스크립트(강제 종료·주의)

강제 종료는 저장되지 않은 데이터 손실 위험. 계획 정지 시에만 사용.

@echo off
taskkill /IM terminal64.exe /F
rem 모든 인스턴스를 종료합니다. 특정 대상만 종료하려면 명령줄 조건으로 필터링하세요.

문제 해결

  • 시작 안 됨/일부만 시작: bat 경로·공백 인용부호 확인(예: "C:\HFM Metatrader 5\terminal64.exe").
  • 네트워크 미연결로 EA 에러: bat 상단에 timeout 추가로 지연; 스케줄러의 “네트워크 사용 가능 시 시작” 사용.
  • 동시 시작 시 무거움: 터미널 간 timeout을 5–10초로 늘려 단계적 시작. 필요 시 Affinity 지정.
  • /portable 필요?: 다중 동시 운용에는 권장. 설정·MQL 충돌 방지.


자주 묻는 질문

Q. C:\Users\…\AppData\Roaming\MetaQuotes\Terminal\…C:\HFM Metatrader 5\ 차이는?
A. 전자는 MT5 기본 데이터 폴더(사용자별). 후자는 본문에서 예시로 든 프로그램 배치 경로입니다. 다중 운용 시 C 루트에 분리 배치하고 /portable로 데이터도 분리하면 관리가 쉽습니다.
Q. /portable을 붙여야 하나요?
A. 다중 동시 운용에는 권장. 각 폴더에 프로필이 독립되어 충돌을 방지합니다(Program Files 하위에서 /portable은 비권장).
Q. 시작프로그램과 작업 스케줄러 중 무엇이 좋나요?
A. 먼저 시작프로그램(로그온 시)이 간단·안정. 지연·재시도 등 세부 제어가 필요하면 작업 스케줄러(로그온 시/사용자 로그인 시에만 실행)로.
Q. 자동 로그온이 필수인가요?
A. 시작프로그램 방식은 로그온 후 동작합니다. 완전 무인화하려면 자동 로그온이나 RMM으로 로그온 자동화가 필요합니다.
Q. 시작 순서는 어떻게?
A. 중요한 계정(EA)부터 나열하고 각 실행 사이에 몇 초의 timeout을 두는 것이 실무적입니다.


답글 남기기