MetaTrader 4中的测试特性和限定

MetaQuotes | 10 三月, 2008

介绍

文章介绍在 MetaTrader 4中更多策略测试的特性和限定。

历史数据上的策略测试的特殊特性
  • 在没有输出信息情况下,一些函数处理/通过

    它们是 Sleep(), Alert(), SendMail(), PlaySound(), MessageBox(), WindowFind(), WindowHandle(), WindowIsVisible()

  • 在测试情况下对于货币对允许交易,不是测试文件夹

    尝试使用其他货币对交易将返回错误

  • 标准手数大小包含初始大小和增加份额,佣金和掉期可以从激活的账户中设置

    在测试之前,需要确认在终端“导航”窗口列表中存在至少一个己激活账户。

  • 全部掉期,需求保证金,期限, GTC-定单被模式化

    执行测试最大限度地接近交易服务器状态。但是由于每个时刻价格转换信息短缺,可能出现一些不可估测的需求保证金要求。

  • 在测试被模式化的情况下相同货币对的其他时间周期的零柱

    Open =正确开仓, Close =正确平仓, Low = 最低 (Open,Close), High = 最高(Open,Close), Volume = 最终成交量 (false)

  • 在交易中使用即时交易模式,拒绝延期处理
  • 定单处理, 不延期Open/Close
  • 在 StopOut之后,测试停止
  • 每星期,每月和不标准时间周期不能测试
  • 货币存款额可以改变,但是要设置价格转换并且使用当前的一个变量
  • 不允许拖延交易业务的执行

    计划设置延误是为了里了解交易的处理

  • 账户历史为完整变量,不取决于设置
  • 如果其他货币对和时间周期被激活使用, 会尽可能下载这些货币对和时间周期
  • 在独立测试情况下,对于货币对每个替可和测试的模式化需要全部的时间周期
  • 使用MarketInfo函数产生错误 ERR_FUNCTION_NOT_ALLOWED_IN_TESTING_MODE(4059),虽然显示正确的货币对当前价格,止损水平范围,大小点数和在报价窗口提供的货币对价差大小信息。

优化处理的特殊特性

  • 在日志内没有任何输出信息 (还有 Print()函数)

    这样做可以加快测试速度并减少占据硬盘空间。如果日志文件完全输出信息将需要上百 MB。

  • 画出物件没有真实设定

    在加快测试速度的指令下禁止物件。

  • 使用"Skip useless results"功能

    为了不混淆表格和图表的测试结果,尽量使用该功能。 此函数在 "优化结果"的菜单中 -> &quotSkip useless results"栏 tab.