策略测试器允许您的交易策略 (智能交易系统) 实际应用于真实帐户之前, 对它们进行测试并优化。测试期间, 智能交易系统以初始参数依据历史数据运行。优化期间, 交易策略将使用不同的参数集合运行多次, 从中可以选出最恰当的组合。
策略测试器是多币种工具, 可令您测试/优化多金融工具交易策略。测试器自动处理所有交易策略中用到的品种信息, 所以您无需手工指定测试/优化时的品种列表。
策略测试器是多线程的, 因此可以使用所有可用的电脑资源。测试和优化可以使用指定的计算 代理 进行, 它们作为服务安装在客户的电脑上。代理独立工作, 并可并行处理优化递进。
可将无限数量的 远程 代理连接到策略测试器。此外, 策略测试器可以访问 MQL5 云网络。它带来了环球数以千计的代理, 并且这种计算能力可为所有交易平台客户所用。
除了智能交易系统的测试和优化, 您可以使用策略测试器的 可视模式 对自定义指标进行测试操作。这个 功能可以很简单地测试从 市场里下载的演示版自定义指标的操作。
测试一款 智能交易系统 就是利用历史价格数据以固定参数单次运行。它可以在您将策略用于真实市场之前, 测试它是如何工作的。
tester(测试器)启动之后,用户看到的是一个标准任务列表,而不是多个设置,通过选择任务,用户可以快速开始测试。这对于之前没有任何经验的用户尤其有用。
开始页面会显示一些主要的策略测试和优化任务。此外,还可以从此页面重新启动一个以前执行的任务。如果您运行了多个任务,且这些任务不适合开始页面,那么请使用搜索栏。您可以通过任何参数找到测试:程序名称、交易品种、时间框架、建模模式等。
选择任务之后,用户继续进一步测试参数设置:选择EA交易、交易品种、测试周期等。所选任务不需要的所有无关参数都将从设置页面中隐藏。例如,选择数学计算,只需要指定两个参数:选择要测试的程序和优化模式。在测试期间,将会隐藏延迟和报价生成的设置。
下面将解释所有可用的测试选项。
点击 " 测试", 智能交易系统的关联菜单位于 导航器 窗口。
点击之后智能交易系统在策略测试器里被选中。
策略测试器允许多品种交易策略的回测。这种交易机器人通常被称为多币种智能交易系统。
测试器在首次调用品种数据时自动从交易平台下载所需品种的历史数据 (并非交易服务器!)。只有缺失的价格历史数据才会从交易服务器下载并补充。
在您开始测试多币种智能交易系统之前, 在市场观察里启用测试所需品种。打开它的关联菜单, 点击 "品种" 并启用所需的工具。
在您开始测试之前, 选择交易机器人将要测试操作的金融工具, 周期和模式。
选择用于测试和优化的主图表。需要通过交易品种选择来触发EA交易中包含的OnTick()事件。此外,所选的交易品种和时间段还会影响使用当前图表参数(例如,Symbol()和Period())的EA交易代码中的特殊函数。换句话说,应在此处选择附加EA交易的图表。
选择测试和优化周期。您可以选择一个预定义周期或设置自定义时间间隔。要设置自定义时间段,请在右侧的相应字段中输入开始日期和结束日期。
测试器的特定功能是它会在指定时间段之前下载一些数据(形成不少于100柱形图)。这是进行更准确的测试和优化所必需的。例如,如果您在一个星期的时间范围内进行测试,则需要额外下载两年的时间。
如果没有足够的历史数据形成额外的100柱形图(这对于“月”和“周”的时间周期尤为重要),例如,当指定测试开始日期接近现有历史数据的开始日期时,则测试的开始日期将自动更改。 一条相应的消息添加到策略测试的日志中。
此选项使您可以检查测试结果,以避免符合特定的时间间隔。在前测期间,根据所选的前向周期,将“日期”字段中设置的时间段分为两部分(指定前测开始日期时的二分之一、三分之一、四分之一或自定义时间段。)
第一部分是后测的时间段。这是EA交易操作的适应期。第二部分是前测,在此期间将检查选定的参数。
策略测试可以在EA交易操作期间启用模拟网络延迟,以提供接近真实的测试条件。在策略测试中可能会在发出交易请求及执行请求期间插入某个时间延迟。从发送请求之刻起到执行为止,价格可以发生变化。这可使用户评估交易处理速度如何影响交易结果。
在现价执行模式下,用户还可以检查EA交易对交易服务器重新报价的反馈。如果要价和现价执行之间的差额超过订单中指定的偏差值,则EA会收到重新报价。
请注意,延迟仅适用于由EA执行的交易(下单,更改停损级别等)。例如,如果EA使用挂单,那么延迟只能用于下单而不能用于订单执行(在真实条件下,订单执行只能在无网络延迟时进行)。
无延迟
在此模式下,所有订单均按要价执行,而无需重新报价。该模式用于检查EA在“理想”条件下的表现。
随机延迟
“随机延迟”模式可以在最接近真实条件的环境中测试EA交易。延迟值根据以下条件自动生成:从0到9随机选择一个数字 - 这就是延迟的秒数;如果选择的数字等于9,那么会从相同范围随机选择另一个数字并加上第一个数字。
因此,延迟0-8秒的可能性为90%, 9-18秒的延迟是10%。
固定延迟
您可以选择一个预定义的延迟值,或设置自定义延迟值。平台将会衡量到交易服务器的ping值并且您也可以在测试中将该值设为延迟值,以便在尽可能接近真实的条件下测试EA交易。
选择一种报价生成模式:
有关报价生成的更多信息,请参阅相关部分。
以点为单位的利润计算可以加快测试过程,而不需要使用换算率重新计算利润以存入货币(因此无需下载相应的价格历史记录)。在此模式下,取消库存费和手续费的计算。
请注意,在此模式下不执行预付款控制。您应只将其用于快速粗略的策略评估,然后使用更精确的模式检查得到的结果。
指定用于测试和优化的初始入金金额。默认使用当前连接账户的入金货币,但您可以指定任何其他货币。请注意,将利润和预付款转换为指定入金货币的汇率必须在账户上可用,以确保适当的测试。只有“外汇”或“外汇无杠杆”计算类型的交易品种可被用作交叉汇率。
其次选择用于测试和优化的杠杆。杠杆作为持仓和订单的预付款,影响的是账户上保留的资金数额。
如果您拥有所选EA的源代码,您可以点击此按键以切换到MetaEditor中的编辑页面。
使用此菜单管理测试器设置:将各个EA交易的设置保存到ini文件中,以方便稍后点击访问。也可以通过Ctrl + C组合键将当前测试设置复制到剪贴板。您可以在首选的文本编辑器中对其进行编辑,然后使用Ctrl + V组合键将其复制并上传到测试器。
从同一菜单,您可以快速选择最近使用的程序、最近图表设置和测试周期。
此外,您可以快速访问以前的任何优化结果,以及获得结果的设置。
您可以更改用于测试/优化的主要交易品种的设置。几乎所有规格参数都可以被重写:交易量、交易模式、预付款要求、执行模式和其他设置。
当测试策略(例如交易限制、预付款设置和手续费)时,设置您自己的交易账户参数。此选项可以模拟交易商提供的不同交易条件。
可视化测试模式可以精确地可视化EA交易在历史数据测试过程中如何执行交易操作。交易品种的每笔交易都显示在其图表上。
|
输入参数 允许您控制智能交易系统的行为, 令其适应不同的市场条件以及指定的金融工具。例如, 您可以利用不同 止损 和 止盈 数值来探索智能交易系统的性能, 不同周期的移动均线用于市场分析和决策制定, 等等。
指定每个输入参数的数值。
参数设置。 您可以使用快捷菜单,通过保存一套MQL5程序参数随时返回其当前设置:
您可以在策略测试期间指定自定义交易账户设置,例如交易限制、预付款设置和手续费。此选项可以模拟交易商提供的不同交易条件。
常用
在这部分,您可以设置账户上可同时存在的未结订单和持仓的最大数量。此外,您还可以配置不允许程序交易的时间段。
预付款
这部分可以配置将在测试中使用的预付款保留规则和持仓账户系统:
风险管理模式:OTC(场外模式)和交易所模式、单边系统模式或锁仓系统模式。
当达到这个水平时,账户就会切换到“追加预付款”状态。
当达到该水平时,取消所有订单并关闭所有交易持仓。这些水平可以用货币和百分比表示。在前一种情况下,它们被确定为账户的净值数值。如果选择了“百分比”,则水平可定义为账户的“预付款水平”值(净值/预付款* 100)。
此处指定了在可用预付款计算中当前浮动盈/亏的计算方法:
此处指定了在可用预付款计算中交易者每日已实现盈/亏的计算方法:
交易日结束时取消冻结固定盈利 ― 该选项只在选择“使用每日固定亏损”选项时可用。如果启用此选项,则在交易日结束时将取消冻结累计的盈利(因此也包含在可用预付款中)。否则,这部分盈利额将被继续冻结。
手续费
这部分提供管理所有交易操作收取的手续费:
要应用当前交易账户的手续费设置,请启用“使用预定义手续费”选项。
启用选项以使用当前交易账户手续费设置,来替代下面指定的自定义设置。
指定要为其配置手续费的交易品种名称。可为每个交易品种添加多个设置。因此,您可以根据交易量或周转率设置多级手续费。
手续费可在每次交易之后立即收取,也可在交易日或交易月累计,然后通过一次操作进行收取:
此外,还可以根据每笔交易量或每日/每月的周转来收取手续费。所选选项决定了在“从”和“到”字段中显示其交易量的实体:交易或周转。
在每日和每月模式下,双向交易均收取手续费(开仓/增仓以及平仓或部分平仓时)。对于即时手续费,可以手动设置交易方向。
针对进/出类型的反转交易,“入”意味着仅收取新持仓的交易量的手续费,“出”意味着收取平仓交易量的手续费。以下规则适用于Close By交易:
将收取手续费的最小交易量(周转率)。该范围不可重叠。否则,将对操作所属的所有范围收取手续费。
将收取手续费的最大交易量(周转率)。该范围不可重叠。否则,将对操作所属的所有范围收取手续费。
手续费金额。手续费单位取决于在“模式”字段选择的手续费计算方法。
最低手续费金额。值单位取决于所选的计算模式(基础货币、组货币、点等)。如果您不想限制最低手续费金额,请设置0值。
最高手续费金额。值单位取决于所选的计算模式(基础货币、组货币、点等)。手续费最大值不可低于其最小值。如果您不想限制最高手续费金额,请设置0值。
手续费金额计算单位:
手续费收取类型:
您可以重写主要交易品种的设置,并为此执行测试/优化。几乎所有规格参数都可以重写:交易量、交易模式、预付款需求、执行模式和其他设置。因此,如果您需要在不同条件下检查EA,则无需创建单独的自定义交易品种和下载其历史记录。这可以通过更改标准的交易品种设置来完成。
如果交易品种规格为自定义,则齿轮图标和交易品种图标将用星号标记。这表示自定义参数用于当前测试。
为了开始测试, 在 "设置" 栏上点击 "开始"。测试进程显示在左侧。
智能交易系统的测试结果显示在 "结果" 和 "图形" 栏里。
测试结果详情显示在 "结果" 栏上。这一栏包括生成的测试结果, 包括利润和交易数量, 以及许多统计数值可以帮助评估交易机器人的性能。
其余图表示意小时、日和月为单位的交易操作数量和成功率的分布, 以及描绘交易策略的风险参数。
查看 测试报告 部分可得到详情。
在 "图形" 栏上, 您可以目测智能交易系统针对所选工具在所选时间段内是如何成功执行的。
余额曲线 (蓝色线) 和净值曲线 (绿色) 显示在栏目的主要区域。日期显示在水平轴刻度, 余额/净值显示在垂直轴刻度。
|
标签底部具备入金加载直方图,计算预付款和净值的比率(预付款/净值)。
测试进度反映在 "日志" 上。此外, 智能交易系统的消息添加到日志。在 可视测试 模式, 测试进度可直接从图表上看到。
测试完成的那一刻, 您可以打开智能交易系统测试的图表 (所选的品种和周期)。点击 " 打开图表", 关联菜单位于 "结果" 栏。所有测试期间 EA 执行的成交显示在图表上。如果一个 模板 名为 tester.tpl 存在于交易平台文件夹 /profiles/templates, 它将用于打开图表。如果没有模板, 使用省缺的 (default.tpl)。
如果测试的智能交易系统使用了 指标, 它运行在测试的品种和周期, 它们也一并显示在图表上。不过, 如果在智能交易系统的源代码里实现了强制卸载指标 (函数 IndicatorRelease), 指标将不会显示在图表上。
向前测试是在不同时间周期重复运行智能交易系统。此功能允许您避免某段历史数据的参数拟合。
为了开始前测, 在设置栏的前测字段选择 总周期 部分:
|
当启用前测时, 所选的部分从 "日期" 字段指定的周期中分离。第一部分是回测周期, 第二部分是前测周期。
前测结果显示在单独的 "前测" 栏上。前测的开始日期以一根垂直线标记在图表上。
有关测试结果的详情, 请参阅章节 "何处查看优化结果"。
在交易平台的 策略测试器 里, 您可以按照可视模式测试智能交易系统和指标。此模式可以通过准确地直观智能交易系统在回测期间是如何执行操作的。每笔交易显示在金融品种的图表上。
要启用可视测试, 在设置里选择 "可视化":
可视测试运行在一个新窗口里, 它模拟一个单独的交易平台: 它包含图表, 市场观察和工具箱窗口, 在此您可以查看交易操作和日志。
使用工具条来暂停, 加速或减速测试。您也可以跳到特别的测试日期。
您可以便利地通过热键控制测试进程, 组合键列表就在菜单命令旁边。
这个测试类型的主要目的是直观地分析智能交易系统性能。基于模拟的历史价格数据, 实时生成图表。交易机器人的操作显示在图表上。
交易操作显示为图标(一笔买入成交) 和(一笔卖出成交)。在入场和离场之间显示一条虚线。
市场观察显示测试期间生成的价格。它类似于 交易平台 市场观察, 但有些特殊的功能。为了显示/隐藏此窗口, 在视图菜单里使用市场观察命令或按下 Ctrl+M。
品种栏显示当前金融工具的价格信息。显示的品种列表受限于 主要测试品种, 如同在智能交易系统里使用品种的数据。
分时栏包括一个测试期间 生成的 价格图表。现实的分时数量限制在 64,000。
数据窗口显示有关价格 (OHLC) 的信息, 柱线的日期和时间, 点差, 交易量和 指标。在此, 您可以快速查找图表上选择点的特定柱线和应用指标的有关信息。此窗口可以通过点击视图菜单里的 "数据窗口" 或按下 Ctrl+D 来启用或禁用。
窗口的上半部包括金融工具名称和图表周期。图表上的当前光标处的有关信息显示在下面。有关 指标 的信息在单独区域的单独子窗口里打开。
为了详细了解智能交易系统执行的交易, 使用工具箱窗口。它有若干栏目, 信息如下:
其余的有关测试详情在日志里提供。它包括有关测试的信息, 和 EA 在测试期间执行的动作。
只要可视化打开, 测试代理的记录不会发送到平台的 策略测试器 上。然而, 它们可以通过交易平台关联菜单里的 "本地代理的本地日志" 命令来查看。 |
可视测试模式允许您监视基于历史数据的 指标 行为。这个特性可令您在从 市场 里购买指标之前, 容易地测试它。下载免费演示版并在策略测试器里运行它。
选择 "指标" 程序的类型, 之后选择指标并点击 "开始"。可视模式自动启用。同法设置其余参数, 如同 交易机器人测试期间。
指标行为显示在图表上, 它基于测试器模拟的分时序列绘制。