2赞

357评论

14收藏

MQL4 Reference MQL4命令手册(完整版)

 

评论|共 357 个

EA狙击手

发表于 2013-7-21 17:37:49 | 显示全部楼层

TimeYear
int TimeYear( datetime time)
返回年数为指定的时间。返回值的范围可以在1970 到 2037之间。
参量:
time   -   作为秒钟的数字,从00:00 1970 年1月1 日开始。
示例:
  int y=TimeYear(TimeCurrent());

EA狙击手

发表于 2013-7-21 17:37:55 | 显示全部楼层

Year
int Year( )
返回本年度的年数字,即,服务器的年数时间。
注解: 在测试中, 时间格式为最后设定的服务器模式。
示例:
  // 如果时间范围在2006年1月到4月30日之间,返回。
    if(Year()==2006 && Month()<5)
    return(0);

EA狙击手

发表于 2013-7-21 17:38:08 | 显示全部楼层

File functions文件函数
一组文件运行函数。
三个文件目录(补充指南)放置的地方:
/HISTORY/<current broker> - FileOpenHistory 函数;
/EXPERTS/FILES - 常规状况;
/TESTER/FILES - 专门测试.
来自其他目录的工作文件禁止。
FileClose关闭文件
void FileClose( int handle)
用FileOpen() 函数打开先前已关闭的文件。
参量:
handle   -   用 FileOpen()函数返回句柄。
示例:
  int handle=FileOpen("filename", FILE_CSV|FILE_READ);
  if(handle>0)
    {
     // 运行文件 ...
     FileClose(handle);
    }

EA狙击手

发表于 2013-7-21 17:38:18 | 显示全部楼层

FileDelete删除文件
void FileDelete( string filename)
删除指定的文件名。获得详细的错误信息, 查看GetLastError()函数。
如果他们是在 terminal_dir\experts\files 目录 (terminal_directory\tester\files, 在测试的情况下)或它的补充指南,只删除单个文件。
  int lastError;
  FileDelete("my_table.csv");
  lastError=GetLastError();
  if(laseError!=ERR_NOERROR)
    {
     Print("错误 (",lastError,") 删除文件my_table.csv");
     return(0);
    }
参量:
filename   -   目录和文件名 。
示例:
  //文件 my_table.csv 将从目录terminal_dir\experts\files directory删除

EA狙击手

发表于 2013-7-21 17:38:25 | 显示全部楼层

FileFlush将缓存中的数据刷新到磁盘上去
void FileFlush( int handle)
将缓存中的数据刷新到磁盘上去 。
注解:FileFlush() 函数只有在文件被读或写中显示。
所有关闭的文件会自动从储存缓冲器上删除。所以在调用 FileClose() 函数之前不需要调用 FileFlush() 函数。
参量:
handle   -   用 FileOpen()函数返回的句柄。
示例:
  int bars_count=Bars;
  int handle=FileOpen("mydat.csv",FILE_CSV|FILE_WRITE);
  if(handle>0)
    {
     FileWrite(handle, "#","OPEN","CLOSE","HIGH","LOW");
     for(int i=0;i<bars_count;i++)
       FileWrite(handle, i+1,Open[i],Close[i],High[i], Low[i]);
     FileFlush(handle);
     ...
     for(int i=0;i<bars_count;i++)
       FileWrite(handle, i+1,Open[i],Close[i],High[i], Low[i]);
     FileClose(handle);
    }

EA狙击手

发表于 2013-7-21 17:38:33 | 显示全部楼层

FileIsEnding文件结尾
bool FileIsEnding( int handle)
如果文件指针是在文件的末端,返回逻辑配齐, 否则返回 false。 获得详细的错误信息, 查看 GetLastError() 函数。 如果文件末端在只读期间到达, GetLastError() 函数将返回 错误 ERR_END_OF_FILE (4099)。
参量:
handle   -   用 FileOpen()函数返回的句柄。
示例:
  if(FileIsEnding(h1))
    {
     FileClose(h1);
     return(false);
    }

EA狙击手

发表于 2013-7-21 17:38:40 | 显示全部楼层

FileIsLineEnding
bool FileIsLineEnding( int handle)
如果CSV文件指针是在文件的末端,返回逻辑配齐, 否则返回false. 获得详细的错误信息, 查看 GetLastError() 函数。
参量:
handle   -   用 FileOpen()函数返回的句柄。
示例:
  if(FileIsLineEnding(h1))
    {
     FileClose(h1);
     return(false);
    }

EA狙击手

发表于 2013-7-21 17:38:48 | 显示全部楼层

FileOpen打开文件
int FileOpen( string filename, int mode, void delimiter)
为输入或输出信息打开文件。如果函数失败,返回打开文件或-1 。获得详细的错误信息, 查看GetLastError() 函数。
注解: 文件可能只在terminal_directory\experts\files 文件夹(terminal_directory\tester\files 或在它的子文件夹内被打开。
FILE_BIN和 FILE_CSV 格式不能同时使用。
如果FILE_WRITE 与FILE_READ 不结合, 被打开的文件长度为零。如果还有一些包含数据的文件, 它们将被删除 。如果需要对现存文件添加数据, 必须使用FILE_READ 和 FILE_WRITE文件组合打开 。
如果FILE_READ 与FILE_WRITE 不结合, 仅仅会打开现存文件。如果文件不存在, 可以使用FILE_WRITE 创建。
在一个板块内最多能够同时执行32个文件。
参量:
filename   -   文件名称
mode   -   打开模式。可以是以下的一种或是组合: FILE_BIN, FILE_CSV, FILE_READ, FILE_WRITE。
delimiter   -   csv 文件的限定。默认值为';' 符号。
示例:
  int handle;
  handle=FileOpen("my_data.csv",FILE_CSV|FILE_READ,';');
  if(handle<1)
    {
     Print("未找到 my_data.dat 文件,错误", GetLastError());
     return(false);
    }

EA狙击手

发表于 2013-7-21 17:38:57 | 显示全部楼层

FileOpenHistory历史目录中打开文件
int FileOpenHistory( string filename, int mode, void delimiter)
在当前的历史目录(terminal_directory\history\server_name)或在它的子文件内打开文件 。如果函数失败, 返回文件描述部分或-1 。获得详细的错误信息, 查看GetLastError()函数。
注解: 客户终端可能连接到不同经纪公司的服务器。每个经纪公司的历史数据(HST 文件)会存储在terminal_directory\history 相对应的子文件夹内。
文件在脱机时同样可以打开,不会有数据进入。
参量:
filename   -   文件名称
mode   -   打开模式。可以是以下的一种或是组合: FILE_BIN, FILE_CSV, FILE_READ, FILE_WRITE。
delimiter   -   csv 文件的限定。默认值为';' 符号。
示例:
  int handle=FileOpenHistory("USDX240.HST",FILE_BIN|FILE_WRITE);
  if(handle<1)
    {
     Print("不能创建 USDX240.HST文件");
     return(false);
    }
  // 运行文件
  // ...
  FileClose(handle);

EA狙击手

发表于 2013-7-21 17:39:05 | 显示全部楼层

FileReadArray将二进制文件读取到数组中
int FileReadArray( int handle, void array[], int start, int count)
将二进制文件读取到数组中,返回读取的条数。
获得详细的错误信息, 查看GetLastError() 函数。
参量:
handle   -   用 FileOpen()函数返回的句柄。
array[]   -   写入的数组。
start   -   在数组中存储的开始点。
count   -   读取多少个对象 。
示例:
  int handle;
  double varray[10];
  handle=FileOpen("filename.dat", FILE_BIN|FILE_READ);
  if(handle>0)
    {
     FileReadArray(handle, varray, 0, 10);
     FileClose(handle);
    }

您需要登录后才可以回帖 登录 | 注册 微信登录

EA之家评论守则