ottimizzazione Cabina avanti in MetaTrader 4 Molti operatori esperti utilizzano l'ottimizzazione passi in avanti per i loro sistemi di trading algoritmico. Purtroppo MetaTrader 4 non fornisce alcun mezzo per eseguire l'ottimizzazione walk-forward di consulenti esperti (EA). Questo è il motivo per cui ho deciso di implementare Cabina Forward Optimizer libreria (WFO) e io sono pronto ad annunciare qui nel blog - questo è l'unico posto in MQL5 (escluso il mercato stesso), ove esistenti e futuri prodotti di mercato possono essere presentati e discusso senza un utente di essere bandito. Non posso dirvi quando la biblioteca sarà a disposizione del pubblico perché dipende da molti fattori esterni, come in attesa in coda per pre-release di check-up, il check-up se stessa e così via. Im nemmeno sicuro che la libreria sarà distribuito attraverso il mercato, perché la sua non è chiaro se viola le regole mercati o no (Im cercando di chiarire la questione con il supporto di MQ, ma senza alcun risultato finora). Ma se siete interessati nella biblioteca, mi mandi due righe, e Ill segnalare al momento della sua disponibilità. Come il suo una biblioteca, la funzione WF sarà adatto solo per coloro che hanno i codici sorgente dei propri esperti e in grado di permettersi i piccoli cambiamenti temporanei nella fonte. Se avete a che fare con la programmazione sopraelevazione ci sono 2 altri modi per eseguire l'ottimizzazione walk-forward in MetaTrader 4. Il primo utilizza un programma di automazione interfaccia utente esterno che avrebbe riempito le date e passare tutte le opzioni necessarie nel tester come se il suo un utente, avviare l'ottimizzazione corre e corse di prova a termine (uno per uno), salvare i risultati in file, e poi un altro programma dovrebbe analizzare i risultati e costruire un rapporto. Questo approccio richiede all'utente di avere familiarità con questi programmi esterni e loro configurazione in modo appropriato. Il secondo utilizza MetaTraders riga di comando (che richiede un utente per preparare una serie di file di configurazione (.ini. Impostare) e file di shell (.bat o. cmd)), così come un programma, esterna o uno script per l'analisi risultante HTML - rapporti e la loro combinazione in un unico report aggregato. Entrambi i modi non sono molto più semplice rispetto tweaking EA con la libreria. La libreria supporta rolling walk-forward, ancorato passi in avanti, e la cluster analysis. Ma non aspettatevi il suo WF implemenation essere il più ricco di funzionalità come i suoi in programmi autonomi ben noti per il trading e backtesting. La biblioteca si basa sul tester incorporato. Fondamentalmente gestisce e sposta l'intervallo di date consentito per EA di trading durante ogni corso di ottimizzazione. I risultati di tutte le passate di ottimizzazione vengono salvati in un file CSV intermedio e variabili globali speciali, che poi dovrebbe essere elaborato da un script di aiuto - WF giornalista. Come risultato, si genera una pagina HTML con rapporto comprensibili di uno dei tipi supportati. Ecco come un rapporto di prova a rotazione in avanti assomiglia. Questi risultati sono per lo standard EA media mobile (dalla distribuzione MetaTrader) geneticamente ottimizzato e testato su EURUSD D1 a partire dal 2010 con il minimo molto costante. La documentazione completa ed esempi verranno forniti non appena i prodotti sono pubblicati. La biblioteca dovrebbe essere pagato, e lo script è gratuito. O libreria di ottimizzazione Vice versa. Walk-forward per MetaTrader 4: FAQ Domande frequenti Q. Perchè dovrei usare WFO A. WFO è un'implementazione automatizzata del processo di testing e monitoraggio EA, che un operatore non esegue direttamente dalle mani. Inoltre, WFO fornisce una risposta giustificata per le domande, che periodo di ottimizzazione EA cui scegliere, e per quanto tempo le prestazioni ottimizzate EA durerà in media, in modo che si possa sapere a quale ritmo per eseguire ri-ottimizzazione. biblioteca D. Perchè WFO non è disponibile per MetaTrader 5 A. MetaTrader 5 sarà molto probabilmente l'ottimizzazione passi in avanti il supporto nativo come un nuovo modo di built-in tester in futuro. Se si desidera disperatamente questa libreria per essere portato a MetaTrader 5, per favore, invia la tua richiesta all'autore - sulla forte domanda può essere ri-lavorato e fornito gratuitamente a tutti i richiedenti che possiede la versione originale per l'ottimizzazione MetaTrader 4. D. Perchè WF e periodi di test vengono eseguiti in un unico passaggio tester A. un unico passaggio tester, suddivisa in finestra di ottimizzazione e di prova in avanti, viene utilizzato perché rende semplice per associare corrispondente ottimizzazione e test periodi. Infatti, MQL4 non fornisce alcun mezzo per collegare 2 tester indipendente passa tra loro. Inoltre, anche se era possibile, le prove in avanti passi sarebbero trattati come piste di ottimizzazione, e quindi introducono una distorsione sulla ricerca ottimale dei parametri. E se vogliamo marcare test avanti con indicatore di performance pari a zero per eliminare il pregiudizio, il tester sarebbe saltare la maggior parte dei test a termine durante l'utilizzo di algoritmi genetici. E il rifiuto di usare la genetica sembra impraticabile. D. Perché restrizioni di ottimizzazione standard devono essere disattivati nel tester durante l'utilizzo di WFO A. In effetti, tutte le bandiere nella scheda Ottimizzazione della finestra di dialogo Proprietà Expert dovrebbe essere spazzato via prima di usare biblioteca WFO. Questo è così perché le restrizioni vengono applicate su valori calcolati per l'intero periodo corrispondente, ma il periodo è diviso internamente da WFO di ottimizzazione e test avanti parti, in cui i valori di ottimizzazione solo dovrebbe importare. biblioteca WFO calcola tutti i parametri fondamentali separatamente per entrambe le parti, e fornisce un accesso ad indicatori di ottimizzazione tramite variabili speciali, che possono essere utilizzati nelle formule personalizzate. Se si desidera utilizzare una restrizione, è possibile specificare un'espressione per stimatore performance in cui il parametro specifico viene confrontato con una soglia, e se la condizione non è soddisfatta, il valore stimatore impostato a 0. Per esempio, se si desidera eliminare tutti i passaggi con prelievo relativo più grande di 50, è possibile moltiplicare il stimatore principale prestazioni al seguente espressione min (max (50 - DDREL, 0), 1). D. Alcuni valori di fattore di profitto nelle tabelle sembrare strano. Perché R. Perché fattore di profitto è calcolato come rapporto tra profitti e delle perdite, ci possono essere casi in cui la sua realtà non definito - questo accade se non ci sono perdite a tutti. Per impostazione predefinita, MetaTrader 4 assegna valore DBLMAX per il fattore profitto in questi casi, ma questa non è una buona idea, perché un test con 1 commercio redditizio e un altro test con 10 fruttuosi scambi commerciali ottengono lo stesso fattore di profitto. Inoltre, se il fattore di profitto è utilizzato in uno stimatore prestazioni composto, DBLMAX molto probabilmente introdurrà irregolarità. Questo è il motivo per cui, la biblioteca offre 2 modi diversi di gestire i fattori di profitto sorvolato. Quando lo stimatore è wfobuiltinloose o wfobuiltinstrict. fattori di profitto superiori a 10 sono regolati come 10 moltiplicato sulla radice quadrata del numero di transazioni. Quando si seleziona un altro estimatore, è possibile utilizzare la funzione wfosetPFmax per specificare un relativamente grande numero come limite massimo fattore di profitto, ma significativamente inferiore rispetto DBLMAX, ad esempio, 100. Infine, se si sceglie wfoexpression. è possibile eseguire la movimentazione calcolando fattore di profitto surrogata dal profitto lordo (variabile GP) e la perdita lorda (variabile GL) con formula specifica arbitraria casi particolari. D. Come faccio a sapere che un test del cammino in avanti è superato o meno biblioteca A. La WFO non segna esplicitamente risultati walk-forward come superato o meno, in quanto gli utenti preferiti criteri possono essere diverse. Come regola generale, una prova si intende superata se l'efficienza è superiore al 50 e la consistenza è più di 50, così come prelievo non sia superiore a 30. Si può anche fare in modo che la distribuzione degli utili nei test a termine non contiene valori anomali distinti (quando più grande profitto per passaggio produce oltre il 50 di profitto totale). Tutti questi fattori possono essere controllati visivamente nelle tabelle della relazione specifica. D. Perché i-Forward drawdown è contrassegnato come stima approssimativa, normalizzato A. Questo prelievo è calcolato sulla curva di equilibrio in avanti utilizzando esclusivamente gli utili o le perdite su ogni passo (nel suo complesso), e non tiene compravendite sottostanti in considerazione. Questo rende la stima approssimativa prelievo. Al fine di calcolare un prelievo esatto si dovrebbe avere una lista completa dei mestieri, ma biblioteca WFO non li salva per ragioni di efficienza. Infatti, se farebbe questo, ogni singolo passaggio genererebbe un file separato, e il numero di passaggi può essere centinaia di migliaia. Il prelievo si chiama normalizzato, perché la sua calcolata a partire dal risultato annualizzato su in-campione di dati (periodo di ottimizzazione) al posto del deposito iniziale. prelievo convenzionale può variare notevolmente a seconda da un importo del deposito arbitrario scelto dal commerciante volontariamente. Questo rende difficile capire i rischi. Ad esempio, con deposito iniziale pari a 10000 un prelievo sul 1000 è solo 10, ma per il 2000 la sua 50. profitto quando annualizzato viene utilizzato al posto del deposito, prelievo esprime i rischi in misura universale in scala di conseguenza per il potenziale di efficienza i sistemi di negoziazione (profitablility media ). D. Che cosa è il significato di deviazione nelle relazioni, come interpretarlo A. La riga della tabella con deviazione mostra la deviazione standard () del valore corrispondente come misura della sua dispersione, cioè fino a che punto oscilla verso l'alto o verso il basso in tutta la sua media. Se la deviazione è uguale o superiore alla media (o media), quindi il parametro corrispondente sembra inaffidabile, perché il suo valore osservato è molto probabile che il cambiamento segno facilmente indipendentemente da previsto uno, e questo è molto importante per esempio per i profitti. Ad esempio, se il profitto medio è 100 e deviazione è 100, allora la probabilità di una perdita è di circa 15,8, se deviazione 50 - probabilità di una perdita è 2,2, e se la deviazione è 33, allora la probabilità di una perdita è solo 0,1. Al contrario, se la deviazione è 200, allora la probabilità di una perdita aumenta fino a 31. Ciò è illustrato dal grafico sottostante. Usiamo la distribuzione normale qui, che può essere discutibile, ma la sua ben studiato e applicabili (sotto certe ipotesi) per la maggior parte lunga serie in esecuzione di esperimenti (supponiamo che abbiamo un numero sufficiente di passi in avanti passa). D. Il mio ottimizzazione si è fermato con il gestore di memoria tester di errore: tester interrotta perché la memoria non è sufficiente. Cosa posso fare A. youre cercando di eseguire l'ottimizzazione troppo massiccia che ha consumato tutte le risorse disponibili per il tester MetaTrader 4. Questo non è un problema della biblioteca. Questa è una limitazione del sistema operativo e tester. È necessario in qualche modo semplificare le impostazioni di ottimizzazione o di aggiungere più risorse al PC. Ecco alcuni metodi: accorciare l'intervallo di date di test (ad esempio richiedere 2-3 anni invece di 5-6), diminuire il numero di parametri abilitati per l'ottimizzazione, ridurre il numero di iterazioni per i parametri essere ottimizzato (per esempio, è possibile diminuire numero di passi avanti nella spesa di aumentare in avanti dimensione del passo nello stesso numero di volte), cercare di liberare la memoria MT4 scaricando tutto tranne la EA ottimizzata (nota, che MT4 deve essere riavviato dopo lo scarico perché memorizza nella cache molte cose internaly e hanno lasciato in memoria), abilitare algoritmo genetico nel tester, aggiungere la memoria fisica a voi PC. D. Quali sono le finestra personalizzata minimo e passo dei formati A. La sua consiglia di impostare la dimensione della finestra personalizzato a partire da 1 mese e fino, in ultima analisi - due settimane. Il passaggio personalizzato minimo, così come il suo incremento (entrambi sono assegnati in percentuale in questa modalità) devono essere scelti in modo che, dopo la loro traduzione nella scala temporale (calcolato come frazione della dimensione della finestra) youll ottenere almeno 1 giorno intero. Se la dimensione minima passo è 10, non ha senso usare la dimensione della finestra meno di 10 giorni. Questo è vero anche per i loro incrementi. Ad esempio, si può scegliere 10 giorni come finestra minima e il suo incremento. Poi si dovrebbe usare 10 come il passo minimo e il suo incremento di evitare frazioni di giorni. Se è necessario il passaggio 5 e 5 incremento, quindi la dimensione della finestra minima e il suo incremento dovrebbe essere di 20 giorni. D. Credo di aver trovato un bug. Cosa devo fare A. Fammi vedere le impostazioni per il tester e per EA. Descrivere ciò che si vuole raggiungere e quello che si ottiene. Mandami file generati eventuali. Se il suo un problema biblioteca, mandami i log tester con errori. Se il suo un problema di giornalista, mi inviare i registri dalla scheda Esperti. Sulla FAQ - domande 4, di escludere drawdown 50, si usa l'espressione min (max (50 - DDREL, 0), 1) come moltiplicatore alla formula principale prestazioni stimatore. Domanda per favore, come escludere fattore di profitto inferiore a 1,2 ho cercato di modificare la formula di escludere fattore di profitto lt 1.2, ma scuse ancora senza fortuna ancora. Provate questo per esempio: min (max (PF - 1.2, 0), 1).
No comments:
Post a Comment