MT4のビジュアルモードでFX自動売買の判定を確認する方法

再生操作と注文照合を表すFX自動売買の検証イメージ

MT4のビジュアルモードは、EAの売買をチャートで再生し、どの条件で注文・決済したかを確かめる機能です。確認したい場面の手前で速度を落とし、一時停止とF12を使い、足の時刻とテスターの結果・操作履歴を照合すると、見た目だけでは分からない判定のずれを追えます。

この記事はWindowsデスクトップ版MT4の標準ストラテジーテスターを対象に、FX自動売買の動作確認を進める方法を解説します。再生ができたことと、売買ルールが正しく実装されていることを分け、一つの取引を入口から出口まで確認しましょう。

この記事のポイント
  • 再生速度と一時停止で確認したい場面を見逃さない
  • F12はローソク足一本ではなく次のティックを進める
  • Skip toは指定日まで可視化を省き、途中の検証は続ける
  • 足の時刻・注文番号・ログをそろえて条件と売買を照合する
目次

MT4のビジュアルモードでFX自動売買を再生する手順

再生用のコントローラーと抽象化したチャートを確認する検証環境のイメージ
検証手順を表す説明イメージです。実際のMT4画面ではありません。

最初に「どの取引の、何を確認するか」を決めます。例えば、移動平均線の上抜けで買うEAなら、上抜けを認識した足、発注した時刻、決済した理由の三点です。何年分もの値動きを漫然と眺めるより、疑問のある一件を選んだ方が、必要な表示と停止する場所が決まります。

EAの説明書や売買ルールから、判断に使う価格、インジケーターの設定、確定足を使うかどうか、同時保有の制限を確認してください。「線が交差したら買い」だけでは、形成途中の交差なのか、足が閉じてからの交差なのかが分かりません。定義が不明なら、画面上の動きだけで正誤を決めず、配布元へ確認する項目に分けます。

すでに結果タブに取引がある場合は、その注文時刻の前後を対象にします。注文がない場合は、ルール上の条件が成立しそうな場面を一つ選びます。利益が出た取引だけを選ぶ必要はなく、想定と異なる注文や、注文しなかった場面も確認対象です。

ビジュアルモードを有効にして開始する

MT4の「表示」から「ストラテジーテスター」を開くか、Ctrl+Rを押します。EA、通貨ペア、時間足、テスト期間、モデル、スプレッドを、確認したい取引を再現したときの条件に合わせます。「最適化」のチェックを外し、「ビジュアルモード」にチェックを入れてから「スタート」を押します。

可視再生が始まるとテスト用のチャートが開きます。普段見ているチャートと区別し、通貨ペア・時間足・再生中の日時が意図したものかを最初に確認しましょう。MT4の表示言語や配布元により項目名が少し異なるため、同じ意味の設定を確認してください。

EAの導入やテスト条件の準備が済んでいない場合は、MT4のEA設定とバックテストの基本手順で先にそろえられます。ここでは、同じ条件を可視再生して売買の中身を確かめる作業に進みます。

再生操作の仕様は、MetaTrader 4公式ヘルプのTesting Visualizationで確認できます。最適化を有効にすると単発のテストとは動作目的が変わるので、条件照合ではオフにします。

再生速度と一時停止を使い分ける

目盛りのないスライダーを調整して再生速度を落とすイメージ
検証手順を表す説明イメージです。実際のMT4画面ではありません。

再生が始まったら、ビジュアルモード付近のスライダーで速度を調整します。対象日のかなり前は速めに進め、確認したい足に近づいたらゆっくりにします。固定の速度を正解と考えず、価格の変化と注文が目で追える速さを選んでください。PCの性能やEAの処理量でも、見やすい位置は変わります。

気になる動きが出たら「||」の一時停止ボタンを押します。同じボタンで再開できるので、値動きを止めた状態で足と売買位置を確認できます。次の変化を少しだけ見たいなら、一時停止を保ったままF12を使います。

「ストップ」はテストを終了する操作です。チャートを読むために少し止めたい場面では、一時停止を使いましょう。終了してからもう一度実行する場合は、選択した条件でテストを開始し直すため、見たい場面へ戻る手間が増えます。

一時停止したら、足の開始時刻と、確認しようとしている注文番号を押さえます。再開後に矢印が増えると隣の取引と取り違えやすいので、見る対象を先に固定するのがコツです。停止するたびに設定を変更せず、まず同じ条件で現象を一度追い切ります。

F12は次のティックを進める

無地のキーと並んだ小さなガラス玉による一段ずつの確認イメージ
検証手順を表す説明イメージです。実際のMT4画面ではありません。

ビジュアルテストのF12は、次のモデルティックを表示する操作です。一時停止中にも使えます。「一回押すとローソク足が必ず一本進む」という意味ではありません。同じ足の中で価格が更新されることもあり、何回か押してから新しい足になる場合もあります。

通常チャートのショートカット説明では、F12を足一本分のスクロールとして紹介していることがあります。過去チャートの表示移動と、実行中のテスターを次のティックへ進める操作は、場面を分けて理解してください。キーを押しても新しい足が出ないだけで、故障とは判断できません。

判定が変わりそうな位置で止め、F12を一度押した後に価格、インジケーター表示、注文の有無を確認します。連打すると途中の変化を見失うので、最初は一操作ごとに観察しましょう。確定足だけで判定するEAでも、どのティックで新しい足を認識したかという観点は残ります。

足送りを速くしたいという理由だけで、テストのモデルを「始値のみ」へ変えるのは避けます。モデルが変われば、足の途中で判定するEAやストップ注文の検証条件も変わります。見た目の操作感より、確認したい売買ルールを検証できる条件を優先します。

Skip toで確認日の手前まで進む

木製ブロックの経路で確認区間の手前を示したイメージ
検証手順を表す説明イメージです。実際のMT4画面ではありません。

見たい日まで距離があるときは、「Skip to」またはスキップ欄に対象日を指定して進めます。これは指定日までテスト計算を飛ばす操作ではありません。途中の可視化を止め、テスターが指定日に到達したら表示が再開する仕組みです。途中で発生する売買も検証の流れに含まれます。

例えば水曜日の午後に発生する取引を見たいなら、その日の前、または十分手前の日付まで進め、そこから速度を下げます。日付指定だけで狙った秒の直前へ必ず止まれるとは考えず、対象場面へ近づくための移動として使うと扱いやすくなります。

スキップ中に画面が動かなくても、まず処理の進行と操作履歴を確認します。可視化を省略している時間なのか、データ処理に時間がかかっているのか、エラーで終了したのかを区別しましょう。画面が更新されないという一つの現象だけで、停止ボタンを繰り返し押さないことが大切です。

対象を通り過ぎた場合は、条件をそろえて再実行します。チャートを左へ動かせば過去の表示を読めますが、その操作をEAの判定や保有状態まで巻き戻す機能として使うことはできません。再確認したい区間は、あらかじめ余裕を持って手前から見ると手戻りを減らせます。

表示を整えてもテスト条件は変えない

可視チャートには、売買ルールを確認するためのインジケーターを必要な範囲で表示します。移動平均線なら期間だけでなく、計算方法、適用価格、シフトなどもEAの仕様に合わせます。線の色だけを似せても、設定が違えば交差した位置は一致しません。

目視用に追加した線は、EAが内部で参照している値そのものとは限りません。EAが一つ前の足を読んでいるのに、現在足の線を比較すると、同じ設定でも違って見えることがあります。カスタム指標を使う場合も、何の値を判定しているかを説明書などで確認します。

比較する二回のテストでは、表示色や拡大率を調整しても、EAの入力値やテスト条件はそろえます。表示を変えた際にテンプレート等が別の設定へ影響していないかも確認してください。疑問を再現してから一項目ずつ変えると、変化の理由を追いやすくなります。

MT4のビジュアルモードで条件成立から決済まで照合する方法

条件成立から注文と決済へつながる三段階の照合イメージ
検証手順を表す説明イメージです。実際のMT4画面ではありません。

確定足の時刻と発注時刻を分けて見る

ローソク足に付く時刻は、その足の開始時刻です。15分足なら、10時00分の足は10時00分から始まる区間を表します。その足が閉じたことを使うEAでは、次の足が始まる側のティックで条件を確認し、注文する設計が考えられます。チャート上の足の時刻と注文時刻が違っても、それだけで遅延とは限りません。

まず「どの足の値を条件に使うか」を決め、次に「いつその条件を判定するか」を確認します。MQL4の時系列では、インデックス0は現在形成中の足で、1は一つ前の足です。確定足と説明されていても、実装がどのインデックスを使うかで比較対象が変わります。

無地の時計とブロックで足の時刻と処理時刻の違いを表すイメージ
検証手順を表す説明イメージです。実際のMT4画面ではありません。

時刻の扱いはMQL4公式のTime配列にも説明があります。チャートの表示時刻を日本時間へ思い込みで換算せず、同じテスト内の足、結果、EAが出したログを同じ時間基準で照合してください。

形成途中の足で一度だけ成立した条件は、足が閉じた後には見えなくなることがあります。完成後のチャートだけを見て「条件がないのに買った」と決める前に、該当場面を再生し、EAが判定する瞬間の値を確かめる必要があります。

条件成立と注文成功を分けて確認する

照合作業は「条件が成立した」「発注を試みた」「注文が成立した」の順に分けます。チャートの矢印だけで三つをまとめて判断しないでください。EAに最大保有数、時間帯、スプレッドなどの追加条件があれば、指標の条件を満たしても発注しない設計があり得ます。

次は説明用の仮例です。USDJPYの15分足で、一つ前の確定足の終値が基準線を上抜け、保有がなければ買うEAを考えます。基準線の計算方法や追加条件は確認済みという前提で、10時00分の足の確定から10時15分以降の処理を追います。実在するEAの成績や実測値を示す例ではありません。

スクロールできます
照合する場面確認する内容食い違ったときの次の確認
10時00分の足が形成中一時的な上抜けか、確定後も条件が残るかEAが現在足と確定足のどちらを参照するか
10時15分以降の最初の判定前の足の条件と追加条件がそろったか保有数や時間帯などの判定対象
発注を試みた後結果に注文があるか、失敗理由が出たか注文番号またはエラー内容
決済した場面同じ注文が何の理由で閉じたかS/L・T/P・EA独自決済・終了処理の区別

10時15分の新しい足が出たところで止め、F12で進めながら結果と操作履歴を照合します。条件成立のログはあるのに結果へ注文が追加されないなら、条件を再調整する前に注文処理の結果を調べます。逆に条件成立の根拠が取れなければ、注文エラーを推測する段階ではありません。

同じ例で、結果の注文時刻が10時15分03秒だったとしても、足のラベルが10時15分00秒だから三秒遅れた、と直ちには判定しません。条件を評価したティックの時刻と発注処理を対応させます。一方、次の足が始まってから判定する仕様なのに、10時00分の足が形成中に買っていれば、参照する足や判定のタイミングを調べる理由になります。

配布EAに判定ログがない場合、チャートだけで内部の分岐を確定できないことがあります。そのときは「注文の発生は確認できたが、内部条件は未確認」と分け、該当の足時刻、設定、期待した動作をそろえて配布元へ問い合わせると話が具体的になります。

注文番号で発注から決済を追う

一本の糸で同じ注文の経過を追う照合イメージ
検証手順を表す説明イメージです。実際のMT4画面ではありません。

テスターの「結果」には取引時刻、種類、注文番号、数量、価格などが並びます。複数の取引が近接している場合は、時刻だけでなく同じ注文番号を追いましょう。行の先頭の連番と注文番号は別の情報なので、行が増えたことを新しいポジションの数と同一視しないようにします。

最初に対象の注文番号を決め、発注、S/LやT/Pの変更、決済がどうつながるかを読みます。決済後の矢印だけを見ていると、途中でストップが変更されたことや、別の注文の決済を見落とすことがあります。チャートで位置を把握し、結果で取引を特定する役割分担が便利です。

操作履歴は、テスター内の「操作履歴」またはJournalを確認します。普段の取引画面のログと取り違えず、今回実行したEAの開始、注文処理、エラー、終了付近のメッセージを読んでください。EA独自のログがある場合は、その行が示す取引対象や時刻も照合します。

「結果」の列の意味はMetaTrader 4公式のテスト結果で確認できます。利益の大小を読む前に、一つの注文を対応付けるために必要な列を使います。

例えば注文番号が同じで、最初の行にbuy、後の行にmodify、その後にs/lがあるなら、まずその三行を一組として読みます。最初に置いたストップ位置と、変更後の位置を見比べることで、最終的な決済だけでは分からない経過を確認できます。表記や記録の有無はEAの実装と処理に依存するため、行がない部分を想像で補わないでください。

テストの最後に閉じられた取引も区別しましょう。終了日まで保有した注文の処理を、売買ルールが狙って行った決済として説明すると、出口の検証がずれます。結果の種類と終了直前のログを見て、EA独自の決済なのか、テスト終了に伴う処理なのかを確認します。

価格のずれはBidとAskを確認してから判断する

チャートで見た価格と買い注文の価格が一致しないときは、比較している価格の種類を確認します。MT4の価格履歴はBidを基準にしており、Ask側にはテストのスプレッド条件が関わります。買いの発注ではAskを使うため、Bidの線や足だけと比べると差が見えることがあります。

判断する順番は、売りか買いか、発注か決済か、どちらの価格側を見る場面か、テストのスプレッドはいくつか、です。違いをすべてスリッページと呼ばず、最初に同じ価格を比べているかをそろえます。

発注関数の価格の扱いはMQL4公式のOrderSendでも確認できます。個別EAの実装を知らない状態で差の原因を一つに決めず、価格側と条件をそろえた後に残る疑問を調べましょう。

また、同じ足の高値と安値が分かっても、その間にどの順で価格へ到達したかを完成した足だけから確定できるとは限りません。利確と損切りの両方へ届くように見える足は、再生と結果で処理順を確認します。ただし、モデル化された値動きが実際の全約定を再現した証拠になるわけではありません。

動かないときは再生と注文を分けて調べる

別々の機構を観察して原因を切り分けるイメージ
検証手順を表す説明イメージです。実際のMT4画面ではありません。

「動かない」は、画面の更新がない場合と、チャートは動くのに注文がない場合を分けます。前者なら一時停止中か、速度が極端に遅いか、Skip toの途中か、初期のデータ処理中かを確認します。後者なら、再生自体は進んでいるので、条件と注文処理を調べる段階です。

ビジュアルモードの欄が見えない場合は、テスター部分の高さを広げ、項目が隠れていないかを確認します。次にEAをテストする設定か、最適化が有効になっていないかを見直します。表示場所を探す作業と、注文の可否を変える設定変更を混ぜないようにしましょう。

スクロールできます
いま見える状態まず見る場所次の行動
足も価格も更新されない一時停止、速度、Skip to、操作履歴停止状態を確認し、進行中か終了済みかを判別
足は進むが注文がない対象の足とEAの追加条件条件がそろう場面を一つに絞って再生
発注を試みたログだけある注文処理の返り値やエラー具体的な失敗理由に合わせて設定を照合
一瞬でテストが終わる対象期間、速度、データや初期化のログ終了理由を確認し同じ条件で再実行

発注失敗が示されている場合でも、いきなりロットや取引許可をまとめて変更しないでください。OrderSendでは、失敗時の戻り値とエラー取得を区別しています。ログに出ている根拠から、注文価格、数量、資金条件など、該当する項目へ絞って確認します。

確認後に再実行するときは、一つの疑問に対して一項目だけ条件を変えます。変更前後で同じ取引場面を見れば、何が注文の発生や時刻に影響したかを追いやすくなります。理由が分からないまま取引が出るまで設定を緩めると、元の問題が解決したかを判断できません。

通知や外部連携まで動作確認済みにしない

MT4のストラテジーテスターでは、Alert、SendMail、SendNotification、WebRequestなどの外部とのやり取りを行う関数は実行されません。ビジュアルモードにしただけで、通知や外部サービス連携まで本番と同じように検証できるわけではありません。

EAが画面に売買を表示しても通知が届かない場合、すぐに通知設定の故障と決めず、テスターの制約を先に確認します。詳細はMQL4公式のテスター実行時の制約にまとめられています。ここで確認できた売買処理と、別環境での確認が必要な機能を分けましょう。

特に外部データを使うEAでは、可視チャートが動くことだけをもって通常運用と同じ入力が届いたと判断しないことが大切です。配布元が用意したテスト方法やテスト用データの有無を確認し、制約を回避できている根拠がない機能は未確認として残します。

MT4のビジュアルモードで確認した内容を次につなげる

確認の区切りは、矢印を見つけた時点ではなく、条件に使った足、発注時刻、注文番号、決済理由が一本につながった時点です。期待した動きと実際の動きを比べ、内部条件まで確認できた部分と、表示・ログが足りず確定できない部分を分けます。

売買の中身に疑問がなくなったら、MT4のEAバックテスト結果を指標から判断する方法へ進み、損益やリスクを別の観点で評価します。可視再生で一件の動作が正しく見えたことは、長期成績や将来の利益を保証するものではありません。

まずは対象の取引を一つ選び、手前まで進め、速度を落として止め、結果とログで照合してください。この順番を決めておくと、EAが注文しない場合も、想定外の売買をする場合も、次に確認する場所が明確になります。

よかったらシェアしてね!
目次