¿Qué diablos está pasando? - página 9

 
Artyom Trishkin:

....

El modo de prueba incluye el modo de optimización, pero no a la inversa.

    ......
    Artyom Trishkin:
    No. Al contrario.
    Bueno, eso es si necesitas medias tintas.

    Me temo que no lo entiendo.

    Si MQL_OPTIMIZATION está incluido en MQL_TESTER, ¿por qué comprobarlo también?

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

    Me temo que no lo entiendo.

    Si MQL_OPTIMIZATION está incluido en MQL_TESTER, ¿por qué comprobarlo también?

    La optimización es una subespecie de probador.
    Pero el probador no es una subespecie de nada.
     
    Сергей Таболин:

    Exactamente. A menos que seas un probador u optimizador, no vengas aquí para nada )))

    Artem, si he entendido bien, entonces mi tal construcción

    ¿es superfluo?

    Será suficiente

    ?

    if(MQLInfoInteger(MQL_OPTIMIZATION)
    sabemos que estamos trabajando en un probador, pero no sabemos si se trata de una sola pasada o de una optimización, por lo que tenemos que comprobar el indicador de optimización
     
    Andrey Dik:
    Sabemos que estamos trabajando en el probador, pero no sabemos si se trata de una sola pasada o de una optimización, por lo que tenemos que comprobar la bandera de optimización

    Sí, Andrew, lo entiendo.

    Pero esta es una pregunta general. Si estoy optimizando o probando, se recogen algunas estadísticas para usarlas en OnTester().

    Por lo tanto, mi pregunta es si es suficiente escribirif(MQLInfoInteger(MQL_TESTER)) oif(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_TESTER))?

    Si la optimización es parte de la prueba, entonces la comprobación del modo de optimización parece ser innecesaria...

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

    Pero esta es una pregunta general. Si estoy optimizando o probando, algunas estadísticas están siendo recogidas para su uso en OnTester().

    Por lo tanto, mi pregunta es si es suficiente escribirif(MQLInfoInteger(MQL_TESTER)) oif(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_TESTER))?

    Si la optimización forma parte de la prueba, la comprobación del modo de optimización parece innecesaria...

    ¿Por qué complicar la construcción?

    Parece que tienes archivos para el real, para el probador y el optimizador.

    En este caso, el suyo:

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

    se podría escribir de esta manera:

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

    y eso es todo -- todos sus archivos serán claramente distinguibles por el probador, el optimizador y el real

     
    Andrey F. Zelinsky:

    ¿por qué complicar el diseño?

    Parece que tienes archivos para el real, para el probador y para el optimizador.

    En ese caso, son tuyos:

    se podría escribir de esta manera:

    y eso es todo -- todos sus archivos serán distinguibles por el probador, el optimizador y el real

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

    ¿Es realmente necesaria esta comprobación?

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

    ¿Es necesaria esta prueba?

    hay que empezar por... ¿cuál es el propósito de la distinción entre probador, optimizador y real en su sistema?

    ¿por qué no puede prescindir de estos controles?

     
    Andrey F. Zelinsky:

    hay que empezar por... ¿cuál es el propósito de la distinción entre probador, optimizador y real en su sistema?

    ¿Por qué no puedes prescindir de ellos?

    Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

    ¿Qué demonios está pasando?

    Sergey Tabolin, 2020.05.20 15:11

    Sí, Andrey, lo entiendo.

    Pero es una cuestión general. Si estoy optimizando o probando, recojo algunas estadísticas para usarlas en OnTester().

    Por lo tanto, mi pregunta es si es suficiente escribirif(MQLInfoInteger(MQL_TESTER)) oif(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_TESTER))?

    Si la optimización es parte de la prueba, entonces la comprobación del modo de optimización parece ser innecesaria...


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

    Entonces, sólo hay que comprobar la prueba.
     
    Сергей Таболин:

    ¿Por qué le preguntas a alguien?

    Comprobar los valoresMQLInfoInteger(MQL_TESTER) yMQLInfoInteger(MQL_OPTIMIZATION) en el probador y el optimizador

    y lo verás por ti mismo.