MT5のカスタム銘柄でFX自動売買の検証データを準備する方法

MT5のカスタム銘柄は、独自の価格データと銘柄仕様を組み合わせ、FX自動売買の検証用チャートを作る機能です。基本の順序は「別名の銘柄を作成する→仕様を確定する→M1またはティックを取り込む→短い期間で照合する」。データを入れてから桁数などを直すと履歴が消える場合があるため、先に仕様を整えます。
チャートが表示されたことだけでは、EA検証の準備が終わったとはいえません。時刻、スプレッド、ロット単位、換算通貨まで確認して、初めて結果を比較できます。この記事ではデスクトップ版MT5でのデータ準備に絞り、取り込み時の上書きと、取り込み後に見落としやすい違いを順番に整理します。
- カスタム銘柄は実取引用ではなく独自データの検証に使う
- 履歴が消える仕様項目をインポート前に確定する
- M1とティックで列構成・時刻・重複の扱いを分ける
- 短期間の照合と換算レート確認を済ませてからEAを評価する
MT5のカスタム銘柄でFX自動売買の検証を準備する

カスタム銘柄でできることと実取引との違い
カスタム銘柄は、MT5内に自分で用意する検証用の金融商品です。取り込んだ価格をチャート表示し、インジケーターを適用したり、ストラテジーテスターでEAをテストしたりできます。業者の通常銘柄へ外部CSVを直接上書きするのではなく、独立した銘柄へデータを入れるのが出発点です。
ただし、カスタム銘柄では実際の取引を執行できません。名前をUSDJPYに似せても、業者が注文を受け付ける商品が増えるわけではありません。カスタム銘柄で確認するのは、用意したデータと仕様の下でEAがどう動くかです。本番へ移す時には、業者が提供する銘柄と口座で別に動作を確認します。
例えば同じEAを、業者から取得したデータと別の提供元のデータで比べたい時に役立ちます。一方、通常のバックテストを始めたいだけなら、最初から外部データを用意する必要はありません。目的が決まっていない状態で取り込むと、データ差と設定差が混ざり、結果が変わった理由を追いにくくなります。
この機能の用途と実取引の制約は、MetaQuotes公式のカスタム金融商品ヘルプで確認できます。ここでは固定CSVを取り込む方法を扱い、数式から価格を作る合成銘柄とは分けて進めます。
取り込むデータの種類と検証目的を決める
先に、EAが何を手がかりに売買するかを確認します。足の確定後にしか判断しないEAと、同じ足の途中で損切り・利確やスプレッドを判断するEAでは、必要な情報が違います。M1の四本値があるだけで、実際にどの順番で価格が動いたかまで分かるわけではありません。
| 用意するデータ | 確認できる情報 | 取り込み前の注意 |
|---|---|---|
| M1バー | 1分ごとの始値・高値・安値・終値など | 足の途中の実際の価格順序は含まれない |
| ティック | 記録された時刻ごとのBid・Askなど | 提供元・欠損・時刻精度を確認する |
| 上位足だけのバー | その時間足の四本値 | 細かい時間足の連続した履歴にはならない |
実ティックによる検証を行うなら、対象期間のティックとM1の整合を確認できるデータを選びます。M1から生成されたティックでのテストと、記録されたティックでのテストを同じものとして比較しないことが大切です。モデルごとの操作と結果の見方は、当サイトのMT5でEAをバックテストする設定と確認手順にまとめています。
提供元については、銘柄、期間、タイムゾーン、BidかAskか、価格の小数桁、欠損の説明を確認します。FXには提供元ごとの価格差があるので、別のCSVを入れた後の結果を、そのまま特定口座の約定の再現と扱うのは避けましょう。利用条件が不明なデータを使わず、再配布と個人の検証利用も区別します。
ティックはM1バーよりデータ量が大きくなります。最初は長年分をまとめて取り込むより、ファイルを開いて確認できる短い期間を選びます。必要な容量と所要時間はファイルの実サイズで判断し、「何年分なら必ずこの容量」と固定しない方が確実です。

別名の銘柄を作成して仕様をコピーする
MT5の「表示」から「銘柄」を開きます。コピー元にしたい通常銘柄を確認し、「カスタム銘柄を作成する」を選びます。画面名やボタン位置はビルド・表示言語で違うことがありますが、銘柄管理画面で新しいカスタム銘柄を作る操作を探してください。
名前は、通常銘柄と取り違えない別名にします。例えばUSDJPY_importAは検証用の名前の説明例です。業者の銘柄名そのものを使わず、データの違いを比較する時は末尾も変えると、どの履歴を選んだか分かりやすくなります。同じ銘柄へ別データを何度も入れ替えるより、条件ごとに分けた方が比較しやすいですね。
「コピー元」を使うと、既存の似た商品の仕様を出発点にできます。ただし、コピーしたからCSVの価格やロット単位まで自動で合うわけではありません。ミニ口座や異なる資産の仕様を流用すると、見た目が似ていても契約サイズ・計算方法が違う場合があります。次の確認項目を見直してから確定します。
保存後はCustomのグループから作成した銘柄を選び、「銘柄を表示する」で気配値表示へ追加します。作成したことと表示対象にしたことは別の操作です。公式の気配値表示と銘柄管理の説明では、非表示の銘柄をテスターやMQL5プログラムから使えない点も案内されています。
桁数・ポイント・ティックサイズを確定する
桁数は価格を何桁の小数で表示するか、ポイントは値幅を扱う際の単位、ティックサイズは許容される価格変化の最小単位です。似た名称でも役割が違うため、CSVの小数桁だけを見て全部を同じ値にするのは避けます。EAが損切りをpipsで受け取るのかpointsで受け取るのかも合わせて確認します。
説明例として、USDJPYのポイントを0.001とした場合、価格差0.100は100ポイントです。EAが1pipを0.01として扱う設計なら10pipsに相当します。この数字は単位の計算例であり、全業者・全銘柄に共通する指定値ではありません。コピー元の仕様と、EAが使う換算方法の両方で判断してください。
特に重要なのが変更する順番です。小数桁数、ポイント、ティックサイズ・値、チャートを作る価格の種類などの変更は、保存済みのM1とティックの履歴を消す場合があります。データを取り込んでから「表示だけ直す」つもりで触ると、もう一度取り込みが必要になることがあります。
MQL5公式の整数プロパティ設定と小数プロパティ設定には、履歴削除の対象項目が示されています。検証の途中で修正が必要になったら、対象項目を確認し、別の銘柄で仕様を直してデータを入れ直す方法を検討します。

契約サイズ・通貨・セッションを照合する
価格が合っていても、契約サイズと数量の単位が違えば損益は変わります。最小ロット、最大ロット、ロット刻み、契約サイズ、損益と証拠金の計算方法をコピー元と照合します。EAが指定する0.01ロットが許容されるか、損切り注文に必要な最低距離があるかも確認してください。
基軸通貨、損益通貨、証拠金通貨は、名前だけで判断しない項目です。テスターの口座通貨と一致しない場合は換算が必要になります。また、スワップや手数料などのコストがどの設定で計算されるかも確認します。コピー元の現在の仕様が、過去の全期間の条件を正確に再現するとは限りません。
セッションは曜日ごとの価格配信・取引時間を表します。カスタム銘柄の取引セッション外では、テスター内でもEAが注文できません。時間指定EAで「データはあるのに注文が出ない」とき、売買条件だけを疑う前に、データの時刻とセッションが同じ基準かを確認します。
各項目の意味はMQL5公式の銘柄プロパティ一覧が確認先です。値を埋めることより、検証対象の商品の条件と一致させることを優先します。分からない項目を適当に変更して、注文が通った結果だけを採用しないでください。

時刻の基準と夏時間を取り込み前にそろえる
CSVの日時がUTC、日本時間、提供元のサーバー時間のどれかを確認します。ファイル名の日付だけでは判断できません。同じ時刻欄でも基準が違うと、日足の区切りやEAの取引時間がずれます。提供元が書いているタイムゾーンと、検証で再現したい時間の基準を先に決めましょう。
インポート画面のShiftは、時間単位で日時をずらす項目です。例えばUTCからUTC+2へ合わせる説明例なら2時間の加算になります。ただし、CSV側ですでに時刻を変えているなら、Shiftも適用すると二重にずれます。「ファイルを変換したか」「画面でずらしたか」を分けて確認してください。
夏時間と冬時間で差が変わるデータに、全期間へ一つの固定シフトを当てると、どちらかの区間がずれる可能性があります。対象期間に時間変更が含まれるか、提供元の説明で確認します。必要なら期間ごとに条件を分け、切り替え境界の重複や抜けを点検します。日本時間へ変えること自体を正解にせず、EAが想定した時間を基準にするのがポイントです。
確認には、分かっている一日の開始時刻や、提供元の仕様で確認できる境界を使います。チャートがそれらしい形に見えるだけでは時差の証拠になりません。時刻を合わせた後に同じ日時の行を照合し、EAの開始・終了時間が想定したバーに対応しているか確かめます。
MT5のカスタム銘柄へデータを入れてEA検証につなげる

M1バーのCSVをプレビューして取り込む
銘柄管理画面で作成したカスタム銘柄を選び、「チャートバー」または「Bars」タブへ移動します。バーを取り込む操作からファイルを選び、区切り文字と読み飛ばす行・列を設定します。見出し行があるファイルでは、見出しを価格の行として読み込まないようにプレビューを確認します。
公式のM1形式は、日付、時刻、始値、高値、安値、終値、ティックボリューム、実出来高、スプレッドの順です。拡張子がCSVでも区切り文字が必ずカンマとは限りません。タブ区切りならタブを選び、プレビューで日時と四本値がそれぞれ正しい列へ入っていることを確認します。
Date,Time,Open,High,Low,Close,TickVolume,Volume,Spread
2026.01.05,00:00:00,150.000,150.020,149.990,150.010,12,0,10
2026.01.05,00:01:00,150.010,150.030,150.000,150.020,15,0,10
上のCSVは列を説明するための架空例で、市場から取得した実データではありません。この例はカンマ区切り・先頭見出し行ありです。取引検証のデータとして使わず、実ファイルの提供元が示す列構成と単位を確認してください。出来高の0も、実際の出来高がゼロだった証拠として扱いません。
取り込む前に、高値が始値・終値以上であること、安値が始値・終値以下であることを確認します。同じ日時のM1バーが二行あればエラーになるため、月別ファイルを結合した境界などを点検します。どちらを残すか分からない重複を、都合のよい方へ機械的に置き換えないことも大切です。
MT5の価格履歴はM1を基に上位時間足を作ります。H1のデータしかない場合、M1へ切り替えても各時間の中身が復元されるわけではありません。詳細な検証が必要なら、最初からM1または目的に合うティックを用意します。取り込み後は行数だけでなく開始・終了日時と欠けた区間を見ます。
ティックはBid・Askと時刻順を確認する
ティックを入れる時は同じカスタム銘柄の「ティック」タブから取り込みます。公式の列順は日付、時刻、Bid、Ask、Last、Volumeです。時刻にはミリ秒が入る例もあり、M1バーの形式をそのまま使うことはできません。Bidだけ、Askだけ、双方の価格がある形式を区別し、提供元の説明に従います。
ティックは古い時刻から新しい時刻へ並んでいる必要があります。一方、同じ時刻のティックが複数あること自体は、M1バーの時刻重複と同じエラーではありません。同じミリ秒の更新があるからといって、時刻だけを基準に重複削除すると、もとの価格変化を失うおそれがあります。
FXのティックでLastやVolumeが記録されていない場合は、架空の約定価格や出来高を補いません。MetaQuotesの説明例でもLast・Volumeが0の形式が示されています。「価格に0がある行をすべて削除する」といった処理は、Bid・Askと未提供項目を区別できていないため避けます。flagsは取り込み時に端末が計算するので、エクスポートで付く追加列をそのまま渡す前に形式を確認します。
実データの取得から取り込みまでの画面の流れは、OANDA公式のMT5ティックデータ取り込み案内も参考になります。同社で提供するデータの説明なので、他のCSVへ同じ条件をそのまま当てはめず、自分のファイルで列と日時を照合してください。

再インポートは重なる区間の置き換えになる
同じ銘柄へ追加ファイルを入れる時には、含まれる最初と最後の時刻を確認します。インポートは、ファイルの時間区間にある既存履歴を新しいデータで完全に置き換えます。欠けた行だけを自動で足してくれる操作と考えると危険です。
例えば、すでに一週間分のM1がある銘柄へ、その週の月曜と金曜だけを抜き出したファイルを入れる場面を考えます。ファイルが月曜から金曜までの区間を含むため、その間にあった火曜から木曜のデータまで残るとは限りません。これは説明用の例ですが、期間の広さと行数を両方確認する必要があることが分かります。
月別ファイルを順番に入れるなら、末尾と次の先頭が重なっていないか、重なりがあるならその区間がどちらの完全なデータになるかを確認します。提供元の再配布ファイルを入れ直す場合も、新旧で対象期間が同じとは限りません。検証条件を混ぜないために、比較用の別銘柄を用意する方法が使えます。
プログラムで取り込む場合も、CustomRatesReplaceとCustomTicksReplaceは指定範囲を置き換える関数です。画面の取り込みとAPIの更新・置換を混同せず、処理の種類を確認します。修正はまず少量で試し、元のデータへ戻せる手順を確認してから実行しましょう。
短期間でM1・上位足・ティックを照合する
取り込みを終えたら、気配値表示からカスタム銘柄のチャートを開き、M1で数本の値を照合します。最初の日時、最後の日時、日付をまたぐ境界から選ぶと、期間不足と時差の両方を見つけやすくなります。CSVのOpen・High・Low・Closeと、データウィンドウで見た同じ時刻の値を比較してください。
次にM5やH1へ切り替え、M1のまとまりとして不自然な隙間がないかを見ます。土日や休場による間隔と、平日のデータ欠損は区別します。穴を見つけても、直前の価格をコピーして実データのように埋めないでください。提供元の仕様なのか、変換・結合・取り込みの失敗なのかを先に調べます。
ティックを使う時は、その対象期間とM1の対象期間が一致しているかも確認します。MT5公式では、M1があるのにティックがない区間で生成ティックを使うこと、M1がなくティックだけある区間のティックを無視することを説明しています。実ティックを選んだという設定名だけで、全期間が同じ品質になるわけではありません。
この扱いはMetaQuotes公式の実ティックと生成ティックの説明が根拠です。まず、用意した価格履歴がどう使われるかを確認し、その後に損益へ進みます。データ不整合を残したままパラメーターを最適化すると、整合を直した後に評価が変わる可能性があります。

損益通貨の換算とEA側の銘柄指定を確認する
テスターでは、作成したカスタム銘柄を対象に選びます。テストの口座通貨と銘柄の損益通貨が違う場合、換算用の通貨ペアが必要です。例えばEUR建ての損益をUSD口座で評価するなら、対応するEURUSDのレートを使って換算します。メイン銘柄のCSVがそろっていても、それだけで損益計算の条件が完結するとは限りません。
Forex方式では、証拠金の換算と損益の換算で必要な通貨ペアが違う場合もあります。公式説明では、AUDCAD.customをUSD口座で検証する際、AUDUSD.customとUSDCAD.customを探し、なければ対応する業者銘柄を探す例が示されています。自分で用意したデータと業者の換算データが混ざることも、比較結果の条件として確認してください。
必要な通貨ペアが口座側で使えるか、検証期間に対応するレートが取得できるかを見ます。計算できない状態なら、無理に通貨設定を書き換えて通すのではなく、仕様・口座通貨・換算銘柄を照合します。注文量を増減する自動計算EAでは、証拠金や損益の単位の違いが売買数量にも影響するためです。
EAが銘柄名を固定している場合にも注意します。画面でUSDJPY_importAを選んでいても、プログラム側がUSDJPYだけを参照していれば、意図した履歴で評価できるとは限りません。複数通貨EAなら参照する他銘柄のデータも必要です。対応銘柄と時間足は配布元の説明に従い、導入全般が必要な場合はMT5へのEA設定と稼働確認を合わせて確認します。
データが出ない時は症状ごとに切り分ける
取り込み後の不具合は、全部を「CSVの失敗」にまとめず、銘柄が見えない、価格が出ない、時刻がずれる、注文が出ない、損益が違う、に分けます。原因の種類が違えば直す場所も違います。次の表で、最初に確認する箇所を絞れます。
| 症状 | 最初に確認すること | 避けたい対処 |
|---|---|---|
| 銘柄を選べない | Custom内の名前と気配値表示の状態 | 通常銘柄へ同じデータを入れようとする |
| チャートが空白 | 対象銘柄・期間・列割り当て・取り込み結果 | 全期間を何度も同じ銘柄へ入れ直す |
| 足の時刻がずれる | CSVの時刻基準とShiftの二重適用 | 根拠なく日本時間へ統一する |
| 途中に穴がある | M1の欠損・ファイル境界・置換区間 | 前の価格で埋めて実データとして扱う |
| EAの注文がゼロ | 銘柄固定・セッション・数量・ログ | 注文が出るまで仕様を適当に変える |
| 金額が想定と違う | 契約サイズ・口座通貨・換算・コスト | EAロジックの問題と即断する |
データが見えない場合は、まず取り込み先が作成した銘柄か、表示している期間がCSVの範囲かを確認します。プレビューだけ出ていて保存操作が完了していない可能性も切り分けます。データ一覧に値がありチャートに出ない場合は、表示状態を確認した上でMT5の再起動を試す順番です。
注文がない場合は、テスターのログで初期化と注文拒否を確認します。EAの条件未成立と、データ・仕様の不整合は違います。カスタム銘柄が実取引できないことを直すために、通常のチャートで取引許可を増やしても解決にはなりません。確認できた症状に対応する設定だけを見直します。

MT5のカスタム銘柄は仕様とデータをそろえて使う
最後に、検証前の状態を確認しましょう。別名の銘柄が表示対象に入り、仕様を確定した上で、目的に合うデータを取り込めていれば、短期間のEAテストへ進めます。最初から大規模な最適化へ進むより、日時・数量・損益の単位が合っているかを数件の結果で確認した方が、原因を追いやすくなります。
- 通常銘柄と区別できる名前で、対象銘柄を選べる
- 桁数・ポイント・価格種類・契約サイズがデータと合っている
- CSVとチャートの日時・四本値・対象期間を照合した
- 再取り込みの置換区間と、M1・ティックの欠損を確認した
- 換算通貨ペアとEAが参照する銘柄の条件を確認した
カスタム銘柄の最適化にはMQL5 Cloud Networkを使えません。公式ではローカルネットワークのエージェントやリモートエージェントの利用は可能とされていますが、まずは手元の単独テストでデータを確認します。Cloudを使えないことを、履歴の壊れた証拠と考えないでください。
カスタム銘柄は独自データでEAを調べるための道具であり、利益を保証する仕組みではありません。検証したデータと仕様が本番口座の条件にどこまで対応するかを確認し、本番前には通常銘柄のデモ環境で別に動作を確かめます。データ準備をここで終え、その後の評価はバックテストとフォワードテストの工程へ進めましょう。
