Errores, fallos, preguntas - página 200

 
Ashes:

No. La habitual prueba de persecución de uno de los participantes en el campeonato (multidivisa), un largo intercambio de historia en los pares implicados y ya está.

Por cierto, tengo curiosidad, ¿cómo determina el probador qué pares deben intercambiarse? En general, es imposible saberlo de antemano sin haber empezado las pruebas...

Por lo que sé, el primer par que se intercambia es el que se está probando (se especifica en los parámetros del probador y se añade automáticamente a su "Market Watch").

Otras parejas se intercambian según diferentes condiciones. Personalmente creo que la forma más correcta es seleccionarlos (rellenando la "revisión del mercado" del probador) en el bloque de inicialización, y luego comprobar la sincronización de los datos (es útil no sólo en el probador).

También cabe destacar que el probador se sincroniza con el terminal, que a su vez se sincroniza con el servidor...

PS

Si he entendido bien, el probador puede seguir cargando los datos por sí mismo, pero en condiciones reales tendrá que hacerlo todo por sí mismo.

sargazo:

Confirmado.

Exp. más fácil por MA. Después de la inicialización, directamente a la desconexión. Pero es inestable y de vez en cuando.

Habrá que ver, pero parece que no he tenido esos fallos. Aunque había un problema con el temporizador (creo que se solucionará en la próxima build)...
 
Después de la inicialización, directamente a la desconexión. Pero es inestable y ocurre en diferentes tiemposEsto es
exactamente
lo que
ocurre en la última build (355) si se utiliza OnTimer en lugar de OnTick en el tester.
 
Erm955:
Esto es exactamente lo que ocurre en la última compilación (355) si se utiliza OnTimer en el probador en lugar de OnTick.
Afortunadamente, tengo estos dos manipuladores. Aunque, realmente sufro de un error de temporización (ya que EA es una mula)... :(
 
Rosh:
Quizás aparezca la función de eliminar el indicador del gráfico mediante MQL5.
Oh, eso sería bueno.
 

Se ha intentado guardar el informe del probador en formato Open XML. Minutos de espera (Pentium 4, 3.0GHz), la aplicación no respondía, el proceso terminal.exe corría desenfrenadamente en el administrador de tareas (cerca del 50% de la CPU) comiendo la RAM (cerca de 250Mb), Resultado - nada. MT5 sólo responde, no entra ninguna cotización (indicador de estado de la conexión con un círculo gris giratorio). Un segundo intento, es lo mismo. La ventana "Herramientas" tiene 2 asientos "MemoryException 107878464 bytes not available", el tiempo correspondiente al intento de recibir un informe en OpenXML.
El archivo HTML se generó casi instantáneamente (unos 12 Mb). Tarda mucho en abrirse, pero no es culpa de MT5...

 

El compilador da una advertencia si una variable no se usa en ningún sitio, y eso está bien.

Pero no ve esa basura (variables no utilizadas) en las clases.

 

versión 5 build 355

Cálculo de la diferencia de tiempo entre barras:

datetime DefTime;

cadena PrintDate;

DefTime=Tiempo[0]-Tiempo[i]; //i puede ser sustituido por cualquier entero en nuestro caso de 0 en adelante ...

PrintDate=TimeToString(DefTime,TIME_DATE|TIME_MINUTES);

Imprimir (PrintDate);

Aquí tenemos:

¡¡¡!!! 2010.11.22 02:09:24 A-PS (EURUSD,M15) 1970.01.03 04:00
¡¡¡!!! ¡2010.11.22 02:09:22 A-PS (EURUSD,M15) 1970.01.03 04:45 !
¡¡¡!!! ¡2010.11.22 02:09:20 A-PS (EURUSD,M15) 1970.01.03 04:30 !
¡¡¡!!! ¡2010.11.22 02:09:19 A-PS (EURUSD,M15) 1970.01.03 03:15 !
¡¡¡!!! ¡2010.11.22 02:09:18 A-PS (EURUSD,M15) 1970.01.03 03:00 !
¡¡¡!!! ¡2010.11.22 02:09:17 A-PS (EURUSD,M15) 1970.01.03 02:45 !
¡¡¡!!! ¡2010.11.22 02:09:16 A-PS (EURUSD,M15) 1970.01.03 02:30 !
¡¡¡!!! ¡2010.11.22 02:09:14 A-PS (EURUSD,M15) 1970.01.03 02:15 !
2010.11.22 02:09:13 A-PS (EURUSD,M15) 1970.01.01 02:00
2010.11.22 02:09:12 A-PS (EURUSD,M15) 1970.01.01 01:45
2010.11.22 02:09:11 A-PS (EURUSD,M15) 1970.01.01:30
2010.11.22 02:09:11 A-PS (EURUSD,M15) 1970.01.01:15
2010.11.22 02:09:09 A-PS (EURUSD,M15) 1970.01.01:00
2010.11.22 02:09:08 A-PS (EURUSD,M15) 1970.01.01 00:45
2010.11.22 02:09:08 A-PS (EURUSD,M15) 1970.01.01 00:30
2010.11.22 02:09:07 A-PS (EURUSD,M15) 1970.01.01 00:15
2010.11.22 02:08:58 A-PS (EURUSD,M15) 1970.01.01 00:00

¿De dónde viene el tercer número? La misma situación se observa al utilizar MqlDateTime.

 
KffAlex:

¿De dónde viene el tercer número? La misma imagen se observa cuando se utiliza MqlDateTime.

Así es, se muestra el delta de tiempo entre barras en segundos como una fecha estándar.

El delta entre las barras del lunes y del viernes es exactamente de 3 días.

 
Francamente no había pensado en eso. Sigo olvidando el lapso de bares entre el viernes y el lunes. Gracias.
 

Quiero hacer durante el asesor de optimización para elegir si se conecta indicador o no, (por ejemplo, TRIX) si TRIX = 0 - entonces el indicador no se utilizará, si TRIX = 1 o más, el indicador se incluirá y el número que se utiliza en el valor - este es un parámetro del indicador.

Pero el problema es que muchos indicadores tienen más de un parámetro - pero si TRIX_1 = 0, TRIX_2 = 4, por ejemplo, establecido durante la optimización, los parámetros se contradicen, este problema lo resolví de esta manera: en el Asesor de Expertos pasa por los valores de TRIX_1 y TRIX_2 posible.Es decir, TRIX=0 es TRIX_1=0 y TRIX_2=0 en el EA; TRIX=1 es TRIX_1=1 y TRIX_2=1; TRIX=2 es TRIX_1=1 y TRIX_2=2, etc. Pero surge la pregunta

¿el algoritmo genético funcionará correctamente en el probador, si todos los parámetros del indicador ya han sido enumerados en el propio EA y sólo un valor TRIX, que almacena las variaciones de los parámetros, se puso en la entrada?