从 forexite.com 导入“分钟柱” - MetaTrader 4 脚本
有时,mql4.com 报价存档缺少“小”数据(例如,“分钟柱”)。例如,对于黄金:分钟柱历史涵盖 2006 年至今的时期。这显然不足以对适用于中等和较高时间范围的“粗略”策略进行适当的测试,并且该策略对较小时间范围内不同交易商的数据差异不太敏感。然而,可以使用 forexite.com 上提供的截至 2001 年的报价 - 更重要的是,该数据已经赢得了相当不错的声誉。
该网站具有对 MetaTrader 4 或多或少友好的格式的“分钟柱”报价:MetaStock 格式。不幸的是,QuoteRoom 的报价具有更复杂的格式,尽管它们每年都收集到单个文件中。该脚本旨在处理 MetaStock 格式的数据。
问题在于“分钟柱”按交易日收集在单独的文件中。此外,每个文件不仅包含所需工具(例如黄金)的数据,还包含交易商交易的所有其他工具的数据。第三:周末有报价文件,这通常是不必要的。因此,为了将所需的黄金数据导入 MetaTrader 4 历史中心,有必要以某种方式处理所有这些文件并将所有“分钟柱”收集在一个文件中。
该脚本执行此特定任务。但首先,需要准备好数据进行处理:
2. 转至所需年份的“分钟柱”对应的网站部分,下载所有每日档案。每年需要创建单独的项目,但不同年份的文件可以存储在单个目录中。仅应在文件下载设置中指定 *.zip 扩展名,因为这些是唯一必需的文件。这样就可以下载 2002-2007 年大约 1500 个文件。
3.批量解压所有文件到“\experts\files\Forexite\”文件夹。批量解包内置于资源管理器中。结果是该文件夹中名称类似于 250705.txt(引用 2005 年 7 月 25 日)的文件列表。
4. 然后打开 MetaTrader 4 并附加脚本。有以下外部参数:
一个。 forexite.com 文件中显示的工具名称。对于黄金来说,它是“XAUUSD”,
b.导入开始日期为格式为“YYYY.MM.DD”的字符串,
c.导入结束日期为相同格式的字符串。
运行脚本。该脚本不处理与假期相对应的文件。通过查看脚本执行日志或“专家”选项卡,可以手动添加缺少的脚本并再次运行脚本。根据经验发现,早年通常不包含1月1日(新年)和12月25日(圣诞节)的文件。左上角会显示一条包含处理天数的更新行,以免在脚本执行过程中失去真实感(处理 2002 年至 2007 年的数据以提取黄金报价持续了大约 8 分钟)。
5. “\experts\files\”文件夹中有一个名为 XAUUSD_ALL.csv 的大文件。这是准备导入的初步文件(很高兴看到 MetaTrader 4 能够区分“不同”格式的日期)。设置第一列的省略(因为创建的文件中的第一列是“XAUUSD”,这是不必要的)、指定列分隔符(逗号)、勾选卷(如果不是)以及指定以小时为单位的偏移量就足够了。我不必单独指定偏移量,因为引号对应于我使用的 Alpari 的服务器时间。
导入目录“\experts\files\Forexite\”中的所有文件后,可以删除脚本操作结果收到的文件(XAUUSD_ALL.csv)。
最后:forexite.com 的分钟柱报价没有成交量数据。当导入 MetaTrader 4 时,如果源数据中未指定交易量或交易量数据相互矛盾,则会计算交易量,因为事实证明,测试人员不会测试没有交易量的数据。如果您的策略不考虑交易量,并且足够“粗略”,以至于不同经销商的不同报价不会影响它,那么这是正确的工具。
主持人(和其他人)注意:为了方便测试脚本的可操作性,附上一个小档案,其中包含MetaStock从01.02.2006到12.02.2006(包括节假日)的所有交易品种的报价,格式为forexite.com。将存档解压到“\experts\files\Forexite\”文件夹,设置脚本的外部参数(工具和两个日期)并运行脚本。也可以通过简单地改变_s符号外部参数。
附件下载
📎 collect_forexite_quotes.mq4 (3.11 KB)
Source: MQL5 #7190
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
