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 高い(実際の注文になる)

学ぶ順番(筆者の考え)

  1. Pythonの基本:変数・if・for・関数・リスト。MQL5との書き方の違いはMQL5とPythonで移動平均を書き比べるで見られる
  2. pandasで表を扱う:CSVを読み、集計する。MT5のデータを使わなくても練習できる(ZigZagのCSVをPythonで集計する)
  3. MetaTrader5パッケージで「読むだけ」:デモ口座のMT5を起動した状態で、initialize → symbol_info → copy_rates_range → shutdown。足のデータをpandasの表にする
  4. 口座・ポジションを読む:account_info、positions_get、history_deals_get で、取引の記録を集計する
  5. 発注は最後に、デモ口座で: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 → 読むだけ → 口座の読み取り → デモ口座で発注、の順に進める

本記事は学び方の整理です。発注を伴うプログラムは、デモ口座で十分に確かめてから使ってください。