Backtesting/ottimizzazione - pagina 27

 

Il backtesting corrompe i dati storici?

Ciao ragazzi,

Qualche settimana fa ho scaricato i dati a 1 minuto da: http://www.alpari-idc.com/en/dc/databank.html

E ho fatto il backtesting di molti EA su di essi.

Oggi ho trovato un EA che mi ha dato questi risultati:

Ho deciso di accelerare il processo di backtesting così ho installato metatrader sul mio nuovo computer, ho scaricato i dati più recenti a 1 minuto, ho caricato il mio EA

e ho ottenuto questi risultati:

Le impostazioni per l'EA sono le stesse, l'unica differenza che posso vedere è che i Ticks modellati sono molto più alti sui nuovi dati a 1 minuto.

Ho notato che altri EA che hanno generato buoni risultati sui vecchi dati hanno smesso di "funzionare" quando uso i dati più recenti.

Qualcuno conosce la ragione di questo?

I miei vecchi dati a 1 minuto erano corrotti?

Grazie in anticipo, Drue

 

EA ha usato 14416 tick nel primo caso e 14391 tick nel secondo caso al 90%. Quindi può essere il seguente:

- hai selezionato un periodo più lungo per il backtesting nel primo caso;

o

- hai tenuto il primo Metatrader live per il trading e Metatrader ha scaricato i nuovi dati ed erano mischiati. Importa ulteriori dati in modalità fooline (se apri la cartella con i dati probabilmente vedrai molti file con lo stesso timeframe e coppie, quindi importali nel file principale).

E se state facendo il backtesting degli EA molto spesso, potrebbe essere utile tenere una copia di Metatrader solo per il backtesting e questo Metatrader dovrebbe essere spento dal broker in modo permanente.

 

Ottimizzatore di strategia usando la GPU

Ciao, ho usato molto lo Strategy Test Optimizer di recente, e ho scoperto che ci vuole molto tempo per ottimizzare una strategia, e c'è un limite al numero di variabili con cui si può lavorare. Ho scoperto che ora c'è un software che permette di usare la GPU della propria scheda video per fare il lavoro di calcolo, e la GPU è enormemente più veloce della CPU. In alcuni test, la mia CPU ha circa 5 GFlops, e la mia GPU ha circa 550 GFlops. Questo è un aumento di oltre cento volte! Quindi sono interessato a modificare Metatrader4 per utilizzare la GPU invece della CPU, e voglio sbarazzarmi del limite delle variabili in modo che possa calcolare sulla base di molte più variabili. Ho trovato un'azienda che farà le modifiche qui:

http://www.gpucomputing.eu/

Quindi mi sto chiedendo se qualcuno qui è interessato a questo? Sono sicuro che non sarò in grado di permettermelo da solo (sono uno studente universitario disoccupato), quindi spero che possiamo fare una sorta di acquisto di gruppo su questo. Gli ho mandato un emaile chiedendo una domanda, e quando l'avrò ricevuta la posterò in questo thread.

 
triwebb1:
Ciao, ho usato molto l'ottimizzatore di test di strategia recentemente, e ho scoperto che ci vuole molto tempo per ottimizzare una strategia, e c'è un limite sul numero di variabili con cui si può lavorare. Ho scoperto che ora c'è un software che permette di usare la GPU della propria scheda video per fare il lavoro di calcolo, e la GPU è enormemente più veloce della CPU. In alcuni test, la mia CPU ha circa 5 GFlops, e la mia GPU ha circa 550 GFlops. Questo è un aumento di oltre cento volte! Quindi sono interessato a modificare Metatrader4 per utilizzare la GPU invece della CPU, e voglio sbarazzarmi del limite delle variabili in modo che possa calcolare sulla base di molte più variabili. Ho trovato una società che farà le modifiche qui:

http://www.gpucomputing.eu/

Quindi mi sto chiedendo se qualcuno qui è interessato a questo? Sono sicuro che non sarò in grado di permettermelo da solo (sono uno studente universitario disoccupato), quindi spero che possiamo fare una sorta di acquisto di gruppo su questo. Gli ho mandato un emaile chiedendo una domanda, e quando l'avrò ricevuta la posterò in questo thread.

Prima di iniziare a commentare potresti per favore elaborare di più su questo limite variabile che stai avendo ...

grazie.

 

Idea interessante, ma...

Una sfortunata restrizione di MetaTrader4 è che non ci sono API disponibili, quindi si è un po' limitati in quello che si può fare. L'unica possibilità che MT4 permette è chiamare DLL esterne, ma questo non sarebbe molto utile, credo. La maggior parte della parte che richiede tempo del tester di strategia, per esempio, rimarrebbe residente all'interno di MT4.

 

Sì, so che sarebbe difficile, ecco perché sto guardando questa azienda per farlo :P Penso che dovrebbero decompilare Metatrader, se possibile, e riscriverne alcune parti.

Riguardo al limite delle variabili: ho un EA multistadio che sto testando, e uso più indicatori con valori diversi per ogni stadio, e voglio che l'ottimizzatore li esamini tutti e trovi i valori migliori. Sembra essere limitato a qualcosa come 20 variabili con 10 passi ciascuna. Voglio che supporti circa 80 variabili con 50 passi ciascuna... Un numero così elevato di variabili richiederebbe molto tempo per il calcolo, e per questo voglio o la cosa della GPU per funzionare, o la possibilità di utilizzare un cluster di PC per farlo in modo che non ci vogliano 2 anni sul mio pc. Ma Metatrader non supporta nessuna delle due cose, quindi al momento sono bloccato a provare diversi metodi per il funzionamento dell'EA, ma voglio davvero provare quello con l'enorme quantità di variabili e vedere cosa ne esce fuori.

 

Ciao, ecco cosa voglio fare:

Voglio lasciare che il mio EA ottimizzi se stesso (un'ottimizzazione degli ultimi 2 mesi), e deve cambiare le sue variabili automaticamente se ha trovato variabili migliori durante l'ottimizzazione (ottimizzerà 24h/24, tutto il giorno, tutti i giorni).

Pensi che sia possibile codificare qualcosa del genere? Forse uno script o qualcosa che non conosco, cosa ne pensi?

 

Ya

Penso che questo mmmmmmmmm Oky Oky

 

Pensi che sia possibile?

 
w4rn1ng:
Ciao, ecco cosa voglio fare:

Voglio lasciare che il mio EA ottimizzi se stesso (un'ottimizzazione degli ultimi 2 mesi), e deve cambiare le sue variabili automaticamente se ha trovato delle variabili migliori durante l'ottimizzazione (ottimizzerà 24h/24, tutto il giorno, tutti i giorni).

Pensi che sia possibile codificare qualcosa del genere? Forse uno script o qualcosa che non conosco, cosa ne pensi?

Non lo so. È un'ottima idea soprattutto per gli EA che attraversano le ema. Ma non vedo alcuna implementazione. Codersguru ho il thread su EA auto-apprendimento o qualcosa di simile, ma lo sviluppo non è ancora finito.

Motivazione: