Librerías: MultiTester - página 10

 

El conjunto de pruebas ha finalizado recientemente. Con 50 iteraciones no hubo pasadas dobles.

Puse el registro, en su mayoría iteraciones 1, con menos frecuencia 0 y 2. Pero a veces, rara vez y no se sabe por qué, hay ráfagas de hasta 7-8. Voy a mantener 50, con reserva y sin efectos negativos de la misma.

 

En el fichero MTTester.mqh, las rutas a la caché o configs se obtienen mediante ::TerminalInfoString(TERMINAL_PATH)+.

Pero personalmente lo tengo instalado (configuro todo por defecto) en Archivos de Programa, y el perfil va aparte. Lo he corregido a TERMINAL_DATA_PATH.

 
Puede ser útil para obtener no sólo GetLastOptCache (y en consecuencia GetLastOptCacheFileName) en principio la última en absoluto. Y también el último para un carácter en particular. Lo he añadido para mí, pero puede ser útil en la versión general.
 
traveller00:

El conjunto de pruebas ha finalizado recientemente. Con 50 iteraciones no hubo pasadas dobles.

Puse el registro, en su mayoría iteraciones 1, con menos frecuencia 0 y 2. Pero a veces, rara vez y no se sabe por qué, hay ráfagas de hasta 7-8. Voy a mantener 50, con reserva y sin efectos negativos de la misma.

No he tenido ningún efecto negativo de la misma. Gracias por la info, pondré 50, no es pedir comida, pero servirá para otros.


traveller00:

En MTTester.mqh las rutas de los ficheros a la caché o configs se obtienen mediante ::TerminalInfoString(TERMINAL_PATH)+

Pero personalmente lo tengo instalado (lo pongo todo por defecto) en Archivos de Programa, y el perfil está aparte. Lo he corregido a TERMINAL_DATA_PATH.

Yo trabajo sólo en portable, y ahí TERMINAL_PATH == TERMINAL_DATA_PATH. Gracias, haré que el modo universal funcione en todos los trabajos KB.



Puede ser útil para obtener no sólo GetLastOptCache (y correspondientemente GetLastOptCacheFileName) en principio la última en absoluto. Y también el último en un carácter particular. Lo he añadido para mí, pero puede ser útil en la versión general.

Al escribirlo, me guío por los escenarios de uso que yo mismo me he encontrado. No consideré la opción con la última caché por símbolo, porque todavía no veo dónde puede ser útil.

Podría ser útil para comparar muchos caracteres entre sí. Todavía no se me ha ocurrido un script útil.


Si tienes tus propias implementaciones o escenarios de uso, publícalos. Es aún más constructivo de esa manera.

 

En estos momentos estoy ultimando y desarrollando las herramientas. Por eso primero optimicé 90 símbolos. Y luego decidí no analizar los resultados a mano, sino con el autómata, y sacar los símbolos interesantes de todo el montón para convertirlos a mano. Y fallé con la funcionalidad básica, así que necesité filtrar por símbolo.

Las correcciones fueron mínimas y compatibles, añadí un parámetro opcional const string SymbName = NULL, lo pasé por un par de funciones y corregí ligeramente GetLastOptCacheFileName

a

return(MTTESTER::GetFreshFileName(::TerminalInfoString(TERMINAL_DATA_PATH)+"*. "+SymbName != NULL ? "*. "+SymbName+".*.opt" : "*.opt"));

 
traveller00:

En estos momentos estoy ultimando y desarrollando las herramientas. Por eso primero optimicé 90 símbolos. Y luego decidí no analizar los resultados a mano, sino con el autómata, y sacar los símbolos interesantes de todo el montón para convertirlos a mano. Y fracasé con la funcionalidad básica, fue entonces cuando necesité el filtrado por caracteres.

Entendido. Entonces es lógico añadir también el nombre del EA.

Las correcciones fueron mínimas y compatibles, añadí un parámetro opcional const string SymbName = NULL, lo pasé por un par de funciones y corregí ligeramente GetLastOptCacheFileName

a

return(MTTESTER::GetFreshFileName(::TerminalInfoString(TERMINAL_DATA_PATH)+"*. "+SymbName != NULL ? "*. "+SymbName+".*.opt" : "*.opt"));

Arreglaré la generación de máscaras, gracias.

[Eliminado]  

Algo va mal...

2019.11.29 17:21:46.241 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (1/25) - Start.
2019.11.29 17:24:05.099 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (1/25) - Done. Time = 00:02:19
2019.11.29 17:24:05.250 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (2/25) - Start.
2019.11.29 17:25:54.975 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (2/25) - Done. Time = 00:01:49
2019.11.29 17:25:55.136 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (3/25) - Start.
2019.11.29 17:27:30.347 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (3/25) - Done. Time = 00:01:35
2019.11.29 17:27:30.531 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (4/25) - Start.
2019.11.29 17:29:18.129 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (4/25) - Done. Time = 00:01:48
2019.11.29 17:29:18.333 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (5/25) - Start.
2019.11.29 17:31:15.052 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (5/25) - Done. Time = 00:01:57
2019.11.29 17:31:15.170 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (6/25) - Start.
2019.11.29 17:33:16.972 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (6/25) - Done. Time = 00:02:01
2019.11.29 17:33:17.092 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (7/25) - Start.
2019.11.29 17:35:00.090 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (7/25) - Done. Time = 00:01:43
2019.11.29 17:35:00.412 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (8/25) - Start.
2019.11.29 17:36:45.975 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (8/25) - Done. Time = 00:01:45
2019.11.29 17:36:46.092 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (9/25) - Start.
2019.11.29 17:38:19.975 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (9/25) - Done. Time = 00:01:33
2019.11.29 17:38:20.090 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (10/25) - Start.
2019.11.29 17:40:02.238 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (10/25) - Done. Time = 00:01:42
2019.11.29 17:40:02.352 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (11/25) - Start.
2019.11.29 17:41:58.122 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (11/25) - Done. Time = 00:01:56
2019.11.29 17:41:58.236 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (12/25) - Start.
2019.11.29 17:43:37.213 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (12/25) - Done. Time = 00:01:39
2019.11.29 17:43:37.324 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (13/25) - Start.
2019.11.29 17:45:30.973 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (13/25) - Done. Time = 00:01:53
2019.11.29 17:45:31.087 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (14/25) - Start.
2019.11.29 17:47:10.246 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (14/25) - Done. Time = 00:01:39
2019.11.29 17:47:10.362 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (15/25) - Start.
2019.11.29 17:48:52.973 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (15/25) - Done. Time = 00:01:42
2019.11.29 17:48:53.086 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (16/25) - Start.
2019.11.29 17:50:37.262 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (16/25) - Done. Time = 00:01:44
2019.11.29 17:50:37.376 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (17/25) - Start.
2019.11.29 17:52:48.973 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (17/25) - Done. Time = 00:02:11
2019.11.29 17:52:49.136 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (18/25) - Start.
2019.11.29 17:54:22.974 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (18/25) - Done. Time = 00:01:33
2019.11.29 17:54:23.210 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (19/25) - Start.
2019.11.29 17:56:43.272 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (19/25) - Done. Time = 00:02:20
2019.11.29 17:56:43.439 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (20/25) - Start.
2019.11.29 17:58:59.975 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (20/25) - Done. Time = 00:02:16
2019.11.29 17:59:00.168 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (21/25) - Start.
2019.11.29 18:02:01.111 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (21/25) - Done. Time = 00:03:01
2019.11.29 18:02:01.290 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (22/25) - Start.
2019.11.29 18:05:07.304 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (22/25) - Done. Time = 00:03:06
2019.11.29 18:05:07.474 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (23/25) - Start.
2019.11.29 18:08:17.320 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (23/25) - Done. Time = 00:03:10
2019.11.29 18:08:17.447 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (24/25) - Start.
2019.11.29 18:10:44.184 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (24/25) - Done. Time = 00:02:27
2019.11.29 18:10:44.361 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (25/25) - Start.
2019.11.29 18:14:04.974 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (25/25) - Done. Time = 00:03:20
2019.11.29 18:14:04.975 MultiTester_Example (FTSE100,D1)        Alert: Finish.
2019.11.29 18:14:04.975 MultiTester_Example (FTSE100,D1)        ExpertRemove() function called
2019.11.29 18:14:04.975 MultiTester_Example (FTSE100,D1)        Полное время оптимизации = 00:52:21

Y sólo hay 3 archivos .opt...

¿Cómo es posible?

Hice una optimización manual en uno de los caracteres "perdidos". Todo está bien....


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

Algo pasó...

Por desgracia, no siempre actualizo en KB cuando encuentro errores o formas de mejorar mis soluciones. Este es probablemente el caso aquí.

[Eliminado]  
fxsaber:

Por desgracia, no siempre los actualizo en KB cuando encuentro errores o formas de mejorar mis soluciones. Este es probablemente el caso aquí.

Así que no he actualizado nada después de adaptarme a 2190.

Vamos a descartarlo como un fallo del sistema. Al menos hasta la reaparición. )))

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

Así que no he actualizado nada desde que lo adapté a 2190.

Lo actualicé considerablemente, porque encontré y eliminé escollos. También lo perfeccioné para otro tipo de tareas.