MetaTrader 5策略测试器:缺陷,缺陷,改进建议 - 页 49

 
fxsaber:

对 "结果 "栏进行排序。

按结果、利润、通行证等进行排序。结果就在图中。
 
Grozir:
按结果、利润、通行证等进行排序。结果就在图中。

你需要一个这个优化的opt文件来弄清楚。

 
fxsaber:

你需要一个这个优化的opt文件来弄清楚。

这种结果的冻结发生在优化开始 后30分钟。在完成这个过程后,桌子上抽搐了一下,显示了所有的结果。
 
Grozir:
这种结果的徘徊发生在优化开始 后30分钟。在完成这个过程后,桌子抽搐了一下,显示出所有的结果。

该表在打开时不会被更新(出于性能原因)。你需要切换标签来刷新。

 

单次传递的HTML报告没有正确生成。回放。

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define  Bid SymbolInfoDouble(_Symbol, SYMBOL_BID)
#define  Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

void OnTick()
{  
  static bool FirstRun = true;
  
  if (FirstRun)
  {        
    const double TP = Bid - 100 * _Point;
    
    OrderSend(_Symbol, OP_SELL, 0.1, Bid, 0, 0, TP);
    OrderSend(_Symbol, OP_BUYLIMIT, 0.2, TP, 0, 0, 0);
    
    FirstRun = false;
  }
}

简而言之,未结头寸的行权价与限价单的水平相同。执行结果。

测试员先执行TP,然后再执行限价单。这是正确的。否则我们将面临没有足够的保证金来执行限价单的情况。

在终端中,交易后的例子(见第一张截图)是正确的(包括tst-file)。但在HTML报告中却不是这样。此外,终端中相应订单的触发顺序也被打破(包括tst-文件)。

 

关于交易、自动交易系统和策略测试的论坛

图书馆:SingleTesterCache

fxsaber, 2020.01.15 22:46

交易/订单量在tst中拼写不正确。它总是按照SYMBOL_TRADE_CONTRACT_SIZE= 100,000的方式计算。

如果设置了不同的值,它对tst中的音量值没有影响。

 

有一个疑点是,在优化过程中改变账户时,它就会停止。但在理论上,所有的账户设置都应该已经知道。

还有一个疑点是,如果在优化过程中重新编译bot,使其不能工作,那么优化也会开始停止。

PS。一旦CPU有空,我就会检查。
 

已经有150个结果,而它显示的是9个。为什么?

这是代理商中的图片。


 
Andrey Pogoreltsev:

已经有150个结果,而它显示的是9个。为什么?

这是代理商中的图片。


150项任务正在进行中,9项已经完成。第二张截图的最上面一行。
 
Grozir:
150项任务正在工作中,9项已经完成。 第二个屏幕的顶行。

在第一张截图中,你可以看到有已完成的任务。其中有150人。

如果你在第二个屏幕上计算工作中的任务,有103项,其中9项已经完成。