2

我正在使用该TesterStatistics()函数(从该OnDeinit()函数调用)来导出各种策略测试统计值:

void OnDeinit(const int /*reason*/)
{
  int h = FileOpen("results.txt", FILE_WRITE|FILE_UNICODE|FILE_TXT|FILE_COMMON);

  if (h != INVALID_HANDLE)
  {
    FileWrite(h, TesterStatistics(STAT_PROFIT));
    FileWrite(h, TesterStatistics(STAT_SHORT_TRADES));
    FileWrite(h, TesterStatistics(STAT_LONG_TRADES));
    FileWrite(h, TesterStatistics(STAT_BALANCE_DD));
    FileWrite(h, TesterStatistics(STAT_BALANCE_DDREL_PERCENT));
    FileClose(h);
  }
}

这可行,但似乎仅限于简单的回测。

如何导出回测和前测结果?


前向测试的结果显示在单独的选项卡“前向”上。远期周期的开始日期在图表上由一条垂直线标记:

前向测试的结果

我可以通过编程方式访问这些信息吗?

4

1 回答 1

2

您说的对,MetaTrader 5 终端无法识别(坦率地说,其他人也无法识别)进行真实交易和进行相同操作之间的区别,而只是作为前瞻性测试。

然而,有一种方法可以收集统计数据

当我们的回测实际上没有使用内置的 StrategyTester 工具时(我们发现了一些奇怪的会计问题(当非主要存款货币在时间流中没有正确地涉及到 S/T 记录时),我们也会在另一个上下文中使用它。

我们自己编写ReportResults()并从OnDeinit()处理程序中调用它。

这就像一个魅力。

于 2017-10-29T01:01:53.473 回答