Consulente per un articolo. Test per tutti i partecipanti. - pagina 8

 
Avals:


Non c'è affatto bisogno di un avanti in una corretta analisi degli insiemi.

L'essenza del forward è valutare se gli estremi dei parametri ottimizzati galleggiano nel tempo. Cioè tagliare i casi in cui ci sono diversi estremi locali in tutta l'area di test (ottimizzazione + autofsample). Può essere tagliato molto meglio attraverso un'analisi separata per ogni opzione della sua singolarità dell'estremo e della monotonicità. Cioè è già una garanzia che un'opzione non "galleggia" nel tempo. E forward ha un grave svantaggio: considera solo i singoli punti sulla superficie di ottimizzazione e non nell'aggregato. Questo, unito alla divisione fonica delle trame in ottimizzazioni e autocampioni, riduce l'affidabilità statistica di tali analisi sotto lo zoccolo)) È solo una realizzazione - forse si avrà la fortuna di selezionare un autocampione e si passerà un set di opzioni di merda, o viceversa - un autocampione cadrà in un periodo di temporanea discesa di un "buon" set di opzioni.

Ma in ogni caso ripeto che il compito di ottimizzazione è quello di valutare la robustezza di ogni parametro del sistema. In caso di dubbio è meglio scartarlo o modificarlo. Lascia solo ciò che è supportato al 100% dalle statistiche e dalla logica del trading.


Quindi vuoi dire che invece di eseguire una serie di test in avanti è meglio ottimizzare i parametri su un periodo storico più ampio possibile? In linea di principio, c'è del vero anche in questo, poiché è più difficile "adattare" i parametri su un'area più grande per ottenere una bella curva. :)
 
Avals:


non distorcere accidentalmente nulla. Questo viene fatto dal GA stesso attraverso il meccanismo di mutazione. L'ottimizzazione è necessaria per controllare ogni singola opzione per la robustezza, non per trovare gli estremi globali.

Questo è il punto, GA non sta solo cercando gli estremi globali ma un estremo che supererà gli altri estremi rispetto al valore della funzione multivariata, cioè

max(y = f(x0, x1, ... xn))

dove:

x0, x1 ... xn - parametri di ingresso del TS

y è una funzione di fitness del GA

E non c'è alcuna garanzia che l'estremo GA trovato nel punto dello spazio multidimensionale con le coordinate {x0, x1, ... xn} non è fluttuante nel tempo e l'estremo temporale solo per una sezione di dati storici. Se l'ottimizzazione fosse in grado di controllare la robustezza, allora il fit non esisterebbe affatto. E poiché l'adattamento esiste, allora sono necessari ulteriori controlli, compresi i test in avanti.

Avals:

Ma in ogni caso, ancora una volta, il compito dell'ottimizzazione è quello di valutare la robustezza di ogni parametro all'interno del sistema.

Stronzate e sabotaggi. L'ottimizzazione consiste nel trovare gli estremi per definizione e non risolve altri problemi.
 
tol64:

Quindi vuoi dire che è meglio ottimizzare i parametri su un intervallo di storia più ampio possibile piuttosto che condurre una serie di test in avanti? In linea di principio, c'è del vero anche in questo, poiché è più difficile "adattare" i parametri su un intervallo più ampio per ottenere una bella curva. :)

Se le quotazioni fossero stazionarie, otterremmo una maggiore correttezza statistica, perché la legge dei grandi numeri ha luogo su dati stazionari.

E poiché abbiamo a che fare con dati non stazionari, la statistica e la legge dei grandi numeri non funzionano qui. Perché la legge di Chebyshev dei grandi numeri afferma che con l'aumentare del numero di prove e la presenza di aspettativa = Cost e varianza finita, i dati statistici si avvicinano ai loro valori costanti. La non stazionarietà esclude la costanza dell'aspettativa e la dispersione finita e quindi non siamo in grado di raffinare nulla poiché ciò che non esiste e non può esistere per definizione non ha senso calcolare e raffinare.

È difficile cercare un gatto nero in una stanza buia, soprattutto se non c'è (cfr. Confucio)

 
Reshetov:


Stronzate e sabotaggi. L'ottimizzazione consiste nel trovare gli estremi per definizione e non risolve altri problemi.
L'ottimizzatore può ancora fare molte cose, se lo si usa correttamente. Sono solo i nerd che se la tirano, ottimizzando un mucchio di parametri per usare una sola linea superiore ;)
 
IgorM:
Hv. Yuri, e l'articolo, quando sarà pubblicato?

Ho appena inviato il testo dell'articolo per essere controllato.

Dopo la verifica sarà disponibile su: https://www.mql5.com/ru/articles/366

 
Reshetov:

Ho appena inviato il testo dell'articolo per essere controllato.

Dopo la verifica sarà disponibile su: https://www.mql5.com/ru/articles/366

Grazie!

ZS: Posso già vedere le prime righe dell'articolo: "404 Requested page not found", mi toglie il fiato .... )))))

ZZY: spero che il tuo articolo dirà come scegliere la struttura ottimale della rete, e quando la rete è considerata sufficientemente addestrata, qui sto rovinando l'apprendimento 2x2 ...

>
 
IgorM:

Grazie!

ZS: Posso già vedere le prime righe dell'articolo: "404 Requested page not found" mi toglie il respiro .... )))))

ZZY: spero che il tuo articolo dirà come scegliere la struttura ottimale della rete, e quando la rete è considerata sufficientemente addestrata, qui sto rovinando l'apprendimento 2x2 ...

Sì, ma non è esattamente una rete, poiché il primo strato è un sistema esperto per tre ingressi, non neuroni, lo strato nascosto è un perceptron, cioè già un neurone, e l'uscita è una sigmoide lineare. Necessità e sufficienza della selezione delle regole per la base di conoscenza del sistema esperto sono descritte in dettaglio. Cioè non c'è bisogno di ottimizzare nulla. Il sistema esperto deve soddisfare pienamente tutte le condizioni descritte nell'articolo e nessun'altra architettura è adatta ad esso - niente può essere rimosso perché non è abbastanza addestrato, e niente può essere aggiunto perché è sicuro di essere ri-addestrato.

Ci sono istruzioni dettagliate su come ottimizzare un EA con test forward e su come eseguire un ulteriore controllo di stabilità dell'estremo identificato. Non si può dire che tutto ciò sia più che sufficiente per considerare il TS addestrato al 100% in condizioni di non stazionarietà, ma si può dire che tutto ciò dovrebbe essere fatto per evitare di farsi prendere dall'instabilità o dalla casualità di un test in avanti.

 
Reshetov:

Sì, ma non è esattamente una rete, poiché il primo strato è un sistema esperto per tre ingressi piuttosto che neuroni, lo strato nascosto è un perceptron, cioè già un neurone, e l'uscita è una sigmoide lineare. La necessità e la sufficienza della selezione delle regole per la base di conoscenza del sistema esperto sono descritte in dettaglio.

Interessante..., sto pensando di provare a fare un sistema da un array di NS - l'input dei NS dovrebbe essere alimentato con gli output dei NS già addestrati
 

Lapubblicazione dell'articolo è stata temporaneamente ritardata. Il testo è stato modificato, ma gli screenshot, a causa della mia disattenzione, hanno superato le dimensioni consentite. Dovrò rieseguire l'ottimizzazione da capo per fare degli screenshot. E l'ottimizzazione in MT5 è terribilmente lenta. Pertanto, la pubblicazione è stata rinviata a tempo indeterminato per il momento.

 
Reshetov:


La pubblicazione dell'articolo è stata temporaneamente ritardata. Il testo è stato modificato, ma gli screenshot, a causa della mia disattenzione, hanno superato le dimensioni consentite. Dovrò rieseguire l'ottimizzazione da capo per fare degli screenshot. E l'ottimizzazione in MT5 è terribilmente lenta. Pertanto, la pubblicazione è stata rimandata per il momento.


Gli screenshot possono essere rimpiccioliti in Photoshop senza perdita di qualità?

P.S. Anche se, se ci sono elementi del terminale, non funzionerà molto bene.