MT4のチャート上に表示されている高値・安値・値幅(レンジ)を、後から分析したいと思っても、標準機能ではCSV形式でまとめて取り出すことができません。本記事では、無料で使える専用スクリプトを使い、過去データから高値・安値・値幅を一括でCSV出力する方法をわかりやすく解説します。通貨ペアのボラティリティ分析、時間帯ごとの統計、EA開発の基礎データ作成にも活用できる便利な手法です。
MT4の過去データから高値・安値・値幅をCSV出力するスクリプト「ExportDailyRange」はMT4マーケットから直接ダウンロードできます。

- MT4を起動し、下部の「ターミナル(Ctrl+T)」を開く
- 「マーケット」タブを選択し、検索欄に「ExportDailyRange」と入力
- 該当インジケーターを選んで「ダウンロード」ボタンをクリック
✅ .ex4ファイルの手動ダウンロードが不要で、ファイルの安全性も保たれているため初心者にも安心です。
MT4で高値・安値・値幅をCSV出力できる理由とは?
MT4には、チャート上に表示されているローソク足データ(高値・安値・始値・終値)を扱うための標準関数が用意されています。スクリプトやインジケーターを使えば、これらのデータを自由に取得し、外部ファイルへ書き出すことが可能です。
しかし、MT4の標準機能ではチャートに表示されているデータを「そのままCSV保存する機能」はありません。レポート出力はできますが、バックテストの結果に限定されるため、普段のチャートデータや時間足別のレンジ統計を取得したい場合には使えません。
こうした制限を補うのが、今回紹介するスクリプト「ExportDailyRange」です。MT4が内部で保持している価格データに直接アクセスし、指定した本数の高値・安値・値幅を一括で取得できます。日足だけでなく、1分足〜週足まで、どの時間足でも同じ要領でCSVに出力できるのが特徴です。
専用スクリプトを使うことで、普段利用しているチャートから直接データを取り出せるため、ボラティリティ分析やEA開発などに必要な情報を、手作業なしで効率的に取得することができます。
過去データをCSV化するメリット
チャート上のローソク足は視覚的に確認しやすい反面、そのままでは数値として扱いにくく、分析や検証には向いていません。そこで役立つのが「過去データのCSV化」です。ExportDailyRangeを使えば、高値・安値・値幅を一覧表として出力でき、Excelやスプレッドシートで自由に加工できます。
CSV化する最大のメリットは、客観的なデータとして扱える点です。通貨ペアごとの平均レンジ、時間帯別の変動幅、相場の特徴などを数値で正確に把握でき、トレード戦略の改善につながります。また、EA開発においても、適切なストップ幅や利確幅の検証に役立ちます。
もう一つのメリットは、どの時間足でも同じようにデータを取得できることです。1分足から週足まで、任意のバー数を指定するだけで、過去の高値・安値・レンジを一括で抽出できます。日足限定のインジケーターとは異なり、用途に応じて柔軟に使える点は大きな強みです。
ExportDailyRangeを使えば、手作業でチャートを遡る必要がなくなり、分析作業が大幅に効率化されます。自分だけの統計データを作りたい方にとって、非常に実用的な方法といえます。
無料スクリプトで高値・安値・値幅を出力する手順
ExportDailyRangeは、MT4に標準搭載されている「スクリプト」形式で動作します。使い方はとても簡単で、チャートにドラッグ&ドロップするだけで過去データがCSVとして保存されます。初めての方でも迷わず操作できるシンプルな手順です。

まず、マーケットからExportDailyRangeをインストールすると、MT4のナビゲーター内「スクリプト」欄に自動で追加されます。次に、CSVとして出力したい通貨ペアのチャートを開き、任意の時間足を設定します。時間足は後からスクリプト側でも指定できますが、基本的にはチャートの時間足に合わせておくとわかりやすいでしょう。
準備ができたら、ナビゲーターからExportDailyRangeを選び、チャート上にドラッグします。設定画面が表示されるので、「バー数」「出力ファイル名」「使用する時間足」などを入力します。特に難しい設定は必要なく、用途に合わせてバー数を調整するだけで十分です。
実行すると、MT4の「Files」フォルダ内にCSVファイルが生成されます。ファイルは数秒で作成されるため、チャートを長時間操作する必要はありません。作成されたCSVは、Excelやスプレッドシートに読み込んで自由に集計できます。
CSVに出力されるデータ項目の解説
ExportDailyRangeが生成するCSVファイルには、ローソク足から取得した主要な価格データが整理された形で保存されます。どの項目も分析に必要な情報で、特に「Range(値幅)」はボラティリティを把握するうえで欠かせない指標です。ここでは、出力される各項目についてわかりやすく解説します。
Timeframe
出力対象となった時間足が記録されます。1分足(M1)から週足(W1)まで、設定した時間足がそのまま保存されるため、複数の時間軸を比較する際にも使いやすい形式です。
Index
バーのインデックス番号です。0が最新のバーで、数字が大きくなるほど過去のバーになります。後処理でデータを並び替える際に役立ちます。
Datetime
各バーの日時(年月日+時刻)が記録されます。時間帯別の分析、特定の相場イベント前後の検証など、さまざまな用途で利用できます。
High / Low
そのバーの高値と安値です。もっとも基本的な価格データで、値幅(Range)はこの2つの差から計算されています。
Range(値幅)
高値と安値の差を価格として記録したものです。後からpipsに変換してボラティリティ指標として利用したり、取引戦略のストップ幅・利確幅の設計に活用できます。
これらの項目が整理された状態でCSVに保存されるため、必要な部分だけを抽出したり、複数の通貨ペアを比較したりと自由度の高い分析が可能になります。
実際に出力されたCSVの活用方法
ExportDailyRangeで生成したCSVファイルは、相場分析や戦略構築の基礎データとして幅広く活用できます。特に、値幅(Range)や高値・安値の推移は、チャートを目視するだけでは捉えにくい「数値としての傾向」を明確にしてくれます。ここでは、代表的な活用方法を紹介します。
通貨ペアごとの平均値幅を算出する
CSVに記録されたRangeデータを集計することで、特定の通貨ペアがどれくらい動く傾向にあるかを把握できます。平均値幅が大きい通貨ほど、短期トレードでチャンスが多い傾向があります。
ストップ幅・利確幅の最適化に使う
EAや裁量トレードで設定するストップロス(SL)やテイクプロフィット(TP)は、相場のボラティリティに合わせると精度が高まります。過去の値幅データを参考にすることで、無理のない値幅設定が可能になります。
市場時間帯ごとの特性を調べる
Datetime(日時)とRangeを組み合わせて分析すれば、東京時間・ロンドン時間・NY時間でどの程度値幅が変わるかを比較できます。時間帯ごとの特徴を理解することで、より効果的なトレード戦略が構築できます。
バックテスト前の相場特性チェックに利用する
EAを最適化する前に、対象通貨の値動き特性を把握しておくのは重要です。ボラティリティが高い通貨ペアではリスクが大きくなるため、事前のデータ分析は欠かせません。ExportDailyRangeで取得したデータは、こうした事前検証に役立ちます。
これらの活用方法を組み合わせれば、自分のトレードスタイルに合った精度の高い戦略づくりが可能になります。
CSVデータの活用方法:平均値幅(ADR)を自動計算するなら「Range Stats Viewer」がおすすめ
このスクリプトで出力した 高値・安値・値幅(Range)のCSVデータは、そのまま分析ツールに読み込ませることで、利確幅の設定や通貨ペアの特性把握に活かすことができます。
特におすすめなのが、
▶ 【MT4値幅分析】通貨ペアの1日の平均値幅(ADR)を自動計算できる無料ツール「Range Stats Viewer」
です。

Range Stats Viewerは、この記事で作成したCSVをそのまま読み込むだけで、次のような分析ができます。
- 通貨ペアの1日の平均値幅(ADR)を自動計算
- 値幅の大きい日・小さい日のランキング化
- ショック相場などの異常値を除外した現実的な平均値の算出
- 利確幅の目安を作るための統計データ化
つまり、この記事で紹介している CSV出力スクリプトの“最も効果的な活用方法” が、Range Stats Viewerを使った値幅分析です。
「値幅がどれくらい動くのか?」
「どのくらいの利確幅なら現実的なのか?」
といった疑問を、過去データの統計から判断できるようになるため、トレードの再現性を高めたい方に最適です。
高値・安値を自動で可視化するインジケーターも活用しよう
過去データの分析とあわせて、チャート上で高値・安値をわかりやすく可視化するインジケーターを使うと、トレード判断の精度が大きく向上します。
とくに、以下の記事では
- 高値・安値の基本的な考え方
- ラインの見方
- トレンドやブレイク判断の基準
- 上位足との組み合わせ方
- 無料で使える高値・安値インジケーター10選
を完全ガイドしています。
「ラインを引く基準がブレる」
「サポレジの判断が難しい」
と感じる方には必須の内容です。
▼くわしくはこちら
【無料】高値・安値がわかるMT4インジケーター10選|設定方法と使い方ガイド
チャート分析の基礎力を上げたい人は、ぜひ合わせてチェックしてみてください。
よくある質問(FAQ)
- 指定したバー数より少ないデータしか出力されないのはなぜですか?
-
MT4に保存されているヒストリカルデータの本数が不足している場合、指定したバー数すべてを取得することはできません。ブローカーのデータ量やチャートを長期間表示していなかったことが原因で、本数が限定されるケースがあります。
- 高値・安値・値幅以外のデータも出力できますか?
-
ExportDailyRangeは、高値・安値・値幅(Range)に特化したシンプルな構造になっています。追加の項目(始値・終値など)が必要な場合は、カスタム版として機能を追加できます。
- どの時間足でも使えますか?
-
はい。1分足から週足まで、MT4が保持するすべての時間足に対応しています。時間足はスクリプトのパラメータで自由に選択できます。
- 複数の通貨ペアをまとめて出力できますか?
-
ExportDailyRangeは1チャート1通貨ペアを対象としたスクリプトです。複数ペアを自動でまとめて出力する機能はありませんが、連続で実行することで複数のCSVを取得できます。
- CSVを開いたときに文字化けすることがあります。どうすればいいですか?
-
Excelで直接開くと文字コードが原因で文字化けする場合があります。Excelで取り込むときに「データ → テキスト/CSVから取り込み」を選び、UTF-8として読み込むと正常に表示できます。
- Range(値幅)はpips単位ですか?
-
Rangeは「価格の差」として出力されます。pips換算は通貨ペアごとに異なるため、後処理で変換して利用する形になります。
まとめ|MT4の過去データ取得は自動化がもっとも効率的
MT4のチャートから高値・安値・値幅を正確に取得しようとすると、手作業ではどうしても時間がかかってしまい、分析の精度も安定しません。こうしたデータ取得を効率化するためには、自動でCSV出力できる仕組みを使うのが最も効果的です。
ExportDailyRangeを使えば、過去のローソク足から必要な情報を一括で抽出し、整理されたCSVとして保存できます。時間足やバー数を自由に設定でき、1分足から週足まで幅広いデータに対応しているため、さまざまな用途に活用できます。
通貨ペアのボラティリティ分析、ストップ幅や利確幅の最適化、EA開発前の基礎データ作成など、CSV化したデータは多くの場面で有用です。MT4の過去データを活用したい方は、手間を省きながら正確な情報を得られるExportDailyRangeをぜひ活用してみてください。
この記事で紹介したスクリプトのように、取引効率を上げる無料ツールをお探しの方へ。
当サイトの無料EA一覧ページでは、実用性の高い自動売買ツールを多数紹介しています。
👉 無料EAを探す

