MQL4 Reference MQL4命令手册(完整版)
 
 
 
| 
 
| ArrayIsSeries()判断数组连续 bool ArrayIsSeries( object array[])
 如果检查数组是连续的(Time[],Open[],Close[],High[],Low[], or Volume[]), 返回 TRUE,否则返回FALSE。
 参量:
 array[]   -   需要检查的数组 。
 示例:
 if(ArrayIsSeries(array1)==false)
 ArrayInitialize(array1,0);
 else
 {
 Print("连续数组不能被初始化!");
 return(-1);
 }
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| ArrayMaximum()数组最大值定位 int ArrayMaximum( double array[], void count, void start)
 找出数组中最大值的定位 。在数组中函数返回最大值位置。
 参量:
 array[]   -   搜索数字数组。
 count   -   搜索数组中项目的个数。
 start   -   搜索的开始指数。
 示例:
 double num_array[15]={4,1,6,3,9,4,1,6,3,9,4,1,6,3,9};
 int    maxValueIdx=ArrayMaximum(num_array);
 Print("最大值 = ", num_array[maxValueIdx]);
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| ArrayMinimum()数组最小值定位 int ArrayMinimum( double array[], void count, void start)
 找出数组中最小值的定位 。在数组中函数返回最小值位置。
 参量:
 array[]   -   搜索数字数组。
 count   -   搜索数组中项目的个数。
 start   -   搜索的开始指数。
 示例:
 double num_array[15]={4,1,6,3,9,4,1,6,3,9,4,1,6,3,9};
 int    minValueidx=ArrayMinimum(num_array);
 Print("最小值 = ", num_array[minValueIdx]);
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| ArrayRange()返回数组指定维数数量 int ArrayRange( object array[], int range_index)
 取数组中指定维数中项目的数量。 索引以零为基础,维度的大小要大于最大索引1 个点。
 参量:
 array[]   -   需要检查的数组。
 range_index   -   指定的维数 。
 示例:
 int    dim_size;
 double num_array[10,10,10];
 dim_size=ArrayRange(num_array, 1);
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| ArrayResize()改变数组维数 int ArrayResize( void array[], int new_size)
 设定第一维度的大小。如果成功执行,在重新设定后返回包含的全部个数。如果数组没有重设,返回 -1。
 注解:在函数完成执行后,在函数内数组地方水平化并且重设将保留不变。 在函数被重新调用后,一些数组将不同于表明的数组。
 参量:
 array[]   -   需要重设的数组。
 new_size   -   第一维中数组的新大小 。
 示例:
 double array1[][4];
 int    element_count=ArrayResize(array1, 20);
 // 新大小 - 80个
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| ArraySetAsSeries()设定系列数组 bool ArraySetAsSeries( void array[], bool set)
 设定指数数组为系列数组。如果设置参量值为TRUE,数组将被编入索引。数组0位的值是最后的值。 其FALSE值设定一个标准的索引命令。此函数返回先前状态。
 参量:
 array[]   -   需要设置的数组。
 set   -   索引数组命令。
 示例:
 double macd_buffer[300];
 double signal_buffer[300];
 int    i,limit=ArraySize(macd_buffer);
 ArraySetAsSeries(macd_buffer,true);
 for(i=0; i<limit; i++)
 macd_buffer[i]=iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,26,0,MODE_EMA,PRICE_CLOSE,i);
 for(i=0; i<limit; i++)
 signal_buffer[i]=iMAOnArray(macd_buffer,limit,9,0,MODE_SMA,i);
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| ArraySize()返回数组项目数 int ArraySize( object array[])
 返回数组的项目数 。对于第一维数组,用ArraySize函数返回的 ArrayRange(array,0)。
 参量:
 array[]   -   任何类型数组。
 示例:
 int count=ArraySize(array1);
 for(int i=0; i<count; i++)
 {
 // 一些计算.
 }
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| ArraySort()数组排序 int ArraySort( void array[], void count, void start, void sort_dir)
 对数组进行排序,系列数组不能ArraySort()使用进行排序 。
 参量:
 array[]   -   被排列的数组。
 count   -   对多少个数组项进行排序。
 start   -   排序的开始点。
 sort_dir   -   排序方式,
 MODE_ASCEND顺序排列,
 MODE_DESCEND倒序排列。
 
 示例:
 double num_array[5]={4,1,6,3,9};
 // 新数组包含值4,1,6,3,9
 ArraySort(num_array);
 // 被排列新数组1,3,4,6,9
 ArraySort(num_array,WHOLE_ARRAY,0,MODE_DESCEND);
 // 被排列新数组 9,6,4,3,1
 
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| Checkup检查 一组可以检测当前客户端状态(包括MQL4程序的环境状态)的函数。
 GetLastError( )返回最后错误
 int GetLastError( )
 函数返回最后生成错误,随后特殊值last_error变量的代码存储归零。 所以, 对于GetLastError() 调用文本将返回0。
 示例:
 int err;
 int handle=FileOpen("somefile.dat", FILE_READ|FILE_BIN);
 if(handle<1)
 {
 err=GetLastError();
 Print("错误(",err,"): ",ErrorDescription(err));
 return(0);
 }
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| IsConnected( )返回联机状态 bool IsConnected( )
 在客户终端和服务器执行数据之间函数返回主要连接状态。如果连接服务器成功,返回TRUE。否则,返回FALSE。
 示例:
 if(!IsConnected())
 {
 Print("没有连接!");
 return(0);
 }
 // 需要打开连接
 // ...
 
 | 
 | 
|  | 
|
|  | 
|  |