
MT4 MT4 実行時エラー
4099
- 定数名
ERR_END_OF_FILE- メッセージ
end of file- 意味
- ファイルの終わりに達した
MT4エラー4099とは
ファイルを読み込んでいて、最後まで読み終わったときに返るコードです。エラーというより「もう読むデータがない」という合図なので、読み込みループの終了条件に使います。
ログの表示例
FileReadString error 4099
「エキスパート」タブまたは「操作履歴」タブに表示されます。数値や表記の細部は、ビルド・ブローカー・EAの作りによって異なります。
MT4エラー4099の主な原因
- ファイルの最後まで読んだあとに、さらに読み込もうとした
- 空のファイルを読み込もうとした
MT4エラー4099の対処法
- 読み込みループは while(!FileIsEnding(handle)) で回す
- ファイルサイズが 0 でないか FileSize() で確認する
コード例(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に組み込むときは、変数名や設定値を合わせてください。












