用于数组处理的一组函数。
数组的最大维数为四维。每一维索引编号为0至(数组大小 减 1)。比如,在50个元素的一维数组中,调用第一个元素用array[0],最后一个元素用array[49]。
- ArrayBsearch() – 数组搜索
- ArrayCopy() – 数组复制
- ArrayCopyRates() – 复制柱体(K线)报告到二维数组
- ArrayCopySeries() – 复制柱体(K线)报告到一维数组
- ArrayDimension() – 返回数组维数
- ArrayGetAsSeries() – 分析序列数组
- ArrayInitialize() – 数组初始化
- ArrayIsSeries() – 分析数组能否序列化
- ArrayMaximum() – 返回数组中最大值的位置
- ArrayMinimum() – 返回数组中最小值的位置
- ArrayRange() – 获取数组元素个数
- ArrayResize() – 重设数组大小
- ArraySetAsSeries() – 设置为序列化数组
- ArraySize() – 获取数组大小
- ArraySort() – 数组排序
int ArrayDimension(object array[])
返回数组的维数
参数:
array[] - 数组。
示例:
int num_array[10][5];int dim_size;dim_size=ArrayDimension(num_array);// dim_size=2
bool ArrayDimension(object array[])
假使数组是按序列数组形式排列(数组元素从最后到最开始排序过),返回true,否则返回false
参数:
array[] - 需要检测的数组。
示例:
if(ArrayGetAsSeries(array1)==true) Print("array1 是作为序列数组排序");else Print("array1 正常排序(从左到右)");
int ArrayInitialize(void array[], double value)
数值型数组元素值设为同一个数值,返回己初始化的元素个数。
注:在自定义指标init()函数中不提倡初始化指标缓冲区,在缓冲区分配和重分配内存时该种函数自动初始化为 "空值" 。
参数:
array[] - 需要初始化的数组。value - 设置的新值。
示例:
//----所有数组元素初始化2.1 double myarray[10]; ArrayInitialize(myarray,2.1);
int ArrayIsSeries(object array[])
假使数组经检查是序列的(像 Close[], Open[], High[], Low[], Time[] 或 Volume[] ),返回TRUE,否则,返回FALSE。
参数:
array[] - 需要检测的数组。
示例:
if(ArrayIsSeries(array1)==false) ArrayInitialize(array1,0);else { Print("序列数组不能被初始化!");return(-1);}
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]);
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]);