尝试读取文件时出现 MQL4 错误 5004 和 5002

MQL4 error 5004 and 5002 when try to read file

我正在用 MQL4 编码来读取文件。当我定义文件名并将文件放在指定位置时,它显示错误 5004。但是当我定义路径时,它显示 5002。我去过 MetaTrader 论坛并找到了这个 (https://www.mql5.com/en/forum/7049) 线程。但是还是没有解决。我在这里错过了什么吗?

string filename = TerminalInfoString(TERMINAL_DATA_PATH)+"\MQL4\Files\output.txt";
   Print(filename);
   ResetLastError();
   int file_handle=FileOpen("out.txt", FILE_READ|FILE_TXT);
   //int file_handle=FileOpen(filename, FILE_TXT|FILE_READ);
   //Print(file_handle);
   string up, down, sideway;
   up = down = sideway = 0;
   if (file_handle!=INVALID_HANDLE){
      Print("read");
      up=FileReadString(file_handle);
      down = FileReadString(file_handle);
      sideway = FileReadString(file_handle);
   } else{
      Print("file open error: ", GetLastError());
   } FileClose(file_handle);

int file_handle=FileOpen("out.txt", FILE_READ|FILE_TXT); 表示您的文件夹中有文件 "out.txt",例如C:\Users\User1\AppData\Roaming\MetaQuotes\Terminal9999DEA9630EA94D0715D755974F1D\MQL4\Files\out.txt。如果你在测试器中尝试,路径是 C:\Users\User1\AppData\Roaming\MetaQuotes\Terminal9999DEA9630EA94D0715D755974F1D\tester\files\out.txt 确保您有解决 5002 错误的文件。 可能会发生您成功打开文件一次但在编写代码时无法关闭文件的情况。你现在不能打开它。一种方法是关闭 MT4(它会关闭所有打开的文件),另一种方法是以 SHARE 模式打开文件。 int file_handle=FileOpen("out.txt", FILE_READ|FILE_SHARE_READ|FILE_TXT);