错误、漏洞、问题 - 页 3014

 

b2875

 
问题是:我如何设置一个自定义符号,它是某个交叉对的副本(例如,CADJPY),但有修改过的刻度,但以这样的方式,策略测试器在使用它时 不会使用USDCAD、USDJPY基对。应正确计算头寸的利润和损失。
 
Maksim Emeliashin:
问题是:我如何设置一个自定义符号,这是一些交叉对的副本(例如,CADJPY),但有修改过的刻度,但以这种方式,策略测试器 不会使用USDCAD和USDJPY的基础对。应正确计算头寸的利润和损失。

基于管道的模式。

 
fxsaber:

基于管道的模式。

哦,的确,在这种模式下不使用碱基对。呃,将不得不重写所有的代码,在那里我有当前的利润 统计计数,以进行修复。

 

我有12个核心,6个带超线程的物理核心。我只想保留实体的,我怎么知道哪些要保留,哪些要停用?

 
Alain Verleyen:

我有12个核心,6个带超线程的物理核心。我只想保留实体的,我怎么知道哪些要保留,哪些要关闭?

只需禁用其中的一半
 
Aliaksandr Hryshyn:
关掉一半就可以了

是的,这就对了。

 
Aliaksandr Hryshyn :
只是禁用了其中的一半。
Slava:

是的,这就对了。

谢谢你。

完成了,我有6个物理核心,12个代理,最后6个禁用。


但所有的核心仍在被使用(尽管比12个代理的情况要少)。解释是什么呢?


 
Alain Verleyen:

我有12个核心,6个带超线程的物理核心。我只想保留实体的,我怎么知道哪些要保留,哪些要停用?

如果测试将大部分引文放在缓存中,超库就有意义。比方说,如果我们在基于真实的蜱虫上进行测试,那么超高速就没有用,速度不会改变。然而,对于在OHLC 1M上进行一两年的测试--12个超核的速度明显高于6个物理超核。

 

谁能告诉我这是我做错了什么还是MQL5的错误?

编码

/*******************Expert initialization function*******************/
int OnInit()
 {
  MqlDateTime mqlTime;
  datetime tgmt = TimeGMT();
  TimeToStruct(tgmt, mqlTime);
  return(INIT_SUCCEEDED);
 }/******************************************************************/

结构是空的,尽管变量tgmt包含正常的当前时间...

编码

/*******************Expert initialization function*******************/
int OnInit()
 {
  MqlDateTime mqlTime;
  datetime tgmt = TimeGMT(mqlTime);
  //TimeToStruct(tgmt, mqlTime);
  return(INIT_SUCCEEDED);
 }/******************************************************************/

尽管tgmt变量包含正常的当前时间,但该结构包含垃圾......

在这个硬件上

2021.05.13 09:42:03.384 Terminal        MetaTrader 5 x64 build 2899 started for MetaQuotes Software Corp.
2021.05.13 09:42:03.384 Terminal        Windows 7 Service Pack 1 build 7601, AMD FX-4170 Quad-Core, 8 / 11 Gb memory, 56 / 465 Gb disk, IE 11, Admin, GMT+3

在OnTick()处理程序中还有