Guarda come scaricare robot di trading gratuitamente
Ci trovi su Telegram!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Visualizzazioni:
16
Valutazioni:
(47)
Pubblicato:
\MQL5\Scripts\MLP\
Freelance MQL5 Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance

La classe CNetMLP implementa un perseptron multistrato (MLP).

La particolarità di questa classe è che i concetti di vettore di input e di struttura della rete sono separati, cioè la descrizione del vettore di input e della struttura della rete non sono correlate tra loro.

La dimensione del vettore di input può essere qualsiasi, entro limiti ragionevoli. I dati di input devono essere normalizzati, cioè essere compresi tra -1 ... 1 o 0 ... 1. A seconda dei dati utilizzati, alla rete vengono applicate funzioni di attivazione diverse: per un intervallo di dati di -1...1 deve essere utilizzata una tangente iperbolica, per un intervallo di dati di 0...1 deve essere utilizzata una sigmoide.

La rete ha una struttura a strati con trasmissione diretta del segnale. La struttura della rete è descritta da un array monodimensionale, dove il valore dell'elemento dell'array determina il numero di neuroni nello strato corrispondente. Il numero di strati e di neuroni non è limitato. La rete può essere costituita da un singolo neurone.

Ogni neurone ha più ingressi, determinati dalla sua posizione nella rete, e un'uscita. Se la rete deve produrre N risposte, l'ultimo strato deve contenere N neuroni. L'algoritmo di addestramento è iRprop. I dati di addestramento in ingresso e in uscita sono disposti in array monodimensionali, vettore per vettore. Il processo di apprendimento è limitato dal numero di epoche di addestramento o dalla tolleranza di errore.

La creazione della rete è dichiarata da un costruttore parametrico della classe.

CNetMLP  *net=new CNetMLP(количество слоев, массив структуры сети, размер входного вектора,                           тип активационной функции: 0 - сигмоид, 1 - гиперболический тангенс).

La rete viene addestrata richiamando il metodo Learn (numero di pattern di addestramento, array di dati di ingresso, array di dati di uscita, numero di cicli di addestramento, errore di addestramento consentito). Il risultato dell'addestramento può essere controllato tramite le variabili della classe: mse - errore di addestramento ed epoch - numero di cicli di addestramento completati.

Il metodo Calculate (array di vettori di input, array di risposte della rete) viene utilizzato per ottenere la risposta della rete.

I metodi Save (handle di un file aperto con i flag FILE_WRITE e FILE_BIN) e Load (handle di un file aperto con i flag FILE_READ e FILE_BIN) servono rispettivamente a salvare la rete su un file e a caricarla da un file. Nel file vengono salvati solo il valore dell'errore di addestramento e l'array dei pesi. La corrispondenza tra la rete creata e quella caricata deve essere controllata prima di utilizzare il metodo Load (handle).

L'applicazione di questa classe si trova nell'esempio allegato. Si intende che i file della classe e dell'esempio si trovano nella stessa cartella.

Attenzione.

Il codice della classe è stato aggiornato il 31.08.2012. È stato corretto l'errore di calcolo della funzione nel metodo Learn(...). Grazie a her.human!


Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/596

Guida Guida

Un indicatore di due medie mobili (Lead e la sua media EMA) su un grafico tratto dal libro di John Ehlers "Cybernetic Analysis for Stocks and Futures: Cutting-Edge DSP Technology to Improve Your Trading".

Filtro Laguerre Filtro Laguerre

Due indicatori di medie mobili tratti dal libro "Cybernetic Analysis for Stocks and Futures: Cutting-Edge DSP Technology to Improve Your Trading" di John Ehlers.

Manual Scalping With Keyboard Manual Scalping With Keyboard

Uno strumento leggero per lo scalping manuale in MT5 utilizzando le scorciatoie da tastiera

AdaptiveTrader Pro EA AdaptiveTrader Pro EA

Questo Expert Advisor (EA) per MetaTrader sfrutta una combinazione di indicatori tecnici, tra cui RSI, ATR e medie mobili, per identificare opportunità di trading ad alta probabilità. Dotato di dimensionamento dinamico dei lotti, trailing stop e aggiustamenti basati sulla performance, è stato progettato per ottimizzare le decisioni di trading e gestire efficacemente il rischio in condizioni di mercato volatili.