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

[删除]  
Artyom Trishkin:

....

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

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

    恐怕我不明白。

    如果MQL_OPTIMIZATION包含在MQL_TESTER中,为什么还要检查它呢?

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

    恐怕我不明白。

    如果MQL_OPTIMIZATION包含在MQL_TESTER中,为什么还要检查它呢?

    优化是测试员的一个亚种。
    但测试者不是任何东西的亚种。
     
    Сергей Таболин:

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

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

    是多余的吗?

    这将是足够的

    ?

    if(MQLInfoInteger(MQL_OPTIMIZATION)
    我们知道我们是在一个测试器中工作,但我们不知道它是一个单一的通道还是一个优化,所以我们需要检查优化的标志
    [删除]  
    Andrey Dik:
    我们知道我们正在测试器中工作,但我们不知道它是单次通过还是优化,所以我们必须检查优化标志

    是的,安德鲁,我明白这一点。

    但这是一个一般性问题。如果我正在进行优化或测试,一些统计数据被收集起来用于OnTester()。

    因此,我的问题是,写if(MQLInfoInteger(MQL_TESTER))if(MQLInfoInteger(MQL_OPTIMIZATION)||MQLInfoInteger(MQL_TESTER))是否足够?

    如果优化是测试的一部分,那么检查优化模式 似乎就没有必要了......

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

    但这是一个一般性问题。如果我正在优化或测试,一些统计数据被收集起来供OnTester()使用。

    因此,我的问题是,写if(MQLInfoInteger(MQL_TESTER))if(MQLInfoInteger(MQL_OPTIMIZATION)||MQLInfoInteger(MQL_TESTER))是否足够

    如果优化是测试的一部分,那么检查优化模式 似乎没有必要......

    为什么要使建筑复杂化?

    看起来你有用于真实的、用于测试者和优化者的文件。

    在这种情况下--你的。

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

    你可以这样写。

       filename = "ERR_dir\\"+filename + ".";
       if(MQLInfoInteger(MQL_TESTER)) filename = filename + "t";
       if(MQLInfoInteger(MQL_OPTIMIZATION)) filename = filename + "o";
    

    就这样 -- 你的所有文件都能被测试者、优化者和真正的人清楚地区分。

    [删除]  
    Andrey F. Zelinsky:

    为什么要把设计复杂化?

    看起来你有真实的、测试者的和优化者的文件。

    在这种情况下,他们是你的。

    你可以这样写。

    就这样 -- 你的所有文件都可以被测试者、优化者和真正的人区分开来。

    double x;
    int OnInit()
    {
       x = 0.0;
    }
    void OnTick()
    {
       ....
       // if new Bar
       if(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_TESTER)) x += 1.618;
       ....
    }
    double OnTester()
    {
       return(x * 3.14159);
    }
    

    这种检查真的有必要吗?

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

    这个测试有必要吗?

    你必须从 -- 在你的系统中区分测试者、优化者和真实的目的是什么?

    为什么你不能没有这些检查?

    [删除]  
    Andrey F. Zelinsky:

    你必须从 -- 在你的系统中区分测试者、优化者和真实的目的是什么?

    为什么你不能没有他们?

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

    这到底是怎么回事?

    Sergey Tabolin, 2020.05.20 15:11

    是的,安德烈,我明白。

    但这是一个一般性问题。如果我正在进行优化或测试,我会收集一些统计数据,在OnTester()中使用。

    因此,我的问题是,写if(MQLInfoInteger(MQL_TESTER))if(MQLInfoInteger(MQL_OPTIMIZATION)||MQLInfoInteger(MQL_TESTER))是否足够?

    如果优化是测试的一部分,那么检查优化模式 似乎就没有必要了......


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

    然后就检查测试。
     
    Сергей Таболин:

    你为什么要问别人?

    检查测试仪和优化器中的MQLInfoInteger(MQL_TESTER)和MQLInfoInteger(MQL_OPTIMIZATION)

    你会自己看到。