MT4のエラー通知インジケーター完成(問題点有り)

先週から作っているMT4のログファイルを見て、エラーがあったら通知するインジケーターが完成しました。
ちなみにGitHubで公開してます。
NotificationMT4Error

処理の変更点

先週からの変更点は3箇所

  1. 日付に合わせて読み込むログファイルの名前を動的に生成
  2. 読み込んだログのうち、エラーのものを判別
  3. メール送信処理

1と3は何の変哲もない処理ですので、特に解説は不要かと思います。

2のエラー判定はちょっと特殊でした。
ログファイルを開くと、MT4のログは3つの要素で構成されていました。

<数字> <時刻> <内容> サンプル

0   18:07:07:940   Expert sample GBPJPY,H1: removed

この最初に付いている数字がログの種別を表しているようです。
私が調べたところ0が通常のログ、1と3がエラー、2が発注に関するログのようでした。
1と3の違いはよく分からなかったので、引き続き調べてみます。

今回のインジケーターでは、とりあえずこの数字が1のときに通知するよう作成しました。

問題点

作成して稼働させてみたのはいいのですが、一つ問題点がありました。
どうやらMT4はログが出たときにログファイルに書き込まれるのではなく、ログファイルを開いたときやMT4を終了したときなどに書き込みが行われるようでした。
これだと肝心のリアルタイムにログを取得して通知することができません。

現在はログファイルへの書き込みを強制する方法がないか調査中です。
もし方法をご存知の方がいたら、是非教えてください。

arrow_upward