经济日历
在制定交易策略时,最好考虑影响市场的基本面因素。MetaTrader 5 内置了经济日历,它在程序界面中作为工具栏中的一个单独选项卡提供,并且可以选择性地直接在图表上显示标签。可以通过终端设置对话框中“社区”选项卡上的一个单独标志来启用日历(登录社区不是必需的)。
由于 MetaTrader 5 支持算法交易,因此也可以从 MQL5 API 以编程方式访问经济日历事件。在本章中,我们将介绍能够读取、筛选和监控经济事件变化的函数和数据结构。
经济日历包含许多国家宏观经济指标的描述、发布时间表和历史数据值。对于每个事件,计划发布的准确时间、重要程度、对特定货币的影响、预测值以及其他特性都是已知的。宏观经济指标的实际值在发布时立即到达 MetaTrader 5。
日历的可用性允许你自动分析传入事件并在 EA 交易中以各种方式对其做出反应,例如,作为突破策略的一部分进行交易或在通道内进行波动性交易。另一方面,预判市场即将发生的波动可以帮助你在时间表中确定低风险时段,并暂时关闭那些由于可能造成损失而对剧烈价格波动敏感的机器人。
所有处理经济日历的函数和结构体使用的 datetime 类型的值都等于交易服务器时间 (TimeTradeServer),包括其时区和夏令时 (DST) 设置。换句话说,为了正确测试基于新闻交易的 EA 交易,其开发者必须独立更改那些 DST 模式与当前模式不同的时期(每年大约半年)的历史新闻时间。
日历函数不能在 测试程序中使用:当尝试调用任何这些函数时,我们会得到 FUNCTION_NOT_ALLOWED (4014) 错误。在这方面,测试基于日历的策略需要遵循特定流程:在在线图表上运行 MQL 程序时,首先将日历条目保存到外部存储(例如,文件中),然后在测试程序中运行的 MQL 程序中加载和读取这些条目。