Come formare correttamente i valori di input per il NS. - pagina 12

 
sergeev писал (а) >>
Se i moderatori lo permettono, metto gli archivi qui (dopo averli letti dovrete cancellarli :))))

GRAZIE MILLE!!! Grande archivio - vado a imparare... questo è quello che non sapevo fare, quindi vado a imparare - GRAZIE ancora.

>> e grazie per mantenere vivo questo thread.

 
sergeev писал (а) >>
Quindi, che dire degli ingressi? Chi ha quali reti e input?

prendere la differenza in EMA

per ogni TF


M1 M5 M15 M30 (H1)



3-5

5-8

8-13

13-21

21-34

34-55

55-89

89-144

144-233


Ottengo qualcosa del genere

#define MAX_INP 6 //; 3-5 5-8 8-13 13-21 21-34 34-55 55-89 89-144 144-233


all'ingresso della formazione do qualcosa come questo




INP_PATTERNS[3][0]=-2;
INP_PATTERNS[3][1]=-3 ;
INP_PATTERNS[3][2]=-4 ;
INP_PATTERNS[3][3]=-5 ;
INP_PATTERNS[3][4]=-6 ;
INP_PATTERNS[3][5]=-7 ;
INP_PATTERNS[3][6]=-8 ;
INP_PATTERNS[3][7]=-9 ;
INP_PATTERNS[3][8]=-10;
OUT_PATTERNS [ 3, 0]=0. ;
OUT_PATTERNS [ 3, 1]=0. ;
OUT_PATTERNS [ 3, 2]= 1.0 ; // ciao



uscita! questo paternoster ha BAY




INP_PATTERNS[4][0]=1 ;
INP_PATTERNS[4][1]=1 ;
INP_PATTERNS[4][2]=2 ;
INP_PATTERNS[4][3]=2 ;
INP_PATTERNS[4][4]=3 ;
INP_PATTERNS[4][5]=3 ;
INP_PATTERNS[4][6]=4 ;
INP_PATTERNS[4][7]=5 ;
INP_PATTERNS[4][8]=6 ;

OUT_PATTERNS[4, 0]=1. ; // vendere
OUT_PATTERNS [ 4, 1]=0. ;
OUT_PATTERNS [ 4, 2]= 0. ;

Vendere


INP_PATTERNS[5][0]=0 ;
INP_PATTERNS[5][1]=0 ;
INP_PATTERNS[5][2]=1;
INP_PATTERNS[5][3]=0 ;
INP_PATTERNS[5][4]=-2;
INP_PATTERNS[5][5]=0 ;
INP_PATTERNS[5][6]=1;
INP_PATTERNS[5][7]=0 ;
INP_PATTERNS[5][8]=-5 ;

OUT_PATTERNS [ 5, 0]=0.00 ;
OUT_PATTERNS [ 5, 1]= 1.00 ; // flip
OUT_PATTERNS [ 5, 2]= 0.00


----

ha tre uscite

alla rete

l'uscita è considerata come direzione

RETE NEURALE COME SCRIPT

 
YuraZ писал (а) >>

3-5

5-8

8-13

13-21

21-34

34-55

55-89

89-144

144-233

Che cos'è? Puoi essere più specifico, non è molto chiaro dal post originale.

 
TheXpert писал (а) >>

Che cos'è questo? Puoi essere più specifico, non è molto chiaro dal post originale.



questi sono i numeri di muving.



schematicamente

--

void Get0MAEUR(int iBAR )
  {
  
  
   MA[1][3 ] [iBAR]=iMA(Symbol(),PERIOD_M1,  3,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][5 ] [iBAR]=iMA(Symbol(),PERIOD_M1,  5,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][8 ] [iBAR]=iMA(Symbol(),PERIOD_M1,  8,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][13] [iBAR]=iMA(Symbol(),PERIOD_M1, 13,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][21] [iBAR]=iMA(Symbol(),PERIOD_M1, 21,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][34] [iBAR]=iMA(Symbol(),PERIOD_M1, 34,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][55] [iBAR]=iMA(Symbol(),PERIOD_M1, 55,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][89] [iBAR]=iMA(Symbol(),PERIOD_M1, 89,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][144][iBAR]=iMA(Symbol(),PERIOD_M1,144,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][233][iBAR]=iMA(Symbol(),PERIOD_M1,233,0,MODE_EMA,PRICE_CLOSE,iBAR);
 
 
   MA[2][3 ] [iBAR]=iMA(Symbol(),PERIOD_M5,  3,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][5 ] [iBAR]=iMA(Symbol(),PERIOD_M5,  5,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][8 ] [iBAR]=iMA(Symbol(),PERIOD_M5,  8,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][13] [iBAR]=iMA(Symbol(),PERIOD_M5, 13,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][21] [iBAR]=iMA(Symbol(),PERIOD_M5, 21,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][34] [iBAR]=iMA(Symbol(),PERIOD_M5, 34,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][55] [iBAR]=iMA(Symbol(),PERIOD_M5, 55,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][89] [iBAR]=iMA(Symbol(),PERIOD_M5, 89,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][144][iBAR]=iMA(Symbol(),PERIOD_M5,144,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][233][iBAR]=iMA(Symbol(),PERIOD_M5,233,0,MODE_EMA,PRICE_CLOSE,iBAR);
 
 
...


            INP_PATTERNS[iB][0]=  (MA[iTF][3  ][iP]-MA[iTF][5  ][iP])/Point    ;
            INP_PATTERNS[iB][1]=  (MA[iTF][5  ][iP]-MA[iTF][8  ][iP])/Point    ;
            INP_PATTERNS[iB][2]=  (MA[iTF][8  ][iP]-MA[iTF][13 ][iP])/Point    ;
            INP_PATTERNS[iB][3]=  (MA[iTF][13 ][iP]-MA[iTF][21 ][iP])/Point    ;
            INP_PATTERNS[iB][4]=  (MA[iTF][21 ][iP]-MA[iTF][34 ][iP])/Point    ;
            INP_PATTERNS[iB][5]=  (MA[iTF][34 ][iP]-MA[iTF][55 ][iP])/Point    ;
            INP_PATTERNS[iB][6]=  (MA[iTF][55 ][iP]-MA[iTF][89 ][iP])/Point    ;
            INP_PATTERNS[iB][7]=  (MA[iTF][89 ][iP]-MA[iTF][144][iP])/Point    ;
            INP_PATTERNS[iB][8]=  (MA[iTF][144][iP]-MA[iTF][233][iP])/Point    ;

cioè prende la differenza tra le EMA adiacenti su diversi TF

e viene alimentato nell'ingresso di rete



nel codice ho letto più di 6 ingressi

ma io elaboro 6 -- il codice è sperimentale.


--


 

2 YuraZ. La gente si sta riprendendo, è bello da vedere.

Il tuo esperto nel thread di cui sopra è stata la mia prima introduzione. Grazie mille per il codice. Incollo qui la sua versione leggermente corretta e decorata. È buono per i principianti.

File:
 
sergeev писал (а) >>

2 YuraZ. La gente si sta riprendendo, è bello da vedere.

Il tuo esperto nel thread di cui sopra è stata la mia prima introduzione. Grazie mille per il codice. Incollo qui la sua versione leggermente corretta e decorata. È perfetto per un principiante.


Non credo che sia degno dell'esempio, anche io ho preso il codice iniziale dallo stesso thread.

https://forum.mql4.com/ru/12474 dalla prima pagina

---


ma ho aggiunto uno strato.

allora l'algoritmo di incremento casuale della rete

Ho aumentato la precisione nell'allenamento.

poi l'algoritmo per l'apprendimento da dati reali (anche se con un insegnante che mette le frecce cioè un umano)


Ci ho aggiunto l'apprendimento dai dati reali, se si mettono le frecce sul grafico! il sistema inizia a imparare dai dati reali, non da modelli stupidi

una condizione!

è necessario vedere un'apertura del ventilatore M1 M5 M15 M30 ( H1 )

c'è anche un codice per un appartamento!

 
YuraZ писал (а) >>

...

Sembra bello, come opzione è abbastanza buono.

 
TheXpert писал (а) >>

Sembra bello, come opzione è abbastanza buono.

le entrate sono a volte catturate magnificamente! ma c'è bisogno di qualcos'altro!

 
YuraZ писал (а) >>

Ho aggiunto l'addestramento su dati reali! Se metti delle frecce sul grafico, il sistema inizia l'addestramento non su modelli stupidi ma su dati reali!

una condizione!

si deve vedere l'apertura del ventilatore almeno M1 M5 M15 M30 ( H1 )

C'è anche un codice di appartamento!


L'ho visto. Ho rimosso il rilevamento tramite frecce. Tuttavia, ho bisogno della versione della macchina. Senza "mani".

Questo è fondamentalmente ciò di cui tratta l'intero thread :)

 
sergeev писал (а) >>

Visto. Ho rimosso la definizione di freccia. Serve ancora una versione per la macchina. Senza "mani".

Per questo in linea di principio l'intero ramo è dedicato :)

come variante di un punto è possibile cercare di trovare

1 convergenza di uno zigzag da più TF in un punto

+ apertura del ventilatore


e alimentare questi punti con l'ingresso

Cioè ricordare i punti più vicini e dimenticare quelli vecchi

Non so quale numero di campioni - probabilmente in modo sperimentale

dimensione della rete (numero di neuroni negli strati) probabilmente anche sperimentalmente