Smart Data Export Indicator は、チャートのデータを、選んだ列だけで CSV または JSON Lines のファイルに書き出す、MetaTrader 5 用の無料のインジケータです。すべての列を説明するデータカードも一緒に書き出します。ChatGPT や Claude などの AI アシスタント、表計算ソフト、Python でチャートを分析する方に向けたものです。Smart Data Export Indicator MT4 は無料の MetaTrader 4 版で、違う点は下に記しています。どちらも、当方の無料の SmartDataExportEa の後継です。対象はバージョン 1.00 です。
書き出すもの
- データのファイル(CSV または JSON Lines):確定した足一本につき一行、古い順。新しい足は確定するたびに追加されます。
- データカード(.md):単位、ウォームアップの行、タイムゾーン、データの品質に加えて、AI アシスタント向けのプロンプト。
- AI スナップショット(.md、MT5 のみ):直近の足を、チャットに貼るための表にしたもの。
- 約定の履歴(任意):この口座の約定(MT5)または決済済みの注文(MT4)。
上位足の値は、すでに確定していた足からだけ取ります(先読みなし)。インジケータは注文を出さず、DLL も Web リクエストも使わないため、お使いのエキスパートアドバイザと同じチャートで使えます。
インストール
- 商品ページ(MT5 版または MT4 版)で Free Download(無料ダウンロード)をクリックすると、MetaTrader が開きます。MetaTrader の ツールボックス > マーケット から探すこともできます。インストールした商品は ツールボックス > マーケット > 購入済み に一覧され、更新もそこに表示されます(「更新」)。
- ナビゲータ > Indicators > Market からインジケータをチャートにドラッグします。既定値のままで動くので、そのまま「OK」をクリックするだけでかまいません。
書き出しの手順
- その銘柄のチャートを開きます。 Timeframe of the rows を設定しない限り、行はチャートの時間足になります。
- インジケータをセットし、 Range (既定は直近の確定した 5000 本)、列、指標(たとえば RSI(14); EMA(50); ATR(14) )を選んで、「OK」をクリックします。
- パネルの状態を見ます:何を待っているか、次に Exporting history... 、そして History done - appending new bars as they close と表示されます( After the history を停止に設定した場合は Export finished )。

状態は、完了すると緑、処理中や待機中はオレンジ、エラーの後は赤で表示されます。不明な指標名などの警告は、! の後にオレンジで表示され、「エキスパート」タブにも出力されます。Export again は、履歴を読み直してすべてのファイルを書き直します。
ファイルの保存先と中身
ファイルは MQL5\Files\SmartDataExport (MT4: MQL4\Files\SmartDataExport 。ファイル > データフォルダを開く で開けます)に、共通フォルダの入力項目を使うと Terminal\Common\Files\SmartDataExport に書き出されます。ストラテジーテスターでは、テスターのエージェントのフォルダ(MT4: tester\files )に書き出され、AI スナップショットは作られません。
書き出しを始めるたびに(セットしたとき、入力項目を変えたとき、MetaTrader を再起動したとき、Export again)、データのファイルを履歴から書き直します。その後は行が追加されるだけです。古いファイルを残したいときは、コピーするか、ファイル名に {date} を加えてください。

データのファイル。たとえば XAUUSD_M15.csv (または .jsonl )。各行は、サーバー時刻での足の始まりの時刻から始まります。CSV ファイルにはヘッダーの行があり、小数点にはピリオドを使います。欠けた値は空欄です(JSON Lines では null)。続いて次の列が並びます:
- open, high, low, close, tick_volume 、 real_volume (MT5。業者が提供している場合)、 spread_pts 。
- ポイントで: ret_pts (終値 - 始値)、 range_pts, body_pts, upper_wick_pts, lower_wick_pts 、 gap_pts (始値 - 前の足の終値)。そして log_ret = ln(終値 / 前の足の終値)。
- time_utc (オフセットを週ごとに検出するため、夏時間にも対応)、 dow_utc (1 = 月曜日)、 hour_utc 、 session :tokyo(9–18 JST)、london(ロンドン時間 8–17)、newyork(ニューヨーク時間 8–17)。重なる時間は + でつなぎ、どれにも当たらなければ off。
- 設定にちなんだ名前の指標。たとえば rsi_14 や macd_signal_12_26_9 。カスタムのバッファは custom_<name>_<buffer> 。
- h4_open から d1_close まで(既定の時間足):その行の足が閉じた時点までに確定していた、直近の H4 と D1 の足。

データカード: XAUUSD_M15.datacard.md 。履歴の書き出しが終わったときに書かれます。内容は、データセット、銘柄の仕様、タイムゾーン、単位・意味・ウォームアップの行を付けたすべての列、品質のレポート(途切れ、抜け、時刻の重複、値幅がゼロの足、値幅の急な跳ね、MT5 ではスプレッドの跳ね)、コピーして使うプロンプトです。MT4 のカードには警告の一覧もあります。
約定の履歴: deals_last_365d.csv (MT5)には銘柄・種類・数量・価格・損益・手数料・スワップ・マジックナンバー・理由が、 closed_orders.csv (MT4)には時刻・価格・損益・手数料・スワップ・マジックナンバー・損切りが入ります。
AI アシスタントや表計算ソフトでの使い方
- 履歴についての質問。データのファイルとデータカードをチャットに添付し、カードの最後にあるプロンプトをコピーして、その最後の行に質問を書きます。プロンプトは、各行をその足が閉じた時点でしかわからない情報として扱うこと、ウォームアップの行を除くこと、データを時間で分けること、信頼区間を示すことをアシスタントに求めます。
- 現在の相場(MT5)。XAUUSD_M15.snapshot.md を貼り付けます:直近の確定した 120 本(最大 500 本)の足を、UTC 時刻、bid と ask、最大 8 列の指標、プロンプトの案とともに収めたものです。インジケータが追記している間は、新しい足のたびに書き直されます。
- アシスタントが見るのは、渡した行だけです。その結果はシグナルではなく、確かめるべきアイデアとして扱ってください。
- Excel と Python は、行が追加されている間もファイルを読めます。Excel 用の UTF-8 BOM のオプションと、セミコロン区切りの形式があります。ほかのプログラムがファイルをロックしている間、新しい行はファイルが空くまで待ちます。
- ウォームアップの行はデータカードに記載されます。MT5 ではそれらの行の指標の値は少ない履歴から計算されたもので、MT4 では空欄になります。

入力項目
名前は「インプット」タブに表示されるラベルです。
| 入力項目 | 既定値 | 内容 |
|---|---|---|
| Timeframe of the rows | current | current = チャートの時間足。 |
| Range | Last N closed bars | または Date range (From / To) か All available history 。 |
| Last N closed bars (Range = last N bars) | 5000 | 書き出す足の本数。 |
| From (Range = date range) | 2024.01.01 00:00 | 日付の範囲の始まり。 |
| To (0 = up to the last closed bar) | 0 | 日付の範囲の終わり。 |
| After the history | Keep appending each new closed bar | または Stop after the history export 。 |
| Open, High, Low, Close | true | 価格の列。 |
| Tick volume (and real volume if the broker provides it) | true | 出来高の列。 |
| Spread of the bar (points) | true | スプレッドの列。 |
| Bar shape: return, range, body, wicks, gap, log return | true | 足の形の列。 |
| Time features: UTC time, weekday, hour, session | true | 時刻の列。 |
| Indicators, separated by ; | RSI(14); EMA(20); EMA(50); ATR(14); MACD(12,26,9); BB(20,2) | 下を参照。空欄 = なし。 |
| Custom indicators: Name:buffer,buffer; Name2:0 | (空欄) | ご自身のインジケータ。 |
| Higher-timeframe context (last CLOSED bar), separated by ; | H4; D1 | 行の時間足より上でない時間足は飛ばします。 |
| File name ({symbol} {tf} {date}) | {symbol}_{tf} | {date} = 開始時のサーバーの日付。 |
| Format | CSV, comma separated | または CSV, semicolon separated か JSON Lines (one object per row) 。 |
| Time format of the 'time' column | ISO 8601 (2026-10-09T15:30:00) | または Unix seconds か MetaTrader (2026.10.09 15:30) 。 |
| Save in the common folder (Terminal\Common\Files) | false | 共通フォルダ。 |
| Write the data card (.md) | true | データカード。 |
| AI snapshot: last N rows as a paste-ready .md (0 = off) | 120 | MT5 のみ。最大 500。 |
| Add a UTF-8 BOM (for Excel) | false | Excel 用。 |
| Price decimals (-1 = symbol digits) | -1 | 価格の小数点以下の桁数。 |
| Also export this account's deals (closed trades) | false | 約定のファイル。 |
| Deals of the last N days | 365 | MT5 のみ。 |
| Server GMT offset in hours (-99 = detect automatically) | -99 | 検出したオフセットが間違っているときだけ設定します。 |
| Show the status panel | true | パネル。 |
| Panel X (pixels) | 12 | MT5 のみ。 |
| Panel Y (pixels) | 28 | MT5 のみ。 |
MT4 では、列のスイッチは Columns: open, high, low, close 、 Columns: tick volume 、 Columns: spread (only rows appended live; MT4 bars have no spread) 、 Columns: return, range, body, wicks, gap, log return 、 Columns: UTC time, weekday, hour, session で、約定のスイッチは Also export this account's closed orders です。
指標の名前:SMA、EMA、SMMA、LWMA、DEMA、TEMA、RSI、ATR、MACD、BB、STOCH、ADX、CCI、MFI、WPR、MOM、STDDEV、OBV、AO、SAR、ICHIMOKU(後の足を使う遅行スパン(Chikou)は除きます)。かっこを付けなければ既定値を使います。たとえば RSI(14) や MACD(12,26,9)。 MyIndicator:0,1 は、カスタムインジケータのバッファ 0 と 1 を、そのインジケータの既定の入力値で書き出します。名前は MQL5\Indicators からの相対パスです(MT4:MQL4\Indicators)。不明な名前は警告を出して飛ばします。
MT4 についての補足
- パネルは数行のテキストと Export again ボタンです。
- AI スナップショット、実出来高(real volume)、DEMA・TEMA はありません。MT4 は足ごとのスプレッドを保存しないため、履歴の行では spread_pts が空欄になります。ライブで追加される行には、その時点のスプレッドが入ります。
- 行と同じ時間足の上位足は何も知らせずに飛ばし、それより下の時間足は警告を出して飛ばします。上位足の足は業者自身の区切りに従います。H4 の足を 01:00 に始める業者もあります。
- 初回は、H1(タイムゾーンのため)と上位足を業者からダウンロードします。インジケータはそれぞれ最大で約一分待ちます( Waiting for higher-timeframe history... )。上位足が届かなければ、そのセルは空欄のままです。H1 がなければ、タイムゾーンは GMT+2(米国の夏時間は GMT+3)になります。データカードにはその旨が書かれます。
- 新しく開いたチャートには、足が約 2,000 本しかないことがよくあります。過去へスクロールするか Home キーを押してさらに読み込み、Export again をクリックしてください。「ヒストリー内の最大バー数」と「チャートの最大バー数」(ツール > オプション > チャート)も、さかのぼれる深さを制限します。
- 決済済みの注文は、「口座履歴」タブに表示されているものです。古い注文も含めるには、そのタブの期間を変えてください。

よくいただく質問
- 指定したより行が少ないのはなぜですか?書き出せるのは、ターミナルに読み込まれている足だけです。MT5 では「チャートの最大バー数」(ツール > オプション > チャート)を増やし、さらに履歴を読み込んでから、Export again をクリックしてください。
- 状態に is it open in another program? と表示されます。そのプログラムでファイルを閉じて、Export again をクリックしてください。
- 上位足が警告とともに飛ばされます。H4 や D1 のチャートでは、既定の H4; D1 に、行の時間足より上でない時間足が含まれます。入力項目からそれを外してください。
- 複数の銘柄で使えますか?チャートごとに一つずつセットしてください。既定のファイル名なら、銘柄と時間足ごとに別のファイルになります。
商品ページ:Smart Data Export Indicator(MT5)と Smart Data Export Indicator MT4。ご不明な点があれば、パネルのスクリーンショットと「エキスパート」タブの最後の数行を添えて、MQL5 の個人メッセージでお送りください。



