文章 "轻松快捷开发 MetaTrader 程序的函数库(第十四部分):品种对象" - 页 4

 
_SERG_:

注释掉Datas.mqh 中的一行 重新编译,错误:'CSymbol::CSymbol' - 无法访问受保护的成员 函数TestDoEasyPart14.mq413120,下载了第 15 部分,更新了包含 第 15 部分的存档中的 DoEasy,重新编译,错误再次出现。

编译第 15 部分后,一切正常。顺便说一下,这是 MT4。

我还没有详细说明,只是在观察。

我在上面描述了原因。要检查,请下载该部分的库,但将文件夹命名为 DoEasyPart14。然后在本部分的 EA 中,在第 10 行连接新位置的库:

#include <DoEasyPart14\Engine.mqh>

一切都将按照本文所述进行编译和运行。在 MetaTrader4 和 MetaTrader5 中都是如此。

您提到的错误在这里并不存在--我已经解释了原因。让我再说一遍:这一部分是创建符号集合(已发布的第 15 部分)和跟踪符号事件(已准备就绪,正在撰写第 16 号文章)的一个步骤。而您已经完全加载了第 15 部分的库,正在尝试编译中间结果--创建一个符号并检查其是否正常工作--这在本文中有所描述。

换句话说,某篇文章所附的测试 EA 已编译完成,并能与同一篇文章中的库版本完全兼容。

我描述的是库的开发过程,而不是从 CodeBase 提供给你一个已经完善的成品。这是具有教育意义和创造性的材料,而不是用于自学的枯燥代码。

 
您好,Artyom -- 是否有简便的方法使用您的库提取或计算给定符号的平均点差,或者您建议我自己编写外部代码?
 
Dima Diall :
您好,Artyom -- 是否有简单的方法使用您的库提取或计算给定符号的平均点差,或者您建议我自己编写外部代码?

终端会在每个条形图的参数中记录条形图的平均点差。可以通过请求 MqlRates 中的条形数据找到它。库中包含每个条形图的数据。

将研究样本中所有条形图的所有点差相加,然后除以它们的数量。

我不会自动确定一个符号的平均点差。因为这会减慢库的运行速度,而且这也不是经常需要的。如果您愿意,可以自己轻松实现。

 
Artyom Trishkin:

终端会在每个条形图的参数中记录条形图的平均点差。可以通过 向 MqlRates请求 条形图数据来找到它。库中包含每个条形图的数据。

将研究样本中所有条形图的所有价差相加,然后除以它们的数量。

很好,谢谢!

您知道在 测试模式?不同经纪商的数据是否一致?

 
Dima Diall :

太好了,谢谢!

你知道在 测试模式?不同经纪商的数据是否一致?

很遗憾,我不知道。