如何使用 CSV2FXT 准备用于 MT4 回测的逐笔报价数据 FXT 文件 [已过时]

如果您来到这里,您应该已经从您自己的私人来源免费下载了您的报价数据,如免费报价数据页面中所述,现在您正在尝试在 Metatrader 4 中使用它。

转换刻度数据文件格式

包含报价数据的本机 CSV 文件与 Metatrader 4 不兼容,因此无法用于回溯测试。 FXT 是包含报价变动的专有文件格式,可由 Metatrader 4 读取,因此我们只需将 CSV 文件转换为 FXT。有一个脚本能够将几乎任何来源的数据转换为 FXT,可以在此处的下载区域中找到。 Metatrader 4 在计算指标时也可以使用 HST 文件,因此需要与 FXT 文件匹配的 HST 文件才能进行准确的报价数据回测

CSV2FXT 二进制文件是转换过程所需的,它也可以在刻度数据下载区域中找到。它已使用 MT4 build 225 进行编译,以扩大其在 MT4 版本上的工作范围。

最后,这里有一个简短的指南,解释如何将报价数据 CVS 文件转换为 FXT 文件和一系列 HST 文件:

  • 首先,如果您仍然没有 CSV2FXT 二进制存档,请导航到刻度数据下载区域进行下载。
  • 将 zip 存档中的文件解压到 MT4 安装文件夹。里面有目录结构,请确保它们放置在正确的目录中(CSV2FXT.mq4 和 CSV2FXT.ex4 必须位于 Experts\scripts 中,FXTHeader.mqh 必须位于 Experts\include 中,CsvReader.dll 必须位于 Experts\libraries 中)。如果安装了多个 MT4,也请确保将它们复制到正确的文件夹中。
  • 将 CSV 报价数据文件移至同一 MT4 安装文件夹中的 Experts\files。
  • 打开您有数据的货币对的图表(例如 EURUSD.csv 文件的 EURUSD 图表)。
  • 选择您要为其创建 FXT 的时间范围。例如,如果您想在M1上进行回测,则应该为图表选择M1时间范围,而为某个时间范围创建的FXT文件将不适用于其他时间范围;要在另一个时间范围内进行回溯测试,您只需创建一个新的 FXT。
  • 现在请确保您的终端已连接到经纪商,然后再继续(在右下角,如果它是“未连接”,您必须首先修复它)。
  • 还要确保允许 DLL 调用。您可以通过打开“工具”菜单,选择“选项”,选择“EA 交易”,然后确保启用“允许 DLL 导入”,同时禁用“确认 DLL 函数调用”。
  • 双击导航面板中的 CSV2FXT 脚本,它位于脚本区域中。
  • 将打开一个弹出窗口,在其中配置参数。
    • CSV2FXT_version :它是一个快速指示已安装版本的参数。改变它没有任何影响。
    • CsvFile :如果文件名与符号相同且带有 CSV 扩展名(例如 EURUSD.csv),则可以留空;如果没有,只需输入文件名。
    • CreateHst :对于要创建用于回测的 HST 文件,此设置必须为 true。如果设置为 false,因为您可能已经生成了 HST 文件,并且只需为不同的时间范围生成 FXT。每当您更改 GMT 或 DST 时,都必须创建新的 HST 文件。
      如果启用此设置,无论选择的时间范围如何,都将导致在报价数据文件的整个时间跨度内形成 HST 文件。
    • Spread :这是生成的 FXT 文件的固定点差,以点表示; 2.3 将导致 2.3 点差。它的默认值为 0.0,如此设置将使转换器使用经纪商的当前点差。您应该关心许多经纪商在周末扩大点差的事实。
      如果您打算使用真实点差; CSV 文件中的变量传播,然后您可以将此参数设置保留为其默认值。
    • StartDateEndDate :这些设置确定 FXT 文件的时间跨度。 StartDate 和 EndDate 格式为 YYYY.MM.DD。如果您希望转换器分别使用可用的 CSV 文件最早和最晚日期,只需将这些字段留空即可。
    • UseRealSpread :如名称所示,如果启用此参数,将在生成的 FXT 中使用 CSV 文件真实(变量)传播。
      通过使用加载脚本,必须使真实传播能够使用此类 FXT 文件。 Tick Data Suite可以自动检测FXT文件是否使用真实点差,所以如果您使用它,则无需关注这部分。
    • SpreadPadding :此设置用于将实际点差(如果使用)填充一定的点数;如果您想填充 0.8 点,只需在此处添加 0.8 即可。
    • PipsCommission :如果您希望生成的 FXT 文件包含佣金,可以在此处设置所需的值。该数字是一个来回,并以点表示。
    • MoneyCommission :它将以货币表示的佣金设置为以点为单位的替代方案。该价值以每手基础账户货币表示。
    • 杠杆:更改FXT文件杠杆。
    • FXTGMTOffset :将 FXT GMT 偏移设置为 0 以外的值。
    • CSVGMTOffset :CSV 文件数据 GMT 偏移量。转换脚本可以自动检测多种免费报价数据提供程序格式并在此处应用正确的设置,因此将其设置为“自动检测”是安全的。如果专家日志显示脚本无法识别报价数据源的消息,您将需要在此处手动设置 CSV GMT 偏移量。
    • FXTDST :FXT 文件 DST 设置。 0 表示无夏令时,1 表示美国夏令时,2 表示欧洲夏令时。请注意,如果设置了美国 DST 设置,则根据 2007 年初应用的法规计算 DST。
    • CSVDST :CVS 文件 DST 设置。将其保留为“自动检测”是安全的,或者您也可以对 FXTDST 执行相同的操作。
    • TimeShift :如果启用此参数,会将所有创建的数据向后移动 28 年。如果您怀疑 EA 存在旨在回溯测试作弊的硬编码日期,则可以这样做。它由 28 年轮班决定,因为日历在处理星期几和闰年时是相同的。使用这种方法判断 EA 可能不公平,因为某些 EA 可能有法律原因通过不同时间的回测得出不同的结果。
    • CreateM1CreateM5CreateM15CreateM30CreateH1CreateH4CreateD1CreateW1CreateMN :这些参数旨在允许在一次运行中创建多个 FXT 文件。默认情况下,脚本将为已运行图表的时间范围创建 FXT,无论是否启用该特定时间范围参数。您不需要启用这些参数,除非您确实需要不同时间范围的 FXT。
  • 单击“确定”。完成后,将启动数据创建过程,通常需要 20 到 45 分钟,具体取决于数据范围和数量,如果使用速度较慢的机器,时间可能会更长。进度指示器将位于图表的左上角,完成后会出现警报。在整个转换过程中,对于可能发生的任何问题,一些数据将打印在专家日志中。

完成所有操作并且脚本完成处理后,系统将提示您确定文件是否将移动到正确的位置。如果选择“是”,请重新启动 Metatrader 4 终端以确保 HST 文件同步良好,然后直接按照下一个指南进行操作;在回溯测试中使用刻度数据。如果选择“否”,则在experts\files文件夹中将有一个FXT文件和一组HST文件,在使用它们之前,您需要先将它们复制并粘贴到正确的位置,然后继续执行以下步骤:

  • 退出 Metatrader 4 终端。
  • 将所有.HST 文件从experts\files 移至history\[your_server_name]。
    请务必注意历史文件夹中的数字服务器目录,.HST 文件必须位于活动帐户的正确目录中。
  • 将创建的FXT文件从experts\files移动到tester\history。

现在,转换和设置就全部完成了。现在是时候进行回溯测试了,但要考虑到这并不像在回溯测试用户界面中单击“开始”那么简单。在回测中使用刻度数据部分中描述的一些其他工具可能需要帮助。

如果遇到任何问题,请导航至常见问题解答和故障排除页面。

We specialize in providing advanced forex trading solutions to help traders maximize their potential.

Our mission is to empower you with cutting-edge forex trading tools and insights. Thank you for joining our community, and happy trading!

作者简介

搜索博客

风险

外汇交易可能涉及超出您初始存款的损失风险。这并不适合所有投资者,您应确保了解所涉及的风险,如有必要,请寻求独立建议。

外汇账户通常提供不同程度的杠杆,其较高的利润潜力与同样高的风险水平平衡。您永远不应该冒超过您准备损失的风险,并应仔细考虑您的交易经验。

过去的表现和模拟结果并不一定表明未来的表现。本网站上的所有内容仅代表作者的意见,不构成对购买其页面中描述的任何产品的明确建议。