Backtesting con dati in tick - pagina 3

 

BTW - lo script nel tuo file .rar allegato. È esattamente lo stesso dello script che hai postato (taglia e incolla) nel forum prima?

 
mikey:

BTW - lo script nel tuo file .rar allegato. È esattamente lo stesso dello script che hai postato (taglia e incolla) nel forum prima?

Sì. Il post è un taglia e incolla dal file...


Riguardo a questo:

Una cosa tho - non un grande dramma - ma l'ultima riga del file di output è così:

2004.02.23,08:34,,,,,1

Lo script presuppone che alla fine dell'ultima riga il file finisca. Nel tuo caso il file aveva probabilmente un carattere newline alla fine dell'ultima riga, quindi il ciclo non ha rilevato una 'fine del file' e ha continuato a elaborare l'ultima riga che era effettivamente vuota... Ci sono molti modi per risolvere questo, per esempio puoi aggiungere una condizione che la variabile 'sclose' non sia vuota prima di scrivere:

if (sclose != "")     // make sure close price exists in last line processed
   FileWrite(trg_handle,output);
 

Grazie amico. Una domanda veloce su: il costo dello swap nel tester della strategia. Viene aggiunto alla fine o viene aggiunto man mano che si procede. Penso che possa essere aggiunto man mano che si procede: Ho notato che per alcuni trade: per esempio se il take profit (TP) è a 100 quando si chiude con un TP allora non viene restituito un profitto di +100 ma un TP di un importo inferiore ad es. +80. Questo potrebbe essere dovuto ai costi di swap aggiunti a quel trade (per tenere conto dei giorni in cui è stato tenuto durante la notte - e naturalmente con questo metodo abbiamo più "notti" di quanto dovremmo avere). (i costi di swap non saranno troppo alti per il mio overnite, dato che faccio trading con lotti da 0,1, ma poi, a causa del fattore molte notti, si aggiunge).

È ancora in funzione. Una cosa che vorrei dire è che i risultati sono molto diversi da quelli di M1. Quindi, se questo è davvero valido - valeva certamente la pena di farlo. mi sta dando un'idea molto più chiara.

 
mikey:

Grazie amico. Una domanda veloce su: il costo dello swap nel tester della strategia. Viene aggiunto alla fine o viene aggiunto man mano che si procede. [...]

Viene aggiunto esattamente come viene aggiunto in un conto Live/Demo. Da 'Testing Features and Limits in MetaTrader 4':

Tutti gli swap, i requisiti di margine, le scadenze, gli ordini GTC sono modellati.

Nota che il valore dello swap è preso dal conto a cui sei attualmente connesso nel momento in cui premi 'Start' nel Tester.

 

Un nuovo ostacolo. Quando carico 3 mesi di dati in tick nel centro storico (trattati come abbiamo risolto in questo thread - per fare in modo che ogni tick abbia la sua barra M1) - apparentemente tutto è ok MA ho appena visto questo nel diario:

Historybase: memoria insufficiente '#CLX01' [8412861 barre]
Gestore della memoria: impossibile allocare 370166236 byte di memoria

Quindi, questo è per dire che non ha caricato tutti i dati?

 
mikey:

Un nuovo ostacolo. Quando carico 3 mesi di dati in tick nel centro storico (trattati come abbiamo risolto in questo thread - per fare in modo che ogni tick abbia la sua barra M1) - apparentemente tutto è ok MA ho appena visto questo nel diario:

Historybase: memoria insufficiente '#CLX01' [8412861 barre]
Gestione della memoria: impossibile allocare 370166236 byte di memoria

Quindi, questo è per dire che non ha caricato tutti i dati?

Potrebbe essere perché hai colpito il limite di 2GB. Dopo aver premuto 'Start' il tester crea un file FXT che contiene i tick per il test (nel tuo caso è 1 tick per barra). Questo file viene creato nella cartella '\MetaTrader 4\tester\history'. Apri questa cartella e controlla se l'ultimo file creato ha una dimensione di circa ~2GB. Se è così, allora hai raggiunto il limite del Tester. Non c'è soluzione per questo, a parte il test su periodi di tempo più brevi...


Non sono sicuro che questa sia la ragione però, potrebbe essere qualcos'altro...

 

Il tester è ancora in funzione quando ho controllato le dimensioni. Quindi, può aumentare?

Ma comunque a partire da ora la dimensione è solo 412 MB. Che presumo sia ben al di sotto dei 2 GB?

 

BTW - il diario in cui si trova questo messaggio di errore NON è nel tester della strategia, ma nell'altro (quello per il conto)

 

Sto diventando un po' frustrato. E' giusto - sto provando qualcosa di nuovo e quindi ci saranno sicuramente dei problemi.

Ma non collegato a questo thread - ho appena notato che su una strategia standard di metatrader eseguita con dati M1 corretti (quindi non collegati a ciò di cui stiamo parlando in questo thread) per 3 mesi ho ottenuto dati sul petrolio. e ho notato che il tester della strategia ha smesso di aprire qualsiasi trade dopo circa 2 settimane. nel codice - ogni volta che non c'è nessun trade aperto un nuovo trade dovrebbe essere aperto (mai avuto problemi con questo in forward testign). Ma il tester della strategia è ok per 2 settimane, aprendo trade e poi non ha nessun trade aperto per circa 2,5 mesi (nonostante i 5000 dollari di profitto)! Inoltre, il tipo di risultati forniti sono così lontani dal mio forward test finora. I dubbi cominciano a insinuarsi nella mia mente sul motore del tester di strategia metatatrader e sulla sua validità e utilizzo.

(i dati tutti caricati nel tester ok perché per il suo range di date sul report - ha il range corretto)

il mio sogno/scopo: Quello che speravo era che dare la strategia tester buoni dati storici (soprattutto se è possibile ottenere dati tick) e si otterrà una buona comprensione di come tyour strategia avrebbe davvero scambiato su quella storia (slippage, spread varianza ecc accettato). Ma ora im begginnning a dout se questo è raggiungibile. se il motore di strategia può effettivamente fornire questo. QUESTO OBIETTIVO È RAGGIUNGIBILE CON METATRADER? Qualcuno mi dia qualche speranza!

 
mikey:

BTW - il diario in cui si trova questo messaggio di errore NON è nel tester della strategia, ma nell'altro (quello per il conto)

Allora probabilmente non ha niente a che fare con il Tester (puoi vedere i suoi log nella cartella 'MetaTrader 4\tester\logs'), ma non posso esserne sicuro.
Motivazione: