MT5を複数同時に一括・自動起動する方法|スタートアップ&タスクスケジューラ解説

本記事は、Windows環境で複数のMT5(MetaTrader 5)を同時運用している方向けに、① batファイルでの一括起動② 自動起動(スタートアップ/タスク スケジューラ)の手順を、実務目線でまとめたガイドです。ゴールはシンプルで、PC/VPSを再起動しても、クリックなしで必要なMT5がすべて立ち上がる状態を作ること。

なお、同一/別ブローカーのMT5を複数インストールする方法自体は、こちらで解説しています(先に環境を整えておくとスムーズです)。
関連記事:MT5を複数起動する方法|同一ブローカーで口座別にEAを分離運用(Windows/VPS)の方が良い?

事前準備:MT5の置き場所(Cドライブ直下)を統一する

CドライブのProgram Filesフォルダ画面
Program Files配下は権限やパスが複雑になりやすい
Cドライブ直下のMT5フォルダ例
Cドライブ直下にMT5フォルダを置くと管理が楽

前提:本記事では C:\HFM Metatrader 5C:\MetaTrader 5 IC Markets (SC) のように、Cドライブ直下に各MT5フォルダを配置している想定で進めます(C:\MT5 のような専用親フォルダを作らなくてもOK)。

なぜ直下配置が楽なのか

  • パスが短い(スペースや括弧の扱いで詰まりにくい)
  • 書き込み権限が明確(UAC絡みの不具合を避けやすい)
  • バックアップ/複製が簡単(フォルダ単位で移動・保守できる)

Program Files 配下でも起動自体は可能ですが、複数インスタンス運用では直下配置の方がトラブルが少ない傾向があります。UAC絡みの注意点は、必要に応じて以下も参照してください。
MT5×EAのUAC(ユーザーアカウント制御)権限エラー:原因と回避方法

  • 既存インストールを移設する場合は、MT5フォルダを丸ごとコピーし、各フォルダ直下に terminal64.exe がある状態にします。

【一括起動】batファイルで複数MT5を順番に立ち上げる

複数MT5を手で開くのは地味に面倒です。まずは一括起動用のbatファイルを作り、ダブルクリック1回で全MT5を起動できるようにします。

手順1:メモ帳でbatファイルを作る

デスクトップでメモ帳ファイルを新規作成する手順
まずはテキストファイルを作成

デスクトップなどにテキストファイルを新規作成し、以下を貼り付けて保存します(パスはあなたのMT5フォルダ名に合わせて変更)。

@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へ変更する際の警告ダイアログ

手順2:batを実行してMT5を起動する

mt5_start_all.bat をダブルクリックすると、複数のMT5が順番に起動します。

ここがポイント

  • start "" /D "フォルダ" "terminal64.exe"作業ディレクトリを正しく指定できます(複数運用での事故を減らせます)。
  • timeout /t 3 で起動間隔を空け、CPU/RAMの突発負荷を和らげます。MT5が多いなら5〜10秒に伸ばすと安定します。
  • 起動対象の追加・削除は、batを右クリック→編集でOK。

【自動起動・推奨】スタートアップ登録(いちばんシンプル)

手間とトラブルを最小化するなら、まずはこれが定番です。Windowsのログオン時にbatが自動実行され、MT5がまとめて起動します。

手順:スタートアップフォルダにbat(またはショートカット)を入れる

エクスプローラーでshell:startupを開く
「shell:startup」でスタートアップを開く
スタートアップフォルダにbatを配置する例
batを置けばログオン時に自動実行
  1. エクスプローラーのアドレスバーに shell:startup と入力して実行
  2. 開いた「スタートアップ」フォルダに mt5_start_all.batコピー(ショートカットでもOK)

注意:スタートアップはログオン後に動きます。VPSで無人運用する場合は、自動ログオン設定がないと「再起動後に止まったまま」になりがちです。

【自動起動・上級】タスク スケジューラで遅延・再試行まで管理する

「ログオン直後は重くてMT5がこける」「ネットワークが上がる前に実行される」などがある場合は、タスク スケジューラで遅延起動再試行を組むと安定します。

基本設定(よく使う形)

  1. 「タスク スケジューラ」→「タスクの作成」
  2. 全般:名前(例:MT5 Auto Start)/「ユーザーがログオンしているときのみ実行」を選択(MT5はGUIアプリのため)
  3. トリガー:「ログオン時」+必要なら「遅延タスクの実行」(例:30秒)
  4. 操作:「プログラムの開始」
    プログラム/スクリプト:C:\mt5_start_all.bat
    開始(作業フォルダ):C:\(batの配置に合わせて)
  5. 条件:「ネットワーク接続が使用可能になったらタスクを開始する」にチェック推奨
  6. 設定:「失敗した場合は次の間隔で再起動」→ 1分・3回 など

補足(重要):「システム起動時」トリガーはセッション0で動作しやすく、MT5の画面が出ない/操作できないケースがあるため基本は非推奨です。MT5は「ログオン時」起動が安定します。

停止用スクリプト(強制終了・注意)

これは緊急停止用です。強制終了は未保存データの喪失や、ログ/履歴の破損リスクがあるため、計画停止時のみ使ってください。

@echo off
taskkill /IM terminal64.exe /F
rem ※ 全インスタンスを終了します。対象を絞る場合は条件指定でフィルタしてください。

Author of this article

Tetsushi O-nishi

FX市場のシステムトレーダー/MQL5プログラマー/EA(自動売買システム)開発者
2021年からEAの開発を開始。数々の戦略を構築→バックテスト検証し、堅守性(ロバストネス)を重視した開発を行う。自作EAを10個以上リアルアカウントで運用中。

コメントを残す