Ho aggiornato l'articolo con 2 file demo. Uno per MQL5 e uno per MQL4. Il DeepNeuralNetwork.mqh può essere usato per entrambi, mql5 e mql4.
In ogni caso, sto allegando questo file qui per mostrare come usarlo.
Fatemi sapere se avete altre domande.
Davvero un bell'articolo, ho provato la demo e ho notato che solo yValues[1] può dare valori superiori a .5, yValues[0] e yValues[2] sono valori massimi di .2 o .3. anche nell'ottimizzazione non si apre più di un trade, cioè un ordine di vendita.
Grazie per i codici che hai condiviso. Ho cercato di capire il tuo modo di fare.
Ho qualche esitazione in quanto su yValues[0] , yValues[1], yValues[2] in quanto NON stanno cambiando e sempre 0,33333 ma_xValori[1,2,3] cambiano con la nuova barra; quindi se il commercio basato suyValori non ho visto alcun commercio mentre il commercio avviene quando le condizioni basate su _xValori.
E' colpa mia o semplicemente un errore di codifica nel tuo codice originale?
Aggiorna la seguente funzione per restituire `bool` invece di `void` e vedrai che c'era un cattivo numero di pesi dati.
Una rete neurale a due strati è una rete neurale "superficiale", non una rete neurale profonda. Le reti neurali profonde comprendono reti con più di tre strati nascosti. A causa delle peculiarità dell'addestramento di tali reti neurali, sono stati sviluppati metodi di apprendimento profondo.
L'articolo come esempio di programmazione su MCL è probabilmente utile. Per familiarizzare con l'argomento MLP è sicuramente necessario. Come esempio di applicazione delle reti neurali - non completo e molto indietro rispetto allo stato attuale dell'argomento.
Di norma, senza l'ottimizzazione degli iperparametri, la rete neurale non fornisce una qualità soddisfacente.
Non capisco perché costruire una bicicletta con mezzi improvvisati, se c'è un mare di programmi pronti su questo argomento?
Correzione. Nell'articolo c'è una definizione di rete profonda. Non l'ho vista.
Il processo di ottimizzazione dei pesi di una rete neurale utilizzando la genetica non è letteralmente "apprendimento". Si tratta di ottimizzazione, dopotutto. L'addestramento utilizza metodi completamente diversi. Anche se questa variante dell'uso delle reti neurali viene praticata e con discreto successo.
Per comprendere il funzionamento di una rete neurale, è importante capire come viene addestrata una rete neurale mediante la propagazione all'indietro dell'errore. Beh, mi sto già prendendo gioco di voi :)
Ringrazio l'autore per l'articolo. Come persona lontana dalle reti neurali, mi ha aiutato molto a entrare nell'essenza delle cose ed è stato molto interessante dal punto di vista dell'ulteriore familiarizzazione con l'argomento. Grazie ancora!
Ciao Li,
Ho aggiornato l'articolo con 2 file demo. Uno per MQL5 e uno per MQL4. Il DeepNeuralNetwork.mqh può essere usato per entrambi, mql5 e mql4.
In ogni caso, sto allegando questo file qui per mostrare come usarlo.
Fatemi sapere se avete altre domande.
Grazie per i codici che hai condiviso. Ho cercato di capire il tuo modo di fare.
Ho qualche esitazione in quanto su yValues[0] , yValues[1], yValues[2] in quanto NON stanno cambiando e sempre 0,33333 ma_xValori[1,2,3] cambiano con la nuova barra; quindi se il commercio basato suyValori non ho visto alcun commercio mentre il commercio avviene quando le condizioni basate su _xValori.
E' colpa mia o semplicemente un errore di codifica nel tuo codice originale?
Aggiorna la seguente funzione per restituire `bool` invece di `void` e vedrai che c'era un cattivo numero di pesi dati.
Nota che devi anche aggiornare i pesi in cima al file (non è sufficiente aggiornarli solo quando inizializzi la rete :P
molte grazie
Bella animazione.
Una rete neurale a due strati è una rete neurale "superficiale", non una rete neurale profonda. Le reti neurali profonde comprendono reti con più di tre strati nascosti. A causa delle peculiarità dell'addestramento di tali reti neurali, sono stati sviluppati metodi di apprendimento profondo.
L'articolo come esempio di programmazione su MCL è probabilmente utile. Per familiarizzare con l'argomento MLP è sicuramente necessario. Come esempio di applicazione delle reti neurali - non completo e molto indietro rispetto allo stato attuale dell'argomento.
Di norma, senza l'ottimizzazione degli iperparametri, la rete neurale non fornisce una qualità soddisfacente.
Non capisco perché costruire una bicicletta con mezzi improvvisati, se c'è un mare di programmi pronti su questo argomento?
Correzione. Nell'articolo c'è una definizione di rete profonda. Non l'ho vista.
Il processo di ottimizzazione dei pesi di una rete neurale utilizzando la genetica non è letteralmente "apprendimento". Si tratta di ottimizzazione, dopotutto. L'addestramento utilizza metodi completamente diversi. Anche se questa variante dell'uso delle reti neurali viene praticata e con discreto successo.
Per comprendere il funzionamento di una rete neurale, è importante capire come viene addestrata una rete neurale mediante la propagazione all'indietro dell'errore. Beh, mi sto già prendendo gioco di voi :)
Buona fortuna
C'è un modo per incorporare la propagazione degli errori in questa rete?
Per qualche motivo si ritiene che una rete di questo tipo sarebbe più flessibile e fornirebbe input migliori - outputs....
Una rete con retropropagazione degli errori non è una rete completamente diversa, vero?