Che diavolo sta succedendo? - pagina 9

 
Artyom Trishkin:

....

La modalità Tester include la modalità di ottimizzazione, ma non viceversa.

    ......
    Artyom Trishkin:
    No. Al contrario.
    Beh, se hai bisogno di mezze misure.

    Temo di non capire.

    Se MQL_OPTIMIZATION è incluso in MQL_TESTER, perché controllare anche questo?

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

    Temo di non capire.

    Se MQL_OPTIMIZATION è incluso in MQL_TESTER, perché controllare anche questo?

    L'ottimizzazione è una sottospecie di tester.
    Ma il tester non è una sottospecie di nulla.
     
    Сергей Таболин:

    Esattamente giusto. A meno che tu non sia un tester o un ottimizzatore, non vieni affatto qui )))

    Artem, se ho capito bene, allora la mia costruzione

    è superfluo?

    Sarà sufficiente

    ?

    if(MQLInfoInteger(MQL_OPTIMIZATION)
    sappiamo che stiamo lavorando in un tester, ma non sappiamo se è un passaggio singolo o un'ottimizzazione, quindi dobbiamo controllare il flag di ottimizzazione
     
    Andrey Dik:
    Sappiamo che stiamo lavorando nel tester, ma non sappiamo se è un passaggio singolo o un'ottimizzazione, quindi dobbiamo controllare il flag di ottimizzazione

    Sì, Andrew, lo capisco.

    Ma questa è una domanda generale. Se sto ottimizzando o testando, alcune statistiche vengono raccolte per essere utilizzate in OnTester().

    Pertanto, la mia domanda è se è sufficiente scrivereif(MQLInfoInteger(MQL_TESTER)) oif(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_TESTER))?

    Se l'ottimizzazione fa parte del test, allora il controllo della modalità di ottimizzazione sembra non essere necessario...

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

    Ma questa è una domanda generale. Se sto ottimizzando o testando, alcune statistiche vengono raccolte per essere utilizzate in OnTester().

    Pertanto, la mia domanda è se è sufficiente scrivereif(MQLInfoInteger(MQL_TESTER)) oif(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_TESTER))?

    Se l'ottimizzazione fa parte del test, allora il controllo della modalità di ottimizzazione sembra inutile...

    Perché complicare la costruzione?

    Sembra che tu abbia dei file per il reale, per il tester e per l'ottimizzatore.

    In questo caso - il tuo:

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

    si potrebbe scrivere in questo modo:

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

    e questo è tutto - tutti i vostri file saranno chiaramente distinguibili da tester, ottimizzatore e reale

     
    Andrey F. Zelinsky:

    perché complicare il design?

    Sembra che tu abbia dei file per il reale, per il tester e per l'ottimizzatore.

    In questo caso, sono tuoi:

    si potrebbe scrivere in questo modo:

    e questo è tutto - tutti i vostri file saranno distinguibili da tester, ottimizzatore e reale

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

    Questo controllo è davvero necessario?

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

    Questo test è necessario?

    dovete iniziare con -- qual è lo scopo della distinzione tra tester, ottimizzatore e reale nel vostro sistema?

    perché non potete fare a meno di questi controlli?

     
    Andrey F. Zelinsky:

    dovete iniziare con -- qual è lo scopo della distinzione tra tester, ottimizzatore e reale nel vostro sistema?

    Perché non potete farne a meno?

    Forum sul trading, sistemi di trading automatico e test di strategia

    Che diavolo sta succedendo?

    Sergey Tabolin, 2020.05.20 15:11

    Sì, Andrey, lo capisco.

    Ma è una domanda generale. Se sto ottimizzando o testando, raccolgo alcune statistiche da usare in OnTester().

    Pertanto, la mia domanda è se è sufficiente scrivereif(MQLInfoInteger(MQL_TESTER)) oif(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_TESTER))?

    Se l'ottimizzazione fa parte del test, allora il controllo della modalità di ottimizzazione sembra non essere necessario...


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

    Poi basta controllare il test.
     
    Сергей Таболин:

    Perché lo chiede a qualcuno?

    Controllare i valoriMQLInfoInteger(MQL_TESTER) eMQLInfoInteger(MQL_OPTIMIZATION) nel tester e nell'ottimizzatore

    e lo vedrete voi stessi.