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

阅读 :
欢迎访问 外 汇 邦 WWW.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() – 数组排序

 

ArrayRange() – 获取数组元素个数

int ArrayCopy(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个元素(每维20个元素,共4维)

ArraySetAsSeries() – 设置为序列化数组

bool ArraySetAsSeries(void array[], bool set)

设定数组的排列方向。如果设置参数值为TRUE,数组将按逆序排列,也就是说,数组元素下标为0的值是最后的值。如果其值为FALSE,表明数组是一个正常的排列顺序,此函数原样返回以前的数组。

参数:

array[] - 数值型数组。 set - 数组索引顺序,true 或者 false。

示例:

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
欢迎访问 外 汇 邦 WWW.WaiHuiBang.com
本文标题:MQL4数组处理相关函数(三) - MT4平台MQL4编程学习
本文地址:http://www.ea666.cn/fxschool/autotrading/mql4/49051.html

相关文章

  • 外汇交易中EA是什么

    EA是什么EA是Expert Advisor的简称,意思是智能外汇全自动交易系统。所谓EA智能外汇全自动交易系统就是将您自己或别人的外汇交易策略用特殊的编程语言(MQL)编写 成一个电脑软件程序(Expert Advisor),让电脑按照您事先设...

    MQL4编程学习
  • EA编程教程第二讲 数据类型

    所有的程序就是对数据进行操作,我们根据不同的需求对数据定义不同的类型,比如数字类型的数据用于操作数组。价格数据使用浮点型类型数据,MQL本身没有货币类型的数据类型。不同的数据类型有着不同的处理速度,其中整形处...

    MQL4编程学习
  • MQL4程序运行时错误代码

    在客户端程序运行子系统时,执行一个MQL4程序发生了异外情况,其错误代码将被保存下来。对于每一个MQL4程序执行,存在一个特殊的last_error变量。在init()函数运行之前,last_error变量必须重置为零。如果在计算...

    MQL4编程学习
  • MQL4交易函数常见错误代码及处理意见

    任何交易相关操作(OrderSend(), OrderClose(), OrderCloseBy(), OrderDelete()和OrderModify()函数)都会因为些原因导致失败,返回负的订单号或FALSE,我们通过调用GetLastError()函数能找出失败的原因。每一...

    MQL4编程学习
  • EA常用英文单词解释

    1. 逻辑符号。AND, NOT, OR. 与 非 或2. MQL 4语言指令。Array数组, Begin开始, Break中断, Continue继续, Define预定义, Downto递减循环, Else否则, End终止, Exit退出函数, For增量循环, If条件如果, Input输...

    MQL4编程学习
你可能感兴趣