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

 
Renat Fatkhullin:

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

Ilprincipio 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). Così sembra di partire dall'inizio, dato che il punto di partenza è randomizzato.

Se leggete l'aiuto, dice esattamente il contrario. Forse è scritto male? Vorrei capire.

https://www.metatrader5.com/ru/terminal/help/algotrading/optimization_types

  • Se il numero totale di passi di ottimizzazione supera 1 000 000 in un sistema a 32 bit o 100 000 000 in un sistema a 64 bit, la modalità di ottimizzazione rapida sarà applicata automaticamente.
  • Nell'ottimizzazione genetica, i risultati intermedi sono salvati nella cache dopo il calcolo di ogni generazione (file_data_platform/tester/cache/*.gen). Così, il processo di ottimizzazione genetica può essere interrotto in qualsiasi momento. Anche se il processo di ottimizzazione genetica viene interrotto per cause esterne (ad esempio un'interruzione di corrente), l'ottimizzazione continuerà automaticamente dall'ultima generazione calcolata al prossimo avvio. La cache dell'ottimizzazione genetica viene memorizzata fino a quando le impostazioni di ottimizzazione vengono cambiate o il processo di ottimizzazione è completo.
  • Se l'ottimizzazione viene fermata normalmente (con il pulsante "Stop"), tutti i passaggi calcolati in precedenza verranno memorizzati. Se l'ottimizzazione viene ripresa, il processo continuerà da dove è stato interrotto.
Типы оптимизации - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Типы оптимизации - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
В данном режиме происходит полный перебор всех возможных комбинаций значений входных переменных, выбранных для оптимизации на соответствующей вкладке. Быстрая (генетический алгоритм) В основу данного типа оптимизации заложен генетический алгоритм подбора наилучших значений входных параметров. Данный тип оптимизации значительно быстрее полного...
 
Quindi è scritto sopra che abbiamo cambiato completamente il modo in cui funziona la cache. La documentazione cambierà nel tempo.

In più ho mostrato come gli hit della cache genetica migliorano drasticamente i risultati delle riesecuzioni. Dal 50%.

Il punto di un tester genetico è che deve essere eseguito più volte in modo che il randomizzatore possa uscire dagli estremi locali. Questo è appena mostrato nello screenshot qui sopra, dove la quarta corsa ha trovato una nuova diapositiva.

Bisogna sempre capire la meccanica del processo. Se lo spazio di ricerca delle soluzioni è in trilioni, allora la genetica deve essere sottoposta a molti tentativi.
 
Renat Fatkhullin:
È scritto sopra che abbiamo cambiato completamente il modo in cui funziona la cache. Cambieremo la documentazione nel tempo.

In più ho mostrato come gli hit della cache genetica migliorano drasticamente i risultati delle riesecuzioni. Dal 50%.

Il punto di un tester genetico è che deve essere eseguito più volte in modo che il randomizzatore possa uscire dagli estremi locali. Questo è appena mostrato nello screenshot qui sopra, dove la quarta corsa ha trovato una nuova diapositiva.

Bisogna sempre capire la meccanica del processo. Se lo spazio di ricerca delle soluzioni è in trilioni, allora la genetica deve essere sottoposta a molti tentativi.

Grazie per il duro lavoro!

Mi piacerebbe vedere le statistiche normali per ogni simbolo nei test multivaluta, almeno come minimo.

 
Renat Fatkhullin:

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
  • MetaQuotes-Demo server, EURUSD H1, l'anno scorso, modalità Prezzi aperti con genetica
  • correva la genetica

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


Potete vedere come la genetica ha raggiunto le zone verdi dei migliori risultati e si è consolidata lì.

L'Expert Advisor è una media mobile standard.

Ho effettuato 4 ottimizzazioni. I file di log sono in appendice. Tutto questo con la genetica.

Ne ho fatti 2 sulla nuova costruzione. 2 sulla vecchia costruzione.

1a corsa - ci sono voluti 3,56 min. su quella nuova senza fermarsi dall'inizio alla fine.

3a corsa - con il vecchio senza fermarsi dall'inizio alla fine ci sono voluti 2.15 min.

2a corsa - quella nuova con una sosta dall'inizio alla fine ha richiesto 2,25+7,57= 9,82 min.

La 4a corsa - sulla vecchia con una fermata dall'inizio alla fine ha impiegato 1,55+1,17= 2,72 min.

Ditemi perché la nuova costruzione funziona così male.

File:
29_04_2018.zip  43 kb
 
Renat Fatkhullin:
Così, è scritto sopra che abbiamo cambiato completamente il modo in cui funziona la cache. Modificheremo la documentazione a tempo debito.

In più ho mostrato come gli hit della cache genetica migliorano drasticamente i risultati delle riesecuzioni. Dal 50%.

Il punto di un tester genetico è che deve essere eseguito più volte in modo che il randomizzatore possa uscire dagli estremi locali. Questo è appena mostrato nello screenshot qui sopra, dove la quarta corsa ha trovato una nuova diapositiva.

Bisogna sempre capire la meccanica del processo. Se lo spazio di ricerca della soluzione è in trilioni, allora la genetica deve essere sottoposta a molti tentativi.

Se è necessario eseguirlo diverse volte, perché non implementare tutto questo nell'algoritmo? E si può capire la meccanica del processo quando si hanno abbastanza informazioni sull'oggetto. Ma qui all'utente viene data una scatola nera di cui ha solo un'idea generale senza conoscere i dettagli (dimensione della popolazione, criteri di arresto ecc.) E quindi non può controllare questi parametri. Quindi se l'ottimizzatore si aggrappa agli estremi locali, probabilmente i parametri dell'algoritmo non sono impostati bene.

 
Texnolog:

Advisor è una media mobile standard.


Ditemi perché la nuova costruzione funziona così male.

Per favore, esponi la tua domanda con precisione.

 
Alexey Navoykov:

Se è necessario eseguirlo più volte, perché non implementare tutto nell'algoritmo? E la meccanica del processo può essere compresa quando abbiamo abbastanza informazioni sull'oggetto. Qui l'utente è fornito di una scatola nera di cui ha solo un'idea generale, senza conoscere i dettagli (dimensione della popolazione, criteri di arresto, ecc.). E quindi non può controllare questi parametri. Quindi se l'ottimizzatore si aggrappa agli estremi locali, probabilmente i parametri dell'algoritmo non sono impostati bene.

Perché questa è l'essenza del metodo genetico: in uno spazio di ricerca infinito produce una soluzione veloce in N generazioni quando l'incremento della funzione obiettivo scende sotto un certo livello.

Parola chiave: veloce.

L'algoritmo genetico non garantisce un risultato assolutamente esatto. È per una stima rapida e sporca per ottenere le prime analisi.

Come la genetica dovrebbe essere usata:

  1. Impostare ampi limiti di ricerca su miliardi/trilioni di varianti
  2. Fai la prima corsa.
  3. Usando la visualizzazione in diversi piani, incluso il 3D, capire quali aree hanno risultati decenti
  4. Restringere la ricerca, disattivando alcuni parametri (bloccando o restringendo a un numero ragionevole)
  5. Iniziato una nuova corsa
  6. Poi abbiamo ottenuto alcuni risultati in più rispetto alla prima esecuzione
  7. Rivalutato con la visualizzazione
  8. Procedere al punto 4 fino a quando non si è soddisfatti dei risultati

Non spegnete la testa quando vedete 10.000 corse nello spazio di ricerca per trilioni di varianti. I miracoli non accadono.

La genetica dovrebbe essere usata in modo ponderato e manuale.


In generale, consiglio di approfondire la teoria. Senza di essa, vedo la genetica come un atteggiamento del tipo "premi il pulsante ed è fatta":

Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Vitaly Muzichenko:

Grazie per il vostro duro lavoro!

Vorrei vedere le statistiche normali per ogni simbolo nel test multivaluta, almeno come minimo

Abbiamo iniziato un grande aggiornamento del tester, riscrivendolo in parti. Ora siamo impegnati a cambiare lo schema di lavoro con i dati.

Cambieremo molte cose, compreso il reporting.

 
Renat Fatkhullin:

Siamo impegnati in un grande aggiornamento delle prestazioni del tester e stiamo ridisegnando le modalità di carico pesante. Sono stati fatti grandi miglioramenti e nuovi metodi di accelerazione saranno presto implementati.

Abbiamo deciso di mostrare la finestra della lista dei passaggi alla fine della corsa, in modo da non sprecare risorse reali per mantenere, riordinare e visualizzare la lista dei passaggi in continua evoluzione.

C'è stato davvero un enorme spreco di risorse e rallentamenti. Soprattutto quando si parla di centinaia di migliaia di righe, milioni e decine di milioni di passaggi. Non ha senso guardare con gli occhi un mucchio di dati preliminari.


Stiamo eseguendo l'ottimizzazione e i test con 100 milioni di passaggi completi.

È chiaro che con questi numeri è fuori questione riordinare e mostrare una tabella di 2-5-10-50 milioni di valori in tempo reale. L'unica opzione è quella di raccogliere tutto in modo rapido ed economico, ordinarlo alla fine e fornire una qualsiasi profondità di visione.

Tutto questo è fantastico!

Tuttavia, si prega di restituire la scheda "Ottimizzazione" - è impossibile lavorare senza l'analisi operativa! Le tabelle grandi sono lente - facciamo un filtro - mostra i primi 20 per ogni criterio - non è così impegnativo in termini di risorse(?), ma aiuterà molto a vedere il quadro. E quei miliardi di passaggi, chi li fa? Sono unità con capacità enormi - tu stesso stai parlando della ragionevolezza dell'applicazione della genetica, e lì non ci sono questi portmanteaus. Cioè più di 10k passaggi è una rarità.

Non capisco riguardo all'arresto dell'ottimizzazione, se ho scritto i fotogrammi su file, allora dopo il riavvio verrà scritto un nuovo file, perché non posso dire all'Expert Advisor che hanno continuato da dove si sono fermati e non hanno bisogno di creare un nuovo file per registrare i risultati. E se questo è il caso, non possiamo fare a meno di monitorare i risultati attuali!

Se non sono così sicuro, si può creare un grafico con i risultati di ottimizzazione attuali per diversi indicatori che mi aiuterà a passare il grafico a quello necessario e monitorare la situazione in questo modo.

Vi chiederò di cambiare il parametro "ottimizzazione" in test one-pass dopo l'ottimizzazione. Spesso ho perso i miei dati per questo motivo e ci sono state molte lamentele su questo punto.

Per quanto riguarda gli agenti nella rete locale - si prega di insegnare loro a non strofinare la cache e l'intero ambiente per un tempo più lungo - tra le ottimizzazioni il tempo passa per analizzare i dati, e non immediatamente eseguire per 5 minuti. Ora si scopre che non appena avvio di nuovo l'ottimizzazione e inizia la distribuzione di qualsiasi cosa sia - gli agenti iniziano a lavorare in 10 minuti. Sì, ho un internet lento per il caricamento, ma è possibile dare così tanto? Perché non posso dare ad ogni computer locale (un agente su questo PC) e lasciare che condivida tutto tra gli agenti!

 
Renat Fatkhullin:

Ponga la domanda con precisione, per favore.

Perché rompere un buon vecchio algoritmo e sostituirlo con uno nuovo che è 3 volte più lento?

Se avete bisogno di introdurre un nuovo approccio al metodo genetico, aggiungete una nuova voce alla scheda "ottimizzazione",

Crea una descrizione e delle tecniche per lavorarci.