Que diable se passe-t-il ? - page 9

 
Artyom Trishkin:

....

Le mode "test" inclut le mode "optimisation", mais pas l'inverse.

    ......
    Artyom Trishkin:
    Non. Au contraire.
    Eh bien, c'est si vous avez besoin de demi-mesures.

    J'ai peur de ne pas comprendre.

    Si MQL_OPTIMIZATION est inclus dans MQL_TESTER, pourquoi le vérifier également ?

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

    J'ai peur de ne pas comprendre.

    Si MQL_OPTIMIZATION est inclus dans MQL_TESTER, pourquoi le vérifier également ?

    L'optimisation est une sous-espèce du testeur.
    Mais le testeur n'est pas une sous-espèce de quoi que ce soit.
     
    Сергей Таболин:

    Exactement. Si vous n'êtes pas un testeur ou un optimisateur, vous n'êtes pas du tout admis ici ;)))

    Artem, si j'ai bien compris, alors ma telle construction

    est superflue ?

    Ce sera suffisant

    ?

    if(MQLInfoInteger(MQL_OPTIMIZATION)
    nous savons que nous travaillons dans un testeur, mais nous ne savons pas s'il s'agit d'une passe unique ou d'une optimisation, nous devons donc vérifier le drapeau d'optimisation.
     
    Andrey Dik:
    Nous savons que nous travaillons dans le testeur, mais nous ne savons pas s'il s'agit d'une passe unique ou d'une optimisation, nous devons donc vérifier le drapeau d'optimisation.

    Oui, Andrew, je comprends.

    Mais il s'agit d'une question générale. Si je suis en train d'optimiser ou de tester, certaines statistiques sont collectées pour être utilisées dans OnTester().

    Par conséquent, ma question est de savoir s'il est suffisant d'écrireif(MQLInfoInteger(MQL_TESTER)) ouif(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_TESTER))?

    Si l'optimisation fait partie du test, la vérification du mode d'optimisation semble inutile...

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

    Mais il s'agit d'une question générale. Si je suis en train d'optimiser ou de tester, certaines statistiques sont collectées pour être utilisées dans OnTester().

    Par conséquent, ma question est de savoir s'il est suffisant d'écrireif(MQLInfoInteger(MQL_TESTER)) ouif(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_TESTER)) ?

    Si l'optimisation fait partie du test, alors la vérification du mode d'optimisation semble inutile...

    Pourquoi compliquer la construction ?

    On dirait que vous avez des fichiers pour le réel, pour le testeur et l'optimiseur.

    Dans ce cas, la vôtre :

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

    vous pourriez l'écrire de cette façon :

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

    et c'est tout - tous vos fichiers seront clairement distingués par le testeur, l'optimiseur et le vrai.

     
    Andrey F. Zelinsky:

    pourquoi compliquer la conception ?

    Il semble que vous ayez des fichiers pour le réel, pour le testeur et pour l'optimiseur.

    Dans ce cas, ils sont à vous :

    vous pourriez l'écrire de cette façon :

    et c'est tout - tous vos fichiers seront distingués par le testeur, l'optimiseur et le vrai.

    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);
    }
    

    Ce contrôle est-il vraiment nécessaire ?

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

    Ce test est-il nécessaire ?

    vous devez commencer par : quel est le but de la distinction entre testeur, optimiseur et réel dans votre système ?

    pourquoi ne pouvez-vous pas vous passer de ces contrôles ?

     
    Andrey F. Zelinsky:

    vous devez commencer par : quel est le but de la distinction entre testeur, optimiseur et réel dans votre système ?

    Pourquoi ne pouvez-vous pas vous en passer ?

    Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

    Mais qu'est-ce qui se passe ?

    Sergey Tabolin, 2020.05.20 15:11

    Oui, Andrey, je comprends.

    Mais c'est une question générale. Si je suis en train d'optimiser ou de tester, je collecte quelques statistiques pour les utiliser dans OnTester().

    Par conséquent, ma question est de savoir s'il est suffisant d'écrireif(MQLInfoInteger(MQL_TESTER)) ouif(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_TESTER))?

    Si l'optimisation fait partie du test, la vérification du mode d'optimisation semble inutile...


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

    Ensuite, il suffit de vérifier le test.
     
    Сергей Таболин:

    Pourquoi demandez-vous à quelqu'un ?

    Vérifier les valeurs deMQLInfoInteger(MQL_TESTER) etMQLInfoInteger(MQL_OPTIMIZATION) dans le testeur et l'optimiseur.

    et vous verrez par vous-même.

    Raison: