交易策略测试

96 0 2024-04-23

策略测试器允许您的交易策略 (智能交易系统) 实际应用于真实帐户之前, 对它们进行测试并优化。测试期间, 智能交易系统以初始参数依据历史数据运行。优化期间, 交易策略将使用不同的参数集合运行多次, 从中可以选出最恰当的组合。策略测试器是多币种工具, 可令您测试/优化多金融工具交易策略。测试器自动处理所有交易策略中用到的品种信息, 所以您无需手工指定测试/优化时的品种列表。策略测试器是多线程的, 因此可以使用所有可用的电脑资源。测试和优化可以使用指定的计算 代理 进行, 它们作

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

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

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

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

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

如何测试 

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

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

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

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

快速选择测试任务 

tester(测试器)启动之后,用户看到的是一个标准任务列表,而不是多个设置,通过选择任务,用户可以快速开始测试。这对于之前没有任何经验的用户尤其有用。

开始页面会显示一些主要的策略测试和优化任务。此外,还可以从此页面重新启动一个以前执行的任务。如果您运行了多个任务,且这些任务不适合开始页面,那么请使用搜索栏。您可以通过任何参数找到测试:程序名称、交易品种、时间框架、建模模式等。

在开始页面选择一个热门任务以便快速启动测试。

选择任务之后,用户继续进一步测试参数设置:选择EA交易、交易品种、测试周期等。所选任务不需要的所有无关参数都将从设置页面中隐藏。例如,选择数学计算,只需要指定两个参数:选择要测试的程序和优化模式。在测试期间,将会隐藏延迟和报价生成的设置。

下面将解释所有可用的测试选项。

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

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

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

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

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

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

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

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

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

选择测试设置 

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

Selecting testing parameters
  • 注意, 品种规范并非意味测试器仅使用这些历史数据。测试器自动下载智能交易系统里用到的所有品种信息。

  • 开始测试/优化之前, 自动从交易服务器下载主图表上品种的所有可用价格数据。如果网络速度较慢, 它可能会花费很长时间。

  • 下载所有数据只会执行一次, 在下一次开始时只会下载缺失信息。

  • 只有当前在 市场观察 里选中的品种可用于测试/优化。

  • 在测试和优化期间, 所有必要品种的价格数据自动从服务器下载。

  • 测试在指定日期的 0 时, 0 分, 0 秒开始和结束。所以测试/优化的开始日期包括在测试周期, 而结束日期未包括在内。测试结束于前一个交易日的最后一笔分时。另外您也不能指定大于当前的结束日期。在这种情况下, 测试将会一直执行到当前日期 (未包括)。

选择输入参数 

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

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

选择测试的输入参数

参数设置。 您可以使用快捷菜单,通过保存一套MQL5程序参数随时返回其当前设置:

  • 若要在您的计算机上保存参数设置文件,请点击“保存”。这些文件可以在不同计算机的平台之间移动或发送给其他用户。

  • 若要在当前平台保存用于未来使用的参数,请点击“保存新版本”。然后这些保存的预设值将被用于“加载新版本”的子菜单。他们就可随时从列表选择适当的版本来使用。

高级测试设置 

您可以在策略测试期间指定自定义交易账户设置,例如交易限制、预付款设置和手续费。此选项可以模拟交易商提供的不同交易条件。

高级测试设置可以模拟交易商提供的不同交易条件。

常用

在这部分,您可以设置账户上可同时存在的未结订单和持仓的最大数量。此外,您还可以配置不允许程序交易的时间段。

预付款

这部分可以配置将在测试中使用的预付款保留规则和持仓账户系统:

Margin settings

手续费

这部分提供管理所有交易操作收取的手续费:

  • 手续费包括单级手续费和多级手续费,即无论成交量/周转是多少,手续费都是相同的,或者可以根据交易规模而定。

  • 手续费可以在交易完成后,或在交易日/交易月结束时立即收取。

  • 单独的手续费可以依据成交方向进行收取:市场买入、市场卖出或两种都包括的操作类型。

  • 手续费可按照每手或每笔交易来收取。

  • 手续费能够以资金金额、百分比或点数来计算。

要应用当前交易账户的手续费设置,请启用“使用预定义手续费”选项。

Commission settings

自定义测试交易品种设置 

您可以重写主要交易品种的设置,并为此执行测试/优化。几乎所有规格参数都可以重写:交易量、交易模式、预付款需求、执行模式和其他设置。因此,如果您需要在不同条件下检查EA,则无需创建单独的自定义交易品种和下载其历史记录。这可以通过更改标准的交易品种设置来完成。

编辑主要测试交易品种的任何设置以在不同的交易条件下测试策略

如果交易品种规格为自定义,则齿轮图标和交易品种图标将用星号标记。这表示自定义参数用于当前测试。

如果交易品种设置已被更改,则该交易品种将用特殊图标标记

开始测试 

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

何处查看测试结果 

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

测试结果

测试报告

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

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

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

测试图形

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

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

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

  • 当测试使用交易所风险管理模式的账户时,图表仅显示净值,而结余和入金加载不被显示。这种账户的交易状态是根据净值水平进行评估。结余仅显示账户上的金额而忽略了交易者的资产和负债。入金加载(预付款/净值)不显示,因为在交易所计算模式下预付款等于当前资产/负债的贴现值,并且它随着净值而变化。

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

在日志里的测试进度

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

图表上的测试进度

测试完成的那一刻, 您可以打开智能交易系统测试的图表 (所选的品种和周期)。点击 "打开图表 打开图表", 关联菜单位于 "结果" 栏。所有测试期间 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 在测试期间执行的动作。

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

在可视模式里测试指标 

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

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

在可视模式里测试指标

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