MT4でcannot open fileエラーが出たときの対処法

EAやインジケーターをチャートに入れても動かないときは、「ターミナル」の「エキスパート」タブを開いてみましょう。

もしかすると、「cannot open file 〜」とエラーが出ているかもしれません。

なぜ発生するのか?

cannot open fileはプログラムが別のファイルを呼び出す際に、そのファイルを呼び出せなかったときに発生します。

例えば他のカスタムインジケーターの計算結果を呼び出して、取引やシグナルの条件に使用している場合があります。

呼び出したいカスタムインジケーターが、同じMT4内に入っていないと正しく呼び出すことができず、エラーが発生します。

カスタムインジケーター以外にも、dllファイルやライブラリーファイルが呼び出せない場合にも発生します。

対処法

エラーが発生した場合、まずはエラー内容を確認しましょう。

「cannot open file 〜」といった具合に、cannot opne fileの後ろに呼び出そうとしたファイル名が表示されます。

例えば下記のような感じです。

cannot open file 'C:\Users\ユーザー名\AppData\Roaming\MetaQuotes\Terminal\長い英数字\MQL4\indicators\sample.ex4' [2]

最初はデータフォルダへのパスが表示されます。

上の例ですと、以下の部分までがデータフォルダへのパスになります。

C:\Users\ユーザー名\AppData\Roaming\MetaQuotes\Terminal\長い英数字

後ろの部分、MQL4以降が重要です。

上の例の場合ですと、Indicatorsフォルダからsample.ex4を呼び出せなかったようです。

このファイルを入手して、Indicatorsフォルダへ保存すればエラーはでなくなります。

購入したプログラムの場合は、商品に同梱されていないか確認しましょう。

無料で配布されているプログラムの場合は、同じく無料で配布されている場合がありますので、Googleなどで検索してみてください。

無事入手できたらエラーに記載のフォルダに保存してあげればエラーが解消されます。

よくあるミス

ファイル名のミス

もしファイル名を変更している場合、それが原因で呼び出せなくなっている可能性があります。

MQL4では呼び出すファイルを、ファイル名で厳密に区別しているので、ちょっと変えただけでも呼び出せなくなります。

その場合はもとのファイル名に戻しましょう。

新しくインストールしたMT4で動かない場合

新しくインストールしたMT4でこれまで使っていたEA・インジケーターが動かなくなった場合、cannot open fileエラーが出ている可能性があります。

これは目的のEA・インジケーターだけファイルを移行して、関連するファイルが移行されていない為です。

MQL4では同じMT4内に保存されているファイルを呼び出すので、新しくインストールしたときは依存しているファイルも一緒に移行しないとエラーが出ます。

まとめ

「cannot open file 〜」のエラーが出た場合は、エラー内容を確認して不足しているファイルを特定しましょう。

不足しているファイルを同じMT4内に保存することで、プログラムは正しく動作します。

arrow_upward