ホーム » MT5の使い方 » MT5 APIで価格データ取得|AIでチャート作成・CSV出力を自動化

MT5 APIで価格データ取得|AIでチャート作成・CSV出力を自動化


MT5 x API x AI シリーズ #2|価格取得編

この記事のゴール

この記事を終えると、以下のことができるようになります:

  • 任意の通貨ペアやCFDのリアルタイム価格をAIへの指示だけで取得できる
  • 過去のローソク足データ(任意のタイムフレーム)を取得できる
  • 取得したデータをチャートとして可視化できる

前回の環境構築編で整えた環境をそのまま使います。読者の方が行うのは、Claude Codeに日本語で指示を出すことだけです。


 

リアルタイム価格を取得する

まずは最もシンプルな操作から始めましょう。MT5に接続して、現在の価格を取得します。

1つの通貨ペアの価格を取得する

Claude Code — MT5_Project
M
MT5に接続して、ドル円(USDJPY)の現在のBid価格とAsk価格を取得して表示して。
MT5に接続してドル円の価格を取得します。
python get_price.py
Bid: 162.703
Ask: 162.707
ドル円の現在の価格を取得しました。
  • Bid(売値): 162.703
  • Ask(買値): 162.707
  • スプレッド: 0.4銭(0.004円)
✓ 価格の取得が完了しました。
Reply to Claude…

Bid価格とAsk価格とは?

Bid(ビッド)は売値、Ask(アスク)は買値です。BidとAskの差がスプレッドと呼ばれる取引コストになります。

複数の通貨ペアを一覧で取得する

1つだけでなく、複数の銘柄をまとめて取得することもできます。

Claude Code — MT5_Project
M
MT5からドル円、ユーロドル、ポンドドル、ユーロ円、ゴールド(XAUUSD)の現在価格をまとめて取得して、一覧表で表示して。スプレッドも計算して。
5銘柄の価格をまとめて取得します。
python multi_price.py
銘柄 Bid Ask Spread
USDJPY 162.703 162.707 0.4銭
EURUSD 1.13933 1.13938 0.5pips
GBPUSD 1.32313 1.32322 0.9pips
EURJPY 185.377 185.384 0.7銭
XAUUSD 3968.84 3969.42 $0.58
✓ 5銘柄の価格を取得しました。
Reply to Claude…

指示に「ゴールド」を含めたように、FXだけでなくCFD銘柄の価格も同じ方法で取得できます。MT5で提供されている銘柄であれば、株価指数や原油なども取得可能です。


 

過去のローソク足データを取得する

リアルタイム価格だけでなく、過去の価格データ(ローソク足)を取得することもできます。テクニカル分析バックテストに必要なデータです。

基本的な取得

Claude Code — MT5_Project
M
MT5からドル円の直近60本の日足データを取得して、表形式で表示して。
ドル円の日足データを取得します。
get_daily.pyPython
import MetaTrader5 as mt5
from datetime import datetime

mt5.initialize()
rates = mt5.copy_rates_from_pos("USDJPY", mt5.TIMEFRAME_D1, 0, 60)
for r in rates:
    t = datetime.fromtimestamp(r[0]).strftime("%Y-%m-%d")
    print(f"{t}  O:{r[1]:.3f}  H:{r[2]:.3f}  L:{r[3]:.3f}  C:{r[4]:.3f}")
mt5.shutdown()
python get_daily.py

2026-06-25 O:161.737 H:161.948 L:161.557 C:161.772
2026-06-26 O:161.771 H:161.846 L:161.527 C:161.710
2026-06-29 O:161.711 H:161.979 L:161.697 C:161.931
2026-06-30 O:161.931 H:162.670 L:161.839 C:162.515
2026-07-01 O:162.515 H:162.838 L:162.468 C:162.703
✓ 直近60本の日足データを取得しました。
Reply to Claude…

ローソク足データの中身

取得されるデータには、各足ごとに以下の情報が含まれています:

日時(time) — そのローソク足の開始時刻

始値(open) — その時間帯の最初の価格

高値(high) — その時間帯の最も高い価格

安値(low) — その時間帯の最も低い価格

終値(close) — その時間帯の最後の価格

出来高(tick_volume) — その時間帯のティック数

タイムフレームを変えてみる

日足だけでなく、さまざまなタイムフレームのデータを取得できます。指示の書き方を変えるだけでClaude Codeが自動的に対応します。

指示の書き方 タイムフレーム
「1分足」M1
「5分足」M5
「15分足」M15
「30分足」M30
「1時間足」H1
「4時間足」H4
「日足」D1
「週足」W1
「月足」MN1

たとえば「ドル円の直近100本の1時間足を取得して」「5分足で表示して」など、タイムフレームの部分を変えるだけです。また、「2025年1月1日から6月30日までの日足データを取得して」のように、期間を指定して取得することもできます。


 

データをチャートにしてみる

数値データだけでは相場の動きがイメージしにくいかもしれません。取得したデータをチャートとして可視化してみましょう。

ローソク足チャートを描画する

ローソク足チャートに移動平均線と出来高を加えたチャートも、1回の指示で作れます。

Claude Code — MT5_Project
M
ドル円の直近60本の日足データを取得して、ローソク足チャートを描画して。20日移動平均線(青)と50日移動平均線(赤)を追加して、下に出来高も表示して。画像として保存して。
MT5からデータを取得してチャートを生成します。必要なライブラリ(mplfinance)も自動でインストールします。
python draw_chart.py
Chart saved: usdjpy_daily_chart.png
USDJPY日足ローソク足チャート(移動平均線+出来高付き)
✓ ドル円のローソク足チャートを生成しました。MA(20)を青、MA(50)を赤で表示し、下段に出来高を追加しています。
Reply to Claude…

「移動平均線を青と赤で」「出来高も表示して」といった細かい指定も、日本語で伝えるだけで反映されます。もちろん、「さっきのチャートに〇〇を追加して」と段階的に指示することもできます。


 

複数銘柄のデータを比較する

MT5 APIでは複数の銘柄のデータを同時に取得できます。これを使って、銘柄間の比較チャートを作ってみましょう。

Claude Code — MT5_Project
M
ドル円、ゴールド(XAUUSD)、日経225(JP225)の直近30日間の日足終値を取得して、3銘柄の値動きを比較できるチャートを作って。値のスケールが違うので、それぞれ変化率(%)で表示して。
3銘柄の日足データを取得し、変化率で比較するチャートを生成します。
python compare_chart.py
Chart saved: multi_compare.png
ドル円・ゴールド・日経225の30日間変化率比較チャート
✓ 3銘柄の30日間パフォーマンス比較チャートを生成しました。
Reply to Claude…

指示のポイント

「値のスケールが違うので変化率で表示して」のように、データの特性を踏まえた指示を出すと、AIはより適切な可視化を行ってくれます。こうした工夫を加えられるようになると、活用の幅がさらに広がります。


 

データをファイルに保存する

取得したデータは、Excelやスプレッドシートで使えるCSV形式で保存することもできます。

Claude Code — MT5_Project
M
ドル円の直近1年分の日足データを取得して、CSVファイルとして保存して。
MT5から1年分の日足データを取得してCSVに保存します。
python save_csv.py
Saved: usdjpy_daily_2025-2026.csv
260 rows × 6 columns (time, open, high, low, close, volume)

Preview (first 3 rows):
time,open,high,low,close,volume
2025-07-01,161.234,161.567,160.987,161.345,85432
2025-07-02,161.345,161.890,161.123,161.678,92105
✓ 1年分(260本)の日足データをCSVファイルに保存しました。
Reply to Claude…

保存されたCSVファイルは、Excelで開いたり、Google スプレッドシートにインポートしたりして、自由に分析することができます。


 

この記事で使った指示のまとめ

今回Claude Codeに出した指示を振り返ります。すべて日本語の自然な文章だけで、コードは一行も書いていません。

やったこと 指示の例
1銘柄の価格取得「ドル円の現在のBidとAskを取得して」
複数銘柄の一覧取得「5銘柄の価格をまとめて一覧表で表示して」
ローソク足データ取得「直近100本の1時間足データを取得して」
タイムフレーム変更「日足で」「5分足で」
期間指定「2025年1月1日から6月30日まで」
チャート描画「ローソク足チャートを描画して」
インジケーター追加「20日と50日の移動平均線を追加して」
銘柄比較「ドル円とゴールドの値動きを比較して」
ファイル保存「CSVファイルとして保存して」

 

まとめ

この記事では、Claude Codeへの日本語指示だけで以下のことを行いました:

  1. リアルタイム価格の取得(単一銘柄・複数銘柄)
  2. 過去のローソク足データの取得(タイムフレーム・期間の指定)
  3. データのチャート可視化(ローソク足・移動平均線・出来高)
  4. 複数銘柄の比較チャート作成
  5. データのCSVファイル保存

コードを一行も書かずに、MT5のAPIからデータを自在に取得し、分析に使える状態にすることができました。

次回の「自動売買EA編」では、いよいよ取引ロジックを組み立てます。「こういう条件で買い、こういう条件で売る」というルールをAIに伝えて、自動売買の仕組みを構築する方法を解説します。


 

シリーズ記事一覧

#0 概要編
MT5 × API × AI — シリーズ概要

シリーズの全体像と、AIコーディングツールでMT5を操作するアプローチの紹介

#1 環境構築編
MT5 × AI環境を30分で構築する

Python・Claude Codeのインストールから、MT5との接続確認まで

#3 自動売買EA編
AIに自動売買を書かせて検証から実行まで

バックテスト・最適化・デモ口座実行をAIに任せる

 
本ホームページに掲載されている事項は、投資判断の参考となる情報の提供を目的としたものであり、投資の勧誘を目的としたものではありません。投資方針、投資タイミング等は、ご自身の責任において判断してください。本サービスの情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねますのでご了承ください。また、当社は、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。なお、当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。

この記事をシェアする