【コラム】MT5×Python #1 — 役割分担と接続の確認¶
こんにちは、FXおもしろラボ管理人です。
この記事は MT5 × Python 連載の入口です。最後まで読むと「Python と MT5 をどう分けて考えるか」と「とりあえず接続できたか」を確認できます。出口は #8 で「自動化の限界」と別媒体でのまとめ、途中の山場として #7 で大量パラメータ試行(最適化 XML → Python)があります。全体の地図は 連載マップ をどうぞ。
この記事の3行まとめ
- 公式の
MetaTrader5は、ターミナルと連携してヒストリカル取得などができる(テスター起動 API はない) - Windows で 仮想環境を作り、
pip install MetaTrader5まで進める test_mt5.pyで USDJPY 等の足が取れれば、接続は成功
正直なところ¶
プロフィールにも書いた通り、管理人の Python はまだまだです。コードを美しく書けるほどではありません。
検証の記録を公開する以上、嘘をつかないのがこのサイトのスタンスです。
- MT5 のストラテジーテスターで「EA の挙動に近い検証」をしたい → MT5 側が主役
- チャートを CSV にしたり、表計算やグラフで眺めたい → Python 側が得意
「Python さえあればテスターを無限に回せる」——そうはいきません。公式パッケージに テスターを外から起動する API は載っていない、というのが最初の落とし穴です。だからこの連載では、MT5 で試す → 結果を Python が拾うという筋を大事にします。
1. なぜ役割を分けるのか¶
ざっくり表にするとこうです。
| やりたいこと | だいたいどちら |
|---|---|
| ヒストリカル足の取得、口座情報の読み取り | Python(公式 MetaTrader5) |
| ストラテジーテスターでのバックテスト、最適化 | MT5 の GUI(手動操作) |
| テスターをスクリプトだけで何万回も起動 | 公式では想定外(#8 で触れる) |
検証が好きな人ほど、「全部 Python で自動化したい」病になりがちです。
でも 公式の線引きを知らないと、期待だけが先に走ります。
本サイトでは MT5 のテスター/最適化を「正」に近いところに置き、Python は 集計・レポート・後処理に寄せていきます。全体の整理は 連載マップ と #6 もあわせて参照してください。
2. 仮想環境を作る(Windows 想定)¶
グローバルに pip install しすぎると、いつか地獄を見ます。作業フォルダで 仮想環境(venv) を切りましょう。
以降の連載では、各記事の ダウンロードボタン からスクリプトを取得し、以下のようなフォルダ構成で手元に置く前提で進めます。
作業フォルダ/ ← ここが「プロジェクトのルート」
├── .venv/ ← 仮想環境(この記事で作成)
└── scripts/
└── research/
└── test_mt5.py ← ↓のボタンでダウンロード
ダウンロードしたファイルを scripts\research\ フォルダに配置してください。プロジェクトのルートで:
3. test_mt5.py で「つながったか」を見る¶
MT5 ターミナルは起動したままにしておいてください。ログインできる口座が開いている状態が前提です。
バー本数や時刻、スクリプト内で出している指標などが表示されれば、まずは 接続成功です。

ちょい足しの心得
- 時刻は UTC で出ることが多いです。日本時間に直すなら、自分で +9 時間するなどの変換が必要になります。
- 週末はヒストリカルが取れない・薄い、など 市場の休みの影響を受けます。うまくいかないときは「土日か?」を疑ってください。
4. 手順の検証チェックリスト(#1 まで)
記事どおりに進めたあと、次を満たせていれば #2 に進めます。
- スクリプト配置 — 上記のダウンロードボタンから
test_mt5.pyを取得し、scripts\research\に配置している。コマンドプロンプトの カレントディレクトリがscriptsフォルダの親(プロジェクトのルート)になっている - Python —
python --versionが通る(3.8 以上を推奨) - venv —
.venv\Scripts\activateのあと、プロンプトに(.venv)が付く - パッケージ — 仮想環境内で
pip install MetaTrader5済み - MT5 — ターミナル起動・口座ログイン済み(ヒストリカル取得に必要なら Market Watch に対象銘柄)
- 接続確認 — ルートで
python scripts\research\test_mt5.pyを実行し、エラー終了せずヒストリカル等の表示がある
ここで詰まるときは、いまのフォルダがルートか(dir scripts で research が見えるか)、MT5 が起動しているかを先に確認してください。#2 以降では pandas / matplotlib など、回ごとに追加入力があります(各記事の冒頭・本文を参照)。
次回予告¶
#2 では、取得した足を pandas の DataFrame に載せ、CSV と matplotlib の PNG まで一気に出す流れ(mt5_rates_to_dataframe.py)に進みます。
免責の一文¶
本記事は 検証・学習用の技術メモであり、投資助言ではありません。FX には損失リスクがあります。最終判断はご自身の責任でお願いします。