我们愿意向所有狐狸交易商介绍实际数值,以显示
我们愿意将实际价值介绍给我们所有的狐狸贸易,以展示
Nauris Zukas 策略测试器中 也应该起作用,但却不起作用。
我猜是策略测试器没有得到报价,然后 prev.CopyTime() 失败了。检查请求的所需数据是否已在本地可用。
通过输入变量使用的替代方法 "是在策略测试器中获得正确时间的唯一方法吗?
好文章。但有一个问题:如何在不联系技术支持的情况下确定经纪商/交易商正在从冬季/夏季转换?
Документация по MQL5: Дата и время / TimeDaylightSavings
- www.mql5.com
TimeDaylightSavings - Дата и время - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
1.因为支持人员并不总是提供正确的信息。您自己也指出了 Alpari 经销商的问题。+ 这是开销:从每个交易商处了解过渡时间。因为我不知道最终用户在与谁讨论,这样就无法制定出好的解决方案。
2.是的,可以这么说,但如果经销商没有从冬季过渡到夏季,那么计算结果就会很奇怪。
我试着修改了一下您的库,但显然出了点问题。我认为代码应该导致 Expert Advisor 自动检测格林尼治标准时间,并根据格林尼治标准时间进行交易,而不是根据经纪人的服务器进行交易。我不确定代码是否最优,但解决方案似乎有效。但是,在那些不改变时间的交易商中,会出现一些不正确的计算。
附加的文件:
DealingWithTime.mqh
53 kb
.
新文章 处理时间(第二部分):函数已发布:
自动判定经纪商时移和 GMT。 与其请求您的经纪商的支持,您可能会从他们那里得到一个不充分的答案(他们很愿意解释时间错位),我们只需自行查看在时间变化的几周内他们如何计算价格 — 但手工操作极其繁琐,我们让程序来做这件事 — 毕竟这就是为什么我们要有一台 PC。
在包含文件 DealingWithTime.mqh 的函数声明之前,且在宏替换之后,声明所需变量为全局变量:
这些变量 DST_USD, DST_EUR,.. 将含有美国、欧盟、等地区的实际时移。 它们将由我们的函数进行更新和设置。 在冬季,采用正常时间,它们的值是零:在此阶段没有时移。
之后,我们的变量含有下一次时间变更时的时移。 它们主要需要知道何时需要执行新的计算,从而节省 CPU 资源:
我们稍后将研究俄罗斯的情形。
这种结构及其全局变量是一切的核心。 :)
我们将为三个相关时段分配经纪商时移,且外汇市场在这三个持续时段是开放的,包括实际值和易于检查的设置(如果已经分配了数值)。 全局变量名为 OffsetBroker,我们将多次遇到它。
作者:Carl Schreiber