CDictionary - MetaTrader 5程序库
- 显示:
- 1072
- 等级:
- 已发布:
- 2018.02.27 09:33
- 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
使用 MQL5 实现的字典(关联数组)数据结构, 基于 CArrayObj 和 CList。
哈希函数
FNV-1a
用法
主要:
CDictionary *dict=new CDictionary(); //设置 dict.Set<string>("costarring","liquid"); dict.Set<double>("liquid",0.1); //读取 - 方式 1 string variant1 = dict.Get<string>("costarring"); Print(variant1); //读取 - 方式 2 double variant2 = 0; dict.Get<double>("liquid",variant2); Print(variant2);
它也可以保存对象的指针 (但不是对象或者结构):
dict.Set<CObject*>("object",new CObject());
冲突处理
- 每个记录将有其自己的哈希值,
- 如果两个或者更多记录共享相同的哈希值,记录会根据键值和类型名称来进行比较。这就使得可以使用相同的键值(但是类型不同)保存多个记录。
- 当使用 Set<T> 的时候, 如果已经有了记录具有相同的键值和类型,传入的数值将会视为替代已有记录(而不是一个新的值)。这对于指针也同样适用。
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/19314
LeadLagRelationshipTester
用于检验 LeadLagRelationship 指标 (https://www.mql5.com/en/market/product/26229) 的脚本程序
PS Magicas - 三条移动平均PS Magicas - 三条移动平均,提供了目标和可能的入场点。