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

CDatetimeMsc - MetaTrader 5 库

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

CDatetimeMsc - library for MetaTrader 5

CDatetimeMsc - library for MetaTrader 5

最近开始集中测试CopyTicksRange()的功能时,在处理毫秒时间时遇到了一些不利的问题:

在这里,我遇到了困难,例如,毫秒数是一个非常模糊的数字,不能告诉您确切的日期。但是,如果使用CDateTime或TimeStruct,所有时间单位都很容易改变,但格式将它们分开,结果也很不清楚。这个 CDateTimeMsc 类就是为了解决这个问题而创建的。

#包括<工具\DateTime.mqh>结构体CDateTimeMSC:民众日期时间
  {民众:
  整数               理学硕士;               // 用于 MSC 存储的附加变量
  日期时间          检查日期时间;    // 为了方便观察,需要一点开销。  //--- CDateTimeMsc 方法  乌龙             MSC时间(空白){返回乌龙双倍的(CDateTime::DateTime()) *1000) + MSC);}
  空白              MSC时间(乌龙a_msc_时间);  // 输入(日期时间*1000)  空白              理学硕士(整数价值);
  //bool IsNumInt(const int num);  空白              MSCDec(整数德尔塔 =1);
  空白              MSC公司(整数德尔塔 =1);
  空白              秒时间(整数a_int_time);
  乌龙             秒时间(空白);
  空白              更新日期时间();  // 更新观察变量 check_datetime  空白              日期时间(日期时间a_datetime) {CDateTime::DateTime(a_datetime);更新日期时间();}
  日期时间          日期时间(空白){返回(CDateTime::DateTime());}

  };

新方法被插入到旧结构的继承之下。

现在,该类实际上是一个结构(请参阅结构/类),也可以使用毫秒,前提是有这样的精确时间。

此外,递增和递减方法已扩展到 msc 属性。

现在人们可能会争论附加变量“check_datetime”是否真的有必要,因为它会产生一定的开销(对于某些人来说这非常重要)。但是,我假设通常不会使用很多 CDateTime 对象,只是在需要更改时间单位(例如小时、分钟、秒或天)的重要地方使用少数几个。我对 UpDateTime() 方法也有一些疑问,该方法在每次递增/递减时都会被不必要地调用。

然而,总而言之,处理因素是主要关注点。

测试
如果您想知道确切的日期,您不再需要使用附加的日期时间变量来查询时间,而只需将变量“check_datetime”置于监督之下:(TestEA 参见上文)

CDatetimeMsc - library for MetaTrader 5

毫秒时间自动转换为日期时间格式。

设置三个交叉并监控从给定时间(也可以设置)开始的每日百分比表现。

Andrey F. Zelinsky 的想法,基于 William Blau 的指标

流行的“一根蜡烛”每日突破策略的专业视觉指标(0.9 SL / 1.25 TP)。自动执行黄金 (XAUUSD) 的矢量分析。

该指标实现了一种非线性平滑算法


附件下载

📎 datetimemsc.mqh (5.31 KB)

📎 testeadatetimemsc.mq5 (3.19 KB)

Source: MQL5 #48156

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