Il terminale MT5 è stato aggiornato oggi e la finestra "Ottimizzazione" non appare durante il test - pagina 2

 
Renat Fatkhullin:

Puoi ripeterlo con una descrizione completa delle condizioni e dei log da riprodurre?

Questo è il punto, abbiamo riscritto radicalmente i meccanismi di cache dei risultati e dei sub-calcoli. Funzionano molto bene e correttamente.

L'ho controllato soprattutto ora io stesso:

  1. Avviato il test, aspettato il 10% del passaggio dell'ottimizzazione, premuto stop. Poi inizia - inizia con l'ultimo risultato del 10%. Era perfetto.
  2. Ora ho reso il test più difficile. Premuto Stop al passo 1 per il 70%. Riavviato il terminale e premuto Start - il test è iniziato al 70%. Perfetto.

Molto probabilmente, l'Expert Advisor è stato ricompilato o qualche altro cambiamento è stato fatto nell'ambiente di mercato che porta inevitabilmente al reset della cache.

Ottimizzazione di un semplice MA Expert Advisor. Interrotto 2 volte e sempre l'ottimizzazione viene dall'inizio.
 
Alexey Navoykov:

Non sarebbe più logico fare un pulsante "Refresh" accanto alla tabella? Allora l'utente stesso controllerebbe l'aggiornamento della tabella, e tutti i problemi scomparirebbero.

E quello che hai rimosso del tutto - beh, non è affatto un'opzione. C'è sempre bisogno di monitorare i risultati nel processo di ottimizzazione.

Dopotutto, spetta all'utente decidere se guardare la tabella o meno. Se la scheda con la tabella è ridotta a icona, non si dovrebbe ordinare nulla.

No, non lo faremo.

Ho spiegato sopra perché tirare 500.000, 1.000.000, 10.000.000, 50.000.000 in una tabella di righe intermedie inutili all'occhio umano non ha senso. È molto costoso tecnicamente e completamente inutile.

La finestra del grafico di ottimizzazione è sempre disponibile, è più parsimoniosa per le risorse (non richiede ricorso) e permette di osservare il processo di ottimizzazione in una visione accettabile per l'occhio umano.


Ho dimenticato un altro punto importante di ciò che viene fatto:

  • consumo di memoria drasticamente ridotto dal terminale durante le ottimizzazioni pesanti
 

A proposito, che algoritmo di ordinamento stai usando? Perché è così lento? Se gli elementi vengono aggiunti a un array già ordinato, dovrebbe essere molto veloce. Non dipende molto dalla dimensione dell'array.

 
Renat Fatkhullin:

...

Ha dimenticato un altro punto importante di ciò che viene fatto:

  • consumo di memoria drasticamente ridotto dal terminale durante le ottimizzazioni pesanti

Grazie, interessante. Faremo dei test.

Si prega di considerare qualsiasi idea da questo articolo per un ulteriore sviluppo del tester:Visualizzazione dei risultati di ottimizzazione per criterio selezionato

Ci sono altre idee su questo argomento. Troverò il tempo e li posterò anche più tardi.

 
Texnolog:
Ottimizzazione di un semplice MA EA. L'ho interrotto 2 volte e si ottimizza sempre dall'inizio.

Perché non ha detto fin dall'inizio che correva la genetica?

Il principio stesso della ricerca genetica si basa sulla casualità e quindi non ha senso "continuare ciò che si è iniziato". Il suo compito è quello di correre in modo casuale.

E anche allora la cache viene usata. È solo che la tua probabilità di colpire i risultati calcolati in precedenza è molto bassa (hai un'area di ricerca di 50 milioni di varianti). Quindi sembra un inizio dall'inizio, dato che il punto di partenza è randomizzato.

 

A giudicare dal grafico "algoritmo genetico" non funziona((((

11

 

Questo rende alcune linee più scure e altre più sbiadite.

33

 
Texnolog:

A giudicare dal grafico "algoritmo genetico" non funziona((((

Perché non alleghi una descrizione per la riproduzione?

Non capite che una foto non è una prova in totale assenza di una descrizione? Siete su un forum tecnico che discute di questioni tecniche.

Ho cercato di costruire secondo le vostre condizioni:

  • la vostra media mobile standard.set
  • il tuo set di impostazioni per 50 milioni di passaggi
    ; saved on 2018.04.28 16:53:11
    ; this file contains input parameters for testing/optimizing Moving Average expert advisor
    ; to use it in the strategy tester, click Load in the context menu of the Inputs tab
    ;
    MaximumRisk=0.02||0.02||0.002000||0.200000||Y
    DecreaseFactor=3||3||0.300000||30.000000||Y
    MovingPeriod=12||12||1||120||Y
    MovingShift=6||6||1||60||Y
    
  • MetaQuotes-Demo server, EURUSD H1, l'anno scorso, modalità Prezzi aperti con genetica
  • ha gestito la genetica

Ecco il risultato: tutto è normale e ragionevole, il tester funziona, la genetica trova i risultati giusti



Potete vedere come la genetica è entrata nelle zone verdi dei migliori risultati e vi si è consolidata.

 
Texnolog:

Questo rende alcune linee più scure e altre più sbiadite.

Le linee grigie mostrano solo l'uso dei risultati dalla cache delle corse precedenti.

Questo è ciò che il tuo esempio (commento #18) mostra già sulla seconda corsa:

2018.04.28 17:35:56.021 Tester  genetic calculation is over
2018.04.28 17:35:56.021 Tester  result cache used 4515 times
2018.04.28 17:35:56.021 Tester  genetic optimization finished on pass 11008 (of 49644595)
2018.04.28 17:35:56.032 Statistics      optimization done in 0 minutes 48 seconds
2018.04.28 17:35:56.032 Statistics      local 6493 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

Nella seconda corsa c'erano 11.008 variazioni, e 4.515 passaggi erano nella cache della corsa precedente. 41% tasso di successo

In realtà, il tester ha dovuto fare solo 6.493 nuovi test su 11.008.


Alla terza ripetizione della genetica la percentuale di cache hits è aumentata e già 6.979 vecchi risultati sono stati utilizzati: 50% dei cache hits

2018.04.28 17:42:45.720 Tester  genetic calculation is over
2018.04.28 17:42:45.720 Tester  result cache used 6979 times
2018.04.28 17:42:45.720 Tester  genetic optimization finished on pass 13824 (of 49644595)
2018.04.28 17:42:45.731 Statistics      optimization done in 0 minutes 50 seconds
2018.04.28 17:42:45.731 Statistics      local 6845 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)


Al quarto: la cache colpisce al 54%

2018.04.28 17:44:37.820 Tester  genetic calculation is over
2018.04.28 17:44:37.820 Tester  result cache used 6047 times
2018.04.28 17:44:37.820 Tester  genetic optimization finished on pass 11008 (of 49644595)
2018.04.28 17:44:37.831 Statistics      optimization done in 0 minutes 36 seconds
2018.04.28 17:44:37.831 Statistics      local 4961 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)



Quindi la cache dei risultati funziona correttamente e come previsto.

 

Il programma di ottimizzazione non viene aggiornato.

2500 passaggi: