MetaTrader 5帮助

策略测试

策略测试器允许您的交易策略 (智能交易系统) 实际应用于真实帐户之前, 对它们进行测试并优化。测试期间, 智能交易系统以初始参数依据历史数据运行。优化期间, 交易策略将使用不同的参数集合运行多次, 从中可以选出最恰当的组合。

策略测试器是多币种工具, 可令您测试/优化多金融工具交易策略。测试器自动处理所有交易策略中用到的品种信息, 所以您无需手工指定测试/优化时的品种列表。

策略测试器是多线程的, 因此可以使用所有可用的电脑资源。测试和优化可以使用指定的计算 代理 进行, 它们作为服务安装在客户的电脑上。代理独立工作, 并可并行处理优化递进。

可将无限数量的 远程 代理连接到策略测试器。此外, 策略测试器可以访问 MQL5 云网络。它带来了环球数以千计的代理, 并且这种计算能力可为所有交易平台客户所用。

除了智能交易系统的测试和优化, 您可以使用策略测试器的 可视模式 对自定义指标进行测试操作。这个 功能可以很简单地测试从 市场里下载的演示版自定义指标的操作。

如何测试

测试一款 智能交易系统 就是利用历史价格数据以固定参数单次运行。它可以在您将策略用于真实市场之前, 测试它是如何工作的。

观看视频: 如何在购买之前测试智能交易系统和指标

观看视频: 如何在购买之前测试智能交易系统和指标

观看视频了解如何在您从市场购买之前测试交易机器人。市场上提供的每款产品都有演示版本可以在策略测试器里检测。详情请观看视频。

如何选择测试的交易机器人

点击 "测试 测试", 智能交易系统的关联菜单位于 导航器 窗口。

如何选择交易机器人进行测试

点击之后智能交易系统在策略测试器里被选中。

对于多币种 EA, 在市场观察里启用所需的品种

策略测试器允许多品种交易策略的回测。这种交易机器人通常被称为多币种智能交易系统。

测试器在首次调用品种数据时自动从交易平台下载所需品种的历史数据 (并非交易服务器!)。只有缺失的价格历史数据才会从交易服务器下载并补充。

在您开始测试多币种智能交易系统之前, 在市场观察里启用测试所需品种。打开它的关联菜单, 点击 "品种品种" 并启用所需的工具。

对于多币种智能交易系统, 在市场观察里启用所需的品种

选择测试设置

在您开始测试之前, 选择交易机器人将要测试操作的金融工具, 周期和模式。

选择测试参数

品种和周期

选择测试和优化的主图表。品种选择是必须的, 它将触发智能交易系统内含的 OnTick() 事件。还有, 所选品种和周期将会影响智能交易系统里调用当前图表参数的特殊函数 (例如, Symbol() 和 Period())。换言之, 智能交易系统挂载的图表应在此选择。

日期

选择测试和优化周期。您可以选择一个预定义周期, 或设置一个自定义时间段。为了设置自定义周期, 在相应字段里输入开始和结束日期。

测试器下载数据时将会特意在指定开始日期之前加入若干柱线的冗余数据 (不少于 100 根柱线)。这是更精准测试和优化所要求的。例如, 如果您在周线时间帧上进行测试, 会下载两年的数据。

如果没有足够的里数据来形成 100 根柱线 (对于月线和周线时间帧尤其显著), 例如, 当指定的测试开始靠近存在的历史数据开始, 则测试开始日期将会自动偏移。相应的消息添加到策略测试器的 日志

前测

此选项允许您检查测试结果, 以避免时间段拟合。在 向前测试期间, 日期字段设置的周期根据选择的前测周期分为对应的两部分 (一半, 三分之一, 四分之一, 或自定义周期, 若您指定了前测开始日期)。

第一部分是回测周期。它是智能交易系统 的操作适应周期。第二部分是向前测试, 期间检查所选参数。

执行

选择策略测试器模拟的交易执行模式。两种测试模式可用: 正常和随机。

在正常模式里, 所有订单按照请求的价格执行, 不会发生重新报价等等。

随机延迟模式可以在测试智能交易系统时最大程度的贴近实际情况。自请求发送之时, 到订单执行之前, 价格可以改变。依据在订单里设置的 偏离, 订单可以按照当前价格执行 (如果在它的偏离范围之内) 或者返回一个重新报价。

在此模式下测试可令您的程序正确处理这种情形。

延迟模拟会在所有发自平台的请求里执行 (订单 放置, 修改 停止位, 等等。)

延迟执行如下施行: 随机选择 0 至 9 的数字 - 这是延迟的秒数; 如果选择的数字等于 9, 则在相同范围内再次选择一个随机数字相加。

因此, 延迟 0-8 秒的可能性为 90%, 延迟 9-18 秒的可能性为 10%。

分时生成模式

选择一个分时生成模式:

  • 每笔分时是最精确的, 但最慢。它模拟所有分时。
  • 每笔分时基于真实分时, 可能更接近真实条件。它使用由券商累积的金融工具的 真实分时。不执行模拟。分时数据的尺寸很大。在首次测试时, 下载它们也许会花费很长时间。
  • 1 分钟 OHLC ― 在此模式只需要模拟每根分钟柱线的 4 个价格 (开盘价, 最高价, 最低价和收盘价)。
  • 仅开盘价 ― 在此模式也是 OHLC 价格模型, 不过仅使用开盘价来测试/优化。
  • 数学计算 ― 在此模型里测试器不会下载品种的历史数据和信息, 且不会生成分时。只有函数 OnInit(), OnTester() 和 OnDeinit() 会被调用。所以测试器可根据需求选择参数, 用于各种数学计算。

更多关于分时生成的信息, 请参阅 相应章节

初始存款和杠杆

指定用于测试和优化的初始存款数额。货币依据 已连接 账户的当前存款币种。下一步选择测试和优化的杠杆。

  • 注意, 品种规范并非意味测试器仅使用这些历史数据。测试器自动下载智能交易系统里用到的所有品种信息。
  • 开始测试/优化之前, 自动从交易服务器下载主图表上品种的所有可用价格数据。如果网络速度较慢, 它可能会花费很长时间。
  • 下载所有数据只会执行一次, 在下一次开始时只会下载缺失信息。
  • 只有当前在 市场观察 里选中的品种可用于测试/优化。
  • 在测试和优化期间, 所有必要品种的价格数据自动从服务器下载。
  • 测试在指定日期的 0 时, 0 分, 0 秒开始和结束。所以测试/优化的开始日期包括在测试周期, 而结束日期未包括在内。测试结束于前一个交易日的最后一笔分时。另外您也不能指定大于当前的结束日期。在这种情况下, 测试将会一直执行到当前日期 (未包括)。

选择输入参数

输入参数 允许您控制智能交易系统的行为, 令其适应不同的市场条件以及指定的金融工具。例如, 您可以利用不同 止损止盈 数值来探索智能交易系统的性能, 不同周期的移动均线用于市场分析和决策制定, 等等。

指定每个输入参数的数值。

选择测试的输入参数

开始测试

为了开始测试, 在 "设置" 栏上点击 "开始"。测试进程显示在左侧。

何处查看测试结果

智能交易系统的测试结果显示在 "结果" 和 "图形" 栏里。

测试结果

测试报告

测试结果详情显示在 "结果" 栏上。这一栏包括生成的测试结果, 包括利润和交易数量, 以及许多统计数值可以帮助评估交易机器人的性能。

其余图表示意小时、日和月为单位的交易操作数量和成功率的分布, 以及描绘交易策略的风险参数。

查看 测试报告 部分可得到详情。

测试图形

在 "图形" 栏上, 您可以目测智能交易系统针对所选工具在所选时间段内是如何成功执行的。

余额曲线 (蓝色线) 和净值曲线 (绿色) 显示在栏目的主要区域。日期显示在水平轴刻度, 余额/净值显示在垂直轴刻度。

余额每次变化时会显示在图表上 (当仓位平仓), 净值在余额变化之间按照确定周期显示。

标签底部具备入金加载直方图,计算预付款和净值的比率(预付款/净值)。

在日志里的测试进度

测试进度反映在 "日志" 上。此外, 智能交易系统的消息添加到日志。在 可视测试 模式, 测试进度可直接从图表上看到。

图表上的测试进度

测试完成的那一刻, 您可以打开智能交易系统测试的图表 (所选的品种和周期)。点击 "打开图表 打开图表", 关联菜单位于 "结果" 栏。所有测试期间 EA 执行的成交显示在图表上。如果一个 模板 名为 tester.tpl 存在于交易平台文件夹 /profiles/templates, 它将用于打开图表。如果没有模板, 使用省缺的 (default.tpl)。

如果测试的智能交易系统使用了 指标, 它运行在测试的品种和周期, 它们也一并显示在图表上。不过, 如果在智能交易系统的源代码里实现了强制卸载指标 (函数 IndicatorRelease), 指标将不会显示在图表上。

在前测非优化周期里测试交易机器人

向前测试是在不同时间周期重复运行智能交易系统。此功能允许您避免某段历史数据的参数拟合。

为了开始前测, 在设置栏的前测字段选择 总周期 部分:

  • ― 不使用前测;
  • 1/2 ― 指定周期的一半用于前测;
  • 1/3 ― 指定周期的三分之一用于前测;
  • 1/4 ― 指定周期的四分之一用于前测;
  • 自定义 ― 手工指定前测开始日。

前测周期

  • 总周期的第二部分 (最后) 一直用于前测。
  • 前测的开始日期以一根垂直线标记在图表上。

当启用前测时, 所选的部分从 "日期" 字段指定的周期中分离。第一部分是回测周期, 第二部分是前测周期。

前测结果显示在单独的 "前测" 栏上。前测的开始日期以一根垂直线标记在图表上。

前测结果

有关测试结果的详情, 请参阅章节 "何处查看优化结果"

可视测试

在交易平台的 策略测试器 里, 您可以按照可视模式测试智能交易系统和指标。此模式可以通过准确地直观智能交易系统在回测期间是如何执行操作的。每笔交易显示在金融品种的图表上。

要启用可视测试, 在设置里选择 "可视化":

启用可视测试

  • 可视测试当 优化 被启用时不可用。
  • 可视测试仅在 本地代理 上执行。如果选择 远程代理 进行测试, 在其关联菜单里使用 "选择选择" 命令选择一个本地代理。

设置 测试选项配置参数, 然后点击 "开始"。

可视测试运行在一个新窗口里, 它模拟一个单独的交易平台: 它包含图表, 市场观察和工具箱窗口, 在此您可以查看交易操作和日志。

在可视模式里测试

测试过程控制

使用工具条来暂停, 加速或减速测试。您也可以跳到特别的测试日期。

您可以便利地通过热键控制测试进程, 组合键列表就在菜单命令旁边。

监视图表上的智能交易系统测试

这个测试类型的主要目的是直观地分析智能交易系统性能。基于模拟的历史价格数据, 实时生成图表。交易机器人的操作显示在图表上。

交易操作显示为图标买入(一笔买入成交) 和卖出(一笔卖出成交)。在入场和离场之间显示一条虚线。

  • 您可以修改图表外观, 使用 模板 来显示指标或图形对象。对于应用的模板, 其名称必须与测试的智能交易系统名称匹配, 例如 ExpertMACD.tpl。模板可放置于交易平台的 /profiles/templates 文件夹里。
  • 在图表模式里可用的品种列表仅限于主要测试品种, 如同在智能交易系统里使用品种的数据。
  • 图表时间帧 不能改变。在设置里选择的 周期 用于主要测试图表。智能交易系统请求的周期用于其它品种。
  • 在品种间切换, 使用 "视图 ― 图表" 菜单。

在市场观察力查看价格数据

市场观察显示测试期间生成的价格。它类似于 交易平台 市场观察, 但有些特殊的功能。为了显示/隐藏此窗口, 在视图菜单里使用市场观察命令或按下 Ctrl+M。

可视测试期间的市场观察

品种栏显示当前金融工具的价格信息。显示的品种列表受限于 主要测试品种, 如同在智能交易系统里使用品种的数据。

分时栏包括一个测试期间 生成的 价格图表。现实的分时数量限制在 64,000。

在数据窗口里查看柱线详情和指标数值

数据窗口显示有关价格 (OHLC) 的信息, 柱线的日期和时间, 点差, 交易量和 指标。在此, 您可以快速查找图表上选择点的特定柱线和应用指标的有关信息。此窗口可以通过点击视图菜单里的 "数据窗口" 或按下 Ctrl+D 来启用或禁用。

可视测试期间的数据窗口

窗口的上半部包括金融工具名称和图表周期。图表上的当前光标处的有关信息显示在下面。有关 指标 的信息在单独区域的单独子窗口里打开。

在工具箱里查看交易详情

为了详细了解智能交易系统执行的交易, 使用工具箱窗口。它有若干栏目, 信息如下:

  • 当前开仓和挂单
  • 历史订单和成交
  • EA 的历史交易请求, 包括修改挂单, 仓位停止位的请求等等。

有关交易操作的参数信息在章节 交易历史中可用。

在工具箱里查看交易详情

其余的有关测试详情在日志里提供。它包括有关测试的信息, 和 EA 在测试期间执行的动作。

只要可视化打开, 测试代理的记录不会发送到平台的 策略测试器 上。然而, 它们可以通过交易平台关联菜单里的 "本地代理的本地日志" 命令来查看。

在可视模式里测试指标

可视测试模式允许您监视基于历史数据的 指标 行为。这个特性可令您在从 市场 里购买指标之前, 容易地测试它。下载免费演示版并在策略测试器里运行它。

选择 "指标" 程序的类型, 之后选择指标并点击 "开始"。可视模式自动启用。同法设置其余参数, 如同 交易机器人测试期间。

在可视模式里测试指标

指标行为显示在图表上, 它基于测试器模拟的分时序列绘制。