NS + indicatori. Esperimento.

 
Tentativo di prevedere l'High Low della prossima barra giornaliera, utilizzando NS ricorrenti, in base ai valori degli indicatori standard.
Struttura della rete: full-link, ricorrente, 3 strati. numero di neuroni selezionati da GA. traiettoria 50 cicli.

Ingresso (valori normalizzati):
            ,iClose(Symbol(),Period(),i+1) - iMA(NULL,0,20,0,MODE_SMA,PRICE_MEDIAN,i+1)
            ,iClose(Symbol(),Period(),i+1) - iMA(NULL,0,10,0,MODE_SMA,PRICE_MEDIAN,i+1)
            ,iClose(Symbol(),Period(),i+1) - iMA(NULL,0,5,0,MODE_SMA,PRICE_MEDIAN,i+1)            
            ,iRSI(NULL,0,14,PRICE_MEDIAN,i+1)
            ,iATR(NULL,0,12,i+1)
            ,iWPR(NULL,0,14,i+1)
            ,iMACD(NULL,0,12,26,9,PRICE_MEDIAN,MODE_MAIN,i+1)
            ,iMACD(NULL,0,12,26,9,PRICE_MEDIAN,MODE_SIGNAL,i+1)
            ,iMACD(NULL,0,12,26,9,PRICE_MEDIAN,MODE_SIGNAL,i+1) - iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i+1)
            ,iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,i+1)
            ,iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,i+1)
            ,iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,i+1) - iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,i+1)
            ,iADX(NULL,0,14,PRICE_MEDIAN,MODE_MAIN,i+1)
            ,iADX(NULL,0,14,PRICE_MEDIAN,MODE_PLUSDI,i+1)
            ,iADX(NULL,0,14,PRICE_MEDIAN,MODE_MINUSDI,i+1)
            ,iStdDev(NULL,0,10,0,MODE_EMA,PRICE_MEDIAN,i+1)
	    //www.atrlab.com
All'uscita l'array. è formato come segue.
Se i massimi giornalieri sono >15 pip dalla chiusura precedente, allora il primo elemento dell'array è 1, il resto 0.
Se i massimi giornalieri sono >30 pip dalla chiusura del giorno precedente, allora il secondo elemento dell'array è 1, gli altri sono 0.
ecc.

Esempi di uscite.

s1 s2 s3 s4 s5 s6 s7 r1 r2 r3 r4 r5 r6 r7
0 1 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 1 1 0
0 0 0 0 1 0 0 1 0 0 0 0 0 0
0 1 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 1 0 1 0 0 0 0 0 0

risultato. campione di prova.



i valori vicino alle linee sono l'attività del neurone responsabile del livello di supporto/resistenza.
 
Tutti gli indicatori sono derivati del prezzo. Non sarebbe più facile alimentare solo il prezzo? Una delle regole della preparazione dei dati per NS è quella di ridurre la dimensionalità. Quindi riducetelo riducendo tutti i dati al prezzo. Altrimenti state alimentando dati ridondanti e interconnessi.
 
I risultati non hanno cambiato la mia visione del mercato.
 
njel:
I risultati non hanno cambiato la mia visione del mercato.


Per calcolare la percentuale, hai bisogno di un valore di riferimento (da cui calcolare la percentuale). Potrebbe approfondire questo + la sua visione del mercato, se non le dispiace?

 
Non scriverò troppo, basta leggere l'articolo: Reti neurali: lavorare attraverso i bug
 
sull'ingresso era dato da
         double c1 = MathLog (  iHigh(Symbol(),Period(),i) / iClose(Symbol(),Period(),i+1)) * 100.0;
         double c2 = MathLog (  iLow(Symbol(),Period(),i) / iClose(Symbol(),Period(),i+1)) * 100.0;
e la rete è stata timelagata con una traiettoria di 15 . ma la qualità della previsione non era felice.

2Alex-Bugalter

Ho letto l'articolo. Ho una rete neurale per esempio, ma è modulare, potete suggerirmi qualcosa?
 
njel:
l'ingresso era
         double c1 = MathLog (  iHigh(Symbol(),Period(),i) / iClose(Symbol(),Period(),i+1)) * 100.0;
         double c2 = MathLog (  iLow(Symbol(),Period(),i) / iClose(Symbol(),Period(),i+1)) * 100.0;
e la rete è stata timelagata con una traiettoria di 15 . ma la qualità della previsione non era felice.

Illogaritmo naturale del rapporto tra i due numeri ? È la percentuale di cambiamento del prezzo?
 
Alex-Bugalter писал (а):
Non scriverò troppo, basta leggere l'articolo: Reti neurali: lavorare sugli errori
Ho letto l'articolo, fa più male che bene. È scritto didatticamente in modo orribile, con la manipolazione di parole come probabilità e profitto. Un sacco di parole intelligenti per farlo sembrare solido.
 
Rosh:
Alex-Bugalter ha scritto (a):
Non scriverò troppo, basta leggere l'articolo: Neural Networks: A Work in Progress
Leggete l'articolo, fa più male che bene. È scritto in modo didatticamente terribile, con la manipolazione di parole come probabilità e profitto. Un sacco di parole intelligenti per farlo sembrare solido.

Secondo. Non è un articolo, è solo qualcosa su cui fare una passeggiata.
 
Prival:
njel:
ha dato per l'input
         double c1 = MathLog (  iHigh(Symbol(),Period(),i) / iClose(Symbol(),Period(),i+1)) * 100.0;
         double c2 = MathLog (  iLow(Symbol(),Period(),i) / iClose(Symbol(),Period(),i+1)) * 100.0;
e la rete è stata timelagata con una traiettoria di 15 . ma la qualità della previsione non era felice.

Il logaritmo naturale del rapporto tra i due numeri ? È la percentuale di cambiamento del prezzo?
Prima prendevo il 100% del prezzo in percentuale, ma ultimamente ho visto queste misure dei movimenti di prezzo. E al momento sto pensando a come alimentare il prossimo modello NS.
 
Cari Rosh & SK, se sapete così bene cosa è bene e cosa è male, e dove è meglio camminare.
Forse può indicare ai non iniziati qual è, secondo lei, il danno e cosa esattamente non è vero in questo articolo?
Tante persone sono state ingannate, quindi mostriamo loro la strada giusta.
O sei solo fuori per una passeggiata?
Chiunque può lanciare indiscriminatamente delle calunnie.
E in questo articolo: "Reti neurali e analisi delle serie temporali", è scritto male anche questo?

P.s.: E Rosh, per me personalmente, se non è troppo disturbo, cosa intendeva esattamente con: "Scritto didatticamente terribile"?