欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

数组类 - MetaTrader 5 的库

author emer | 869 人阅读 | 0 人评论 |

有时我们需要向数组添加一个元素,或者插入一个元素。

标准 Mql 数组函数很高效,但不提供此类功能。

例如,如果您需要查找某个元素,则可以使用 ArrayBsearch 仅在排序数组中进行搜索。

它们也不支持复杂的数据类型。

该类填补了这个空白,并提供了一些常用的数组操作方法:

班级数组
  {民众:
  模板<类型名>整数    添加(T src,T &dst[]);
  模板<类型名>整数    复制(T &dst[],T &srs[],布尔值干净=0,整数开始时间=0,整数源开始=0,整数源计数=整个数组);
  模板<类型名>布尔值   插入(T src,T &dst[],整数位置);
  模板<类型名>整数    查找(T 元素,T &array[],整数开始=0);
  模板<类型名>整数    FindReverse(T 元素,T &array[],整数开始=0);
  模板<类型名>双倍的平均值(T &src[]);
  模板<类型名>双倍的Sum(T&src[]);
  模板<类型名>双倍的最大(T&src[]);
  模板<类型名>双倍的最小值(T&src[]);

  模板<类型名>整数    Addbyref(T &src,T &dst[]);
  模板<类型名>布尔值   Insertbyref(T &src,T &dst[],整数位置);
  模板<类型名>布尔值   插入(T &dst[],T &src[],整数dst开始);
  整数                        字符串转代码(细绳源代码,短的&dst[],整数起始位置=0,整数计数=-1);受保护的:
   类型             类型;
  };

Arrays 类的用法示例。

空白 启动时()
  {
  整数a[],asrc[]= {1,2,3,4};
  整数b[],bsrc[]= {5,6,7};
  数组复制(a,asrc);
  数组复制(b、bsrc);
  /**/   数组数组;
   数组.插入(a,b,0);        //在数组中插入数组   数组.插入(0,一个,3);        //向数组中插入元素   数组.Add(8,一个);              //向数组添加元素  双倍的sum=数组.Sum(a);     
  双倍的avg=数组.平均值(a);
  双倍的max=arrays.Max(a);
  整数查找什么=2;
  整数findindex=arrays.Find(findwhat,a);
  整数findrev=arrays.FindReverse(findwhat,a);
  整数尺寸=数组大小(一个);
  /**/  细绳打印=字符串格式“大小:%d,总和:%g,平均值:%g,最大值:%g,在 pos:%d 中找到“%d”,在 pos:%d 中找到“%d”转速”,
                             大小、总和、平均值、最大值、查找内容、查找索引、查找内容、查找结果);
  短的打印代码[];
   arrays.StringToCodes(print,printcodes);//将字符串转换为字符代码数组  打印(打印);
  阵列打印(一个);
  阵列打印(打印代码);
  }

输出:


附件下载

📎 arrays.mq5 (3.16 KB)

📎 floatingpoint.mqh (1.14 KB)

📎 types.mqh (1.46 KB)

📎 arrays.mqh (8.15 KB)

Source: MQL5 #29630

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录