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

经济日历 CSV - MetaTrader 5 脚本

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

Economic Calendar CSV - script for MetaTrader 5

Economic Calendar CSV - script for MetaTrader 5

Economic Calendar CSV - script for MetaTrader 5

Economic Calendar CSV - script for MetaTrader 5

Economic Calendar CSV - script for MetaTrader 5

这是脚本的扩展版本 CalendarForDates.mq5提出于算法交易书

输入变量允许您指定国家/地区代码、当前代码和时间范围来过滤所需的记录。如果输入留空,则可以请求完整的日历(如果在终端启动后首次请求日历,则下载其基础数据可能需要一段时间,甚至超时并且不会产生任何结果 - 然后请再次运行脚本)。

因此,您将获得一个 CSV 文件,其中包含日历记录和最重要的字段(并非所有字段都会导出 - 请根据您的需要随意调整源代码)。

或者,可以输入由指标创建的 *.cal 文件(特定时间的日历的存档副本)CalendarMonitorCached.mq5书中介绍的,现已过时,取而代之的是其扩展版本CalendarMonitorCachedTZ.mq5 (新功能推荐和必需,如下所述)。

Economic Calendar CSV - script for MetaTrader 5

最有趣的功能:该脚本演示了时间服务器DST.mqh用于根据服务器过去的时区变化调整历史事件的时间戳,这些变化持久地反映在蜡烛的时间戳中。该模式通过设置输入来启用按符号历史记录修复缓存时间真的

将经过校正和未经校正的事件保存到 CSV 文件中,可以轻松比较时间校正对历史记录的影响。

为了正确使用此功能,建议在 XAUUSD 或 EURUSD H1 图表上运行脚本。当以编程方式使用时,这些符号应传递给时间服务器夏令时的功能。

指标中使用了相同的方法CalendarMonitorCachedTZ.mq5 用于将时间校正的日历事件导出到存档的 cal 文件中,准备从测试仪内部加载,从而确保新闻机器人的准确回测和优化。

执行时间修正的日期范围仅限于图表上时间范围 H1 的最大柱数。这就是里面使用的经验方法的特殊性时间服务器DST.mqh

让我们考虑一种特定的事件类型,最好是对市场有较大影响的事件类型,例如美国非农就业数据 (NFP) 的发布。

在具有 DST 时间表(MQ 演示)的欧洲服务器上,它发生在冬季 14:30 和夏季 15:30。在下面的屏幕截图中,您可以并排看到导出到 CSV 文件的完整日历历史记录的 2 个版本,其中可以看到特定的夏季日期 2023 年 8 月 04 日。两次导出均于 11 月 8 日(冬季,标准时间)执行,因此默认情况下对所有事件应用 GMT+2 偏移,包括 2023 年夏季(以及任何其他季节和年份)。未经修正(如右图所示),夏季 NFP 的导出时间为 14:30。这是不正确的。

Economic Calendar CSV - script for MetaTrader 5

根据经验自动检测服务器时区(在夏季有效)后,库将执行带有时间校正的日历导出(如左图所示)。因此,夏季 NFP 数据被移至 15:30,这也是理所应当的。您可以查看该时期的图表,以确保修正是适当的。

Economic Calendar CSV - script for MetaTrader 5

这些东西仍然处于实验阶段。请随时发送您的反馈。

计划进一步研究时间修正对新闻交易的影响。敬请关注。

附加的 mqh 文件(CalendarFilter.mqh、CalendarCache.mqh、QuickSortStructT(Ref).mqh)与书中的原始版本相比包含错误修复和改进。

04.10.2024 - 在 cal 文件和 csv 文件中添加了写入/读取服务器时区偏移量。

10.11.2024 - 添加了一个选项,可以根据服务器的追溯时区更改来更正历史记录中事件的时间戳。

2024 年 11 月 11 日 - CalendarCache.mqh 和 CalendarFilter.mqh 中的小错误修正和改进。

2024 年 11 月 22 日 - CalendarCache.mqh 中的小错误修复和改进。


附件下载

📎 autoptr.mqh (1.86 KB)

📎 calendardefines.mqh (4.66 KB)

📎 calendarfiltercached.mqh (2.38 KB)

📎 defines.mqh (0.71 KB)

📎 is.mqh (0.98 KB)

📎 quicksortstructt.mqh (3.97 KB)

📎 quicksortstructtref.mqh (7.86 KB)

📎 stringutils.mqh (1.91 KB)

📎 calendarfilter.mqh (28.8 KB)

📎 timeserverdst.mqh (15.68 KB)

📎 calendarcache.mqh (28.54 KB)

📎 calendarcsvfordates.mq5 (11.88 KB)

Source: MQL5 #52977

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