Domanda sulla programmazione delle reti neurali - pagina 5

 
E poi, una tale configurazione di rete è in grado di risolvere qualsiasi problema, compresa la "esclusione o" :)
 
Ok. Ma mi piacerebbe comunque sapere un po' di più sulla pratica: cosa alimentiamo all'ingresso, quale dimensione N deve essere impostata, ecc. A meno che, naturalmente, non sia un segreto :) Io sono un idiota in questo settore, ma sono pronto a partecipare.
 
rsi:
Ok. Ma mi piacerebbe comunque sapere un po' di più sulla pratica: cosa alimentiamo all'ingresso, quale dimensione N deve essere impostata, ecc. A meno che, naturalmente, non sia un segreto :) Sono un idiota in questo settore, ma sono pronto a partecipare.

Ho esposto l'indicatore qui sopra. L'angolo di pendenza della regressione lineare è alimentato all'ingresso. Prova a eseguirlo su Eura 1 ora
 
Grazie, andrò a dare un'occhiata :)
 
rsi:
Grazie, darò un'occhiata :)

Mi piacerebbe aggiungere un conto Z a questa cosa e sarebbe bello :)
 

Sì, è una cosa divertente. Grazie ancora, klot, ne ho avuto abbastanza per il fine settimana :)

 
Questo è un neuro di metaquotes, dai un'occhiata e vedi se ti aiuta. Prevede bene le inversioni, la direzione è tollerabile solo per brevi periodi di 2-5 bar.
 
AAAksakal, guardare cosa?
 
klot:


E in generale, qualsiasi NS può essere facilmente programmato direttamente in MQL4. Puoi anche selezionare i pesi dei NS usando il GA di MT4 o il tuo. Il pessimismo è definito solo dalla mancanza di immaginazione e fantasia. In pratica, non ci sono limiti...

Il pessimismo è definito dalle limitazioni del tester della strategia, cioè se la gamma di valori di input è grande o il numero di questi stessi valori supera il limite, l'ottimizzatore si rifiuta di iniziare. Quindi ci sono dei limiti, dopo tutto.

Oggi ho finalmente completato la costruzione di una rete neurale scritta interamente in MQL4 con architettura 3:3:1 (tre neuroni all'ingresso, tre ingressi nascosti, un'uscita). Tutti i livelli sono configurati utilizzando il tester GA. Ma il problema è che per 1 strato avete bisogno di almeno 12 parametri di input, almeno con valori da -1 a 1 in passi di 1 (come Rosenblatt). Ma l'ottimizzatore non può gestirne così tanti. Mi sono dovuto liberare e semplificare il primo strato.

In contrasto con la maglia di qualcun altro, quella autocostruita è migliore in quanto può essere aggiornata. Per esempio, oltre a rendere il primo strato non standard, ho aggiunto la normalizzazione dinamica dei dati di input.

I segnali agli ingressi sono abbastanza primitivi:

   static  int  p = 12;
   ...
   double       z1 = Close[0] - iMA(Symbol(), 0, p, 0, MODE_SMA, PRICE_OPEN, 0);
   double       z2 = Open[p] - iMA(Symbol(), 0, p, 0, MODE_SMA, PRICE_OPEN, p);
   double       z3 = Open[p * 2] - iMA(Symbol(), 0, p, 0, MODE_SMA, PRICE_OPEN, p * 2);

Nonostante la primitività di cui sopra, la griglia si dimostra molto addestrabile, cioè i pesi e le soglie sono facilmente scelti in modo che i risultati dei test si dimostrino senza un solo errore (nessun fattore di profitto). Ma dopo un tale montaggio, il test in avanti inizia immediatamente a precipitare sullo spread. Ho dovuto armeggiare con la strategia di trading, in modo da non permettere alla griglia di adattarsi.

Ne è valsa la pena, anche se mi ha fatto rivoltare il cervello:

Questi sono i risultati del test. Da 1 a 273 scambi - ottimizzazione, ulteriore test in avanti.

Ed ecco il test in avanti:

Ecco i risultati del test in avanti:

Rapporto del tester di strategia
RNN
Alpari-Demo (Build 409)

SimboloEURUSD (Euro contro Dollaro USA)
Periodo1 ora (H1) 2011.10.24 00:00 - 2012.01.13 23:59 (2011.10.24 - 2012.01.14)
ModelloIn base ai prezzi di apertura (solo per Expert Advisors con controllo esplicito dell'apertura delle barre)
Parametrit1=54; t2=4; t3=48; x1=194; x2=128; x3=68; y1=1; y2=1; y3=-1; t4=136; sl=900; lots=1; mn=888;

Bar nella storia2431Zecche modellate3862Qualità della simulazionen/a
Errori di mancata corrispondenza dei grafici0




Deposito iniziale10000.00



Utile netto14713.00Profitto totale40711.60Perdita totale-25998.60
Redditività1.57Payoff previsto88.10

Dispersione assoluta2721.60Massimo prelievo4800.00 (39.74%)Prelievo relativo39.74% (4800.00)

Totale scambi167Posizioni corte (% vittoria)101 (67.33%)Posizioni lunghe (% vittoria)66 (92.42%)

Operazioni redditizie (% di tutte)129 (77.25%)Operazioni in perdita (% di tutte)38 (22.75%)
Il più grandecommercio redditizio900.00perdere l'accordo-907.20
Mediaaffare redditizio315.59commercio perdente-684.17
Massimovittorie continue (profitto)13 (2557.00)Perdite continue (perdita)4 (-3605.40)
MassimoProfitto continuo (numero di vittorie)3511.60 (11)Perdita continua (numero di perdite)-3605.40 (4)
Mediavincite continue4Perdita continua1





La cosa più interessante è che anche dal grafico possiamo vedere che la sezione di ottimizzazione è peggiore di quella in avanti. Questo accade raramente. Anche se ho selezionato questo come il miglior attaccante tra molti altri, cioè altri attaccanti hanno risultati molto peggiori di quelli dell'ottimizzazione ma tuttavia hanno i migliori.

 
Reshetov:

Il pessimismo è determinato dai limiti del tester di strategia, cioè se gli intervalli di valori di input sono grandi o il numero di questi stessi valori supera il limite, l'ottimizzatore si rifiuta di partire. Quindi ci sono dei limiti, dopo tutto.

Oggi ho finalmente completato la costruzione di una rete neurale scritta interamente in MQL4 con architettura 3:3:1 (tre neuroni all'ingresso, tre ingressi nascosti, un'uscita). Tutti i livelli sono configurati utilizzando il tester GA. Ma il problema è che per 1 strato avete bisogno di almeno 12 parametri di input, almeno con valori da -1 a 1 in passi di 1 (come Rosenblatt). Ma l'ottimizzatore non può gestirne così tanti. Mi sono dovuto liberare e semplificare il primo strato.

In contrasto con la maglia di qualcun altro, quella autocostruita è migliore in quanto può essere aggiornata. Per esempio, oltre a rendere il primo strato non standard, ho aggiunto la normalizzazione dinamica dei dati di input.

I segnali agli ingressi sono abbastanza primitivi:

Nonostante la primitività di cui sopra, la griglia si dimostra molto allenabile, cioè i pesi e le soglie sono facilmente scelti in modo che i risultati dei test si dimostrino senza un solo errore (nessun fattore di profitto). Ma dopo un tale montaggio, il test in avanti inizia immediatamente a precipitare sullo spread. Ho dovuto armeggiare con la strategia di trading, in modo da non permettere alla griglia di adattarsi.

Ne è valsa la pena, anche se mi ha fatto rivoltare il cervello:



Ho fatto una normale griglia di 256 ingressi, uno strato nascosto per 256 neuroni. E uno strato di uscita di un neurone. E ho allenato tutto perfettamente in MT4

C'era un'opzione con tre livelli nascosti, ma non erano necessari