Preguntas de un "tonto" - página 198

 
lazarev-d-m:

de esta condición se desprende que actuará en tres situaciones:

1)Cuando el probador está funcionando

2)Cuando el comprobador NO funciona

3)Cuando el comprobador visual funciona

para que la función funcione siempre, lo más probable es que tengas que eliminar la segunda condición y conectar la primera y la tercera con &&

Más bien así:

2 o (1 y 2). Eso es lo que necesito. No para estar en el probador, sino en el modo de probador visual.

Lo siento, pero creo que he confundido los terminales y he probado un código equivocado. Mi estado parece funcionar correctamente.

 
lazarev-d-m:

para que la función funcione siempre, lo más probable es que tengas que eliminar la segunda condición y conectar la primera y la tercera con &&

Quiere decir que esta condición es suficiente:

if(MQL5InfoInteger(MQL5_TESTER)!=1 || MQL5InfoInteger(MQL5_VISUAL_MODE)==1)

 
tor4en:

Quiere decir que tal condición es suficiente:

if(MQL5InfoInteger(MQL5_TESTER)!=1 || MQL5InfoInteger(MQL5_VISUAL_MODE)==1)

Sí, eso también funciona. Gracias.
 
¿Cómo se puede influir en un parámetro a optimizar si su rango depende de otro parámetro optimizado? ¿Llamar a expertremove en oninit si el parámetro no es adecuado? ¿Cuál es la forma óptima de acelerar la optimización?
 
aharata:
¿Cómo puedo influir en el parámetro a optimizar, si su rango depende de otro parámetro optimizado? ¿Llamar a expertremove en oninit si el parámetro no es adecuado? ¿Cuál es la mejor manera de acelerar la optimización?

Mira las funciones ParameterSetRange y ParameterGetRange. Permiten reescribir el parámetro a enumerar en base a las condiciones no numéricas previamente establecidas.

Por ejemplo, así:

//--- input parameters
sinput int   Param1=4;            // хитрый параметр
sinput int   Param2=30;           // хитрый параметр
sinput bool  Param3=false;        // хитрый параметр
                                  
sinput long  Counter=1;           // а вот этот параметр мы и будем оптимизировать (синтетический счетчик)


//--- на основе Param1, Param2 и Param3 высчитаем хитрое количество проходов счетчика Counter
ParameterSetRange("Counter",true,0,0,1,1+long(Param3 ? (Param1*Param2):(Param1*2));

Obsérvese el uso de sinput (entrada estática) en lugar de input (entrada), que da un cambio bloqueado "desde" y "hasta" este parámetro en la GUI. Y de manera similar, el parámetro Contador que está bloqueado para cambios usando la función ParameterSetRange se desbloquea con el ajuste de los límites calculados.

Puede utilizar este mecanismo para crear condiciones de entrada muy complejas que pueden utilizarse para hacer girar contadores de facturación sintéticos. No olvide sólo que la función de ajuste de parámetros funciona sólo en OnTesterInit.

 
Muchas gracias, Renat. Justo lo que necesitaba).
 
Pregunta sobre la configuración de un ciclo de inicio de la terminal para las pruebas mediante la línea de comandos.

Situación actual:
1. Estoy utilizando la línea de comandos para iniciar el terminal para optimizar el Asesor Experto.
2. El terminal se inicia, optimiza y guarda el resultado en un archivo xml.
3. Cierre manualmente el terminal
4. Edito el archivo ini (cambio, por ejemplo, el período de prueba)

5. Siguiendo con el punto 1.


Pregunta: ¿alguien ha sido capaz de automatizar este proceso, incluyendo la selección automática de los parámetros para el archivo ini de una lista dada, y el cierre de la terminal? Por favor, comparta sus ideas sobre cómo podría hacerse. La mejor opción sería ofrecer una solución lista para automatizar el proceso anterior. Seguro que a alguien se le ha ocurrido antes que a mí.

 
Hay un comando en el archivo de configuración para cerrar automáticamente el terminal al final de una prueba. Mira en el archivo de ayuda.
 
papaklass:

Renat, pues haz un ALMACÉN para los cuatro, POR FAVOR. He descargado el Expert Advisor en mi portátil, pero me olvidé de los inclludes. Ahora me siento aquí como un simple :) programador, escribiendo funciones en lugar de depurar el Asesor Experto.

Mi pendrive es nuestro fiel ALMACENAMIENTO :)

SZY, bueno, y el correo de vez en cuando

 
sergeev:

El pendrive es nuestro fiable ALMACENAMIENTO :)

ZS, y a veces el correo.

Unidad flash - Yo diría que a menudo se rompen.

Tengo un disco duro externo que se sincroniza automáticamente una vez al día (unos 300 gigas de archivos de trabajo).

Dicen que las unidades ssd son prácticamente indestructibles. Pero muy caro.