到底发生了什么事? - 页 8

 
Сергей Таболин:

亲爱的,只是一个字,因为在我把它打印出来之前,也没有一个对文件工作很重要的人,提出这可能是个问题;):)不管怎么说,这已经解决了。

现在有一个分心的问题:以下几行之间有什么区别?

   filename = "ERR_dir\\"+filename+(MQLInfoInteger(MQL_OPTIMIZATION) ? ".opt" : ".tst");
   filename = "ERR_dir\\"+filename+(MQLInfoInteger(MQL_TESTER) ? ".tst" : ".opt");

如果可能的话,还有解释--为什么?

优化的方式

测试模式

测试员模式包括优化模式,但反之亦然。

你的两句话都是错的。

第一个。

如果是优化模式,扩展名为.opt,否则扩展名为.tst。但在 "否则 "的情况下,它可能根本就不是一个测试者。

第二。

如果是测试员模式,扩展名是.tst,否则扩展名是.opt。但在'否则'的情况下,它可能根本就不是一个测试者。

正确。

  • 如果是测试器模式。
    • 如果是优化模式,扩展名为.opt
      • 否则,扩展名为.tst
 
Artyom Trishkin:

优化模式

测试仪模式

测试机模式包括优化模式,但反之亦然。

你的两句话都是错的。

第一个。

如果是优化模式,扩展名为.opt,否则扩展名为.tst。但在 "否则 "的情况下,它可能根本就不是一个测试者。

第二。

如果是测试员模式,扩展名是.tst,否则扩展名是.opt。但在'否则'的情况下,它可能根本就不是一个测试者。

对。

  • 如果是测试器模式。
    • 如果是优化模式,扩展名为.opt
      • 否则,扩展名为.tst

这就够了。

当然,除非你想检查EA是否在图表或测试器模式下工作。

 
Andrey Dik:

这就够了。

如果根本不是测试员,那是什么?

 
Artyom Trishkin:

如果根本不是测试员,那是什么?

它没有在测试器中或在图表运行中检查的任务,而只是确定它是在历史上的简单运行还是作为优化包的一部分,如果我对TC的理解正确的话

[删除]  
Andrey Dik:

它没有在测试器中或在图表运行中检查的任务,而只是确定它是在历史上的简单运行还是作为优化包的一部分,如果我对TC的理解正确的话

完全正确。如果不是测试人员或优化人员,根本就不会来这里 )))

Artem,如果我没有理解错的话,我的这种设计

if(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_TESTER))

是多余的吗?

这将是足够的

if(MQLInfoInteger(MQL_TESTER))

?

[删除]  
Maxim Kuznetsov:

如果文件被写入COMMON,就必须有SHARE_READ和一个相当棘手的写入竞赛控制。不在公共场合拍摄脚后跟是一种体面的做法。

一般来说,顾问们不在共同点上写任何东西,这是一个好的做法。他们可以阅读,但它是由交易员写在那里或复制在那里的,他本人对此负责。对于所有终端中的所有专家顾问,这些都是上面给的词。

如果一个文件被写入一个没有SHARE_XXX的普通目录,但优化器却产生了共享访问的错误,那么这就是终端开发者的错误。

因此,专家顾问不在那里写任何东西,它只读。


P.S.此外,这是唯一一个读到它的人(到目前为止)。
 
Сергей Таболин:

但专家顾问本身并没有在那里写任何东西,它只是读取它。


P.S. 此外它只读它 (迄今为止唯一的副本)。

如果在COMMON中,SHARE_READ是强制性的。

正如笑话中所说--"你不能理解它,你必须记住它" :-)

PS/当在测试器中时--它不仅从(每组单独的)公共的,而且从所有被测试的副本中并行地读取。顺便说一下,这也是一个潜在的bug--似乎有可能骗过测试人员,画出一个圣杯。

 
Maxim Kuznetsov:

如果在COMMON中,SHARE_READ是强制性的。

嗯,这不是强制性的。

多次访问并不像你希望的那样好。

 
Andrey F. Zelinsky:

嗯,不一定要这样。

多重访问并不是它所描述的那样。

我希望在只读模式下的多重访问没有问题?或者有吗?

 
Сергей Таболин:

完全正确。除非你是一个测试人员或优化人员,否则你根本就不会来这里 ))

Artem,如果我理解正确,那么我的这种结构

是多余的吗?

这将是足够的

?

不,恰恰相反。
好吧,那是如果你需要一半的措施。