找回密码
 立即注册

MQL4>MQL5:数组函数

2024-5-1 21:08| 发布者: admin| 查看: 192| 评论: 0|来自: 文章来源MQL5官网

摘要: 文章来源MQL5官网
 
MQL4
MQL5
 说明
int ArrayBsearch(double array[],
                 double value,
                 int count=WHOLE_ARRAY,
                 int start=0,
                 int direction=MODE_ASCEND)
int ArrayBsearch(double    array[],
                 double    searched_value
                 )
ArrayBsearch
函数在一维数字数组中搜索指定的值。
ArrayBsearch
int ArrayCopy(object&dest[],
              object source[],
              int start_dest=0,
              int start_source=0,
              int count=WHOLE_ARRAY)
int ArrayCopy(void  dst_array[],
              void  src_array[],
              int   dst_start=0,
              int   src_start=0,
              int   cnt=WHOLE_ARRAY
              )
ArrayCopy
将数组复制为另一个数组。数组必须是相同的类型,但是类型为 double[], int[]、datetime[]、color[] 和 bool[] 的数组可以复制为相同类型的数组。返回复制元素的数量。
ArrayCopy
int ArrayCopyRates(double&dest_array[],
                   string symbol=NULL,
                   int timeframe=0)
-ArrayCopyRates
将当前图表柱的数据复制到类型为 RateInfo[][6] 的两维数组,并返回复制的柱数,或者在失败时返回 -1。
int ArrayCopySeries(double&array[],
                    int series_index,
                    string symbol=NULL,
                    int timeframe=0)
int ArrayCopySeriesMQL4(double &array[],
                        int series_index,
                        string symbol=NULL,
                        int tf=0)
  {
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   int count=Bars(symbol,timeframe);
   switch(series_index)
     {
      case MODE_OPEN:
         return(CopyOpen(symbol,timeframe,0,count,array));
      case MODE_LOW:
         return(CopyLow(symbol,timeframe,0,count,array));
      case MODE_HIGH:
         return(CopyHigh(symbol,timeframe,0,count,array));
      case MODE_CLOSE:
         return(CopyClose(symbol,timeframe,0,count,array));

      default: return(0);
     }
   return(0);
  }
ArrayCopySeries
将一个时间序列数组复制到一个自定义数组,并返回复制元素的数量。
CopyOpenCopyLowCopyHighCopyCloseBars
int ArrayDimension( object array[])
-ArrayDimension
返回数组的维度。
bool ArrayGetAsSeries( object array[])
bool ArrayGetAsSeries(void  array)
ArrayGetAsSeries
如果数组是按时间序列数组组织的,则返回 TRUE(数组元素是从最后一个到第一个索引的),否则返回 FALSE。
ArrayGetAsSeries
int ArrayInitialize(double &array[],
                    double value)
int ArrayInitializeMQL4(double &array[],
                        double value)
  {
   ArrayInitialize(array,value);
   return(ArraySize(array));
  }
ArrayInitialize
将数字数组的所有元素设置为相同的值。返回被初始化的元素的数量。
ArrayInitializeArraySize
bool ArrayIsSeries( object array[])
bool ArrayIsSeries(void  array[])
ArrayIsSeries
如果正在检查的数组是时间序列数组(Time[]、Open[]、Close[]、High[]、Low[] 或 Volume[]),则返回 TRUE,否则返回 FALSE。
ArrayIsSeries
int ArrayMaximum(double array[],
                 int count=WHOLE_ARRAY,
                 int start=0)
int ArrayMaximumMQL4(double &array[],
                     int count=WHOLE_ARRAY,
                     int start=0)
  {
   return(ArrayMaximum(array,start,count));
  }
ArrayMaximum
搜索具有最大值的元素。函数返回此最大值元素在数组中的位置。
ArrayMaximum
int ArrayMinimum(double array[],
                 int count=WHOLE_ARRAY,
                 int start=0)
int ArrayMinimumMQL4(double &array[],
                     int count=WHOLE_ARRAY,
                     int start=0)
  {
   return(ArrayMinimum(array,start,count));
  }
ArrayMinimum
搜索具有最小值的元素。函数返回此最小值元素在数组中的位置。
ArrayMinimum
int ArrayRange(object array[],
               int range_index)
int ArrayRange(void  array[],
               int   rank_index
               )
ArrayRange
返回数组指定维度中元素的数量。
ArrayRange
int ArrayResize(object &array[],
                int new_size)
int ArrayResize(void  array[],
                int   new_size,
                int   allocated_size=0
                )
ArrayResize
为第一维设置一个新的大小。
ArrayResize
bool ArraySetAsSeries(double &array[],
                      bool set)
bool ArraySetAsSeries(void  array[],
                      bool  set
                      )
ArraySetAsSeries
返回数组指定维度中的元素数量。因为索引是基于零的,维的大小比最大索引大 1。
ArraySetAsSeries
int ArraySize( object array[])
int ArraySize(void  array[])
ArraySize
返回数组包含的元素的数量。
ArraySize
int ArraySort(double &array[],
              int count=WHOLE_ARRAY,
              int start=0,
              int sort_dir=MODE_ASCEND)
int ArraySortMQL4(double &array[],
                  int count=WHOLE_ARRAY,
                  int start=0,
                  int sort_dir=MODE_ASCEND)
  {
   switch(sort_dir)
     {
      case MODE_ASCEND:
         ArraySetAsSeries(array,true);
      case MODE_DESCEND:
         ArraySetAsSeries(array,false);

      default: ArraySetAsSeries(array,true);
     }
   ArraySort(array);
   return(0);
  }
ArraySort
按第一维对数字数组排序。不能通过 ArraySort() 对序列数组进行排序。
ArraySortArraySetAsSeries

路过

雷人

握手

鲜花

鸡蛋

QQ|Archiver|小黑屋|www.mtctp.com |

GMT+8, 2024-10-22 16:34 , Processed in 0.033612 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部