MQL4 Reference File Functions FileOpenHistory


Opens file in the current history directory (terminal_directory\history\server_name) or in its subfolders.

int  FileOpenHistory(
   int       filename,       // file name
   int       mode,           // open mode
   int       delimiter=';'   // delimiter



[in]  File name.


[in]  File open mode. Can be one or combination of values: FILE_BIN, FILE_CSV, FILE_READ, FILE_WRITE, FILE_SHARE_READ, FILE_SHARE_WRITE.


[in]  Delimiter for csv files. By default, the ';' symbol will be passed.

Returned value

Returns the file handle for the opened file. If the function fails, the returned value is -1. To get the detailed error information, call the GetLastError() function.


Client terminal can connect to servers of different brokerage companies. History data (HST files) for each brokerage company are stored in the corresponding subfolder of the terminal_directory\history folder. The function can be useful to form own history data for a non-standard symbol and/or period. The file formed in the history folder can be opened offline, not data pumping is needed to chart it.

In the new MQL4, FILE_SHARE_WRITE and FILE_SHARE_READ flags should explicitly be specified for shared use when opening files. If the flags are absent, the file is opened in exclusive mode and cannot be opened by anyone else till it is closed by the user who opened it (see "Offline Charts in the New MQL4").


     Print("Cannot open file USDX240.HST");
  // work with file
  // ...