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

 
Maxim Dmitrievsky:

Nel mio 1° articolo salvataggio e caricamento "veloce" via binario. Nel 2° articolo caricamento lento via deserializzazione, la velocità di salvataggio non sembra soffrire


Forse i file sono piccoli lì. Ma se si parla di 300 Mb, probabilmente ci sarà una differenza notevole

 
elibrario:

Forse ci sono piccoli file. E se si parla di 300 mb, probabilmente ci sarà una differenza notevole

Se salvate in ANSI, è la metà che in unicode. Ebbene lì il carico diretto nella struttura della foresta è ottenuto, a mio parere, non so come altro più veloce

almeno è più veloce ora, come nel 1° articolo mi va bene ora.

int setRDF=FileOpen("RDFBufsize"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_bufsize=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFNclasses"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_nclasses=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFNtrees"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_ntrees=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFNvars"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_nvars=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFMtrees"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_BIN|FILE_ANSI|FILE_COMMON);
      FileReadArray(setRDF,RDF.m_trees);
      FileClose(setRDF);

L'ultimo è il più pesante, che si deve scrivere/leggere in un binario

 
Maxim Dmitrievsky:

Se salvate in ANSI, è la metà che in unicode. Ebbene lì il carico diretto nella struttura della foresta è ottenuto, a mio parere, non so come altro più veloce

almeno è più veloce ora, come nel 1° articolo mi va bene ora.

Ultimo - il più pesante, che è necessario per scrivere/leggere il binario.

Questo è più o meno come me lo immaginavo)
Ma dovrebbe essere ancora più veloce in binario e la dimensione del file è molto più piccola. E se l'array di dati viene convertito in un float prima del salvataggio, la dimensione diventerà due volte più piccola.
Ma non ho capito perché dovrebbe funzionare.

setRDF=FileOpen("RDFMtrees"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_BIN|FILE_ANSI|FILE_COMMON);

Si leggono e scrivono dati binari nel file di testo. E prima che sia scritto in forma di testo. MQL sembra essere in grado di combinare queste funzioni in qualche modo. Sarebbe più logico fare così

FILE_READ|FILE_WRITE|FILE_BIN|FILE_COMMON
salvare e leggere.
 
elibrario:

Questo è più o meno come me lo immaginavo)
Ma il binario dovrebbe essere ancora più veloce e la dimensione del file sarà molte volte più piccola. E se convertiamo l'array di dati in float prima di salvare, la dimensione diventerà due volte più piccola.
Ma non ho capito perché dovrebbe funzionare.

Si leggono dati binari in un file di testo. Ma prima è scritto come testo. MQL sembra essere in grado di combinare queste funzioni in qualche modo. Sarebbe più logico fare così

salvare e leggere.

L'estensione non ha importanza qui, potete usare qualsiasi estensione. La cosa principale è il flag|FILE_BIN.

 
Maxim Dmitrievsky:

L'estensione non ha importanza qui, potete usare qualsiasi estensione. La cosa principale è il flag|FILE_BIN.

Non ho notato i diversi nomi dei file. Puoi salvarli tutti in uno.
 
elibrario:
ah - non ho notato che i nomi dei file sono diversi. Puoi salvare tutto in uno solo.

può essere in 1, gli altri non hanno quasi alcun effetto sulle prestazioni, solo l'ultimo con la struttura della foresta, il più pesante. Il resto è lì da 1 termine

 
Maxim Dmitrievsky:

può essere in 1, gli altri non hanno quasi alcun effetto sulle prestazioni, solo l'ultimo con la struttura della foresta, il più pesante. Il resto è lì da 1 termine

allora ci si può confondere in questo mucchio di file)
E 1 file per 1 modello è più conveniente
 
Elibrarius:
allora ci si può confondere in questo mucchio di file)
E 1 file per 1 modello è più conveniente.

Ebbene sì, gli altri file sono semplici: numero di alberi, numero di caratteristiche, numero di classi e numero di campioni. Se li conosci in anticipo, non hai nemmeno bisogno di salvarli. Ho appena messo quello che erano sul default, e salvare solo la struttura con spaccature, bene, ancora contare campioni varia.

 
elibrario:

Non c'è tempo - è vero. Anche leggere il forum distrae da cose più utili. E tu stai parlando di preparare un rilascio... Si tratta di qualche ora per fare tutto correttamente e fornire e spiegare, e poi chiedere supporto)).

Sei un programmatore - come programmatore sono molto più a mio agio quando è chiaro cosa e perché. Entrare nel codice. Si può capire la funzione di costruzione dell'albero in un paio d'ore e ficcarci dentro la limitazione del numero di campioni e quello che si vuole.

Fatto per fare il prefetching dei predittori.

Non sono un programmatore, quindi lavorare con il codice richiede molto sforzo, ma in generale, capisco la posizione.

 
Aleksey Vyazmikin:

Non sono un programmatore, quindi lavorare con il codice richiede molto sforzo, ma in generale la posizione è compresa.

Non sentirti troppo male). Il fatto che tu abbia 5 prodotti (o forse non li hai scritti tu?) e un sacco di segnali (probabilmente dai tuoi Expert Advisors), che ti permettono di vivere di profitti sul forex.

Sono ancora alla ricerca e vivo di qualcos'altro.
Motivazione: