XAUXXジャーナル
← ジャーナルに戻る

EAの動作異常をどう切り分けるか:まずMT4ログを保存し、その後で設定を変更する

ExpertsとJournalを区別し、異常発生時の現場を保存し、発動、権限、約定結果を照合し、再起動やパラメータ変更で本当の原因を覆い隠すことを避ける。

Thomas · 更新日 2026-10-05

作者:トーマス|EAとプラットフォーム実務|2026年10月5日

EAが突然取引しなくなった、重複注文が発生した、または再起動後の挙動が期待と異なる場合、最も起こりやすい誤りは、すぐにパラメータを変更し、プログラムを再インストールし、それから問題がどこにあるかを推測することです。これにより、最も価値のある現場情報を上書きしてしまう可能性があります。トラブルシューティングでは、まず証拠を保存し、次にプログラム、ターミナル、口座の各レベルに分けて原因を切り分けるべきです。

まず異常発生の前後の記録を保存する

異常が現れた時刻、完全な取引シンボル、チャート期間、EAバージョン、パラメータファイル、およびその時点の口座ポジションを記録します。ここでの時刻には、パソコンの時刻、取引サーバーの時刻、または自身で換算した北京時間のいずれを使用しているかを必ず明記し、異なる時計の記録をそのまま連結しないでください。

ログにはプログラムのすべての意思決定過程が含まれるとは限りません。開発者が出力していない情報について、「エラーが出ていない」というだけでは正常に実行されたと推測できません。前後につながる記録を残すことは、単一のエラー画面のスクリーンショットよりも、事象の順序を判断するのに役立ちます。公開したりサポート担当者に送信したりする前に、アカウント、個人情報、その他の機密内容が含まれていないか確認してください。

ExpertsとJournalは、それぞれ何を見るか

MT4のExpertsタブは主に、すでにアタッチされたEAの動作情報を表示します。これにはプログラム自身のメッセージや関連する操作記録が含まれます。Journalタブは、クライアントターミナルの現在のセッションにおける活動に重点を置きます。同じ異常を調べる際、2か所の情報を照合できますが、どちらか一方を完全な約定の証拠と見なしてはいけません。

対応するタブの右クリックメニューでOpenを使用すると、関連するログディレクトリを開き、現在表示されている記録をログファイルに書き込むことができます。公式ヘルプによると、EAログはターミナルデータディレクトリ配下のMQL4/LOGSにあり、ターミナルログはLOGSにあります。ファイルは通常、日付ごとに命名されます。インストールインスタンスごとにデータディレクトリが異なる場合があるため、使用中のターミナルから入り、別のターミナルのファイルを誤って取得しないようにしてください。

まず判断する:発動していないのか、発動後に約定していないのか

「新しい注文がない」は、少なくともいくつかの異なる状態に対応する可能性があります。戦略条件が満たされていない、プログラムが正常にロードされていない、自動売買権限が制限されている、取引リクエストが拒否された、リクエスト結果が期待と異なる、などです。チャート上のプログラム表示だけを見て、どれに当たるかを直接判断することはできません。

まず戦略の元のルールに基づき、指定されたシンボルと期間で本当に発動すべきかを確認します。次に、関連する時間帯にロード、初期化、または取引操作の情報があるか確認します。取引リクエストが存在する場合は、返されたメッセージと口座の注文記録を照合して結果を確認し、プログラムが出力した文字だけを根拠に約定成功と判断してはいけません。ログに重要な手順が欠けている場合は、開発者に記録の追加を求めてください。

権限チェックは項目ごとに対応させ、すべて開かない

MT4ターミナル設定とEA自体のプロパティは自動売買権限に影響します。口座、チャートシンボル、期間などの変更も、ターミナルの自動売買設定と関係している場合があります。現在の実際の設定を照合し、プログラムの説明と合わせて期待される動作を判断してください。ボタンを何度もクリックすることをトラブルシューティングの代わりにしてはいけません。

プログラムを取引開始させるために、DLL呼び出しやその他の外部アクセスを無条件に開放しないでください。まず、プログラムが本当にその機能を必要としているか、提供元が信頼できるか、用途が明確に説明されているかを確認してください。権限不足がどこかの段階の原因である可能性はありますが、すべての権限を開放することは信頼できる解決方法ではありません。

再起動の前に、既存ポジションをどう扱うか確認する

現在の注文、ペンディング注文、プログラム状態を保存したうえで、再起動するかどうかを決定します。プログラムを再起動したときに既存の注文を認識するかどうかは、具体的な実装に依存します。すべてのEAが元の内部状態を自動的に復元できると仮定してはいけません。特に、追加建てや複数注文管理のロジックを備えたプログラムでは、重複起動が既存ポジションと衝突する可能性があるため、プログラムのルールに基づいて確認する必要があります。

自動売買をオフにすることは、既存ポジションが決済済みであることを意味しませんし、「プログラム停止」をリスクが消えたことと解釈してもいけません。既存注文の扱い方は事前に決めておくべきで、異常が起きてからその場で推測してはいけません。プログラムが異常注文を生成している疑いがある場合は、あらかじめ定めた一時停止と手動確認の流れに従って処理し、同時に口座上の実際のエクスポージャーを確認してください。

単一の変化で修正結果を検証する

シミュレーション環境は、操作の再現とプログラムの挙動確認に使用できますが、実口座の約定条件が完全に同じであることを証明するものではありません。毎回、明確な要因を1つだけ変更し、変更前後のパラメータとログを保存してから、関連する異常が消えたか観察します。バージョン変更、パラメータ変更、口座変更を同時に行うと、どの手順が作用したかを特定するのが通常は難しくなります。

有効なトラブルシューティング記録には、現象、時刻、証拠、変更内容、再確認結果を記載するべきです。説明できない異常は、引き続き開発者またはプラットフォームサポートに確認を求めてください。「取引が再開した」で原因分析を置き換えたり、技術的な修正を収益保証として書いたりしないでください。

レバレッジ取引は重大な損失をもたらす可能性があります。本記事は運用保守の知識共有を目的としており、売買指示を構成するものではありません。ログ調査は問題の特定に役立ちますが、プログラムの安全性、戦略の有効性、将来の収益を保証するものではありません。

リスクに関する注意:レバレッジ取引は大きな損失を引き起こす可能性があります。内容は研究および教育目的であり、リターンを保証するものではありません。過去の実績は将来の結果を予測するものではありません。