MQL4数组处理相关函数(二)

用于数组处理的一组函数。

数组的最大维数为四维。每一维索引编号为0至(数组大小 减 1)。例如,在50个元素的一维数组中,调用第一个元素用array[0],最后一个元素用array[49]。

  • ArrayBsearch() – 数组搜索
  • ArrayCopy() – 数组复制
  • ArrayCopyRates() – 复制柱体(K线)数据到二维数组
  • ArrayCopySeries() – 复制柱体(K线)数据到一维数组
  • ArrayDimension() – 返回数组维数
  • ArrayGetAsSeries() – 判断序列数组
  • ArrayInitialize() – 数组初始化
  • ArrayIsSeries() – 判断数组是否序列化
  • ArrayMaximum() – 返回数组中最大值的位置
  • ArrayMinimum() – 返回数组中最小值的位置
  • ArrayRange() – 获取数组元素个数
  • ArrayResize() – 重设数组大小
  • ArraySetAsSeries() – 设置为序列化数组
  • ArraySize() – 获取数组大小
  • ArraySort() – 数组排序

 

ArrayDimension() – 返回数组维数

int ArrayDimension(object array[])

返回数组的维数

参数:

array[] - 数组。

示例:

int num_array[10][5];
int dim_size;
dim_size=ArrayDimension(num_array);
// dim_size=2
Back to Top

ArrayGetAsSeries() – 判断序列数组

bool ArrayDimension(object array[])

如果数组是按序列数组形式排列(数组元素从最后到最开始排序过),返回true,否则返回false

参数:

array[] - 需要检测的数组。

示例:

  if(ArrayGetAsSeries(array1)==true)
    Print("array1 是作为序列数组排序");
  else
    Print("array1 正常排序(从左到右)");
Back to Top

ArrayInitialize() – 数组初始化

int ArrayInitialize(void array[], double value)

数值型数组元素值设为同一个数值,返回己初始化的元素个数。

注:在自定义指标init()函数中不建议初始化指标缓冲区,在缓冲区分配和重分配内存时这种函数自动初始化为 "空值" 。

参数:

array[] - 需要初始化的数组。
value - 设置的新值。 

示例:

  //----所有数组元素初始化2.1
  double myarray[10];
  ArrayInitialize(myarray,2.1);
Back to Top

ArrayIsSeries() – 判断数组是否序列化

int ArrayIsSeries(object array[])

如果数组经检查是序列的(像 Close[], Open[], High[], Low[], Time[] 或 Volume[] ),返回TRUE,否则,返回FALSE。

参数:

array[] - 需要检测的数组。 

示例:

   if(ArrayIsSeries(array1)==false)
     ArrayInitialize(array1,0);
   else
     {
      Print("序列数组不能被初始化!");
      return(-1);
     }
Back to Top

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]);
Back to Top

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]);
Back to Top

 

 


MyFxtop迈投-靠谱的外汇跟单社区,免费跟随高手做交易!

 

免责声明:本文系转载自网络,如有侵犯,请联系我们立即删除,另:本文仅代表作者个人观点,与迈投财经无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。

風險提示

MyFxtops邁投所列信息僅供參考,不構成投資建議,也不代表任何形式的推薦或者誘導行為。MyFxtops邁投非外匯經紀商,不接觸妳的任何資金。 MYFXTOPS不保證客戶盈利,不承擔任何責任。從事外彙和差價合約等金融產品的槓桿交易具有高風險,損失有可能超過本金,請量力而行,入市前需充分了解潛在的風險。過去的交易成績並不代表以後的交易成績。依據各地區法律法規,MyFxtops邁投不向中國大陸、美國、加拿大、朝鮮居民提供服務。

邁投公眾號

聯繫我們

客服QQ:981617007
Email: service@myfxtop.com

MyFxtops 邁投