文章 "DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合" 新评论 MetaQuotes 2021.03.24 11:28 新文章 DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合已发布: 鉴于程序在其运行时可能会用到不同的品种,因此应为每个品种创建一个单独的列表。 在本文中,我将把这些列表合并到一个即时报价数据集合。 实际上,这将是一个常规列表,基于指向标准库 CObject 类及其衍生类实例指针的动态数组。 编译 EA,并在任何品种的图表上启动它。 在此之前,请在预定义列表中确保启用当前时间帧和品种,在整个建议的品种当中,仅保留了前两个品种: 在 OnInit() 处理程序中,经历了短时间,为两个所用品种创建即时报价数据之后,日志会收到有关程序参数、创建的时间序列、和所创建即时报价的数据。 直至新的即时价格到达后,日志会收到四个检测到的即时价格变化的数据,其中含有两个品种的最高要价(Ask)和最低出价(Bid) 。 作者:Artyom Trishkin Christian 2021.03.27 18:56 #1 又是一篇好文章。发现一个小错误。元编辑器挂起。如果 TickSeries对象 未填满刻度。(m_amount = 0 )GetTick() 函数将返回 NULL,而 .Print() 方法将导致编辑器崩溃。 TestDoEasyPart61.mq5 237 engine.GetTickSeriesCollection().GetTick(tick_series.Symbol(),index_max).Print(); 238 engine.GetTickSeriesCollection().GetTick(tick_series.Symbol(),index_min).Print(); Artyom Trishkin 2021.03.27 19:29 #2 Christian :又是一篇好文章。发现一个小错误。元编辑器挂起。如果 TickSeries对象 未填满刻度。(m_amount = 0 )GetTick() 函数将返回 NULL,而 .Print() 方法将导致编辑器崩溃。 TestDoEasyPart61.mq5 谢谢,我会解决的。 新评论
新文章 DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合已发布:
鉴于程序在其运行时可能会用到不同的品种,因此应为每个品种创建一个单独的列表。 在本文中,我将把这些列表合并到一个即时报价数据集合。 实际上,这将是一个常规列表,基于指向标准库 CObject 类及其衍生类实例指针的动态数组。
编译 EA,并在任何品种的图表上启动它。 在此之前,请在预定义列表中确保启用当前时间帧和品种,在整个建议的品种当中,仅保留了前两个品种:
在 OnInit() 处理程序中,经历了短时间,为两个所用品种创建即时报价数据之后,日志会收到有关程序参数、创建的时间序列、和所创建即时报价的数据。 直至新的即时价格到达后,日志会收到四个检测到的即时价格变化的数据,其中含有两个品种的最高要价(Ask)和最低出价(Bid) 。
作者:Artyom Trishkin