文章 "让新闻交易变得容易(第一部分):创建一个数据库"

 

新文章 让新闻交易变得容易(第一部分):创建一个数据库已发布:

新闻交易可能很复杂,令人难以招架,在本文中我们将介绍获取新闻数据的步骤。此外,我们还将了解MQL5经济数据日历及其提供的功能。

在这篇文章中,我们将学习如何创建一个数据库,用于存储来自MQL5经济数据日历的数据。这些数据将用于后续的文章中来交易新闻事件。我们还将探索如何执行基本的SQL查询,以从这个数据库中检索某些有组织的信息。整个过程将在MQL5 IDE中完成。

交 易员们密切关注新闻来源,以获取可能影响市场的信息。这包括地缘政治事件、企业利润公告、政治事件以及GDP增长或就业数据等经济报告。交易员迅速对重大 新闻发布做出反应,以从由此产生的市场变化中获利。根据对新闻的解读,可能需要买入或卖出相关资产。在本文中,我们将重点关注经济事件,因为它们可以通过 MQL5经济数据日历轻松获取。

Example Database Table

数 据库是一种以结构化方式存储和访问的数据集合。数据库能够高效地管理和存储海量数据,从而支持数据分析、存储和管理等各种活动。在MQL5中,我们使用 SQLite数据库,这些数据库由SQLite数据库引擎创建和管理。SQLite数据库的文件可以有任何扩展名,但通常它们是具 有.sqlite、.sqlite3或.db扩展名的单个文件。这些文件包含数据库中所有的数据和结构,包括表、触发器、索引和其他元数据。

数据库非常适合处理大型数据集,并简化了从特定日期或事件中检索数据的过程,无需复杂的循环。此外,在策略测试器中无法访问MQL5经济日历。因此,如果您想基于经济新闻测试您的策略,该怎么做呢?

作者:Kabelo Frans Mampa

 

文章写得不错,代码也编写得很好。

我喜欢您在欧元兑美元图表上通过价格对美国非农就业数据的反应来获取经纪商 DST 类型的方法,它工作得非常完美。

我还在多个经纪商(DST_NONE、DST_UK 和 DST_US)上测试了美国非农就业(NFP)事件的 DST 调整,结果显示它们在 CDaylightSavings_AU::adjustDaylightSavings() 方法及其他两个类中的同类方法中得到了正确计算。不过,通过数学公式直接计算 DST 切换时间,而不是通过 CArrayObj() 线性搜索硬编码值,可以大大提高识别日光时间过程的性能。请参见此处

还要注意的是,SymbolInfoString(SymName,SYMBOL_CURRENCY_BASE) 在某些经纪商服务器上可能会失败,因为他们没有正确配置该属性(他们"错误地 " 将 EURUSD 的基准货币设置为美元而不是欧元),因此使用 StringSubstr(SymName,0,3) 更为安全。

谢谢。