手机版

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

阅读 :
外_汇_邦 WaiHuiBang.com

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

数组的最大维数为四维。每一维索引编号为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

ArrayGetAsSeries() – 判断序列数组

bool ArrayDimension(object array[])

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

参数:

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

示例:

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

ArrayInitialize() – 数组初始化

int ArrayInitialize(void array[], double value)

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

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

参数:

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

示例:

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

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);     }

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]);
外_汇_邦 WaiHuiBang.com
本文标题:MQL4数组处理相关函数(二) - MT4平台MQL4编程学习
本文地址:https://www.waihuibang.com/fxschool/autotrading/mql4/49052.html

相关文章

  • MT4平台止损如何设置

      外汇交易中,止损设置是和讲究技巧的,不能盲目乱来和凭想象做单。如果止损过大,没有意义,过小,行情波动直接扫损,平仓了,起不到作用。这里笔者有一些经验和大家分享,但是也只是经验,大家取长补短即可。  1.根据自己资...

    MQL4编程学习
  • EA智能交易测试报告中数字的意义
    EA智能交易测试报告中数字的意义

    任何交易可以在历史数据上测试。在测试完成之后,总结性的结果和一些特性会在“报告”标签显示。报告允许对不同智能交易进行对比,对于相同而不同输入数据的智能交易进行对比。本文将会详细解析测试报告中的数字意义。...

    MQL4编程学习
  • 如何验证MT4软件是不是正版?
    如何验证MT4软件是不是正版?

    之前我们网站公布的验证MT4正版的方法经过我们的不懈努力,行业非常多的投资者已经学会了这种方法,给许多的盗版团伙以沉重打击。所以MT4盗版团伙根据外汇110网的防盗版方法(主要是内核版本号与软件版本号一致),已经可以...

    MQL4编程学习
  • 如何将MT4上的交易行为复制到其他账户里面?
    如何将MT4上的交易行为复制到其他账户里面?

    在本文中,我们将介绍如何将某一MT4账户的交易行为拷贝到其他的MT4账户上面,有可能是你自己另外的账户,或者是客户的账户、你朋友的账户、你家人的账户。只要你可以访问这些账户,你就可以将你的账户交易行为拷贝到其他...

    MQL4编程学习
  • 波士顿科技发布MT4服务器延时地图
    波士顿科技发布MT4服务器延时地图

    波士顿科技(BT)是一家总部位于美国马萨诸塞州波士顿市的金融科技公司,服务从事外汇、差价合约(CFD)、期货和期权业务的银行、基金以及零售经纪商。BT于2007年研发了全球第一个商用MT4桥接器,实现了MT4实时STP功能,自此BT...

    MQL4编程学习
你可能感兴趣