FileOpenHistory
FileOpenHistory
打开当前历史目录(terminal_directory\history\server_name)或其子文件夹中的文件。
int FileOpenHistory(
int filename, // file name
int mode, // open mode
int delimiter=';' // delimiter
);参数
- filename
[in] 文件名。
- mode
[in] 文件打开模式。可以是以下值之一或组合:FILE_BIN, FILE_CSV, FILE_READ, FILE_WRITE, FILE_SHARE_READ, FILE_SHARE_WRITE。
- delimiter=’;’
[in] csv文件的分隔符。默认情况下,将使用‘;’符号。
返回值
返回打开文件的文件句柄。如果函数失败,返回值为-1。要获取详细的错误信息,请调用GetLastError()函数。
注意
客户端终端可以连接到不同经纪公司的服务器。每个经纪公司的历史数据(HST文件)存储在terminal_directory\history文件夹的相应子文件夹中。该函数可用于为非标准符号和/或时期生成自己的历史数据。存储在历史文件夹中的文件可以在离线状态下打开,无需数据泵送即可进行图表绘制。
在新的MQL4中,打开文件时应为共享使用明确指定FILE_SHARE_WRITE和FILE_SHARE_READ标志。如果省略这些标志,文件将以独占模式打开,且直到打开它的用户关闭文件之前,其他用户无法打开它(参见“New MQL4中的离线图表”)。
示例:
int handle=FileOpenHistory("USDX240.HST",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ);
if(handle<1)
{
Print("Cannot open file USDX240.HST");
return(false);
}
// work with file
// ...
FileClose(handle);最后更新于