技術辞典

EAログとは|Expertsログ・Journalログで確認する動作記録の基本

EAファンクラブ

EAログとは、EAがどのように判定し、なぜ注文したか、なぜ注文しなかったか、どの理由で決済したかを確認するための動作記録です。

EAを使う時は、取引履歴だけでは分からないことがあります。たとえば、注文がない場合でも、EAが動いていないとは限りません。スプレッド超過、時間外、証拠金不足、ロット条件、ロジック不成立、最大ポジション到達などにより、EAが発注前に注文を見送っている場合があります。

MT4 / MT5では、EA側の動作を確認するExpertsログと、端末・取引サーバー側の状態を確認するJournalログを分けて見ることが重要です。

この記事では、EAログの基本と、Expertsログ・Journalログで確認したいentry_skip、order_fail、retcode、close_reason、スプレッド、時間設定、バックテスト時の確認ポイントを整理します。

なお、この記事はEAログの意味と確認方法を整理するための内容です。売買判断、推奨ロット、推奨銘柄、推奨エントリー、利益保証を行う内容ではありません。

この記事で確認すること

確認項目内容EA検証で関係する場面
EAログEAの判定、注文、決済、エラーなどの動作記録です。EAが動かない、注文しない、決済しない時の確認に使います。
ExpertsログEAが出力する動作ログです。entry_reason、entry_skip、close_reasonなどを確認します。
JournalログMT4 / MT5端末や取引サーバー側のログです。注文送信、約定、拒否、通信状態を確認します。
retcode注文要求に対する取引サーバー側の結果コードです。注文成功、拒否、価格変動、証拠金不足などを切り分けます。
entry_skipEAが発注を見送った理由です。スプレッド、時間、証拠金、ロジック条件などを確認します。
close_reasonEAが決済した理由です。TP、SL、内部決済、トレーリング、手動決済との違いを確認します。

EAログとは

EAログとは、EAが実行中に出力する動作記録です。

EAが何を判定し、どの条件で注文を出し、どの条件で注文を見送り、どの理由で決済したかを確認するために使います。

ログの種類内容確認する目的
判定ログエントリー条件やフィルター判定の記録です。ロジックが成立したか確認します。
発注ログ注文要求や注文結果の記録です。order_send、retcode、約定有無を確認します。
見送りログ発注しなかった理由の記録です。entry_skip、spread_block、time_blockを確認します。
決済ログ決済理由や決済結果の記録です。close_reason、exit_reasonを確認します。
リスクログ証拠金、ロット、最大DDなどの安全判定です。risk_block、margin_levelを確認します。
診断ログ初期化、設定、口座状態、銘柄仕様などの記録です。EA設置直後や不具合確認で使います。

Expertsログとは

Expertsログとは、EAやインジケーターなどが出力する動作ログです。

EA側の判定、発注条件、決済条件、フィルター結果、リスク制御、設定値、エラー情報などを確認する時に使います。

確認項目内容主な用途
entry_reasonエントリーした理由です。どのロジックで注文したか確認します。
entry_skipエントリーを見送った理由です。注文しない原因を確認します。
spread_blockスプレッド超過で止めた記録です。最大スプレッド設定と現在値を照合します。
time_block時間外で止めた記録です。稼働時間、停止時間、サーバー時間を確認します。
risk_blockリスク制御で止めた記録です。証拠金、ロット、最大ポジション数などを確認します。
close_reason決済理由です。TP、SL、内部決済、トレーリングを分けます。

Journalログとは

Journalログとは、MT4 / MT5端末や取引サーバー側の動作記録です。

EAが注文を送った後、端末やサーバー側でどのように処理されたか、通信状態、注文拒否、約定結果、接続状態などを確認する時に使います。

確認項目内容主な用途
注文送信端末から注文が送られた記録です。EAの注文要求が端末側へ届いたか確認します。
約定結果注文が成立した記録です。約定価格、注文番号、決済結果を確認します。
注文拒否注文が成立しなかった記録です。retcode、reject、trade disabledなどを確認します。
接続状態サーバー接続や通信状態です。通信断、再接続、遅延を確認します。
端末状態MT4 / MT5端末側の状態です。ログイン、VPS、口座切替などを確認します。

ExpertsログとJournalログの違い

ExpertsログとJournalログは、どちらもEA確認で重要ですが、見ている対象が異なります。

項目ExpertsログJournalログ
主な対象EA側の判定や処理です。端末・サーバー側の処理です。
確認できることなぜ注文したか、なぜ見送ったか、なぜ決済したかです。注文が送られたか、約定したか、拒否されたかです。
見る場面EAロジックや設定を確認する時です。注文結果や通信状態を確認する時です。
代表項目entry_reason、entry_skip、close_reason、risk_blockです。order、deal、retcode、connection、trade serverです。
注意点EAがログを出す設計でないと情報が不足します。EA内部の判定理由までは分からない場合があります。

EAが注文しない時に見るログ

EAが注文しない場合、まず「EAが動いていない」のか、「EAは動いているが発注条件で見送っている」のかを分けて確認します。

原因候補確認するログ見る項目
ロジック不成立Expertsログsignal、gate、score、entry_condition
スプレッド超過Expertsログspread_block、current_spread、max_spread
時間外Expertsログtime_block、server_now、time_ok
証拠金不足Expertsログ / Journalログfree_margin、margin_level、retcode
ロット条件不一致Expertsログ / Journalログvolume、min_lot、lot_step、retcode
取引時間外Journalログtrade_allowed、market closed、session
EA停止Expertsログ / 画面表示init、deinit、自動売買ボタン、許可設定

EAが決済しない時に見るログ

EAが決済しない場合も、決済条件が成立していないのか、決済注文が失敗しているのかを分けて確認します。

原因候補確認するログ見る項目
決済条件不成立Expertsログexit_signal、close_check、exit_gate
TP / SL未到達取引履歴 / Expertsログtp_price、sl_price、current_price
内部決済未成立Expertsログinternal_close、close_reason、basket_pl
トレーリング未発動Expertsログtrail_start、trail_update、trail_block
決済注文失敗Expertsログ / Journalログclose_order_fail、retcode、GetLastError
対象ポジション不一致Expertsログmagic、ticket、symbol、basket_scope

retcodeとは

retcodeとは、注文要求に対して取引サーバー側から返る結果コードです。

EAが注文や決済を試みた後、成功したのか、拒否されたのか、価格が変わったのか、証拠金不足なのかを確認するために使います。

確認項目内容確認ポイント
retcode注文結果コードです。数値だけでなく意味も確認します。
commentサーバー側コメントです。ブローカー仕様により表示が異なる場合があります。
GetLastError端末側のエラー情報です。retcodeとは別に確認します。
order_ticket注文番号です。注文要求が作成されたか確認します。
deal_ticket約定番号です。実際に約定したか確認します。
position_ticketポジション番号です。保有状態と履歴を照合します。

発注前ブロックと注文後エラーを分ける

EAが注文していないように見える場合でも、発注前にEAが止めている場合と、注文後にサーバー側でエラーになっている場合があります。

区分状態確認するログ
発注前ブロックEAが注文を送る前に見送った状態です。entry_skip、spread_block、time_block、risk_block
注文要求EAが注文を送った状態です。order_send、request_price、volume
注文後エラーサーバー側で注文が成立しなかった状態です。retcode、order_fail、GetLastError、Journalログ
約定済み注文が成立した状態です。deal_ticket、fill_price、position_ticket
決済済みポジションが閉じた状態です。close_reason、close_price、profit

バックテストで見るEAログ

バックテストでは、最終損益だけでなく、EAログを確認することで、どの条件で注文し、どの条件で注文を見送り、どの理由で決済したかを確認できます。

確認項目内容確認目的
検証条件銘柄、時間足、期間、スプレッドです。ログと結果を再現できるようにします。
初期化ログEA起動時の設定確認です。Inputs、銘柄仕様、口座状態を確認します。
エントリーログ注文条件や発注理由です。entry_reason、entry_skipを確認します。
決済ログ決済条件や決済理由です。close_reason、exit_reasonを確認します。
注文結果ログ注文成功、失敗、約定価格です。retcode、fill_priceを確認します。
リスクログ証拠金、DD、ポジション数です。risk_block、margin_levelを確認します。

バックテスト結果は、将来の結果を保証するものではありません。ログ確認は、EAが指定した条件で過去データに対してどう動いたかを確認するために行います。

運用中に見るEAログ

実運用やデモ運用では、EAログを使って、現在のEAが正常に動いているかを確認します。

確認項目内容見るログ
EA起動EAが正常に初期化されたか確認します。init、RUNTIME_INIT、設定確認ログ
自動売買許可EAが注文可能な状態か確認します。trade_allowed、auto_trading
銘柄仕様point、digits、lot stepなどを確認します。symbol_info、point、digits
注文判定エントリー条件が成立しているか確認します。signal、gate、score
発注結果注文が成功したか確認します。retcode、order_send、deal_ticket
決済管理保有ポジションの決済管理を確認します。close_reason、trail_update、basket_pl

GOLD / XAUUSDで確認したいログ

GOLD / XAUUSDでは、価格単位、スプレッド、ロット、tick valueの見方を誤ると、EAログの解釈もずれる場合があります。

確認項目内容ログで見る項目
point最小価格変動単位です。point、_Point
digits価格表示の小数桁数です。digits
スプレッドBidとAskの差です。spread_points、spread_price
SL / TP幅損切り・利確幅です。sl_points、tp_points、sl_price、tp_price
ナンピン幅追加ポジションまでの距離です。distance_points、next_entry_price
損益価格差による損益です。floating_pl、basket_pl、profit

ナンピンEAで確認したいログ

ナンピンEAでは、初回エントリー、追加ポジション、平均建値、バスケット損益、証拠金維持率をログで確認します。

確認項目内容ログで見る項目
初回エントリー最初の注文です。first_entry、entry_reason、magic
追加判定ナンピン条件です。add_check、nanpin_check、distance_points
追加注文ナンピン注文の結果です。add_order_send、retcode、fill_price
平均建値複数ポジションの平均価格です。avg_price、basket_scope
バスケット損益複数ポジション全体の損益です。basket_pl、basket_close_reason
リスク状態含み損や証拠金維持率です。floating_pl、margin_level、risk_block

コピーEAで確認したいログ

コピーEAでは、コピー元とコピー先のログを分けて確認します。

コピー元で注文が出ていても、コピー先で同じように成立するとは限りません。コピー対象判定、送信、受信、発注、約定、失敗理由を分けて確認します。

確認項目内容ログで見る項目
コピー元注文コピー元で発生した注文です。source_ticket、source_magic、source_time
コピー対象判定コピー対象に含めるかどうかです。copy_filter、include_magic、exclude_magic
送受信コピー情報の送信・受信です。seq、heartbeat、receive_time
コピー先注文コピー先で注文した結果です。dest_order_send、dest_retcode、dest_ticket
ロット変換コピー先でのロット調整です。source_volume、dest_volume、lot_ratio
価格差コピー元とコピー先の約定差です。source_price、dest_price、slippage

ログ量が多い時の注意点

EAログは詳細であるほど確認しやすくなりますが、ログ量が多すぎると重要な情報を見つけにくくなります。

バックテストでは、必要に応じて詳細ログと簡易ログを分けると確認しやすくなります。

ログ設定内容使う場面
詳細ログ判定や状態を細かく出力します。不具合確認、初回検証、原因調査で使います。
簡易ログ重要な結果だけ出力します。長期バックテストや通常確認で使います。
エラーログ失敗や異常だけ出力します。注文失敗、通信不良、設定ミス確認で使います。
集計ログ一定間隔で状態をまとめて出力します。証拠金、ポジション数、損益確認で使います。
初期化ログ起動時の設定や環境を出力します。設置直後、setファイル確認で使います。

ログ確認で保存するもの

保存項目保存する内容
EA名使用したEA名を記録します。
EAバージョン使用したEAのバージョンを記録します。
銘柄検証した銘柄を記録します。
時間足EAを設置した時間足を記録します。
検証期間バックテストや確認期間を記録します。
setファイル使用したEA設定を保存します。
ExpertsログEA側の判定ログを保存します。
Journalログ端末・サーバー側のログを保存します。
取引履歴注文、約定、決済の記録を保存します。

ログ設計とCSV保存を詳しく確認するページ

EAログの意味を確認した後は、実際にどの形式でログを出すか、どの場面でログを残すか、CSVとして保存するかを分けて確認すると、開発依頼や不具合調査がしやすくなります。

確認したい内容関連ページ確認ポイント
ログファースト設計MQL5ログファースト設計を実コードで解説event、side、reason、detailを使って、あとから追跡できるログ構造を確認します。
発注・決済ログMQL5でEAのログ設計を行う方法OrderSend、retcode、GetLastErrorを分けて記録する考え方を確認します。
CSVログ保存MQL5ファイル操作・CSVログ出力完全ガイドCSV出力、保存先、文字コード、ファイル肥大化、バックテスト時の保存先を確認します。

確認順

順番確認項目確認内容
1EA起動ログEAが正常に初期化されたか確認します。
2設定ログInputs、銘柄仕様、口座状態を確認します。
3判定ログentry_reason、entry_skip、signal、gateを確認します。
4発注ログorder_send、request_price、volumeを確認します。
5注文結果ログretcode、GetLastError、deal_ticketを確認します。
6決済ログclose_reason、close_price、profitを確認します。
7Journalログ端末・サーバー側の注文結果や通信状態を確認します。
8取引履歴実際の注文・約定・決済結果と照合します。

実務チェック表

チェック項目確認内容
Expertsログを確認したEA側の判定、発注、決済理由を確認します。
Journalログを確認した端末・取引サーバー側の注文結果や通信状態を確認します。
EA起動ログを確認したEAが正常に初期化されているか確認します。
発注見送り理由を確認したentry_skip、spread_block、time_block、risk_blockを確認します。
注文結果を確認したorder_send、retcode、GetLastError、deal_ticketを確認します。
決済理由を確認したclose_reason、TP、SL、内部決済、トレーリングを確認します。
取引履歴と照合した注文、約定、決済、損益とログを照合します。
setファイルを保存した確認時のEA設定を保存します。
ログ量を確認した詳細ログ、簡易ログ、エラーログを使い分けます。

FAQ

EAログとは何ですか?

EAログとは、EAがどのように判定し、なぜ注文したか、なぜ注文しなかったか、どの理由で決済したかを確認するための動作記録です。

Expertsログとは何ですか?

Expertsログとは、EA側が出力する動作ログです。entry_reason、entry_skip、spread_block、time_block、risk_block、close_reasonなどを確認します。

Journalログとは何ですか?

Journalログとは、MT4 / MT5端末や取引サーバー側のログです。注文送信、約定、拒否、通信状態、接続状態などを確認します。

EAが注文しない時はどのログを見ればよいですか?

まずExpertsログでentry_skip、spread_block、time_block、risk_blockを確認します。注文要求が出ている場合は、Journalログやretcodeも確認します。

EAが決済しない時はどこを確認しますか?

Expertsログでclose_reason、exit_signal、trail_update、basket_plを確認します。決済注文を送っている場合は、retcode、GetLastError、Journalログも確認します。

バックテストでもEAログは確認した方がよいですか?

確認してください。最終損益だけでなく、entry_reason、entry_skip、close_reason、retcode、リスク制御ログを確認すると、EAがどの条件で動いたかを把握しやすくなります。

関連ページ

関連ページ確認目的
FX用語辞典EA・MT4/MT5を使う前に確認したいFX用語全体を確認します。
EAが動かない時に見る基本用語EAが動かない時に確認する自動売買、認証、スプレッド、ログ確認の基本を整理します。
EAの取引履歴とはEAログと取引履歴を照合し、注文・決済・約定の記録を確認します。
バックテストとはStrategy Testerやバックテスト時のログ確認に使います。
スリッページ・約定拒否・リクオートとはretcode、order_fail、約定失敗などのログ確認に使います。
経済指標・取引時間・時間帯とはtime_block、news_block、spread_blockなど、相場環境に関するログ確認に使います。

まとめ

EAログは、EAがなぜ注文したか、なぜ注文しなかったか、なぜ決済したかを確認するための重要な動作記録です。

Expertsログでは、EA側の判定、発注見送り、決済理由、リスク制御を確認します。Journalログでは、端末・取引サーバー側の注文送信、約定、拒否、通信状態を確認します。

EAが動かない、注文しない、決済しない、履歴と結果が合わない場合は、発注前ブロック、注文要求、注文後エラー、約定結果、決済理由を分けて確認してください。

実運用前には、デモ環境やバックテストで、Expertsログ、Journalログ、取引履歴、setファイル、EAバージョン、銘柄、時間足、検証条件を保存しておくことが重要です。

ABOUT ME
記事URLをコピーしました