Backtesting/ottimizzazione - pagina 15

 
Ducati:
Herbert,

Sì, è cambiato subito dopo il download della build 200! Ho completamente dimenticato che ha scaricato una nuova build.

Anche io ho appena scaricato una nuova versione di metatrader dal sito web di metatrader ed è la versione 4 build 200 e non mi permette di importare i dati storici da Alpari. Seleziono il file, ma non succede nulla. Questo fa schifo!

Puoi dirlo di nuovo.

Ho fatto una segnalazione di bug su MetaQuote, ma non ho ricevuto alcuna risposta.

Domande simili nel forum di MetaQuote sono solo risposte con: "È stato migliorato", ma dubito che siamo solo noi ad avere problemi con questo comportamento.

Per essere onesti: se qualcosa è stato davvero migliorato e dovrei rifare tutte le mie ottimizzazioni di esperti, farei un respiro profondo e lo farei, ma questi dati importati non sono compatibili con tutti i miei test precedenti.

Dovrebbe ancora permetterci di scegliere tra il nuovo metodo di download (da MetaQuote?) e l'importazione da un'altra fonte come Alpari.

 

Per fortuna ho ancora la build 198 sul mio computer. Ho solo intenzione di copiare quella cartella.

 

Ottenere il 99% di qualità di modellazione

Ho visto questo in un altro forum. È qualcosa che possiamo usare?

Paul Dawidowicz 16.11.06 05:46

Slawa,

Ero solito generare un file fxt dai dati di tick e poi spostarlo nella directory della cronologia in modo da ottenere il 99% di qualità di modellazione.

con il nuovo aggiornamento ignora il file fxt generato, e la qualità sullo stesso EA, M1 è scesa al 25%

l'ultima versione 198 era buona ora non so cosa fare con i dati tick che ho e vorrei usare per il backtest

Slawa 16.11.06 10:32

Cambia la versione di fxt in 403.

 

Il thread di Phoenix ha anche un'eccellente guida sul backtesting degli EA.

Ora che la build 200 è uscita, non è più necessario preoccuparsi di scaricare manualmente la cronologia delle quotazioni.

https://c.mql5.com/forextsd/forum/162/phoenix-2007-how-to-optimize-phoenix.pdf

 

è un bug: metatrader lo sovrascrive.

clicca con il tasto destro del mouse sul tuo file di dati fxt e imposta "solo lettura" nella scheda delle proprietà, questo impedirà di cancellarlo, in questo modo sono in grado di ottenere dati tick funzionanti anche con la build 200.

sai come posso ottenere tf più alti di 1 minuto? qualche script?

 

Il modo corretto di fare backtesting dalla banca dati di Alpari

Ho ricevuto questo da un altro sito e voglio assicurarmi che voi ragazzi stiate facendo backtesting con i dati corretti della banca dati Alpari;

Sembra che ci sia molta confusione sui problemi di affidabilità e su come procedere per ottenere i risultati più accurati possibili. Non sono un guru della programmazione o del trading, ma credo di poter fornire una piccola FAQ utile sul backtesting con MT4.

Un buon backtesting è importante quando si considera un approccio di system-trading, perché si vuole avere un'idea della fattibilità della propria idea prima di andare live con essa [almeno io lo faccio]. Se fai backtesting con una qualità del modello del 50%, eh... non puoi essere davvero sicuro di quello che sta succedendo. Se hai una qualità del modello del 90%, puoi avere più fiducia su come il tuo sistema si sarebbe effettivamente comportato.

+=========================+

|MT4 Backtesting FAQ v1.0

+=========================+

Contenuti:

- Sezione 1: MT4 Backtesting è affidabile?

- Sezione 2: Scaricare/Importare/Convertire i dati 1M

- Sezione 3: Configurazione del Backtester

- Sezione 4: Altri problemi

Sezione 1: MT4 Backtesting è affidabile?

Questa domanda è spesso piuttosto accesa e le persone arrivano persino a fustigarsi a vicenda. Il backtesting in MT4 può essere affidabile, ma la sua affidabilità dipende dai dati su cui si effettua il backtesting. I dati dei conti demo che vengono trasmessi in streaming attraverso un broker di conti demo hanno lacune e buchi e non sono fondamentalmente adatti al test.

Quando si fa il backtesting, si vuole usare il modello EVERY TICK e avere dati 1M accurati per ottenere il test più accurato possibile. I dati 1M sono importanti, perché il MODELLO EVERY TICK usa il più piccolo timeframe disponibile e "finge" il movimento del prezzo nelle più piccole barre disponibili. Avere i dati 1M permette che l'interpolazione frattale all'interno delle barre si verifichi solo all'interno della gamma molto ristretta delle barre 1M.

La soluzione più semplice [e unica] a questo problema è usare buoni dati 1M. I dati più completi che puoi ottenere [almeno gratuitamente] sono quelli della banca dati di Alpari. Hanno dati in formato nativo MT, sul timeframe 1M fino alla metà del 2004. Tuttavia, impostare i dati per l'uso richiede un po' di lavoro.

---------------------------------------------------------------------------

Sezione 2: Scaricare/Importare/Convertire i dati 1M

(1) È necessario modificare MT4 per consentire un maggior numero di barre. Andare nel menu Strumenti, poi andare su Opzioni [o semplicemente premere C+O]. Vai nella scheda grafici e metti 999999999999999 per le barre nella storia. MT4 avrà come impostazione predefinita qualunque sia il suo massimo.

[Nota: Il motivo per cui MT4 ha un numero limitato di barre per iniziare è perché più barre (in particolare quando vengono utilizzate in modelli di backtesting) significa che MT4 sta per consumare più spazio su disco].

(2) Scaricare i dati di 1M dalla banca dati di Alpari in qualsiasi valuta si voglia testare.

(3) Importare i dati in MT4 usando lo History Center. Vai a Strumenti => Centro Storico [o premi F2]. Assicurati di importarli nella valuta corretta e nel timeframe M1. Non vuoi che i dati EURUSD siano importanti in USDCAD per esempio.

(4) Converti i dati usando lo script del convertitore di periodo incluso in MT4 [hai solo 1M di barre al momento]. Devi aprire i grafici offline per farlo.

-Vai al menu File, poi Apri offline, seleziona i dati 1M della valuta che devi convertire. Si aprirà un grafico con quei dati.

-Poi trascina lo script period_converter sul grafico offline. L'int ExtPeriodMultiplier che puoi modificare è il moltiplicatore che stai applicando al grafico. Quindi, rendendolo 5, convertirà 1M di dati in 5M di dati.

-Per semplicità, è necessario eseguire il convertitore di periodo con i seguenti interi per ottenere tutti i timeframe di backtesting: 5,15,30,60,240 e 1440.

[NOTA: puoi anche convertire i dati 1M in timeframe non nativi di MT4 se vuoi fare qualche analisi di indicatori o qualcosa su un altro timeframe].

Congratulazioni, ora hai importato e convertito i dati in MT4. Ora, per illustrare uno dei miei punti precedenti, aprite una valuta su cui avete importato i dati. Guardate la differenza nelle barre dei dati scaricati rispetto ai dati trasmessi in streaming da un broker Demo [Quindi, se avete scaricato dati 1M da luglio 04 ad agosto 05, guardate il grafico alla fine di agosto 05 e all'inizio di settembre 05]. Noterete che le barre (su ogni intervallo di tempo se le avete convertite correttamente) del vostro periodo di tempo scaricato saranno più complete.

------------------------------------------------------------------

Sezione 3: Configurazione del Backtester

Ora che avete importato con successo i dati completi, ci sono ancora alcune cose da fare per eseguire un backtest affidabile.

(1) Selezionate l'opzione ricalcola la prossima volta che eseguite un backtest, perché avete bisogno che il backtester utilizzi i vostri nuovi dati felici (cosa che non farà se non glielo dite voi). Ogni volta che importate nuovi dati, dovete ricalcolare (io ricalcolo ogni pochi test solo per sentirmi sicuro, forse è un riflesso di problemi di fiducia interna, ma questo è per un'altra FAQ).

(2) Selezionate l'opzione use date e impostate l'intervallo di date solo su un periodo di tempo in cui avete buoni dati affidabili. In questo modo state facendo il backtesting solo delle cose buone. Questo si rifletterà nella percentuale di qualità del modello.

(3) Assicuratevi che il modello sia impostato su OGNI TICK. Se non lo è, tutto questo duro lavoro che abbiamo appena fatto è stato inutile. Ho affrontato il motivo per cui lo facciamo prima nelle FAQ.

------------------------------------------------------------------------

Sezione 4: Altri problemi

MT4 è un lavoro in corso, a volte ci sono strani bug che spuntano fuori nel backtesting. Tuttavia, di solito quando pensate di avere un bug tra le mani, c'è qualcosa di sbagliato nel vostro codice. Non posso sottolineare abbastanza quanto sia importante il debugging. Se avete problemi, controllate prima il vostro codice perché probabilmente è il problema. Se pensate davvero di avere un bug legittimo tra le mani, postatelo nei forum di MT4.

Poiché non stai effettivamente facendo il backtesting su ogni tick che è successo [hai a che fare con un'interpolazione su dati 1M], non è ancora una perfetta riproduzione di ciò che è realmente accaduto nei mercati. A causa di questo, gli EA di scalping 1M e 5M che entrano ed escono dagli scambi molto rapidamente, incontreranno alcuni problemi proprio a causa di questa limitazione. Più lungo è il timeframe su cui fai trading, meno è probabile che i tuoi test siano ostacolati da questo.

Bene, questo è tutto quello che mi viene in mente ora. Ho riletto tutto, penso di aver reso tutto chiaro e di aver delineato correttamente i passi. Se notate un errore, fatemelo sapere, e lo correggerò nella mia prossima versione della MT4 Backtesting FAQ.

 

Come si fa il backtest?

Quando carico il mio EA per fare il backtest e poi vado nelle Impostazioni Esperto, perché ci sono 4 opzioni separate per ogni riga?

EG: SL ha Valore, Inizio, Passo e Stop?

Voglio solo impostare SL a 15

Grazie

 
matrixebiz:
Quando carico il mio EA per il backtest e poi vado nelle impostazioni dell'esperto, perché ci sono 4 opzioni separate per ogni riga?

EG: SL ha Valore, Inizio, Passo e Stop ?

Voglio solo impostare SL a 15

Grazie

È per l'ottimizzazione delle impostazioni. Per esempio:

sl=15

parte da 5 con il passo 1 e si ferma a 20.

Quindi se state ottimizzando per trovare le migliori impostazioni ne avrete bisogno.

Per quanto riguarda il backtesting e l'ottimizzazione delle impostazioni abbiamo i seguenti link:

- Backtest di qualità del modello;

- MetaTrader Strategy Tester, parte 2;

- MetaTrader Strategy Tester, parte 1;

- M1 Tick by Tick Data per il BackTesting.

Assicurati di avere abbastanza dati per fare il backtest con una qualità di modellazione del 90%.

 

Dati di backtest MT4 - da dove vengono?

Ciao

La versione 200 di MT4 ha ora la possibilità di scaricare lo storico di 1 minuto dal 1999. Meraviglioso per testare qualsiasi strategia a lungo termine. Il problema è che se faccio il backtest su questi dati, posso duplicare i risultati su qualsiasi feed di dati reali? Questi dati provengono da un broker da cui possiamo ottenere un feed live rappresentativo?

Per chiarire, posso iscrivermi a un broker e ottenere gli stessi dati come feed live? Ho scoperto che piccole differenze nei dati di diversi broker possono fare grandi differenze nei livelli di profitto/perdita. Se faccio il backtest di qualcosa e fa un profitto, allora se posso fare trading dal vivo sugli stessi dati, c'è una possibilità che faccia un profitto.

 
tururo:
Ciao

La versione 200 di MT4 ha ora la possibilità di scaricare lo storico di 1 minuto dal 1999. Meraviglioso per testare qualsiasi strategia a lungo termine. Il problema è che se faccio il backtest su questi dati, posso duplicare i risultati su qualsiasi feed di dati reali? Questi dati provengono da un broker da cui possiamo ottenere un feed live rappresentativo?

Per chiarire, posso iscrivermi a un broker e ottenere gli stessi dati come feed live? Ho scoperto che piccole differenze nei dati dei diversi broker possono fare grandi differenze nei livelli di profitto/perdita. Se faccio il backtest di qualcosa e fa un profitto, allora se posso fare trading dal vivo sugli stessi dati, c'è una possibilità che faccia un profitto.

Come ho capito questa build 200 quindi penso che i dati provengano da qualche parte. Penso che non siano i dati del tuo o del mio broker.

Questo è il motivo per cui sto usando i dati Alpari (per il backtesting/ottimizzazione) fino ad ora.

Le persone che conoscono meglio questo settore possono correggermi se mi sbaglio.