Librerie: MultiTester - pagina 10

 

Il set di test è terminato da poco. Con 50 iterazioni non ci sono stati doppi passaggi.

Ho messo a registro, per lo più le iterazioni 1, meno spesso 0 e 2. Ma a volte, raramente e non si sa perché, ci sono raffiche fino a 7-8. Manterrò 50, con riserva e senza effetti negativi.

 

Nel file MTTester.mqh, i percorsi della cache o delle configurazioni si ottengono tramite ::TerminalInfoString(TERMINAL_PATH)+.

Ma personalmente l'ho installato (ho impostato tutto per default) in Programmi e il profilo è separato. L'ho corretto in TERMINAL_DATA_PATH.

 
Potrebbe essere utile ottenere non solo GetLastOptCache (e di conseguenza GetLastOptCacheFileName), ma anche l'ultimo in assoluto. E anche l'ultimo per un particolare carattere. L'ho aggiunto per me, ma potrebbe essere utile nella versione generale.
 
traveller00:

Il set di test è terminato da poco. Con 50 iterazioni non ci sono stati doppi passaggi.

Ho messo a registro, per lo più, le iterazioni 1, meno spesso 0 e 2. Ma a volte, raramente e non si sa perché, ci sono raffiche fino a 7-8. Manterrò 50, con riserva e senza effetti negativi.

Non ho avuto effetti negativi. Grazie per le informazioni, metterò 50, non chiede cibo, ma funzionerà per gli altri.


viaggiatore00:

In MTTester.mqh i percorsi dei file alla cache o alle configurazioni si ottengono tramite ::TerminalInfoString(TERMINAL_PATH)+

Ma personalmente l'ho installato (ho messo tutto di default) in Programme Files, e il profilo è a parte. L'ho corretto in TERMINAL_DATA_PATH.

Lavoro solo in modalità portatile e lì TERMINAL_PATH == TERMINAL_DATA_PATH. Grazie, farò in modo che la modalità universale funzioni in tutti i lavori KB.



Potrebbe essere utile ottenere non solo GetLastOptCache (e di conseguenza GetLastOptCacheFileName) in linea di principio l'ultimo in assoluto. Ma anche l'ultimo su un particolare carattere. L'ho aggiunto per me stesso, ma potrebbe essere utile nella versione generale.

Nello scriverla, mi sono fatto guidare dagli scenari d'uso che io stesso ho incontrato. Non ho considerato l'opzione con l'ultima cache per simbolo, perché non vedo ancora dove possa essere utile.

Potrebbe essere utile per confrontare molti caratteri tra loro. Non ho ancora trovato uno script utile.


Se avete delle vostre implementazioni o scenari di utilizzo, postateli. In questo modo è ancora più costruttivo.

 

Al momento sono solo nella fase di messa a punto degli strumenti. Per questo motivo ho eseguito l'ottimizzazione su 90 simboli. Poi ho deciso di non analizzare i risultati a mano, ma in automatico, e di estrarre i simboli interessanti dall'intero mucchio per trasformarli a mano. E non sono riuscito a risolvere il problema della funzionalità di base, quindi ho dovuto filtrare per simbolo.

Le correzioni sono state minime e compatibili, ho aggiunto un parametro opzionale const string SymbName = NULL, l'ho passato attraverso un paio di funzioni e ho leggermente corretto GetLastOptCacheFileName

in

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

 
traveller00:

Al momento sono solo nella fase di messa a punto degli strumenti. Per questo motivo ho eseguito l'ottimizzazione su 90 simboli. Poi ho deciso di non analizzare i risultati a mano, ma in automatico, e di estrarre i simboli interessanti dall'intero mucchio per trasformarli a mano. E non sono riuscito a risolvere il problema della funzionalità di base, per cui ho avuto bisogno di filtrare per carattere.

Ho capito. Allora è logico aggiungere anche il nome dell'EA.

Le correzioni sono state minime e compatibili, ho aggiunto un parametro opzionale const string SymbName = NULL, l'ho passato attraverso un paio di funzioni e ho leggermente corretto GetLastOptCacheFileName

in

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

Correggerò la generazione della maschera, grazie.

[Eliminato]  

C'è qualcosa che non va...

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

E ci sono solo 3 file .opt...

Come è possibile?

Ho eseguito un'ottimizzazione manuale su uno dei caratteri "persi". Tutto è a posto....


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

È successo qualcosa...

Purtroppo non sempre aggiorno la KB quando trovo bug o modi per migliorare le mie soluzioni. Probabilmente è questo il caso.

[Eliminato]  
fxsaber:

Purtroppo, non sempre aggiorno la KB quando trovo bug o modi per migliorare le mie soluzioni. Probabilmente è questo il caso.

Quindi non ho aggiornato nulla dopo l'adattamento alla 2190.

Consideriamolo un problema di sistema. Almeno fino alla ricomparsa. )))

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

Quindi non ho aggiornato nulla da quando l'ho adattato al 2190.

L'ho aggiornato notevolmente, perché ho trovato ed eliminato le insidie. L'ho anche perfezionato per altri tipi di compiti.