Rete neurale in forma di script - pagina 5

 
Blast:

Come si usa questo? Mettere uno script sul grafico, mucchi di numeri hanno iniziato a riscrivere... Cosa dicono questi numeri?

I numeri che sono sovrascritti (fatti per chiarezza) sono i pesi dei neuroni che si regolano nel processo di apprendimento (vedi sopra sul ramo).

Ecco un esempio di un indicatore che utilizza la primissima versione della griglia pubblicata all'inizio del ramo.

Ingressi

               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 2 )) test_pat[0] = 0.1 ; else test_pat[0] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 3 )) test_pat[1] = 0.1 ; else test_pat[1] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 4 )) test_pat[2] = 0.1 ; else test_pat[2] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 5 )) test_pat[3] = 0.1 ; else test_pat[3] = 0.9;

Uscita

               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 1 )) desired[0] = 0.1 ; else desired[0] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 1 )) desired[1] = 0.1 ; else desired[1] = 0.9;

L'ingresso e l'uscita sono solo a titolo di esempio. Poiché non è l'opzione migliore.

La migliore variante deve essere cercata e provata.

File:
 
sprite:

L'entrata e l'uscita sono solo un esempio. Poiché questa non è l'opzione migliore.

L'opzione migliore deve essere cercata e provata.

Avete provato a ottenere la probabilità di una direzione prevista come uscita, almeno nella semplice opzione su/giù?

 
SK. писал (а):
sprite:

L'entrata e l'uscita sono solo un esempio. Poiché questa non è l'opzione migliore.

L'opzione migliore deve essere cercata e provata.

Avete provato a ottenere la probabilità di una direzione prevista come uscita, almeno nella semplice opzione di su/giù?

Come si codifica(probabilità di direzione prevista)?
 
sprite:
Come può essere codificata(probabilità di direzione prevista)?

Deve essere possibile in qualche modo. Si ottiene una specie di 0 e 1 nell'output.

Per esempio, 01 = 50%, 10 = 50%, 00 = -100%, 11 = +100%.

Se ci si sforza un po' di più, si può prescrivere una sorta di feedback - per controllare la direzione effettiva.

 

La funzione obiettivo per la formazione della griglia è una domanda interessante!

È trattato nel libro di Ezhov, Shumsky "Neurocomputing e le sue applicazioni in economia e commercio".

 
Amici, dimenticatevi di questo mql. È lento. Dovresti scrivere una rete in C++, impararla e poi inserire i coefficienti preparati nel programma mql. La gente cerca addirittura di caricare la scheda video durante l'allenamento, per quanto contorto possa essere, per risparmiare tempo, mentre voi lo state sprecando.
 
Wisard писал (а) >>
Amici miei, dimenticatevi di questo mql. È lento. Dovresti scrivere la rete in C++, impararla e poi incollare i coefficienti preparati in un programma mql. La gente sta persino cercando di caricare una scheda video durante l'allenamento, in qualsiasi modo la torcano per risparmiare tempo, mentre voi lo state sprecando.

questo è ovvio... certo che è lento

ma questo non ha impedito (il buon programmatore MEGLIO di implementarlo nel codice MQL4)

questo non è il punto

Ho dato un semplice esempio qui, una semplice griglia: in C, la griglia impiega pochi secondi per allenarsi, mentre in MQL ci vogliono diversi minuti o addirittura ore

e quello addestrato lavora ad una velocità accettabile - cioè se non lo si addestra di nuovo ad ogni passo

la rete PNN è molto veloce! in C è o in MQL4 o nello script più lento - nel lavoro reale non si vedrà

perché non devi prendere decisioni come se stessi catturando delle pulci - la velocità della macchina è sufficiente

ma preferirei creare-scrivere la rete in C - che permette di addestrarla rapidamente, modificarla, aggiungere nuove caratteristiche ed eseguirla nei test.

La migrazione a MQL4 non ha senso... tranne che per il CAMPIONATO.

 
SK. писал (а) >>

Avete provato a ottenere la probabilità di una direzione prevista come output, almeno nella semplice versione su/giù?

Sergei, penso che il compito qui sia solo quello di mostrare la direzione attuale e informare rapidamente quando cambia

più che una previsione di ciò che verrà, è un'indicazione di ciò che sta accadendo al momento,

è un tentativo di mantenere una posizione aperta nella giusta direzione senza lasciarla andare contro le istruzioni

l'apertura stessa può essere fatta in base a diversi filtri e altri indicatori, per esempio una divergenza per una divergenza in un timeframe più piccolo

può essere che la rete di qualcuno sia così buona da non richiedere ulteriori manipolazioni

 
YuraZ писал (а) >>

questo è ovvio... certo che è lento

ma questo non ha impedito (il buon programmatore MEGLIO di implementarlo nel codice MQL4)

questo non è il punto

Ho dato un semplice esempio qui, una semplice griglia: in C, la griglia impiega pochi secondi per allenarsi, mentre in MQL ci vogliono diversi minuti o addirittura ore

e quello addestrato lavora ad una velocità accettabile - cioè se non lo si addestra di nuovo ad ogni passo

la rete PNN è molto veloce! in C è o in MQL4 o nello script più lento - nel lavoro reale non si vedrà

perché non devi prendere decisioni come se stessi catturando delle pulci - la velocità della macchina è sufficiente

ma preferirei creare-scrivere la rete in C - che permette di addestrarla rapidamente, modificarla, aggiungere nuove caratteristiche ed eseguirla nei test.

La migrazione a MQL4 non ha senso... se non per il CAMPIONATO.

Forse seguire la via del collegamento di una DLL in C++ per accelerare MQL. Scrivere alcuni template-funzioni universali in C++, anche se è un po' come NSDT. A proposito, BETTER ha scritto tutto in C++ e ha tradotto il risultato finale in MQL.
 
YuraZ писал (а) >>

QUESTA RETE

LA STESSA RETE ma scritta in Microsoft Visual C++ 6.0

La velocità è ordini di grandezza superiore a quella di MQL4

l'algoritmo non è stato cambiato, il trasferimento da MQL4 a C++ è il più semplice possibile, senza usare classi-oggetto

Non sono riuscito a trovare un file dll. Se puoi, per favore dimmi come crearne uno.