
MT4 MT4 実行時エラー
4103
- 定数名
ERR_CANNOT_OPEN_FILE- メッセージ
cannot open file- 意味
- ファイルを開けない
MT4エラー4103とは
FileOpen() でファイルを開けなかったときのエラーです(旧仕様のコード。新しいビルドでは 5004 が返ることが多い)。MQL4 がアクセスできるのは MQL4\Files フォルダの中だけという制限を知らないと、よくつまずきます。
ログの表示例
FileOpen error 4103
「エキスパート」タブまたは「操作履歴」タブに表示されます。数値や表記の細部は、ビルド・ブローカー・EAの作りによって異なります。
MT4エラー4103の主な原因
- MQL4\Files(バックテスト中は tester\files)以外の場所のファイルを開こうとした
- Excel などほかのソフトでファイルを開いたままにしている
- 存在しないファイルを読み込みモードで開こうとした
MT4エラー4103の対処法
- ファイルは「データフォルダ」→ MQL4\Files に置き、ファイル名だけを指定する
- ほかのソフトでファイルを閉じる
- 複数のMT4で共有したいときは FILE_COMMON フラグで共通フォルダを使う
コード例(MQL4)
// MQL4\Files 内の CSV を読む(エラー4103・5004 対策)(MQL4)
void ReadCsv()
{
string name = "signals.csv"; // フルパスではなく、MQL4\Files からの相対パス
if(!FileIsExist(name))
{
Print(name, " が MQL4\\Files にありません");
return;
}
int h = FileOpen(name, FILE_READ | FILE_CSV | FILE_SHARE_READ, ',');
if(h == INVALID_HANDLE)
{
Print("FileOpen error ", GetLastError());
return;
}
while(!FileIsEnding(h)) // 最後まで読んだら終了(4099 を出さない)
{
string col1 = FileReadString(h);
Print(col1);
}
FileClose(h);
}MetaEditor(MT4)でコンパイルできることを確認済みです。自分のEAに組み込むときは、変数名や設定値を合わせてください。












