Ottimizzazione nel tester di strategia - pagina 18

 
Renat:

Ha senso usare la genetica solo se il numero di passaggi è ben superiore a 10000. Nel tuo caso, ci sono solo 817 passaggi e devono essere eseguiti in modalità di ricerca completa.

La genetica opera modellando le sequenze di geni per produrre individui efficienti. Questo richiede un certo numero di popolazioni, di solito almeno 10.000 passaggi.

I test non sono finiti. È in corso. Tuttavia, in tutte e tre le immagini c'è ancora uno squilibrio nel numero di passaggi. Questo squilibrio non si è formato immediatamente, ma da quando (numero di passaggi) non posso dire esattamente.
 
ForexMoneyMaker:
I test non sono finiti. È in corso. Tuttavia, in tutte e tre le immagini c'è ancora uno squilibrio nel numero di passaggi. Questo squilibrio non si è formato immediatamente, ma da quando esattamente (numero di passaggi) non posso dirlo.

Sì, ho frainteso la domanda.

Ci stiamo lavorando ora. Forse è legato al saltare i risultati "inutili".

 
Renat:

Sì, ho sbagliato la domanda.

Lo stiamo risolvendo ora. Forse ha a che fare con il saltare i risultati "inutili".

Qui, a proposito, mi fai venire in mente anche un'altra domanda:

Se l'ottimizzatore, come nel mio caso, trova difficile trovare una soluzione (vedi che il risultato è per lo più zero e l'ottimizzazione è molto lenta nonostante 4 core e 20 agenti esterni), dovrei andare all'ottimizzazione completa della forza bruta invece dell'algoritmo genetico?

Генетические алгоритмы - это просто!
Генетические алгоритмы - это просто!
  • 2010.05.25
  • Andrey Dik
  • www.mql5.com
В статье автор расскажет об эволюционных вычислениях с использованием генетического алгоритма собственной реализации. Будет показано на примерах функционирование алгоритма, даны практические рекомендации по его использованию.
 
ForexMoneyMaker:

Ma se l'ottimizzatore, forse come nel mio caso, ha difficoltà a trovare una soluzione (si può vedere che il risultato è fondamentalmente zero e l'ottimizzazione è molto lenta nonostante 4 core e 20 agenti esterni), dovremmo spostare l'ottimizzazione a forza bruta completa invece di un algoritmo genetico?

In parole povere, la genetica permette di uscire da quasi tutte le fosse locali impacchettando casualmente i parametri nei geni.

In generale, se la genetica (si possono eseguire 2-3 retest) non ha trovato nulla, allora non c'è niente da fare nemmeno per la forza bruta.

 
ForexMoneyMaker:

Ciao moderatore!

Ho una domanda: perché tutte e tre le immagini qui allegate mostrano un numero diverso di passaggi dell'ottimizzatore? Qual è la ragione?

A giudicare dalla prima foto il numero di passaggi dovrebbe essere 817. Tuttavia, nella seconda e terza immagine il loro numero è molto più basso.

Stai facendo domande che sono state discusse molte volte. E le risposte sono nella guida. Non sono un moderatore, ma risponderò.

Il grafico mostra tutti i risultati tranne quelli segnati in rosso. Le corse con un errore critico sono segnate in rosso.

Solo i risultati unici sono inseriti nella scheda dei risultati. Per corse consecutive, tutti i risultati sono unici. Con la genetica, un gran numero di set di parametri sono ripetuti, cioè non sono unici. Il risultato è già nella cache dei risultati - questo set di parametri non viene inviato per il test, il risultato viene tracciato, ma non nella lista dei risultati.

 
stringo:

Non sono un moderatore, ma risponderò.

 
Renat:
stringo:

Stai facendo domande che sono state discusse molte volte. E le cui risposte sono nel riferimento. Non sono un moderatore, ma risponderò.

Il grafico mostra tutti i risultati tranne quelli segnati in rosso. Le corse con un errore critico sono segnate in rosso.

Solo i risultati unici sono inseriti nella scheda dei risultati. Per corse consecutive, tutti i risultati sono unici. Con la genetica, un gran numero di set di parametri sono ripetuti, cioè non sono unici. Il risultato è già nella cache dei risultati - questo set di parametri non viene inviato per il test, il risultato viene tracciato ma non nella lista dei risultati.

Bene. Grazie. È tutto chiaro.
 
ForexMoneyMaker:
(Ok. Grazie. Tutto è chiaro.
Nel registro del tester nel menu contestuale spunta "Full optimization logs". Poi leggete il log - mostra quale agente ha dato quale lavoro, quale agente ha ottenuto quale risultato, quale risultato è stato trovato nella cache risultante, quale risultato è stato trovato nella cache del file. Quali corse sono finite con un errore critico (e quale errore). Può essere una lettura affascinante
Документация по MQL5: Программы MQL5 / Ошибки выполнения
Документация по MQL5: Программы MQL5 / Ошибки выполнения
  • www.mql5.com
Программы MQL5 / Ошибки выполнения - Документация по MQL5
 

Ciao, moderatore!

Ho una nuova domanda riguardante l'ottimizzazione di un EA utilizzando la funzione OnTester() in cui è stata scritta la condizione appropriata. L'ottimizzazione è stata eseguita utilizzando l'algoritmo genetico su build 496.

I risultati di lavoro dell'ottimizzatore sono mostrati nelle immagini qui sotto:

Per assicurarci che i parametri ottenuti durante l'ottimizzazione diano risultati appropriati, abbiamo testato l'Expert Advisor con i parametri corrispondenti ottenuti per l'ultima riga di ogni tabella, ma sulla versione aggiornata della build 519 (purtroppo, questo non è stato fatto sulla 496).

Ci sono tre domande:

1. Perché il grafico di ottimizzazione mostra un valore negativo, se da OnTester(), il risultato è uguale a zero o maggiore di zero?

2. Perché vediamo due punti sopra lo zero sul grafico dell'ottimizzazione (valore pari a 0,51), mentre ce n'è solo uno nella tabella?

3. Quale può essere la ragione per cui i risultati di due test non coincidono con quelli dell'ottimizzazione dopo il test sulla build 519? (nel primo caso, l'Expert Advisor si è fermato invece del profitto 745 come risultato del drenaggio del deposito al livello di fondi insufficienti per aprire posizioni, e nel secondo caso, il risultato ricevuto 7903030 invece del profitto 83064)

 
ForexMoneyMaker:

Ci sono tre domande:

1. Perché c'è un valore negativo sul grafico dell'ottimizzazione, se con OnTester(), il risultato è uguale a zero o maggiore di zero?

2. Perché vediamo due punti sopra lo zero sul grafico dell'ottimizzazione (valore pari a 0,51), mentre ce n'è solo uno nella tabella?

3. Quale può essere la ragione per cui i risultati di due test non coincidono con quelli dell'ottimizzazione dopo il test sulla build 519? (Nel primo caso, invece di un profitto di 745, l'Expert Advisor si è fermato a causa del drenaggio del deposito a livello di fondi insufficienti per aprire posizioni, e nel secondo caso, invece di un profitto di 83064, il risultato è stato di 79030)


Non sono un moderatore, ma cercherò di rispondere.

1. Hai esattamente 0 risultati sul tuo grafico, è solo che lo 0 non è mostrato sulla scala.

2. L'algoritmo genetico genera individui con lo stesso set di parametri, e i risultati per loro sono presi dalla cache, senza una vera esecuzione. Così, il grafico mostra i risultati di tutte le corse, compresi i duplicati, mentre le corse duplicate non sono inserite nella tabella dei risultati (ma il log mostra un messaggio che il risultato è preso dalla cache).

3. In una singola esecuzione il tester completa il test se viene raggiunto un livello di stop-out, mentre l'ottimizzatore salta tali situazioni senza analisi. Probabilmente, i tester non possono determinare da soli il fatto dello stop-out, e il tester lo fa. E l'equilibrio può tornare in area positiva. Anch'io ho osservato casi simili.

4. L'ultimo caso, penso, è dovuto o all'aggiornamento del terminale o all'aggiornamento della storia.