MQL4 Reference MQL4命令手册(完整版)
FileReadDouble从文件中读取浮点型数据
double FileReadDouble( int handle, void size)
从文件中读取浮点型数据,数字可以是8byte的double型或者是4byte的float型。
获得错误信息,请查看GetLastError() 函数。
参量:
handle - 用 FileOpen()函数返回的句柄。
size - 数字格式大小,DOUBLE_VALUE(8 bytes) 或者 FLOAT_VALUE(4 bytes)。
示例:
int handle;
double value;
handle=FileOpen("mydata.dat",FILE_BIN);
if(handle>0)
{
value=FileReadDouble(handle,DOUBLE_VALUE);
FileClose(handle);
}
|
|
|
|
|
FileReadInteger从当前二进制文件读取整形型数据
int FileReadInteger( int handle, void size)
函数从当前二进制文件读取整形型数据,数字可以是1,2,4byte的长度 。如果格式大小不被指定, 系统设法读4 字节的值。获得详细的错误信息, 请查看GetLastError() 函数。
参量:
handle - 用 FileOpen()函数返回的句柄。
size - 数字格式大小,CHAR_VALUE(1 byte), SHORT_VALUE(2 bytes) 或者 LONG_VALUE(4 bytes)。
示例:
int handle;
int value;
handle=FileOpen("mydata.dat", FILE_BIN|FILE_READ);
if(handle>0)
{
value=FileReadInteger(h1,2);
FileClose(handle);
}
|
|
|
|
|
FileReadNumber
double FileReadNumber( int handle)
从当前文件位置在符号之前读取数字。只能为CSV 文件。
获得详细的错误信息, 查看 GetLastError()函数。
参量:
handle - 用 FileOpen()函数返回的句柄。
示例:
int handle;
int value;
handle=FileOpen("filename.csv", FILE_CSV, ';');
if(handle>0)
{
value=FileReadNumber(handle);
FileClose(handle);
}
|
|
|
|
|
FileReadString从当前文件位置读取字串符
string FileReadString( int handle, void length)
函数从当前文件位置读取字串符。适用于CSV 和二进制文件。在文本文件中字串符在符号之前被读取。对于二进制文件, 被测量的计数将读取字串符。获得详细的错误信息, 查看GetLastError()函数。
参量:
handle - 用FileOpen()返回的句柄。
length - 读取字符串长度 。
示例:
int handle;
string str;
handle=FileOpen("filename.csv", FILE_CSV|FILE_READ);
if(handle>0)
{
str=FileReadString(handle);
FileClose(handle);
}
|
|
|
|
|
FileSeek文件指针移动
bool FileSeek( int handle, int offset, int origin)
在字节上函数移动文件指针是垂距的,从开始的一个新的位置指向末端或者当前文件位置。 接下来读取或写入放置在一个新位置。
如果文件指针成功地被移动了,函数返回 TRUEe, 否则,它返回 FALSE. 获得详细的错误信息,查看 GetLastError() 函数。
参量:
handle - 用 FileOpen()函数返回的句柄。
offset - 设置的原点。
origin - 最初的位置。 值可以是以下任意常数:
SEEK_CUR - 当前位置,
SEEK_SET - 开始位置
SEEK_END - 结束位置。
示例:
int handle=FileOpen("filename.csv", FILE_CSV|FILE_READ|FILE_WRITE, ';');
if(handle>0)
{
FileSeek(handle, 0, SEEK_END);
//----在文件末端添加数据
FileWrite(handle, data1, data2);
FileClose(handle);
handle=0;
}
|
|
|
|
|
FileSize文件大小
int FileSize( int handle)
函数返回文件大小字节。获得详细的错误信息,查看GetLastError() 函数。
参量:
handle - 用 FileOpen()函数返回的句柄。
示例:
int handle;
int size;
handle=FileOpen("my_table.dat", FILE_BIN|FILE_READ);
if(handle>0)
{
size=FileSize(handle);
Print("my_table.dat 大小为 ", 大小 " bytes");
FileClose(handle);
}
|
|
|
|
|
FileTell文件指针的当前位置
int FileTell( int handle)
返回文件指针的当前位置。获得详细的错误信息,查看GetLastError() 函数。
参量:
handle - 用 FileOpen()函数返回的句柄。
示例:
int handle;
int pos;
handle=FileOpen("my_table.dat", FILE_BIN|FILE_READ);
// 读取数据
pos=FileTell(handle);
Print("current position is ", pos);
|
|
|
|
|
FileWrite写入文件
int FileWrite( int handle, ...)
该函数的目的是便于书写的数据转换为CSV格式文件,自动插入限定符。在写入文件后,每行的尾端将会添加"\r\n" 符号。数字将会被转变成文本(查看Print() 函数)。
如果生成错误,返回书写字或负值的计数。
获得详细的错误信息,查看GetLastError() 函数。
参量:
handle - 用 FileOpen()函数返回的句柄。
... - 写入的数据,由逗号分离。 它可以是63个参量。当他们作为整数时,int数据和双重类型自动地被转换成串,但不自动转换颜色、日期-时间和bool typesare和写出的文件。数组无法作为参量
示例:
int handle;
datetime orderOpen=OrderOpenTime();
handle=FileOpen("filename", FILE_CSV|FILE_WRITE, ';');
if(handle>0)
{
FileWrite(handle, Close[0], Open[0], High[0], Low[0], TimeToStr(orderOpen));
FileClose(handle);
}
|
|
|
|
|
FileWriteArray一个二进制文件写入数组
int FileWriteArray( int handle, object array[], int start, int count)
函数给一个二进制文件写入数组。一些int、bool、日期-时间和颜色类型书面元素作为4字节整数。 一些双重类型书面元素,作为8字节浮动小数点数字。一些字串符类型将自动地在每串末尾添加符号 "\r\n" 。
如果错误生成,返回书写字或负值的计数。 获得详细的错误信息,查看 GetLastError()函数。
参量:
handle - 用 FileOpen()函数返回的句柄。
array[] - 写数组。
start - 在数组内(第一个书面元素数字)开始索引。
count - 书写字的计数。
示例:
int handle;
double BarOpenValues[10];
// 复制前十个柱到数组
for(int i=0;i<10; i++)
BarOpenValues[i]=Open[i];
// 写入数组到文件
handle=FileOpen("mydata.dat", FILE_BIN|FILE_WRITE);
if(handle>0)
{
FileWriteArray(handle, BarOpenValues, 3, 7); // 写入最后7个元素
FileClose(handle);
}
|
|
|
|
|
FileWriteDouble一个二进制文件以浮动小数点写入双重值
int FileWriteDouble( int handle, double value, void size)
函数给一个二进制文件以浮动小数点写入双重值。 如果格式指定为FLOAT_VALUE,值将作为4字节浮动小数点数字写入 (的浮游物类型)。否则,它以8字节浮动小数点格式将被写入(双重类型)。
如果错误生成,返回实际上书面字节数或负值。
获得详细的错误信息, 查看 GetLastError() 函数。
参量:
handle - 用 FileOpen()函数返回的句柄。
value - 双精度值。
size - 选择格式。可以是以下的任意值:
DOUBLE_VALUE (8 字节,默认值)
FLOAT_VALUE (4 字节)。
示例:
int handle;
double var1=0.345;
handle=FileOpen("mydata.dat", FILE_BIN|FILE_WRITE);
if(handle<1)
{
Print("不能打开错误文件-",GetLastError());
return(0);
}
FileWriteDouble(h1, var1, DOUBLE_VALUE);
//...
FileClose(handle);
|
|
|
|
|