logファイルで原因を探る

このページに書かれていること

作成したEA・インジケータの挙動がおかしいと思った時は、現象の説明に加えlogファイルを送っていただけると原因を突き止めやすくなります。
※logファイル=MT4の動作を記録したもの

MT4/MT5では
・リアル稼働時の「操作履歴」タブのlog
・リアル稼働時の「エキスパート」タブのlog
・バックテスト時の「操作履歴」タブのlog
それぞれ別の場所に入っています。

このページではそれぞれのlogファイルの取得方法を記載しています。
MT4を使って説明していますがMT5も格納場所は同じです。

リアル稼働時の2種類のログをzip化して送るのが簡単です

※作業を行う前に必ず1度MT4を閉じてください

ログはMetaTraderが終了した時に作成されます、そのためログ取得前に1度MT4/MT5を閉じる必要があります。

操作履歴もエキスパートも△△.logログという名前なので、2種類のログを送る際には一方の名前を全部変更することになります。
また送るファイルを間違えると二度手間になってしまいますので、
原因究明のためにログファイルを送る際はフォルダごとzip化してそのままお送りください。
【手順】
1.MetaTraderの左上タブ「ファイル」→「データフォルダを開く」を選択
2.「logs」フォルダを選択した状態で右クリック
3.「送る」を選択(送信という名前になっていることもあります)
4.圧縮(zip形式)を選択
これでlogs.zipが作成されます
同様の手順でMQL4→Logsフォルダもzip化して両方のzipファイルをお送りください。
logs.zipとLogs.zipを一緒の場所に置こうとすると「既に同じ名前のファイルが存在する」エラーが出ますので、片方のフォルダ名を適当なものに変更してください。


個別にログファイルを出して送ることもできます

~取得手順~
1.MT4の左上「ファイル」→「データフォルダを開く」を選択します


2.データフォルダが開けたらMT4を閉じます
直近に起動してからのlogはMT4を閉じるまで生成されません。
空のlogファイルが送られてくることがよくあります…。

3.「logs」フォルダとMQL4フォルダに分かれてlogファイルが格納されています


4.「logs」フォルダを開いて該当のlogを見つけます



ここにあるのはリアル稼働時の「操作履歴」タブのlogファイルです。
不具合のあった日付.logを送ってください。

5.「MQL4」→「Logs」フォルダの中にあるlogファイルも送ってください



ここにはリアル稼働時の「エキスパート」タブのlogファイルが格納されています。
こちらも不具合のあった日付.logを送ってください。

バックテスト時のログの取得方法

まずは今あるファイルを全削除する

バックテストログは日ごとにまとめられ.logとして残りますが、まずはこれを削除してください。
場所はMT4の左上「ファイル」→「データフォルダを開く」→「tester」→「logs」になります。
方法は全ティックでバクテストした後の擬似ティック・ログ削除の方法を参考にしてください。

再度MT4を開きバックテストする

エラーが起こった時と同じ設定でバックテストをします。
※全ティックだと必要のない情報が大量出てしまう場合があるためテストはコントロールポイントで行ってください。

※最適化はせずに、必ず1回ずつ行ってください。
例えば「フィルターが機能していない」というような場合、
1.ONの時でバックテスト→MT4を閉じる→生成されたlogファイルの名前を適当に変える
2.OFFの時でバックテスト→MT4を閉じる→生成されたlogファイルの名前を適当に変える
という作業を行っていただきます。

※MT4を閉じなければlogファイルが生成されません。
面倒ですが1回ずつテストしてください。