MT5のPython連携を学ぶ順番|MetaTrader5パッケージでできること
MT5のデータをPythonで集計したり、分析の結果をEAの判断に使ったりしたい場合、MetaQuotesが公開しているPython用のMetaTrader5パッケージが使えます。ただ、いきなり発注まで書こうとすると、Python・MT5・口座の3つでつまずきます。この記事では、MQL5の公式リファレンスとPyPI(Pythonのパッケージの公開場所)の情報をもとに、パッケージでできることと、学ぶ順番を整理します。
(確認:MQL5 リファレンス「Python用MetaTrader」(日本語)、PyPI「MetaTrader5」のページとAPIの情報(2026年10月21日時点の最新版 5.0.6231、2026年9月27日公開)。この記事では、パッケージをMT5に接続する実行はしていません)
MetaTrader5パッケージとは(公式リファレンス)
- MetaTrader 5のターミナルから、プロセッサ間通信で直接データを受け取るためのパッケージ。受け取ったデータは、統計の計算や機械学習に使える、と説明されている
- インストールは
pip install MetaTrader5、更新はpip install --upgrade MetaTrader5 - PyPIで公開されている配布ファイルは、すべて
win_amd64(64ビットのWindows用)。対応するPythonは、3.6〜3.8と3.10〜3.14のファイルが並んでいる(3.9用は最新版には見当たらなかった)
プロセッサ間通信で、ターミナルから直接受け取る仕組みなので、同じWindowsのPCで、MT5のターミナルが動いていることが前提です。MacやLinuxのPythonから、そのまま使うものではありません。
できること(関数の分類)
| 分類 | 主な関数(公式リファレンスの一覧) | リスク |
|---|---|---|
| 接続 | initialize(ターミナルとの接続)、login(取引口座に接続)、shutdown、version、last_error | 低い |
| 口座・ターミナルの情報 | account_info、terminal_info | 低い |
| 銘柄の情報 | symbols_total、symbols_get、symbol_info、symbol_info_tick、symbol_select | 低い(symbol_selectは気配値表示を変える) |
| 足・ティックのデータ | copy_rates_from、copy_rates_from_pos、copy_rates_range、copy_ticks_from、copy_ticks_range | 低い |
| 注文・ポジション・履歴の読み取り | orders_total・orders_get、positions_total・positions_get、history_orders_get、history_deals_get | 低い |
| 証拠金・損益の計算、注文の確認 | order_calc_margin、order_calc_profit、order_check | 低い(計算と確認だけ) |
| 発注 | order_send | 高い(実際の注文になる) |
学ぶ順番(筆者の考え)
- Pythonの基本:変数・if・for・関数・リスト。MQL5との書き方の違いはMQL5とPythonで移動平均を書き比べるで見られる
- pandasで表を扱う:CSVを読み、集計する。MT5のデータを使わなくても練習できる(ZigZagのCSVをPythonで集計する)
- MetaTrader5パッケージで「読むだけ」:デモ口座のMT5を起動した状態で、initialize → symbol_info → copy_rates_range → shutdown。足のデータをpandasの表にする
- 口座・ポジションを読む:account_info、positions_get、history_deals_get で、取引の記録を集計する
- 発注は最後に、デモ口座で:order_check で注文の中身を確かめてから、order_send を試す。実際の口座では、小さなロットで動きを確かめた後に使う
1〜2は、MT5が無くても進められます。3以降は、MT5のターミナルを起動している同じPCで動かします。デモ口座の開き方はMT5でデモ口座を開く方法にまとめています。
スクールで学ぶなら
Pythonの基礎(1〜2)は、スクールの講座でも学べます。教育訓練給付金の検索システムで調べた範囲では、Winスクールには「Python&AIデータサイエンティスト」「Pythonデータアナリスト+ライセンス」の2講座が一般教育訓練の対象として載っていました(教育訓練給付の対象講座を探す)。MT5との連携(3以降)はスクールの講座の範囲外と考えて、公式リファレンスで進めることになります。独学とスクールの分かれ目はMQL5を学ぶ順番にまとめています。
MQL5で書くか、Pythonで書くか
| やりたいこと | 向いている方 |
|---|---|
| チャートの上で、ティックごとに判断して発注する(EA) | MQL5(MT5の中で動く) |
| 過去のデータを集計・分析する、グラフにする | Python(pandasなどのライブラリ) |
| 機械学習のモデルを使う | Python(公式リファレンスも、機械学習への利用を挙げている) |
| VPSで24時間動かす | MQL5(PythonはWindowsのPCとターミナルの両方を動かし続ける必要がある) |
この記事で確かめていないこと
- パッケージを実際にMT5に接続した時の動き(筆者のMT5では実行していません)
- Python 3.14でのMT5との組み合わせの動作(配布ファイルがあることだけを確認)
- VPSでPythonとMT5を同時に動かす時のメモリの使い方
まとめ
- MetaTrader5パッケージは、同じWindowsのPCで動くMT5のターミナルから、プロセッサ間通信でデータを受け取るもの。配布はWindows 64ビット用
- 関数は、接続・情報・データ・読み取り・計算と、発注(order_send)に分かれる。読むだけの関数から始める
- Pythonの基本 → pandas → 読むだけ → 口座の読み取り → デモ口座で発注、の順に進める
本記事は学び方の整理です。発注を伴うプログラムは、デモ口座で十分に確かめてから使ってください。


