Saturday 12 August 2017

Forex Trading Di Rete Neurale


MetaTrader 4 - Esempi di utilizzo Reti Neurali in MetaTrader Introduzione Molti di voi probabilmente hanno considerato la possibilità di utilizzare reti neurali nel vostro EA. Questo argomento è stato molto caldo specialmente dopo il 2007 Automated Trading campionato e la spettacolare vincita da Better con il suo sistema basato su reti neurali. Molti forum di internet sono stati inondati con argomenti legati alle reti neurali e trading Forex. Purtroppo la scrittura implementazione MQL4 nativa di NN non è facile. Essa richiede alcune competenze di programmazione e il risultato non sarebbe molto efficace soprattutto se youd piace mettere alla prova il vostro risultato finale in tester sul gran numero di dati. In questo articolo Ill vi mostrerà come è possibile utilizzare la liberamente disponibili (sotto LGPL), rinomato veloce Artificial Neural Network Library (FANN) nel codice MQL4, evitando alcuni ostacoli e limitazioni. Ulteriori Presumo che il lettore abbia familiarità con reti neurali artificiali (Ann) e la terminologia relativi a questo soggetto concentrato così malato sugli aspetti pratici di utilizzo particolare implementazione di ann nel linguaggio MQL4. FANN caratteristiche per comprendere appieno le possibilità di attuazione FANN una necessità di familiarizzarsi con la sua documentazione e funzioni più comunemente utilizzate. L'utilizzo tipico di FANN è quello di creare una semplice rete feedforward, allenarsi con alcuni dati e corsa. La rete creata ed addestrato potrebbe poi essere salvati su file e restaurato in seguito per un ulteriore uso. Per creare un un ann necessario utilizzare fanncreatestandard function (). Vediamo la sintassi: Dove numlayers rappresenta il numero totale di strati compreso l'ingresso e l'uscita livello. Il lNnum e seguenti argomenti rappresenta il numero di neuroni in ogni strato che iniziano con il livello di input e termina con lo strato di output. Per creare una rete con uno strato nascosto con 5 neuroni, 10 ingressi e 1 uscita bisognerebbe chiamarla come segue: Una volta creato il ann l'operazione successiva sarebbe quella di allenarsi con alcuni dati di ingresso e di uscita. Il metodo di allenamento più semplice è la formazione incrementale che può essere raggiunto dalla seguente funzione: Questa funzione prende il puntatore a struct Fann restituito in precedenza da fanncreatestandard () ed entrambi vettore di input dei dati e dati in uscita vettore. I vettori di ingresso e di uscita sono di array di tipo fanntype. Questo tipo è in realtà un tipo double o float, a seconda del modo in cui il FANN viene compilato. In questa implementazione i vettori di ingresso e di uscita stanno per essere matrici di doppio. Una volta che l'ann è addestrato la funzione desiderata prossima potrebbe essere quella di eseguire quella rete. La funzione di esecuzione che è definita come segue: Questa funzione prende il puntatore a struct Fann rappresenta la rete precedentemente creata e un vettore di ingresso del tipo definito (doppio array). Il valore restituito è un array di uscita vettoriale. Questo fatto è importante in quanto per una rete scita abbiamo sempre otteniamo un array elemento con il valore di uscita piuttosto che il valore di uscita stessa. Purtroppo la maggior parte delle funzioni di Fann utilizzare un puntatore ad una struct Fann che rappresenta l'ann che non può essere gestita direttamente dal MQL4 che non supporta strutture come tipi di dati. Per evitare che la limitazione dobbiamo avvolgere che in qualche modo e si nascondono da MQL4. Il metodo più semplice è quello di creare un array di puntatori Fann struct che contiene i valori corretti e fare riferimento a loro con un indice rappresentato da una variabile int. In questo modo si può sostituire il tipo supportato di variabile supportata e creare una libreria involucro che può essere facilmente integrato con codice MQL4. Avvolgendo Fann in giro come al mio migliore MQL4 conoscenze non supporta le funzioni con la lista argomenti variabili quindi dobbiamo affrontare anche questo. D'altra parte, se la funzione C (lunghezza argomenti variabile) viene chiamato con un numero eccessivo di argomenti nulla di male accade in modo che possiamo assumere un numero massimo fisso di argomenti nella funzione MQL4 passato alla libreria C. La funzione wrapper risultante sarà simile segue: Abbiamo cambiato il principale Fann con F2M (che sta per FANN TO MQL), utilizzato il numero statico di argomenti (4 strati) e il valore di ritorno è ora un indice di array interno di RNA che detiene la struct i dati richiesti da Fann FANN di operare. In questo modo possiamo facilmente chiamare tale funzione all'interno del codice MQL. Lo stesso vale per: Ultimo, ma non meno importante è il fatto che si dovrebbe distruggere la vostra una volta creato ann dalla chiamata a: Per rilasciare ann gestisce si dovrebbe distruggere le reti in ordine inverso di quello che sono stati creati creati. In alternativa si può usare: Tuttavia Im abbastanza sicuro che alcuni di voi potrebbe preferire per salvare la loro rete addestrata per un uso successivo con: Naturalmente la rete salvata può poi essere caricato (o meglio ricreato) con: Una volta che sappiamo le funzioni di base che potremmo cercare di usare che nel nostro EA, ma prima abbiamo bisogno di installare il pacchetto Fann2MQL. Installazione Fann2MQL di facilitare l'uso di questo pacchetto ho creare il programma di installazione MSI che contiene tutto il codice sorgente più librerie precompilate e file di intestazione Fann2MQL. mqh che dichiari tutte le funzioni Fann2MQL. La procedura di installazione è abbastanza semplice. In primo luogo si informa che Fann2MQL è sotto licenza GPL: l'installazione di Fann2MQL, punto 1 poi scegliere la cartella per installare il pacchetto. È possibile utilizzare l'impostazione predefinita Programma FilesFann2MQL o installare direttamente nella directory META Traderexperts. Più tardi inserirà tutti i file direttamente nei loro luoghi altrimenti youll essere necessario copiare manualmente. Installazione di Fann2MQL, punto 2 Il programma di installazione mette i file in cartelle seguenti: Se si è scelto di installare nella cartella Fann2MQL dedicato, copiate il contenuto del suo comprendere e biblioteche sottocartelle nella vostra directory appropriata Meta Trader. Il programma di installazione installa anche la libreria FANN nella cartella librerie di sistema (Windowssystem32 nella maggior parte dei casi). La cartella src contiene tutto il codice sorgente di Fann2MQL. È possibile leggere il codice sorgente che è una documentazione definitiva se avete bisogno di ulteriori informazioni riguardo la struttura interna. È inoltre possibile migliorare il codice e aggiungere funzionalità aggiuntive, se volete. Vi incoraggio a mandarmi le patch se si sceglie di implementare qualcosa di interessante. L'utilizzo di reti neurali nel vostro EA Una volta installato il Fann2MQL si può iniziare a scrivere il proprio EA o indicatore. C'è abbondanza di possibile utilizzo di NN. È possibile utilizzarli per prevedere i movimenti futuri dei prezzi, ma la qualità di tali previsioni e possibilità di prendere reale vantaggio di esso è dubbia. Si può provare a scrivere la propria strategia utilizzando tecniche di Reinforcement Learning, dire una Q-Learning o qualcosa di simile. Si può provare ad usare NN come filtro segnale per il tuo EA euristico o combinare tutte queste tecniche più qualunque realmente si desidera. Youre limitato da solo la tua immaginazione. Qui vi mostrerò un esempio di utilizzo NN come un semplice filtro per i segnali generati da MACD. Si prega di non considerare EA come valore, ma come un esempio di applicazione di Fann2MQL. Durante la spiegazione del modo in cui l'esempio EA: NeuroMACD. mq4 funziona Ill mostra come il Fann2MQL può essere utilizzata efficacemente in MQL. La prima cosa per ogni EA è la dichiarazione di variabili globali, definisce e comprende la sezione. Ecco l'inizio di NeuroMACD contenente queste cose: il comando includere dice per caricare il file di intestazione Fann2MQL. mqh contenente la dichiarazione di tutte le funzioni Fann2MQL. Dopo che tutte le funzioni del pacchetto Fann2MQL sono disponibili per l'uso nello script. La costante ANNPATH definisce il percorso per memorizzare e caricare i file con le reti Fann addestrati. È necessario creare la cartella C vale a dire: ANN. La costante NAME contiene il nome di questo EA, che viene utilizzato in seguito per caricare file e di rete risparmio. I parametri di input sono piuttosto evidenti e quelli che arent sarà spiegato in seguito, così come variabili globali. Il punto di ingresso di ogni EA è la sua funzione init (): Prima verifica se l'EA è applicato per correggere periodo di tempo. AnnInputs variabile contiene il numero di ingressi di reti neurali. Come pure usare 3 serie di diversi argomenti che vogliamo che sia divisibile per 3. AnnPath viene calcolata per riflettere il nome EA e MagicNumber. che viene calcolato dalla SlowMA. argomenti di input FastMA e SignalMA che vengono poi utilizzati per MACD indicatore di segnalazione. Una volta che si conosce il AnnPath la EA tenta di caricare le reti neurali che utilizzano la funzione annload (), che Ill descrivono di seguito. Metà delle reti caricati è pensato per il lungo filtraggio posizione e l'altra metà è destinata bicchierini. variabile AnnsLoaded è utilizzato per indicare il fatto che tutte le reti sono stati inizializzati correttamente. Come probabilmente avete notato questo esempio EA sta cercando di caricare più reti. Dubito che la sua veramente necessaria in questa applicazione ma ho voluto mostrare tutto il potenziale della Fann2MQL, che sta gestendo più reti allo stesso tempo e in grado di elaborare in parallelo sfruttando di più core o CPU. Per rendere possibile Fann2MQL sta approfittando di tecnologia Intel Threading Building Blocks. La f2Mparallelinit function () viene utilizzato per inizializzare tale interfaccia. Qui è il modo che ho usato per inizializzare reti: Come si può vedere se la f2Mcreatefromfile () fallisce, che viene indicato dal valore di ritorno negativo, viene creata la rete con f2Mcreatestandard () con argomenti che indicano che la rete creata dovrebbe avere 4 strati (compreso ingresso e uscita), gli ingressi AnnInput, i neuroni AnnInput in primo strato nascosto, i neuroni AnnInput21 in 2 ° strato nascosto e 1 neurone nello strato di output. f2Msetactfunctionhidden () viene utilizzato per impostare la funzione di attivazione di strati nascosti di SIGMOIDSYMMETRICSTEPWISE (fare riferimento alla documentazione di FANN fannactivationfuncenum) e lo stesso vale per il livello di output. Poi c'è la chiamata a f2mrandomizeweights (), che viene utilizzato per inizializzare pesi delle connessioni neuronali all'interno della rete. Qui ho usato la gamma di LT-0,4 0.4gt ma è possibile utilizzare qualsiasi altra seconda dell'applicazione in uso. A questo punto, probabilmente avete notato la funzione di debug () ho usato un paio di volte. E 'uno dei metodi più semplici per modificare il livello di dettaglio del vostro EA. Insieme con esso e il parametro di ingresso DebugLevel si può sintonizzare il modo che il codice sta producendo l'output di debug. Se il primo argomento della funzione debug (), il livello di debug è superiore DebugLevel la funzione non produce alcun output. Se la sua minore di parità della stringa di testo viene stampato. Se il livello di debug è 0 il ERRORE stringa: viene aggiunto alla iniziare. In questo modo è possibile dividere il debug prodotta dal codice a più livelli. I più importanti sono probabilmente gli errori in modo che siano assegnati al livello 0. Saranno stampate a meno che non si abbassa la DebugLevel al di sotto di 0 (che non è consigliato). Al livello 1 alcune informazioni importanti verrà stampato, come la conferma del successo di carico o di creazione di reti. Al livello 2 o superiore l'importanza delle informazioni stampate sta gradualmente diminuendo. Prima che la spiegazione dettagliata della funzione start (), che è abbastanza lungo, ho bisogno di visualizzare alcune più funzioni destinate a preparare l'ingresso della rete e la gestione delle reti attuali: La funzione annprepareinput () viene utilizzata per preparare il nome dell'ingresso per le reti (da cui il nome). Lo scopo di esso è abbastanza semplice, ma questo è il punto devo ricordare che i dati di ingresso deve essere adeguatamente normalizzato. Non c'è normalizzazione sofisticato in questo caso, ho semplicemente usato il MACD principale e valori dei segnali che non vengono mai supera l'intervallo desiderato sui dati contabilizzati. Nell'esempio vero che probabilmente dovrebbe prestare maggiore attenzione a questo problema. Come probabilmente potrebbe sospettare di scegliere gli argomenti di input corretto per l'ingresso di rete, codifica di esso, in decomposizione e la normalizzazione è uno dei fattori più importanti nella trasformazione della rete neurale. Come ho detto prima il Fann2MQL ha la capacità estendere la normale funzionalità di MetaTrader, cioè parallelamente l'elaborazione multithread delle reti neurali. I controlli paralleli argomento globale questo comportamento. I runanns () funzione gestisce tutte le reti inizializzate e ottiene le uscite di loro e negozi in ordine AnnOutput. Funzione annsrunparallel è responsabile per la gestione del lavoro nel modo multithread. Si chiama il f2mrunparallel (), che prende come primo argomento il numero di reti al processo, il secondo argomento è un array contenente le maniglie a tutte le reti che si desidera eseguire fornire al vettore di ingresso come terzo argomento. Tutte le reti deve essere eseguito sugli stessi dati di input. Ottenere l'uscita dalla rete avviene più chiamate a f2mgetoutput (). Ora vediamo la funzione start (): Ill descrivere brevemente come è molto ben commentato. Il tradeallowed () controlla se è consentito il commercio. In sostanza si controlla la variabile AnnsLoaded indicare che tutti i RNA erano correttamente inizializzata, quindi i controlli per il periodo cornice saldo del conto minimo adeguato tempo e alla fine molto permette di operare solo sulla prima tick di un nuovo bar. Avanti due funzioni che vengono utilizzati per la preparazione di ingresso di rete ed eseguire l'elaborazione di rete sono stati descritti solo poche righe sopra. Successivo calcoliamo e mettere in variabili per la successiva elaborazione dei valori MACD del segnale e la linea principale per l'ultima barra accumulo e quello precedente. La barra corrente è omesso in quanto non è costruire ancora e probabilmente sarà redrawed. Il SellSignal e BuySignal sono calcolati di conseguenza per il segnale MACD e la linea principale di crossover. Entrambi i segnali vengono utilizzati per il trattamento a lungo e breve posizione che sono simmetriche in modo Ill descrivere solo il caso per anela. La variabile LongTicket contiene il numero del biglietto della posizione attualmente aperta. Se la sua uguale a -1 nessuna posizione viene aperta, quindi se il BuySignal è impostato che potrebbero indicare una buona occasione per aprire posizioni long. Se la NeuroFilter variabile non è impostata la posizione lunga è aperta e che è il caso senza la neurali filtraggio della rete di segnali - l'ordine viene inviato a comprare. A questo punto la variabile LongInput intende ricordare la InputVector preparato da annprepareinput () per un uso successivo. Se variabile LongTicekt contiene il numero biglietto valido l'EA controlla se è ancora aperta o è stato chiuso dal StopLoss o TakeProfit. Se l'ordine non viene chiuso non succede nulla, se l'ordine viene chiuso il vettore trainoutput, che ha un solo otput, è calcolato per contenere il valore di -1 se l'ordine è stato chiuso con la perdita o 1 se l'ordine è stato chiuso con un utile . Tale valore viene quindi passata a anntrain function () e tutte le reti responsabili per la gestione della posizione lunga sono allenato con esso. Come vettore di ingresso del LongInput variabile è utilizzata, che esercita la InputVector al momento dell'apertura della posizione. In questo modo la rete viene insegnato che il segnale è portando i profitti e quale non lo è. Una volta che si dispone di una rete addestrata commutazione della NeuroFilter true trasforma il filtraggio di rete. Il annwiselong () utilizza la rete neurale saggio calcolato come media dei valori restituiti da tutte le reti destinate a gestire la posizione lunga. Il parametro Delta è usato come un valore di soglia indica che il segnale filtrato è valido o no. Come molti altri valori è stato ottenuto attraverso il processo di ottimizzazione. Ora, una volta che sappiamo come funziona Ill mostra come può essere usato. La coppia di prova è naturalmente EURUSD. Ho usato i dati da Alpari. convertito M5 lasso di tempo. Ho usato il periodo dal 2007/12/31 al 2009.01.01 per trainingoptimizing e 2009.01.01-2009.03.22 a scopo di test. Nel primo run ho cercato di ottenere i valori più redditizi per StopLoss, TakeProfit, SlowMA, FastMA e l'argomento SignalMA, che ho poi codificato nel file di NeuroMACD. mq4. Il NeuroFIlter è stato spento così come SaveAnn. il AnnsNumber è stato impostato su 0 per evitare l'elaborazione neurale. Ho usato l'algoritmo genetico per processo di ottimizzazione. Una volta che sono stati ottenuti i valori del rapporto risultante sembrava come segue: Rapporto sui dati di allenamento dopo l'ottimizzazione dei parametri di base. Come potete vedere ho eseguito questo EA sul conto mini con la dimensione del lotto di 0,01 e l'equilibrio iniziale di 200. Tuttavia ci si può sintonizzare questi parametri di conseguenza per le impostazioni dell'account o preferenze. A questo punto abbiamo abbastanza fruttuosi scambi commerciali e di perdere così abbiamo potuto accendere il SaveAnn e impostare il AnnsNumber a 30. Una volta fatto così corro il tester, ancora una volta. Il risultato è stato esattamente lo stesso con l'eccezione del fatto che il processo è molto più lento (come risultato di processi neurali) e la cartella C: ANN è popolato con le reti addestrate come illustrato nell'immagine sottostante. Assicurarsi che la cartella C: ANN esisteva prima di questo percorso nella cartella C: ANN. Una volta che abbiamo addestrato le reti il ​​suo tempo per verificare come si comporta. In primo luogo bene provarlo su dati di addestramento. Modificare il NeuroFilter true e false SaveAnn e avviare il tester. Il risultato che ho ottenuto è mostrato sotto. Si noti che potrebbe variare leggermente per voi caso, come vi è una certa casualità all'interno di reti a pesi delle connessioni neuronali fornito al processo di inizializzazione di rete (in questo esempio ho usato chiamata esplicita a f2Mrandomizeweights () all'interno annload ()). Risultato ottenuta su dati di addestramento con filtraggio del segnale neurale acceso. L'utile netto è di poco superiore (20.03 contro 16.92), ma il fattore di profitto è molto più alto (1.25 contro 1.1). Il numero di transazioni è molto meno (83 vs 1188) e la media numero di sconfitte consecutive si abbassa da 7 a 2. Tuttavia mostra solo che filtraggio del segnale neurale sta lavorando, ma non dice nulla su come si opera su dati che non sono stati utilizzati per durante la formazione. Il risultato che ho ottenere dal periodo di prova (2009.01.01 - 2009.30.28) è la seguente: risultato ottenuto dai dati di test con filtraggio neurale attivato. Il numero di transazioni eseguite è piuttosto basso e la sua difficile capire la qualità di questa strategia, ma non avevo intenzione di mostrare come scrivere il miglior EA redditizio, ma per spiegare come è possibile utilizzare le reti neurali nel codice MQL4. L'effetto reale di utilizzo di reti neurali in questo caso può essere visto solo se confrontato i risultati della EA sui dati di test con NeuroFilter attivata e disattivata. Di seguito è riportato il risultato ottenuto dal periodo dei dati di test senza filtraggio del segnale neurale: I risultati di dati di test senza filtro neurale. La differenza è abbastanza evidente. Come si può vedere il filtraggio del segnale neurale trasformato la perdita di EA in un proficuo Una conclusione spero che avete imparato da questo articolo come utilizzare le reti neurali in MetaTrader. Con l'aiuto del pacchetto semplice, gratuito e opensource Fann2MQL è possibile aggiungere facilmente lo strato di rete neurale in qualsiasi Expert Advisor o iniziare a scrivere il proprio uno che è completamente o parzialmente basati su reti neurali. La capacità multithreading unico può accelerare la vostra elaborazione di molte volte, a seconda del numero dei vostri core della CPU, specialmente quando l'ottimizzazione di determinati parametri. In un caso è accorciato ottimizzazione della mia trasformazione EA basato Reinforcement Learning da circa 4 giorni per solo 28 ore con una CPU Intel 4 conduttori. Durante la stesura di questo articolo ho deciso di mettere Fann2MQL sul proprio sito web: fann2mql. wordpress. Vi si possono trovare l'ultima versione di Fann2MQL e, eventualmente, tutte le versioni future, così come la documentazione di tutte le funzioni. Prometto di mantenere questo software sotto licenza GPL per tutte le versioni, quindi se mi mandi eventuali commenti, richieste di funzioni o patch che troverò interessante essere sicuri di trovare la prossima release. Si prega di notare che questo articolo mostra solo l'uso di base di Fann2MQL. Dato che questo pacchetto non è molto più di FANN è possibile utilizzare tutti gli strumenti progettati per la gestione di reti di Fann, come: e c'è molto di più sulla FANN sulla homepage veloce Artificial Neural Network Library: leenissen. dkfann Post Scriptum Dopo aver scritto questo articolo che ho trovato un errore di insignificante NeuroMACD. mq4. La funzione OrderClose () per la posizione corta è stato alimentato con il numero del biglietto posizione lunga. Il risultato è stato una strategia obliqua che era più probabile per tenere corti e stretti anela: Nella versione corretta dello script che ho fissato questo errore e rimosso la strategia OrderClose () a tutti. Questo non ha cambiato il quadro generale dell'influenza di filtraggio neurale sul EA ancora la forma della curva equilibrio è stato molto diverso. Si possono trovare entrambe le versioni di questo EA allegato al presente article. Neural Reti: Utili Previsione Le reti neurali sono state-of-the-art, algoritmi trainable che emulano alcuni aspetti importanti nel funzionamento del cervello umano. Questo dà loro un unico, capacità di auto-formazione, la capacità di formalizzare informazioni non classificate e, soprattutto, la capacità di fare previsioni sulla base delle informazioni storiche che hanno a loro disposizione. Le reti neurali sono sempre più utilizzati in una varietà di applicazioni, tra previsione e commercializzazione soluzioni di ricerca. In alcune zone, come il rilevamento di frodi o di valutazione del rischio. essi sono i leader indiscussi. I principali campi in cui le reti neurali hanno trovato applicazione sono operazioni finanziarie, pianificazione aziendale, commerciali, business analytics e di manutenzione del prodotto. Le reti neurali possono essere applicati retribuito da tutti i tipi di commercianti, quindi se sei un commerciante e si havent ancora stati introdotti per le reti neurali, bene si prende attraverso questo metodo di analisi tecnica e di mostrare come applicare al vostro stile di trading. Comuni Delusions La maggior parte delle persone non hanno mai sentito parlare di reti neurali e, se arent commercianti, essi non probabilmente bisogno di sapere che cosa sono. Che cosa è veramente sorprendente, tuttavia, è il fatto che un enorme numero di coloro che potrebbero beneficiare pienamente dalla tecnologia di reti neurali non hanno mai nemmeno sentito parlare, dare per un'idea scientifica alto o pensare ad essa come di una trovata di marketing chiazza di petrolio. Ci sono anche quelli che riporre tutte le loro speranze su reti neurali, lionizing le reti dopo qualche esperienza positiva con loro e loro per quanto riguarda come soluzione d'argento-proiettile a qualsiasi tipo di problema. Tuttavia, come ogni strategia di trading. le reti neurali sono quick-fix che vi permetterà di diventare ricco facendo clic su un pulsante o due. Infatti, la corretta comprensione delle reti neurali e il loro scopo è vitale per la loro applicazione di successo. Per quanto riguarda il commercio è interessato, le reti neurali sono un nuovo, unico metodo di analisi tecnica, destinato a coloro che adottano un approccio di pensiero per il loro business e sono disposti a contribuire po 'di tempo e lo sforzo per rendere questo metodo di lavoro per loro. Meglio di tutti, se applicato correttamente, le reti neurali possono portare un profitto su base regolare. Utilizzare Reti Neurali per scoprire le opportunità Un grande malinteso è che molti commercianti scambiano reti neurali per uno strumento di previsione in grado di offrire consigli su come agire in una particolare situazione di mercato. Le reti neurali non fanno alcuna previsione. Invece, essi analizzano i dati sui prezzi e le opportunità Uncover. Utilizzando una rete neurale, si può prendere una decisione commerciale sulla base accuratamente analizzato i dati, che non è necessariamente il caso quando si utilizzano i metodi tradizionali di analisi tecnica. Per un serio, pensando commerciante, le reti neurali sono uno strumento di nuova generazione con un grande potenziale in grado di rilevare le interdipendenze e modelli che altri metodi di analisi tecnica sono in grado di scoprire le sottili non lineari. I migliori Nets Proprio come qualsiasi tipo di grande prodotto o della tecnologia, le reti neurali hanno iniziato ad attrarre tutti coloro che sono alla ricerca di un mercato in erba. Torrenti di annunci su un software di nuova generazione hanno invaso il mercato - annunci che celebrano il più potente di tutti gli algoritmi di reti neurali mai creato. Anche in quei rari casi in cui affermazioni pubblicitarie ricordano la verità, di tenere presente che un aumento del 10 in efficienza è probabilmente il più si potrà mai ottenere da una rete neurale. In altre parole, non produce ritorni miracolosi e senza riguardo a come funziona in una situazione particolare, ci saranno alcune serie di dati e classi di attività per i quali gli algoritmi utilizzati in precedenza rimangono superiori. Ricorda questo: la sua non è l'algoritmo che fa il trucco. informazioni di input ben preparato da l'indicatore di mira è la componente più importante del vostro successo con le reti neurali. È più veloce convergenza Meglio Molti di coloro che già utilizzano le reti neurali credono erroneamente che il più veloce la loro rete fornisce i risultati, meglio è. Questo, tuttavia, è un delirio. Una buona rete non è determinata dalla velocità con cui si produce risultati e gli utenti devono imparare a trovare il miglior equilibrio tra la velocità alla quale i treni di rete e la qualità dei risultati che produce. Corretta applicazione delle Reti Neurali Molti commercianti si applicano le reti neurali in modo non corretto, perché pongono troppa fiducia nel software che usano il tutto senza essere stati forniti con le istruzioni adeguate su come usarlo correttamente. Per utilizzare una rete neurale nel modo giusto e, quindi, esercitano un'attività, un commerciante dovrebbe prestare attenzione a tutte le fasi del ciclo di preparazione della rete. E 'il commerciante e non la sua rete che è responsabile di inventare un'idea, formalizzare questa idea, testare e migliorare, e, infine, la scelta del momento giusto per disporne quando il suo non è più utile. Consideriamo le tappe di questo processo cruciale in dettaglio: 1. Ricerca e formalizzare una idea Trading Un trader dovrebbe comprendere appieno che la sua rete neurale non è destinato ad inventare vincenti idee di trading e concetti. Esso è destinato per fornire le informazioni più affidabili e precise possibile in quanto sia efficace la vostra idea di negoziazione o concetto è. Pertanto, si dovrebbe venire con un'idea commerciale originale e definire chiaramente lo scopo di questa idea e cosa vi aspettate di ottenere impiegando esso. Questa è la fase più importante del ciclo di preparazione della rete. (Per la lettura correlate, vedere lezioni da un Traders Diario.) 2. Migliorare i parametri del vostro prossimo modello, si dovrebbe cercare di migliorare la qualità complessiva del modello modificando il set di dati utilizzati e la regolazione del diverso i parametri. Figura 1: Specificare l'algoritmo di ottimizzazione e le sue proprietà 3. Smaltimento del Modello quando diventa obsoleto Ogni modello basato neurale rete ha una durata di vita e non può essere utilizzato a tempo indeterminato. La longevità di un arco di modelli di vita dipende dalla situazione del mercato e da quanto tempo le interdipendenze mercato riflessa in esso rimangono d'attualità. Tuttavia, prima o poi qualsiasi modello diventa obsoleto. Quando questo accade, è possibile riqualificare il modello utilizzando completamente nuovi dati (cioè sostituire tutti i dati che è stato utilizzato), aggiungere alcuni nuovi dati per il set di dati esistenti e formare di nuovo il modello, o semplicemente andare in pensione il modello del tutto. Molti commercianti fanno l'errore di seguire il percorso più semplice - si basano pesantemente sul e utilizzare l'approccio per cui il loro software fornisce il più user-friendly e funzionalità automatizzate. Questo approccio più semplice sta prevedendo un prezzo alcuni bar avanti e basando il sistema di trading su questa previsione. Altri commercianti prevedono variazione di prezzo o la percentuale della variazione di prezzo. Questo approccio dà raramente risultati migliori rispetto previsione direttamente il prezzo. Entrambi gli approcci semplicistici riescono a scoprire e gainfully sfruttano la maggior parte delle importanti interdipendenze a lungo termine e, di conseguenza, il modello diventa rapidamente obsolete globale cambiamento forze motrici. L'approccio più ottimale complesso a Utilizzo reti neurali Un trader di successo si concentrerà e trascorrere un po 'di tempo selezionando gli elementi di input che governano per la sua rete neurale e regolando i loro parametri. Lui o lei passerà da (almeno) alcune settimane - e, a volte fino a diversi mesi - la distribuzione della rete. Un trader di successo sarà anche regolare la propria rete alle mutevoli condizioni per tutta la sua durata di vita. Poiché ogni rete neurale può coprire solo una parte relativamente piccola aspetto del mercato, reti neurali dovrebbero essere utilizzati anche in una commissione. Utilizzare il maggior numero di reti neurali a seconda dei casi - la capacità di impiegare diversi in una sola volta è un altro vantaggio di questa strategia. In questo modo, ognuno di questi molteplici reti possono essere responsabili di qualche aspetto specifico del mercato, dando un vantaggio importante su tutta la linea. Tuttavia, si consiglia di mantenere il numero delle reti che si utilizzano all'interno della gamma di cinque a 10. Infine, le reti neurali dovrebbero essere combinati con uno degli approcci classici. Questo vi permetterà di sfruttare meglio i risultati ottenuti in base alle vostre preferenze di trading. Conclusione Vivrete vero successo con le reti neurali solo quando si smette di cercare la migliore rete. Dopo tutto, la chiave del vostro successo con le reti neurali non sta nella rete stessa, ma nella vostra strategia di trading. Pertanto, per trovare una strategia proficua che funziona per voi, è necessario sviluppare una forte idea su come creare un comitato di reti neurali e li usa in combinazione con filtri classici e le regole di gestione del denaro. Per la lettura correlata, controlla Neural Trading: Chiavi biologico per profitto e il Trading Systems Coding Tutorial.

No comments:

Post a Comment