L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 73

 
Mihail Marchukajtes:

Cosa?

Anche se c'è del vero in queste parole. ....

Dovresti semplicemente leggere cosa significa la classificazione. Qualsiasi buon sito sull'apprendimento automatico lo ha in breve.
 
Alexey Burnakov:

Dati di convalida:https://drive.google.com/file/d/0B_Au3ANgcG7COGpJb24wbkxoaTg/view?usp=sharing

Ci sono 5,5 anni per 5 coppie. Le date vengono rigorosamente dopo il set di allenamento. Nella colonna all'estrema destra c'è la tselevka: incremento di prezzo in 181 minuti (ciò che è stato codificato dalle categorie nel treno).

Cercate di ottenere un MO sulla convalida maggiore di 0,0001. Ho ottenuto circa 0,00013, che corrisponde allo spread medio. Cioè, zero.

Allo stesso tempo non commercio ogni osservazione, ma solo dove il segnale della macchina è forte (circa il 5-10% delle osservazioni).

Grazie,

Alexey

E questa è un'immagine utile per fare un campione di prova (crossvalidation). Dobbiamo dividere l'insieme in 5 parti uguali e la coda di ogni quinta parte sono dati futuri.

 
L'ho scaricato, tutto è OK, ma non sono ancora riuscito a inserirlo in MQL, e per qualche motivo i risultati di ottimizzazione nel file salvato sono diversi da quelli visualizzati dal predittore stesso. Il predittore stesso ha il livello di generalizzazione dei dati del 90%, mentre il modello estratto ha solo il 47% - non capisco.... Beh, non sono ancora riuscito a farlo funzionare in MQL....
 
Mihail Marchukajtes:
L'ho scaricato, tutto è ok, ma non sono riuscito a metterlo in MQL ... Non ho anche potuto eseguirlo in MQL yet....

Perché il file java ha la funzione Math.signum(), mentre il file mql no.

Mihail Marchukajtes:
Non so perché il file salvato mostra risultati di ottimizzazione diversi da quelli visualizzati dal predittore. Il predittore stesso ha un livello di generalizzazione dei dati del 90%, mentre il modello di uscita ha solo il 47%. Non chiaro....

È una proprietà dei comitati negli algoritmi di apprendimento automatico che i modelli combinati in un comitato daranno risultati migliori dei modelli presi separatamente. Altrimenti, che senso hanno i comitati? Ecco perché in jPrediction i classificatori binari individuali hanno una generalizzabilità peggiore dei classificatori ternari.

Qui dobbiamo anche guardare un parametro come il bias. È auspicabile che sia inferiore al 50%. È ancora meglio averla a zero. Più piccolo è il suo valore, più adeguato è il classificatore ternario.

 
Mihail Marchukajtes:
L'ho scaricato, tutto è ok, ma non sono ancora riuscito a inserirlo in MQL. Beh, non ho potuto eseguirlo in MQL ancora....

Puoi anche fare così. In MetaEditor premi Ctrl+H, poi fai auto-change:


Poi aggiungete la funzione signum() al codice:

double signum(double x) {
   if (x == 0.0) return(0.0);
   if (x > 0.0) return(1.0);
   return(-1.0);
}
 
Yury Reshetov:

Puoi anche fare così. In MetaEditor premi Ctrl+H, poi fai auto-change:


Poi aggiungete la funzione signum() al codice:

Beh, lo proverò presto, visto che sono stufo di costruire a casa. Sto commerciando da zero... Non riesco a trovare il tempo di ottimizzarlo, appena lo faccio lo segnalo su once....
 
Yury Reshetov:

Puoi anche fare così. In MetaEditor premi Ctrl+H, poi fai auto-change:


Poi aggiungete la funzione signum() al codice:

Non capisco cosa sia la variabile 1d e da dove viene?
 
Mihail Marchukajtes:
Non capisco, sta imprecando alla variabile 1d, che tipo di variabile è e da dove viene?
L'ho capito, l'ho cambiato in d1 e tutto ha funzionato. Non sono entrato nel codice, ma ho capito che è un comitato e funziona su 5+++. Grazie, Yuri, per il tuo lavoro. "Ora faremo il doppio del fieno per la nostra mucca" (da Matroskin.....)
 
Ora un po 'di comitati, nel 2007 ho sentito per la prima volta questo termine, e abbiamo costruito un comitato di tre reti, Così voot comitato mette fuori un segnale e pareggia l'equilibrio solo se 2 dei tre modelli funzionano correttamente, se il comitato di 2 su 3 dare un falso segnale, allora il comitato fallisce. così qualcosa come questo ....
 
Yury Reshetov:

Puoi anche fare così. In MetaEditor premi Ctrl+H, poi fai auto-change:


Poi aggiungete la funzione signum() al codice:

Yuri, ho deciso di tentare il santo dei santi e fare un graal, ma ho un'iscrizione che dice che i valori previsti non possono superare 10. Si tratta di una restrizione deliberata o di un limite dell'algoritmo ???? Perché più di 10 è altamente rilevante così....