結論:MT4の時間は日本時間ではない
MT4は日本時間ではなく、FX業者のサーバー時間(GMT+2 / GMT+3)を基準に動作しています。
そのため、日本時間と常に6〜7時間のズレが発生します。
MT4(MetaTrader 4)では、チャートやEAの動作に使われる時間が日本時間ではありません。
とくにFX初心者やEA作成中の方は、「MT4の7時=日本時間で何時?」という疑問にぶつかりがちです。
ただし、インジケータを使えば日本時間でそのまま表示することは可能です。
MT4の時間(MT4時間)とは、FX業者のサーバー時間(主にGMT+2)を基準にした時刻で、日本時間とは夏時間・冬時間によって6〜7時間のズレが生じます。
この記事では、以下をわかりやすく解説します。
- MT4時間と日本時間のズレ(夏時間・冬時間)
- 仲値や経済指標の時刻の扱い
- EAでの時間設定時の注意点
⏰ MT4の時間がずれる原因は?(GMT・サーバー時間の仕組み)
GMTとは?MT4時間との関係
GMT(グリニッジ標準時)は世界の基準時刻です。
多くのMT4業者はGMT+2(冬)・GMT+3(夏)を採用しています。
そのため、日本時間(GMT+9)との差は 冬:+7時間 夏:+6時間 となります。
つまり、MT4の時間は日本時間ではなく、業者が採用しているGMT基準のサーバー時間で固定されています。
MT4時間と日本時間の早見表(夏時間・冬時間)
代表的なMT4時間を日本時間に換算すると、以下のようになります。ここでは、MT4の0:00が日本時間で夏時間6:00/冬時間7:00になる業者サーバー時間を前提にしています。
| MT4時間 | 日本時間(夏時間) | 日本時間(冬時間) |
|---|---|---|
| 0:00 | 6:00 | 7:00 |
| 1:00 | 7:00 | 8:00 |
| 2:00 | 8:00 | 9:00 |
| 3:00 | 9:00 | 10:00 |
| 9:00 | 15:00 | 16:00 |
| 15:30 | 21:30 | 22:30 |
⚙ EAはMT4時間基準で動作する
MT4は業者のサーバー時刻(冬GMT+2/夏GMT+3が多い)で管理されており、EAの内部処理もこれに従います。
そのため、日本時間で条件を指定する場合は、必ず時差(夏+6時間/冬+7時間)を考慮しましょう。
実際にEAで「特定の時間帯だけ処理したい」「曜日ごとに動作を分けたい」場合は、 TimeCurrent() や iTime() を使った時間判定処理が必要になります。
▶ 【MQL4】TimeCurrent・iTimeで時間・曜日を判定するEA処理まとめ
MT4の時間は日本時間に変更できる?
MT4の表示時間(サーバー時間)そのものを日本時間に変更することはできません。 MT4は業者サーバーの時間で固定されています。
日本時間で扱いたい場合は、表示インジケータを使うか、 MT4時間→日本時間の変換(EA内部で時差計算)を行う必要があります。
🔍 実例で確認:MT4時間→日本時間の変換
以下は、実際に内部計算し正しい日本時間に(夏時間・冬時間も考慮し)変換した一例です。
☀ 夏時間の例

- MT4で「1時にエントリー→10時に決済」
→ 日本時間では「朝7時にエントリー→16時に決済」
❄ 冬時間の例

- 同じ処理でも、日本時間では「朝8時にエントリー→17時に決済」になる
📌 EAの検証やバックテスト時に時間のズレを誤解すると、意図しない結果に繋がるので要注意!
なお、理論だけでなく 実際のチャート上で「日本時間」を常に確認したい場合は、 以下の日本時間表示インジケータが便利です。
▶ MT4で日本時間を表示するインジケータ|カーソル位置の時間も確認できる
📘 EA設計で時間ズレを考慮する方法
EAはMT4サーバー時間を基準に動作します。 そのため、日本時間ベースのイベントを扱う場合は、時差を考慮した条件分岐が必要になります。
| イベント | 日本時間ベース? | MT4時間調整必要? |
|---|---|---|
| 仲値 | ✅ 必要 | ✅ 必要 |
| 雇用統計 | ❌(米国基準) | ❌ 不要 |
日本時間イベントをEAで扱う際の注意点
✅ 仲値(午前9時55分)
- 日本時間ベースのイベント
→ MT4では夏/冬で時差がズレるため、調整が必要- 夏時間:MT4時間 3:55
- 冬時間:MT4時間 2:55
この記事では、MT4の0:00が日本時間で夏6:00/冬7:00になる前提で計算しています。業者によってサーバー時間の採用ルールが異なる場合は、利用中のMT4で実際の表示時刻を確認してください。
EAで「日本時間9:55」に処理したい場合は、 MT4サーバー時間へ変換した数値で条件分岐を行う必要があります。 単純にHour()==9では一致しません。
✅ 雇用統計(NFPなど)
- アメリカ現地時間ベースで動くため
→ 多くのGMT+2/GMT+3系サーバーではMT4時間15:30前後になりやすい
❓ MT4時間に関するよくある質問【仕組み理解Q&A】
MT4の時間のズレや夏時間の仕組みについて、よくある疑問をQ&A形式でまとめました。
EA設計やバックテスト時に重要となるポイントも簡潔に解説しています。
MT4の表示時間(サーバー時間)そのものを日本時間に変更することはできません。
MT4はFX業者のサーバー時間(多くはGMT+2 / GMT+3)で固定されています。
日本時間で扱いたい場合は、表示インジケータを使うか、EA内部で時差計算を行う必要があります。
MT4の時間はサーバーが採用している夏時間(DST)に連動します。
一般的には3月頃にGMT+3へ、11月頃にGMT+2へ切り替わります。
正確な切替日は年によって異なるため、利用中のFX業者の仕様を確認することが重要です。
EAはMT4サーバー時間を基準に動作します。
日本時間で条件を設定する場合は、TimeCurrent() や iTime() で取得した時間に対して、夏時間・冬時間を考慮した時差加算処理を実装する必要があります。
単純にHour()==9と記述しても、日本時間9時とは一致しないため注意が必要です。
MT4は日本時間ではなく、FX業者のサーバー時間で表示されるためです。
多くの業者ではGMT+2 / GMT+3が使われ、日本時間とは夏時間で6時間、冬時間で7時間の差が出ます。
不具合ではなく仕様なので、EAの時間指定やバックテストではサーバー時間を基準に確認しましょう。
📝 まとめ:MT4時間=サーバー時間という前提を理解する
以上、『MT4時間と日本時間の違い』について解説しました。
- MT4と日本時間のズレを理解すると、トレード戦略の再現性が大幅にUP
- 仲値や経済指標など、イベントごとの違いにも注意
- EA作成や運用の際には、「夏時間 or 冬時間」チェックを忘れずに
時間の基準を正しく理解していないと、 バックテストの再現性やEAの稼働時間にズレが生じます。
MT4時間=サーバー時間という前提を理解することが、 EA設計の基礎となります。
🔗 おすすめ関連記事
▶ 夏時間・冬時間を判断するMQL4関数はこちら
▶ 雇用統計を自動判別するMQL4関数はこちら
▶ MT4&EA設定ガイド|自動売買スタート手順





コメント