MetaTrader 4帮助

最佳化设定

最佳化呈现的交易顺序与同样输入数据的顺序不同。另外,一些数据能够给交易带来最大利润。 终端允许这个步骤地自动运行。在优化交易参数之前,需要设定以下:

在终端内存在交易测试和最佳化的窗口"测试"。 所有安装列表可以在"安装"标签内看到。

智能交易和它的参数 #

需要在"测试 ―交易"窗口选择需要优化的交易参数。 优化交易必须编辑并放置到/EXPERTS 文件夹内。

strategy_tester_optimization

选定EA后,就必须做额外的设置并设置输入。这可以通过按下“EA属性”按钮来完成。

strategy_tester_settings_expert_properties

然后,含有以下三个标签的新窗口将会出现:

测试

在这个标签设置普通优化参数。它们包括在相关字段指定的初始入金交易量和货币。这是优化期间由EA操作的入金。

在本标签选定持仓类型,以及:只买入,只卖出,或买入和卖出。无论EA使用什么算法,都将只在这里定义的方向持仓。

在这里可以打开优化的遗传算法。关于它的详细信息提供在"遗传算法:数学"文章。

优化参数是一个特定因素,它的值定义了测试参数系列的质量。优化标准的值越高,给定参数系列的测试值越好。以下参数用于优化:

  • 结余 ―  结余的最高值
  • 利润因子 ―  利润因子的最高值
  • 期望收益 ― 期望收益的最高值
  • 最大跌幅 ― 最大跌幅的最低值
  • 跌幅百分比 ―  相对跌幅的最低值(百分比计算)
  • 自定义 ― 这里优化标准就是EA交易中的OnTester()函数的值。该参数允许使用任何自定义的值用来优化EA交易。

输入

这里所有输入都列在一个表上。输入是影响EA 操作的变量,可以直接从客户端更改。由于这些操作要被更改,所以也无需改变EA代码。输入量的变化取决于EA。

优化时,EA输入在“开始”,“步长”,和“停止”字段中设置。初始值,更改间隔,和外部变量的终值都将在这些字段分别设置。变量名称左侧有许多勾选框,包括优化进程的参数。如果在这个勾选框没有勾选该变量,那么它就不会参与优化。优化过程中不能改变它的值,并且在这里写下“值”字段给出的参数。EA通过的数量直接取决于这些参数。“值”字段写下的数据不会影响EA优化而只是用于测试需要。

之前已经保存的输入组(包括“开始”,“步长”,和“停止”字段中给定的组)可以被下载。这可以通过点击“载入”按钮和选择预保存的参数组来完成。当前的外部变量组可以通过按下相应的按钮来保存。

优化

优化 ― 该标签允许管理优化时的局限性。如果单次通过时遇到任何情况,那么该次EA通过就将会受到干扰。优化会在下次通过时继续。

要启用条件限制,就需要在其左侧的勾选框做出标记。在“值”字段双击鼠标左键可以用来改变现有参数。极限参数:

  • 最低结余 ― 存款货币的最小结余值
  • 最高利润 ― 存款货币的最高利润
  • 最低预付款水平% ― 最低预付款水平百分比
  • 最大跌幅% ― 最大跌幅百分比
  • 连续亏损 ― 最大系列的亏损。亏损系列是许多连续亏损的交易。
  • 连续亏损交易 ― 一个系列内最大亏损交易额
  • 连胜 ―个系列内最大的总利润。盈利系列就是许多连续获利的交易
  • 连胜交易 ― 一个系列内最大的盈利交易额。

商品和它的周期 #

交易测试不仅仅需要选择交易并设定。还需要选择商品和优化周期(时间范围)。 这些数据会应用到优化中。优化时,在终端可以选择任意商品或应用外部数据文件。 以*.FXT 格式储存于/TESTER文件中的历史数据会应用到测试中。如果在终端内选定商品,这些文件会在测试时自动创建。 如果应用外部数据,需要手动保存相应信息到/TESTER文件,并且禁止"重新估算"输入新数据覆盖。

商品测试的时间范围会在 "周期"显示。 如果商品没有数据文件,周期和模型方法也不会存在,它将会自动创建。若需要的文件已经创建完毕, "重新估算" 选项将会开启。如果对于商品和周期没有历史数据,测试将会自动下载最近512历史条。

注意: 如果商品所需的数据在最近512条之外,历史数据将会自动下载最后可用的数据。

模型方法 #

历史数据在终端内仅以条的形式储存, 会以TOHLCV (HST格式)呈现。 这些数据会应用到价格改变的模型中。一些情况下,一些信息不能满足测试。例如,对于每日的时间范围等等。

终端可以使用历史数据模型的多种方法测试交易。从较小的周期使用历史数据,可能看到价位的波动等等, 例如,当被测试的交易是一个小时的数据,那价位的变动是一分钟的数据。由于, 模型的历史数据接近真实的价位波动,使得交易测试更为真实。

以下的三种模型方法的任意一个可以关闭测试:

  • 只开价(最快的方法去分析完整条)
    一些机械交易系统不取决于模型条的属性,它们需要在完整条上交易。如果下一个条显现说明这个条是完整的。
    在这种模式下,模型条会第一个打开 (开仓 = 最高值 = 最低值= 平仓, 成交量=1)交易能够准确地识别在前面位置的 完整条。刚开始的条会应用到交易的开始测试中。下一步, 当前完整条将会给出,但测试不会执行!
  • 检测点 (应用最近的时间范围和不规则图形碎片插入)
    检测点模型是利用对于交易利润的粗糙估算和内部条进行的。对于这种方法可用的最近的历史数据时间范围会显示。 多数情况下,最近的时间范围可用数据不能完整覆盖测试的时间范围。如果最近时间范围的数据丢失,接下来的工作条在平仓后 形成先前的12工作条。那就意味着内部条的改变将会与最后的12个周期相同。这就是不规则图形碎片插入。
    最近时间范围显现后,对于新数据不规则图形碎片插入将被显示。但不是应用先前的12个条,而是6个。 意味着真正存在的开仓,最高值,最低值和平仓将会重新产生。 两个形成价格的价值和位置取决于先前的6个工作条。
  • 全部信用(在带有全部信用的不规则图形碎片可用的时间范围基础上)
    这是一个极其精确的内部工作条。 与"检测点"不同,它不仅最近的时间范围数据,而是利用最近时间范围的可用数据。 另外,如果在相同时间内对于相同时间段数据多于一个周期,最近的时间范围数据将会被应用到模型中。 与检测点相似的是同样利用不规则图形碎片插入。有可能出现一些相近的信用效仿其他。这种情况下,双倍的开价会被滤除。
    值得考虑的是大量应用数据。它会影响到交易系统的消耗和测试速度。

注意:

  • 如果最近时间范围没有可用数据覆盖测试,换而言之,结果不够精确,建议不要在全部信用上开启测试;
  • 在检测点上的模型是在交易最佳化的基础上,全部信用模型是为了关闭测试。

在模型参数和日期范围改变后,数据文件必须重新创建。 可以使用"重新估算"。如果设置没有发生改变,将无需重新估算。这种情况下,建议禁止定单减少测试时间。

时间范围 #

时间范围可以允许不测试交易全部可用数据,但需要内部中心时间。 如果需要测试历史数据的中心部分,它会充分发挥它的益处。时间范围不仅仅可以应用到交易测试中,也可以使用在模型条的测试中。 它无需模拟全部历史的数据,可以广泛的应用全部信用的数据。这就是数据范围可以在最初测试模型 设置的原因。数据会连续从指标估算的定单中进入,并记录为历史。必须记录下最先的100条将不被模拟。 这个界限不取决于日期限定。

允许日期范围限定,可以使用"应用日期"来指定所需要的时间"起始于" 和"截止到"。所有设置完成后,按 "开始"按钮即可开始测试。 在测试开始后,在窗口的下端可以查看接近完成的时间。

注意: