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

 
elibrarius:

Puoi mescolare all'interno del treno o del test, ma non ha senso, e non puoi mescolare tra il treno e il test. Non li hai mischiati lì per caso, un risultato molto buono per un test con un esame.

Non li ho mischiati e il risultato non è molto buono per il campione di prova - Il richiamo è piccolo.

Ma il rimescolamento va bene, se crediamo che il modello sia stabile, e non decrescente verso la fine del campione. Proprio qui il file potrebbe essere stato modellato con l'aiuto di un ciclo e alcuni parametri non sono entrati nell'area di studio.

 
Aleksey Vyazmikin:

Non ho mescolato e il risultato non è buono per il campione di prova - Il richiamo è piccolo.

Ma il mescolamento è abbastanza possibile, se crediamo che il modello sia stabile, e non decrescente alla fine del campione. Il file avrebbe potuto essere modellato con un ciclo e alcuni parametri non sono entrati nella zona di studio.

Se lo mischiate, il test migliorerà immediatamente - avrete una sbirciatina, per barra adiacente. Cioè una barra (10:00) entra nella traccia, quella adiacente (10:01) entra nel test, mentre sono molto simili tra loro sia per la precedente che per quella di destinazione.
 
elibrarius:
Se lo mescoli, il test migliorerà immediatamente - ci sarà una sbirciatina, alla barra adiacente. Cioè una barra (10:00) è nella traccia, quella adiacente (10:01) è nel test, e sono molto simili tra loro, sia nel passato che nell'obiettivo.

Le barre del campione si alternano? Semplicemente non mi alleno su ogni barra, prendo solo segnali e in questo caso credo che sia possibile mescolare i campioni - aumenta la quantità di informazioni da allenare senza aumentare la dimensione del campione, che secondo i miei dati migliora il campione di prova.

 
Aleksey Vyazmikin:

Le barre del campione sono lì una per una?

Ho già cancellato il file, controlla il tuo. Penso che uno per uno sia il modo più logico per generare il file CSV.

 
elibrarius:

Ho già cancellato il file, controlla il tuo. Penso che uno per uno sia il modo più logico per generare un file CSV.

C'è qualcosa lì - non so cosa sia.

 2 6 0 4 2 6 57 57 100 100 -1
4 2 6 0 4 2 6 57 57 100 200 -1
4 2 6 0 4 2 6 57 57 100 300 -1
4 2 6 0 4 2 6 57 57 100 400 -1
4 2 6 0 4 2 6 57 57 100 500 -1
4 2 6 0 4 2 6 57 57 100 600 -1
4 2 6 0 4 2 6 57 57 100 700 -1
4 2 6 0 4 2 6 57 57 100 800 -1
4 2 6 0 4 2 6 57 57 100 900 -1
4 2 6 0 4 2 6 57 57 100 1000 -1
4 2 6 0 4 2 6 57 57 100 1100 -1
4 2 6 0 4 2 6 57 57 100 1200 -1
4 2 6 0 4 2 6 57 57 100 1300 -1
4 2 6 0 4 2 6 57 57 100 1400 -1
4 2 6 0 4 2 6 57 57 100 1500 -1
4 2 6 0 4 2 6 57 57 100 1600 -1
4 2 6 0 4 2 6 57 57 100 1700 -1
4 2 6 0 4 2 6 57 57 100 1800 -1
4 2 6 0 4 2 6 57 57 100 1900 -1
4 2 6 0 4 2 6 57 57 100 2000 -1
4 2 6 0 4 2 6 57 57 100 2100 -1
4 2 6 0 4 2 6 57 57 100 2200 -1
4 2 6 0 4 2 6 57 57 100 2300 -1
4 2 6 0 4 2 6 57 57 100 2400 -1
4 2 6 0 4 2 6 57 57 100 2500 -1
 
Aleksey Vyazmikin:

C'è qualcosa lì - non so cosa sia.

In attesa di risposta dal proprietario del file.
 
elibrarius:
In attesa di una risposta dal file host.

A proposito, ho preso l'1% del campione e ho addestrato l'albero C4.5 - ha dato il 100% di riconoscimento sul campione di allenamento e di prova, quindi presumo che si tratti di loop ordinati, che devono essere mescolati. Ma non ho un buon algoritmo di miscelazione in MQL5 - posso semplicemente tirare n righe da entrambi i campioni di prova e di controllo e formare così un campione di prova - e poi avrò ancora un po' di fortuna con l'equilibrio delle classi, e i loop non saranno buoni qui.

 
Aleksey Vyazmikin:

È solo che non mi alleno su ogni barra, prendo solo segnali e in questo caso penso che sia possibile mescolare i campioni - aumenta la quantità di informazioni da allenare senza aumentare la dimensione del campione, che secondo i miei dati migliora il campione d'esame.

Forse puoi, ma non credo che dovresti buttare parte del futuro nella pista, non puoi farlo nel trading reale. Lasciamo che il futuro rimanga sconosciuto sia nella formazione che nella realtà.
Il test e l'esame e devono essere sempre migliori e peggiori. Questo è normale. La cosa principale è essere in positivo.
Usate la convalida incrociata (potreste averla incorporata) o meglio ancora il rollicking forward.

 
Aleksey Vyazmikin:

A proposito, ho preso l'1% del campione e ho addestrato l'albero C4.5 - mi ha dato il 100% di riconoscimento sul campione di allenamento e di prova, quindi presumo che si tratti di loop ordinati, che devono essere mescolati. Ma non ho un buon algoritmo di miscelazione in MQL5 - potrei semplicemente tirare n linee da entrambi i campioni di prova e di controllo e formare così un campione di prova - e sarei di nuovo sfortunato con l'equilibrio delle classi, e i loop non andrebbero bene qui.

Questo è il tipo di MSG che si può mescolare bene con https://www.mql5.com/ru/blogs/post/735953
Rand 0 ... Max Int с равномерным распределением
Rand 0 ... Max Int с равномерным распределением
  • www.mql5.com
Потребовалась функция ГСЧ с гнерацией числа Int от 0 до любого значения. Получилась такая функция. Думаю распределение получилось равномерным. На форуме посоветовали другую функцию из статьи. Отбросив лишнее, получилось: Сделал сравнение по скорости обоих функций, оригинальной из статьи и просто MathRand(): Оригинальная из статьи Rnd.Rand_01...
 
elibrarius:

Forse si può, ma non credo che si debba gettare parte del futuro nell'apprendista, non si può fare questo nel trading reale. Che il futuro rimanga sconosciuto nella formazione come nella realtà.
Il test e l'esame e devono essere sempre migliori e peggiori. Questo è normale. La cosa principale è essere in positivo.
Usa la convalida incrociata (potrebbe essercene una integrata) o ancora meglio, il valedictorian forward.

Se non lo si fa, e non si fa come ha fatto Maxim, imparando dalla fine, si finisce per imparare da dati molto datati, il che non è buono. Non propongo di toccare il campione d'esame, ma il campione di addestramento e di controllo, penso che possiamo. E poi, se abbiamo raggiunto una prestazione stabile, allora, conoscendo le impostazioni del modello di base, possiamo imparare più vicino al bordo per applicare il modello nella vita reale.

Non l'ho risolto con la convalida incrociata - deve essere automatizzato lì, ma non l'ho ancora fatto.

Ma i test a bocconcino - sì, questo è l'approccio giusto, ma manca sempre la storia per me, io uso questo approccio quando seleziono le foglie - lì aiuta meglio anche su un campione che è già stato addestrato, perché di solito le risposte delle foglie non sono uniformi in tutto il campione, e ho solo bisogno di quelle stabili.

elibrarius:
Questo è un buon modo per mescolare https://www.mql5.com/ru/blogs/post/735953

A proposito, avete visto un generatore simile che genera casualmente un numero da un array senza ripetizioni - questo è esattamente ciò di cui ho bisogno.