EAのフォワードテストとは?MT4デモ口座で本番前に確認すべき項目

EAをバックテストして良い数字が出ると、すぐに本番口座で動かしたくなるかもしれません。ただ、過去データで良かったEAが、今の相場でも同じように動くとは限らないですよね。
そこで必要になるのが、MT4のデモ口座などを使ったEAのフォワードテストです。FX自動売買をこれからの相場で動かし、注文・損失・稼働トラブルを記録します。大切なのは、利益だけでなく、同じ条件と観測方法で振り返れる状態にすることです。デモの約定結果が、そのまま本番でも再現されるわけではありません。
この記事では、MT4デモ口座の準備から、残高と有効証拠金を分けた記録、日末観測で見落とす含み損、条件変更を混ぜない集計、本番移行を見送る判断まで整理します。期間を決めて放置するのではなく、何を確認できて何が未確認かを残すための手順です。
- EAのフォワードテストとバックテストの違いがわかる
- MT4デモ口座で確認すべき準備項目がわかる
- 成績だけでなくログ、本番移行基準、停止条件まで見直せる
- 本番口座へ移す前の判断基準を整理できる
EAのフォワードテストの基本

フォワードテストとは
フォワードテストとは、EAを過去データではなく、これから流れてくる相場で実際に動かして検証することです。MT4のデモ口座や少額のリアル口座にEAを設定し、売買シグナル、注文、決済、損益、ドローダウン、ログの出方を一定期間見ていきます。バックテストが「過去にどう動いたか」を見る作業なら、フォワードテストは「今の市場環境でどう動くか」を見る作業ですね。
特にEAは、ロジックそのものが正しくても、スプレッドの広がり、約定の遅れ、サーバー時間、通信断、ブローカーごとの制限で結果が変わります。過去データ上ではきれいな右肩上がりだったのに、実運用ではエントリー回数が少ない、利確前に滑る、深夜のスプレッド拡大で損切りが増える、といったこともあります。フォワードテストは、そうした机上では見えにくい差を確認するための現実寄りの検証です。
ただし、フォワードテストで利益が出たから必ず本番でも勝てる、という意味ではありません。あくまで「本番投入前に危険なズレを見つけるための工程」と考えるのが安全です。短期間で偶然うまくいったEAを過信するより、想定通りに動いているか、負け方が許容範囲か、停止すべき場面が明確かを確認する方が大切かなと思います。
- EAが実際のリアルタイム相場で注文できるか確認する
- バックテストと近い頻度で売買しているか確認する
- スプレッドや通信環境の影響を確認する
- 本番運用前に停止条件を決める
フォワードテストでは、利益が出た日だけでなく、止まった日、注文が成立しなかった日、想定外の含み損を抱えた日も残します。「勝てた」という結果だけでは、次に同じ条件で動かせるかを判断できません。
バックテストとの違い
バックテストとフォワードテストの違いは、使うデータと見えるリスクです。バックテストは過去の価格データを使って、EAが過去相場でどのような成績を出したかを短時間で確認します。MetaTrader 4公式でも、Strategy TesterはExpert Advisorのテストやパラメーター最適化に使う機能として説明されています。詳しい検証結果の読み方は、既存記事のMT4のEAバックテスト結果の読み方も参考になります。
一方、ここでいうフォワードテストは、設定を決めた後に流れてくる相場でEAを稼働させる検証です。価格配信、スプレッドの変化、注文エラー、VPSやPCの停止、サーバー時間の違いなど、運用条件を含めて観察します。デモで観察できるのはそのデモ環境での挙動であり、本番の流動性や約定まで確認できるとは限りません。
| 項目 | バックテスト | フォワードテスト |
|---|---|---|
| 使うデータ | 過去データ | リアルタイム相場 |
| 確認速度 | 短時間で確認できる | 売買機会と確認対象によって変わる |
| 見えるリスク | ロジックや過去成績 | 約定、スプレッド、稼働環境 |
| 主な目的 | 候補EAの絞り込み | 未確認の運用条件と不具合を洗い出す |
デモ口座で行う理由
EAのフォワードテストは、まずMT4のデモ口座で行うのが無難です。理由はシンプルで、資金を減らさずにEAの挙動を確認できるからです。EAを初めて使う段階では、設定ミス、通貨ペアの選択ミス、ロットの入力ミス、マジックナンバーの重複、時間足の間違いなどが普通に起こります。リアル口座でこれをやると、テストのつもりが実損につながります。
デモ口座では、EAがどのタイミングでエントリーするか、利確や損切りが想定通りか、ポジションを持ちすぎないか、口座残高に対してロットが大きすぎないかを落ち着いて確認できます。特に初心者のうちは、「EAが動いているか」だけを見てしまいがちですが、それだけでは不十分です。勝っている時だけでなく、負けている時にどれくらい含み損を抱えるかまで見ておきたいですね。
ただし、デモ口座とリアル口座は完全に同じではありません。価格配信や約定方式などはFX会社と口座タイプの条件を確認してください。デモで見つからなかった問題が本番で起きる可能性もあります。デモでの結果は、本番への合格証として扱わないでください。
- デモで勝っただけでリアル口座へ全資金投入する
- バックテストと違う設定のまま比較する
- 短期間の利益だけでEAを評価する
- 含み損や最大ドローダウンを記録しない
最初からリアル口座で試すと、設定ミスも損失につながります。少額・最小ロットであっても損失を防げるわけではありません。金融庁の外国為替証拠金取引についても、証拠金を超える損失の可能性や、元本・利益が保証されないことを説明しています。口座を選ぶ際は登録状況と契約条件も確認しましょう。
必要な準備と評価期間

EAのフォワードテストを始める前に、最低限そろえるものがあります。MT4が使えるデモ口座、検証するEAファイル、バックテストで使ったパラメーター、対象通貨ペア、時間足、ロット設定、稼働するPCまたはVPS、そして記録用のメモです。ここを曖昧にすると、あとから「なぜこの成績になったのか」が追えません。EAを動かすだけでなく、比較できる状態にしておくことが大事です。
評価期間は、開始前に売買頻度と確認したい相場条件から決めます。高頻度EAでも、同じ値動きの中で短時間に集中した取引を、多様な相場を経験した結果とは扱えません。低頻度EAは暦の上で長期間動かしても、売買機会がほとんどなければ評価を保留します。「何週間なら十分」という万能な基準はありません。
| 開始前に決めること | 記載する内容 | 未達の場合 |
|---|---|---|
| 確認する売買 | EAが想定する時間帯・通貨ペア・売買機会 | 取引がない理由をログと条件で調べる |
| 見たい相場条件 | トレンド・レンジ・スプレッド拡大など、運用範囲に関係する局面 | 未経験の条件を明記して保留する |
| 集計の区切り | 開始日時、途中レビュー日、終了または延長の理由 | 直近の利益だけで終了日を動かさない |
| 中断条件 | 許容損失と、重複注文・稼働停止などの不具合 | 損益にかかわらず事前の手順に従う |
期間・取引回数・相場の偏りを一緒に確認します。取引が少ないことと不具合で注文できないことは、記録から切り分けてください。
経済指標の前後や週明けを運用対象に含めるかも、先に決めておきます。対象外として停止するルールなら、無理に稼働させて損失を試す必要はありません。対象とする条件をまだ観察できていなければ、その条件は未確認と記載します。
見るべき成績指標
フォワードテストでは、利益額だけを見ないようにします。利益が出ていても、たまたま大きな含み損を抱えたあとに戻っただけかもしれません。逆に、短期的にマイナスでも、損切りが想定通りで、バックテストの負け方と近いなら、検証継続の価値がある場合もあります。見るべきなのは、勝っているかどうかより、想定した範囲で勝ち負けしているかです。
最低限チェックしたいのは、取引回数、勝率、平均利益、平均損失、最大ドローダウン、最大含み損、連敗数、スプレッドが広い時間帯の取引、バックテストとの差です。EAによってはプロフィットファクターやリカバリーファクターも見ますが、フォワードテスト初期では取引数が少なく、数値が大きくぶれます。1週間だけのPFが高いから優秀、と決めつけるのは危険ですね。
成績は、口座残高に対するリスクと、ポジションを保有している間の有効証拠金の動きを分けて確認します。利益が小さくても、ロットを増やせば使いやすくなるとは限りません。ロット増加は損失額や必要証拠金も変えるため、別のリスク条件として再検証する必要があります。
- 取引回数が十分にあるか
- 最大ドローダウンが許容範囲か
- 平均利益と平均損失のバランスが悪くないか
- バックテストより極端に悪化していないか
- 負け方が想定外に荒くないか
成績を比較する時は、口座通貨、資金量、ロット計算、取引コスト、観測間隔をそろえます。同じ損益率でも、取引頻度や持ち越し期間、含み損が異なれば同じリスクとはいえません。取引数が少ない期間のPFや勝率は暫定値とし、数字の良さだけで本番移行を決めないようにします。
EAのフォワードテスト実践手順

MT4デモ口座を作る
まずは、実際に使う予定のFX会社、または条件が近いFX会社でMT4デモ口座を作ります。通貨ペア名、スプレッド、サーバー時間、最小ロット、最大ロット、口座通貨、レバレッジが本番予定と大きく違うと、フォワードテストの意味が薄くなります。可能なら、本番で使う予定の口座タイプに近いデモ口座を選ぶ方がよいですね。
デモ口座を作ったら、MT4へログインし、対象通貨ペアのチャートを開きます。EAを使う時間足に変更し、バックテスト時と同じ条件にそろえます。ここでチャートの時間足が違うと、エントリー条件が変わるEAもあります。1時間足で検証したEAを15分足チャートに入れてしまうと、別物のテストになる場合があるので注意してください。XMのデモ環境で始める流れは、XMデモ口座の始め方とMT4デモでEAを動かす準備でも整理しています。
デモ口座の初期資金や口座通貨も本番想定へ近づけます。同じ0.1ロットでも、口座資金と通貨ペア、レバレッジによって必要証拠金や損失の比率が変わります。残高に応じて自動でロットを変えるEAでは、初期資金の違いが注文量を変えることもあります。想定と違う条件を使う場合は、その差を記録してください。
本番予定と違いすぎる残高、口座タイプ、通貨ペアで検証すると、ロットや損益の感覚がずれます。できるだけ本番に近い条件でそろえましょう。
- 本番予定に近い口座タイプを選ぶ
- 残高を本番予定額に近づける
- 通貨ペア名と時間足を確認する
- スプレッドが極端に違わないか見る
EAを同条件で設定
次に、EAをMT4へ入れてチャートへ適用します。ここで重要なのは、バックテストで使った条件とフォワードテストの条件をそろえることです。通貨ペア、時間足、パラメーター、ロット計算、稼働時間、スプレッド制限、ナンピン幅、損切り幅、利確幅などが違うと、バックテストとの比較ができません。EAの優劣ではなく、別設定の成績を見ているだけになります。
MT4では、EA全体の自動売買許可と、EA個別の設定の両方を確認します。自動売買ボタンがオンでも、EAのプロパティで取引が許可されていなければ注文できないことがあります。もしEAが動かない場合は、設定やログを切り分ける必要があります。自動売買許可、通貨ペア名、時間足、ロット、証拠金、Expertsタブのエラーを順番に見ると、原因を切り分けやすくなります。
複数EAを同時に検証する場合は、マジックナンバーを分け、ロットの合計リスクも見てください。1つずつ見れば低リスクでも、同じ口座内で同時にポジションを持つと、含み損が一気に増えることがあります。フォワードテストの目的がEA単体の確認なら、最初は1EAずつ分けて動かした方が判断しやすいです。複数EAの組み合わせを見たい場合は、組み合わせ自体をひとつの検証対象として記録しましょう。
売買条件を変更したEAを用意したい場合は、NoCode EA Studioのアプリ(別タブ)で作成方法を確認できます。EAファイルの受け取りには、パートナーリンク経由の口座開設と口座番号の認証が条件です。詳しくは受け取り条件をご確認ください。作成したEAも、MT4側で別途検証します。
通貨ペア、時間足、EA版、パラメーター、ロット、スプレッド条件を控えます。
EAをチャートへ適用し、自動売買許可と個別設定を確認します。DLLなどの外部実行許可は、必要性と配布元を確認した場合だけ設定します。
ロットや設定を変更した日時、内容、理由を記録し、前後の結果を別集計にします。
設定直後は、すぐに放置せず、数分から数十分はチャートとログを見てください。EAによっては起動時に初期化エラーを出したり、必要なインジケーターが足りなかったり、ロット計算でエラーになることがあります。最初の確認を省くと、数日後に「実は一度も動いていなかった」と気づくことがあります。
観測条件を先に決める

EAのフォワードテストでは、成績だけでなく稼働ログも毎日見ます。MT4のExpertsタブやJournalタブには、EAの起動、注文、エラー、通信状態に関する情報が出ます。利益が出ているように見えても、実は何度も注文エラーが出ている、指定時間に動いていない、許可設定が外れている、といった問題が隠れていることがあります。ログはEAの健康診断のようなものですね。
毎日見る項目は多くありません。MT4が接続されているか、EAの顔マークや稼働状態に異常がないか、注文エラーが出ていないか、想定外の通貨ペアで注文していないか、ポジション数が増えすぎていないかを確認します。特に週明け、経済指標前後、サーバーメンテナンス後、VPS再起動後は、EAが止まっていないかを見る習慣をつけたいところです。
記録は「いつ、どの状態を観測したか」が再現できる形にします。日付だけでなく時刻とタイムゾーン、残高、有効証拠金、保有ポジション、ロット、入出金、設定変更、気になったログを組み合わせて残してください。以下の項目を、1EAだけの検証口座で使うと整理しやすくなります。
| 記録欄 | 残す内容 | 比較時の注意 |
|---|---|---|
| 検証条件 | EA名と版、設定ファイル、通貨ペア、時間足、口座タイプ、サーバー、初期資金 | 口座番号などを公開資料へ載せない |
| 観測方法 | サーバー時刻と時差、観測間隔、記録方法、停止・欠測時間 | 日末だけか一定間隔かを結果にも併記 |
| 資金状態 | 残高、有効証拠金、保有数、合計ロット、必要証拠金 | 含み損と確定損失を混同しない |
| 売買記録 | 注文番号、売買日時、数量、損益、手数料、スワップ | 部分決済を取引回数へどう数えるか固定 |
| 外部資金移動 | 入出金の日時と金額、クレジット等の変動 | 資金移動による残高変化を取引損益と分離 |
| 条件変更 | EA版、パラメーター、ロット計算、稼働時間の変更 | 変更点で区切り、前後を同条件として合算しない |
- MT4が接続状態になっているか
- EAがチャート上で稼働しているか
- ExpertsとJournalに注文エラーがないか
- 想定外の通貨ペアや時間帯で注文していないか
- 最大含み損が許容範囲を超えていないか
毎日の目視確認と、損失を集計するための観測は別です。短時間で大きく変動するEAを日末に1回だけ見る方法では、日中の最大含み損を確認できません。稼働中の一定間隔記録など、売買頻度と保有時間に合った方法を検討し、採用した観測間隔を結果に明記します。
ログでエラーを見つけたら、発生時刻、該当注文、相場条件、設定と一緒に残します。MT4公式ではExpertsをEAなどの動作の確認に、Journalを端末の動作履歴の確認に使います。どちらも、口座の有効証拠金を連続記録するデータの代わりにはなりません。
残高と有効証拠金DDを分ける
残高は決済済み損益や入出金などが反映される口座の金額、有効証拠金は未決済ポジションの損益なども反映した、その時点の口座の評価額です。AccountBalanceとAccountEquityは別の値を返します。有効証拠金の具体的な計算は取引サーバーの設定にも依存するため、クレジット等がある口座は条件を確認してください。
DD(ドローダウン)を集計する時は、残高なら残高、有効証拠金なら有効証拠金について、それぞれの観測済みピークからの下落を計算します。入出金なし、同一設定の区間で、率は(それまでのピーク−現在値)÷それまでのピーク×100です。観測点ごとに計算し、区間内の最大値を取ります。金額の最大DDと率の最大DDが同じ時点になるとは限りません。

以下は計算説明用の仮定で、運用実績ではありません。円建て口座、開始時の残高・有効証拠金は各100,000円、入出金・クレジットなし、固定ロット、他EAなしとします。各値にはその時点のコストを反映し、前日末から2日目末までを一つの区間として比較します。
| 観測点 | 残高 | 有効証拠金 | 残高DD率 | 有効証拠金DD率 |
|---|---|---|---|---|
| 前日末 | 100,000円 | 100,000円 | 0% | 0% |
| 1日目の日中 | 100,000円 | 80,000円 | 0% | 20% |
| 1日目末 | 100,000円 | 98,000円 | 0% | 2% |
| 2日目末(決済後) | 95,000円 | 95,000円 | 5% | 5% |
この4点で観測した残高の最大DDは5,000円・5%、有効証拠金の最大DDは20,000円・20%です。ところが日末の3点だけで集計すると、両方とも最大5%になり、日中に観測した20%を見落とします。残高と有効証拠金の差が常にDDではなく、それぞれの過去ピークを基準にする点にも注意してください。
結果の名称は「日末観測の有効証拠金最大DD」などとし、観測条件を省かないようにします。一定間隔の記録でも、間の値動きや通信断中の谷を逃す可能性があります。記録していない時間を含む、真の期間最大DDを保証する数字ではありません。口座履歴の決済記録だけから、保有中の最悪の含み損を完全には復元できない点も残します。
入出金とロット変更を分離する
入出金がある区間を、そのまま損益やDDとして計算しないでください。単純な例として、ポジションなしの口座が100,000円から130,000円になり、その間に30,000円入金しただけなら、取引損益は130,000−100,000−30,000=0円です。逆に20,000円出金して残高80,000円になっても、取引で20%失ったことにはなりません。
初心者が再現しやすい方法は、資金移動の直前・直後を記録し、そこで区間を分け、各区間の開始値と観測ピークを明記して別集計することです。区切った区間ごとのDDを、資金移動を調整した全期間DDと呼ぶことはできません。全期間で評価したい場合は、外部資金移動を調整する計算方法を別途定義してください。
| 変更時点の仮定例 | 記録内容 | 集計する区間 |
|---|---|---|
| 初日09:00(サーバー時刻) | 残高・有効証拠金100,000円、固定0.01ロット、観測間隔5分 | 区間Aの開始。5分は説明例で推奨間隔ではない |
| 3日目12:00 | 入金前後100,000→130,000円、ポジションなし、入金30,000円 | 区間Aを終了、区間Bを130,000円から開始 |
| 5日目09:00 | ポジションなしで0.01→0.02ロット、EA設定ファイルも保存 | 区間Bを終了、ロット条件を変えた区間Cを開始 |
| 6日目10:00〜10:20 | 記録機が停止してデータ欠測 | 欠測を注記。補間値で最大含み損を断定しない |
上の入金例とロット変更例は、変更時点の全ポジションが決済済みであると仮定しています。保有中に変更した場合は、旧設定で建てた注文と変更後の注文を区別して記録します。口座のDDは両方の合計なので、マジックナンバーを分けただけではEAごとの有効証拠金DDになりません。EA単体を評価したい場合は、口座を分ける方が集計の前提を明確にできます。
手動で日末を記録する、一定間隔で記録するツールを使うなど、方法は環境に合わせます。どの方法でも、時刻・欠測・対象口座を確かめてから利用してください。MT4のAccount Historyから取引履歴を保存する際は、表示対象期間と手数料・スワップも確認します。決済履歴と、稼働中の資金状態の記録を組み合わせるのが基本です。
本番前の判断基準

フォワードテストから本番口座へ移すかは、利益額だけで決めません。事前に決めた売買条件を守れたか、観測した損失が許容範囲か、重大な不具合が未解決で残っていないか、必要な相場条件を確認できたかを評価します。データが欠けている場合や取引機会が足りない場合は、不採用と決めつけず「判断保留」とします。
本番へ進む場合も、デモと同じ結果を前提にしないでください。失っても生活に支障が出ない資金と、許容損失に収まるロットを個別に検討し、実口座の約定・コスト・必要証拠金を改めて確認します。最小ロットであっても口座資金に対して大きすぎるなら、開始を見送る判断が必要です。
中断条件も先に決めます。許容する損失額とDDの測定方法、注文重複・数量異常・通信断などの不具合、再開に必要な確認を具体化してください。「バックテストDDの1.5倍以内なら安全」といった固定倍率では、観測方法や相場、資金条件の違いを扱えません。新規注文の停止と、保有ポジションや予約注文の処理は別に決め、停止操作後も実際の口座状態を確認します。
| 確認項目 | 継続を検討できる状態 | 保留・中断して調べる状態 |
|---|---|---|
| 売買機会 | 事前に想定した条件の売買を確認できた | 取引不足、または注文不成立の原因が不明 |
| 損失とDD | 測定方法と個別の許容損失を照合できる | 許容損失へ到達、または有効証拠金の記録不足 |
| ログと挙動 | 重大な不具合が未解決で残っていない | 重複注文、数量異常、停止などの原因が未解決 |
| 比較条件 | 同じEA版・設定・資金条件の区間で比較できる | ロットや入出金が混ざり結果を切り分けられない |
| 本番移行 | 実口座で残る未確認条件を理解し、損失予算を決めた | 直近の利益だけを理由に移行・増額する |
不採用や保留という結論も検証の成果です。どの条件の結果を、どの観測方法で評価したかが残れば、変更版を別の検証として比較できます。バックテストから本番までの工程全体を整理したい場合は、FX自動売買の検証手順を参照してください。この記事では、そのうちフォワード中の観測と集計に重点を置いています。
- 採用・保留・不採用の判断
- 判断理由と気になった弱点
- 改善するなら変更する項目
- 次の検証開始日と条件
EAのフォワードテストのまとめ
EAのフォワードテストは、設定後の相場で売買と運用環境を観察する工程です。デモで動作を確かめながら、残高と有効証拠金を別々に記録し、観測間隔と欠測も残します。日末に見たDDを、日中も含む期間最大DDとして扱わないことが大切です。
開始前には、EA版・設定・口座条件・売買機会・対象相場・許容損失を固定します。入出金やロット変更があれば区間を分け、データ不足なら保留します。決まった期間が過ぎたことや、利益が出たことだけでは、本番へ進む根拠になりません。
本番へ移す場合も、デモで未確認の約定やコストがあると考えてください。新規注文の停止、保有ポジションの対応、再開条件を先に決め、実際の口座状態を確認できる範囲で判断します。検証は将来の利益や損失上限を保証するものではありません。
EAの設定やブローカーを変えた場合は、変更前の結果をそのまま引き継がず、条件を区別して再検証します。残すべき結論は「合格」の一言ではなく、確認したこと、未確認のこと、次に判断する条件です。
- バックテスト後にMT4デモ口座でフォワードテストを行う
- 成績だけでなくログと最大含み損を確認する
- 本番移行前に停止条件とロット基準を決める
- 検証結果は次の改善や不採用判断に活かす
