SSD Nodes Learn Hosting plans →
ガイド Matt Connor著者 Matt Connor

MT4/MT5をVPSで動かす:Windowsが必要な理由

MetaTraderはWindowsのGUIアプリです。だからFX用VPSはデスクトップクラウドとして売られ、同サイズのLinux VPSより高くなります。メモリの測り方、再起動後の自動ログイン、週末メンテ、Wineの限界までまとめました。

MT4とMT5をVPSで動かす前に、もう決まっていること

MT4とMT5をVPSで動かすなら、そのVPSはWindowsになります。MetaTraderの端末(MT4はterminal.exe、MT5はterminal64.exe)はWindows用のGUIアプリケーションで、チャートを描いているあの画面がそのまま動作の本体だからです。サーバ用のサービスとして常駐する作りにはなっていません。これが、この市場のVPSが「デスクトップクラウド」や「FX用VPS」という名前で、リモートデスクトップ(RDP。Windowsの画面を手元に転送する仕組み)のログイン情報付きで売られている理由です。同じメモリ、同じCPUのLinux VPSより月額が高いのは、速いからではありません。Windowsのライセンス料と、常に生きたデスクトップを1つ維持するという運用の分です。比較サイトの表はここを書かず、価格だけを並べます。

この記事はインフラの話だけを扱います。戦略、業者選び、成績には触れません。

SSD NodesでMT4やMT5の端末を動かせるか

動かせません。2026年9月時点でSSD Nodesが提供するイメージはLinuxのみで、Windowsイメージもデスクトップクラウドの商品もありません。MT4やMT5の端末を置きたいなら、Windowsを売っているホストを選んでください。ここを曖昧にしたまま契約すると、届いた箱にインストーラを置く場所がない、という当たり前の結末になります。

Linux VPSにもグラフィカルなデスクトップは立てられますが、それはMetaTraderを動かす話ではありません。Linux側のデスクトップが必要な用途についてはLinux VPSにリモートデスクトップ環境を用意する手順を読んでください。市販ソフトをVPSに載せる前の確認の流れはそのアプリがVPSで本当に動くかを先に確かめる手順にまとめてあります。

Windowsの分で何が変わるのか

ライセンス以外にもう1つ、知っておくと安いプランを誤解しなくなる事実があります。Windows Serverのリモートデスクトップは、既定で管理用の2セッションまでです。それ以上を同時に使うにはRDS(リモートデスクトップサービス)のライセンスが別に必要です。接続しようとして次のメッセージが出たら、これに当たっています。

The number of connections to this computer is limited and all connections are in use right now.

原因の多くは他人ではなく自分です。RDPのウィンドウを右上の×で閉じるとセッションは「切断」として残り続けるので、別の端末から入り直すと2つ目を消費します。ここは重要な副作用があって、覚えておく価値があります。×で閉じた場合はデスクトップが生きたままなので、MetaTraderもEAも動き続けます。スタートメニューから「サインアウト」を選ぶとデスクトップそのものが終わるので、端末は落ち、EAは止まります。24時間動かしたいなら、作業のあとはサインアウトしないでウィンドウを閉じて離れます。

OSの選択そのもので迷っているなら、判断材料はLinuxサーバとWindows Serverのどちらを選ぶかに整理してあります。MetaTraderの端末が要るかどうかで、ほぼ答えは決まります。

スペックはどう決めるか。数字ではなく測り方を書きます

出発点は単純です。取引口座1つにつき端末1つ。2社に口座があれば端末は2つ、同じ業者の口座を2つ使うならやはり2つです。同じPCで端末を複数動かすときは、インストール先を分けるか/portableオプションを付けて起動し、設定とヒストリーを混ぜないようにします。

"C:\Program Files\MetaTrader 5\terminal64.exe" /portable

メモリの消費は、開いているチャートの枚数、その時間足、読み込んだヒストリーの量、アタッチしたEAとインジケータで増えます。つまり構成ごとに違います。だから「EA1本あたり何MB」という数字はここには書きません。私たちは測っていないので、書けば嘘になります。代わりに、自分の端末を自分で測ってください。手元のWindowsでも同じ手順が使えます。

typeperf "\Process(terminal64)\Working Set - Private" "\Process(terminal64)\% Processor Time" -si 60 -sc 10080 -f CSV -o C:\mt5-usage.csv

-si 60は60秒ごとの取得、-sc 10080は取得回数なので、合わせてちょうど7日分になります。プロセス名は拡張子なしで指定します(MT4ならterminal)。同名のプロセスが複数動いているとterminal64#1のような名前になるので、まずtypeperf -qx Processで実際のインスタンス名を確認してください。

1週間回したCSVを見るときは、平均ではなくピークで買います。ピークが出るのは、経済指標の発表でティックが集中した瞬間、日をまたぐロールオーバーの前後、そして週明け最初のティックで全チャートが更新される時間です。平均で買うと、いちばん動いてほしい瞬間にスワップが始まります。

CPUはコア数よりも1コアの速さが効きます。そして共有環境では、あなたのCPU使用率が低いのに端末が固まることがあります。原因は同じ物理ホストの別の利用者で、Linux側なら数字として観測できます。仕組みはCPUスチールタイムと騒がしい隣人の見つけ方で説明しています。ディスクは見落としがちです。ヒストリーとログは放置すると増え続け、LogsとMQL5\Logsが埋まります。月に一度古いログを消す作業を予定に入れてください。

ホストが再起動したあと、端末は自分で戻ってくるか

24時間5日の運用でいちばん壊れるのはここです。そして原因は理屈で説明できます。MetaTraderの端末はGUIアプリなので、対話的にログオンしたデスクトップがないと取引できません。 タスクスケジューラで「コンピューターの起動時」に実行するよう登録しても、誰もログオンしていなければ画面のないセッションで起動することになり、タスクの状態は「実行中」なのに注文は1つも出ない、という状態になります。サービスとして登録する方法を探すより、デスクトップを自動で作るほうが正しい順番です。

手順は3つです。

  1. 自動ログオンを有効にする。SysinternalsのAutologonを使うとレジストリに直接パスワードを書かずに設定できます。autologon user domain passwordの形でコマンドラインからも設定でき、ローカルアカウントならdomainの位置にはコンピューター名を書きます。注意点も公式に書かれています。パスワードはLSAシークレットとして暗号化されますが、管理者権限を持つ人間は取り出して復号できます。つまりこの箱の管理者は、あなたのWindowsアカウントのパスワードを読めます。
  2. 端末のショートカットをshell:startup(エクスプローラのアドレス欄にそのまま入力すると開くスタートアップフォルダ)に置く。ログオンのたびに端末が起動します。
  3. 起動直後の状態を設定ファイルで固定する。ここを省くと、端末は上がっているのに自動売買が無効、という中途半端な復帰をします。
[Common]
Login=1234567
Password=your_account_password
Server=BrokerName-Live

[Experts]
Enabled=1
AllowLiveTrading=1
AllowDllImport=0

[StartUp]
Symbol=USDJPY
Period=M15
Expert=MyEA
ExpertParameters=myea.set
"C:\Program Files\MetaTrader 5\terminal64.exe" /config:C:\mt5\start.ini

このiniには口座のパスワードが平文で入ります。置き場所は管理者だけが読めるフォルダにして、バックアップに平文のまま流れていかないか確認してください。

確認の方法も決めておきます。shutdown /r /t 0で自分の手でホストを再起動し、数分待ってRDPで入り直します。端末が上がっていて、口座にログイン済みで、自動売買のボタンが有効になっていれば成功です。この再起動テストを一度もしていない構成は、動くかどうかまだ分かっていない構成です。 本番のポジションを持ったまま最初の再起動を迎えるのは避けてください。

死活監視も同じ考え方で足りない部分があります。外からTCP 3389に接続できることは、Windowsが上がっていることしか証明しません。端末が生きているかは別の話です。MT5ならEAのOnTimerからWebRequestで外部の監視サービスに定期的に打つ方法があり、その場合は「ツール」の「オプション」の「エキスパートアドバイザー」で、呼び出すURLを許可リストに追加する必要があります。追加を忘れるとリクエストは失敗し、監視側は「落ちている」と判断します。

週末のメンテナンス時間は、運用にとって何を意味するか

FX市場は週末に閉じるので、ホストの計画メンテナンスはその週末に入りやすく、これは基本的に好都合です。問題になるのは終わり方です。契約前にホストに3つ聞いてください。メンテナンスの告知は何日前に届くか。作業に再起動が含まれるか。告知の時刻はどのタイムゾーンで書かれるか。3つ目は実務的に大きくて、UTCやホストの現地時間で書かれた「日曜23時」は日本時間の月曜朝に当たることがあります。

市場が日本時間の月曜早朝に開くので、日曜深夜の作業が延びると、オープンの瞬間に端末が上がっていない可能性が残ります。持ち越したポジションがある戦略では、この時間帯は自分も見ていません。だから「月曜のオープン前にポジションをなくす」設計は、戦略の好みではなく、VPSの不確実性をまるごと回避する手段として機能します。持ち越すなら、再起動後に端末が復帰したことを人間が知る仕組みが必要です。上の再起動テストと監視は、そのための最低限です。

応答時間は、買うものではなく測るもの

ここにping値も業者のサーバ所在地も書きません。取引サーバの場所は業者ごとに違い、同じ業者でもサーバ名ごとに違うので、他人の数字はあなたの数字になりません。やることは決まっています。

  1. 業者に取引サーバの所在地を聞く。サポートのFAQに書いてあることもあります。
  2. 候補のホストを短い期間だけ契約し、その中からpingとtracertを打つ。ICMPを落とすサーバもあるので、返ってこないこと自体は異常とは言えません。
  3. MT5の右下にある接続インジケータをクリックする。その業者が用意している取引サーバごとの応答時間が一覧で出ます。VPSの中で見たこの値が、あなたが実際に使う値です。

順番が逆になっている相談をよく見ます。東京のVPSを契約したあとで、業者の取引サーバがヨーロッパにあると知る、という順番です。先に業者に聞けば、その契約は選ばずに済みます。そして応答時間は約定の速さの一部でしかありません。業者側の処理と注文の扱い方はVPSでは変えられません。

MetaTrader自身が貸している仮想サーバ

VPSを借りる以外の選択肢もあります。MetaTraderの端末から、MetaQuotesの仮想ホスティングを申し込めます。ナビゲーターウィンドウで口座を右クリックすると登録のメニューが出ます。これはVPSではありません。端末のコピーを常時動かす専用サービスで、チャートの構成とEA、シグナルの購読が移送されます。料金はMQL5.comのアカウントから支払い、金額は端末の画面に出るのでここには書きません。

向いているのは、EAを1本だけ動かしたい、OSの面倒を見たくない場合です。向いていないのは、同じ箱で他のソフトも動かしたい、好きなファイルを置きたい、選ぶサーバの場所を自分で決めたい場合です。選択肢として提示されるのは「最も近いサーバ」で、細かい指定はできません。

Linux VPSとWineで動かせるか

動いたという報告はあります。それでも勧めません。理由は技術ではなく支援の所在です。MetaTraderのWine上での動作は非公式なので、あなたの業者もMetaQuotesもその環境をサポートしません。約定がおかしいときに「Wineだからでは」という反論が最初に来て、切り分けが止まります。買ったEAをバイナリ(ex4やex5)で動かしているなら、Windowsを載せたVPSを借りるほうが安く済みます。

ただし、戦略があなた自身が書いたコードなら、話がひっくり返ります。その場合、最初からMetaTraderが要らないことが多いからです。業者がREST APIやWebSocket、FIXで注文を受けるなら、GUIを1つ捨てるだけでWindowsのライセンス代と、自動ログオンとデスクトップの世話がまとめて消えます。残るのはLinux VPSとあなたのプロセスだけで、systemdが再起動後の復帰を引き受けます。この形の作り方は自分で書いた取引botをVPSで動かすに分けて書いてあります。MT4のEAをWineで延命させる工数と、APIに書き直す工数を比べてください。多くの人は後者のほうが短く、そして運用が静かになります。

つまずくところと、そのとき出るもの

RDPで入れない。 上に挙げた接続数のメッセージが出ます。切断されたままのセッションが残っているので、ホストの管理画面のコンソールか別の管理者アカウントからサインアウトさせます。

端末は上がっているのに注文が出ない。 自動売買が無効です。iniのAllowLiveTradingが0か、iniを使わずに手で起動したためボタンが押されていない状態です。ツールバーのボタンの色と、エキスパートタブの記録を見ます。

再起動したら端末が見えない。 自動ログオンが効いていません。Windowsのパスワードを変更したあと、Autologonの設定を更新し忘れた場合も同じ症状になります。パスワードは検証されずに保存されるので、間違っていても設定時にはエラーが出ません。

ディスクが急に埋まる。 ヒストリーとログです。LogsとMQL5\Logsの古いファイルを消せば戻ります。ここが埋まると端末は保存に失敗し、静かに挙動が変わります。

FAQ

MT4やMT5を動かすのにWindowsは必須ですか

業者のサポートを受けられる形で動かすなら必須です。MetaTraderの端末はWindows用のGUIアプリケーションで、Linux上のWineで動かす構成は非公式で、業者もMetaQuotesもサポートしません。買ったEAを使うならWindowsのVPSを選んでください。戦略が自分のコードで、業者がAPIで注文を受けるなら、MetaTraderを使わずLinux VPSで完結できます。

VPSのメモリはどれくらい必要ですか

構成しだいなので、他人の数字は使えません。消費量は開いているチャートの枚数、時間足、読み込んだヒストリー、アタッチしたEAとインジケータで変わります。typeperfで自分の端末のWorking Set - Privateを60秒間隔で1週間記録し、平均ではなくピークを見て買ってください。ピークは指標発表時と週明け最初のティックに出ます。

SSD NodesでMT4やMT5を動かせますか

できません。SSD NodesはLinuxイメージのみを提供していて、Windowsイメージやデスクトップクラウドの商品はありません。MetaTraderの端末を置くならWindowsを売っているホストを使ってください。自分で書いたbotをLinuxで動かす場合は、SSD NodesのVPSがそのまま使えます。

VPSが再起動したあと、EAは自動で再開しますか

設定していなければ再開しません。端末はGUIアプリなので、ログオン済みのデスクトップがないと取引できず、タスクスケジューラの「起動時」実行では画面のないセッションになります。Sysinternals Autologonで自動ログオンを有効にし、ショートカットをshell:startupに置き、/config:で渡すiniにAllowLiveTrading=1を書きます。設定後はshutdown /r /t 0で自分から再起動して、復帰を目で確認してください。

取引サーバまでの応答時間はどうやって測りますか

まず業者に取引サーバの所在地を聞きます。次に候補のホストを短期間だけ契約し、その中からpingとtracertを打ちます。最後にMT5の右下の接続インジケータをクリックすると、その業者の取引サーバごとの応答時間が一覧で出ます。VPSの中で見たその値だけが、あなたに関係する値です。