MQL4 起動時のファイルオープン(FileOpen)がエラー error(5004)になる

障害対応

TrimPips障害対応の一覧

ご訪問ありがとうございます。

 

今回は、TrimPipsの修正版についてお伝えします。

 

問題

・MT4起動時に「チェックコードが誤っています」のエラーが表示される

 

こんな風にMT4起動時にエラーメッセージが表示されるとの
問い合わせがありました。

さらにこんなメッセージまで^^

その後、使用できるのですがかなり遺憾です。

 

うーーーーん、当方で再現しないので
原因がわからなかったのですが、ついに判明しました。

MT4起動時に複数通貨でTrimPipsを使用している
状態の場合、TrimPipsがファイルを読み込むと
高確率でエラーが
発生していることがわかりました。

ErrorDescription させると

2022.03.05 09:03:01.793 ファイル読み込み失敗 error(5004): cannot open file

いやいや、「cannot open file」ってなんで失敗やねん???

とりあえず、ちょっと待てばいいのかなとSleep(5000)(5秒)とかに
しましたが、それでも時々エラーとなります。

結果として何回かリトライするようにしました。

同じスリープ時間だと、結局、タイミングが同じに
なるような気がしたので、一応、乱数により
当にスリープし、失敗したら再度スリープ(100回まで繰り返し)

 

 

 

以下のようにエラーなら100回リトライするよう変更しました。

イマイチスッキリしませんが、これで良しとします。

 

ログを見ると3回位失敗して成功することがあるようです。

これにより

TrimPips起動時の初期ファイルの読み込みが正常に行えるようになったので、
ウインドウ位置も保持できるようになりました。

 

ちなみにMQL5版では、エラーになっていなかったのですが
ソースの共通化のために上記ソースでビルドしたところ

‘ErrorDescription’ – undeclared identifier TrimPips.mq5 273 64

のエラーが表示されました。

なので、
#include <ErrorDescription.mqh>

したのですが、

ErrorDescription.mqh

先でもエラーが???

とりあえず、エラー箇所をコメントアウトして
ビルドしました。(うーん、なぜだ)

 

 

 

最後までご覧いただきありがとうございます。

つぎはこちら⇒

TrimPips障害対応の一覧

コメント

タイトルとURLをコピーしました