<br / translate="no"> nel log selezionare il menu contestuale per aprire. aprire il file di log corrispondente e vedere se è stato emesso o meno. la scheda di log emette dati in modo asincrono, su un timer in modo da non rallentare il tester, quindi i dati possono perdersi nella scheda (e non nel log, cioè non nel log stesso).
Meno male che me l'hai detto :) Presto tutto avrebbe cominciato a crollare. Il file di registro è già circa 2Gb.
Molto spesso su diversi Expert Advisors, il tester genera dati di output vuoti (empty) durante l'ottimizzazione, passando attraverso tutti i cicli, ma senza eseguire alcuna operazione. Qualcuno sa perché questo accade?
Credo di aver trovato di nuovo il "bug"! :) Non ricordo se ne ho mai scritto... Come si è scoperto, il problema era questo:
se(CurTime()-OrderOpenTime()<900) return(0);
Per qualche ragione, l'ottimizzatore non azzera il contatore a "zero" (o qualunque cosa sia). E, probabilmente, conta il tempo globale, non il tempo di prova. In generale, non so cosa e come non è fatto correttamente, ma ho speso un sacco di nervi, mentre prendo. :) Se qualcuno ha lo stesso problema, prenda nota!
Nel testare la strategia, ci sono entrate in posti dove, a occhio, questo non dovrebbe accadere in alcun modo. Ho sprecato tre giorni della mia vita. E per cosa? Vedi dei numeri sopra la barra? La prima cifra è il valore dell'indicatore (linea rossa). È 1,3014. E il secondo numero è il valore della barra bassa restituito al programma. Possiamo vedere sul grafico che il minimo è sotto la linea dell'indicatore. E il minimo di questa barra è 1,3012. Ma il programma riceve il valore 1,3015. Ora capisco perché si innesca qui.
È tutto molto semplice. Per come la vedo io, i test sono in modalità di apertura della barra. Qual è l'alto e il basso della barra che sta emergendo? Suggerimento: Open=High=Low=Close, Volume=1
Questo è, tra l'altro, il motivo per cui la prima freccia con il colore Aqua è appena sotto la seconda Yellow.
È molto semplice. Per come la vedo io, i test sono in modalità di apertura della barra. <br / translate="no"> Qual è l'High e Low del bar che ha appena aperto? Suggerimento: Open=High=Low=Close, Volume=1
Questo, tra l'altro, è il motivo per cui la prima freccia con il colore Aqua è appena sotto la seconda Yellow.
Meno male che me l'hai detto :) Presto tutto avrebbe cominciato a crollare. Il file di registro è già circa 2Gb.
Non ricordo se ne ho mai scritto...
Come si è scoperto, il problema era questo:
Per qualche ragione, l'ottimizzatore non azzera il contatore a "zero" (o qualunque cosa sia). E, probabilmente, conta il tempo globale, non il tempo di prova. In generale, non so cosa e come non è fatto correttamente, ma ho speso un sacco di nervi, mentre prendo. :) Se qualcuno ha lo stesso problema, prenda nota!
Ecco il programma:
//+------------------------------------------------------------------+ int i; //+------------------------------------------------------------------+ int init () { return(0); } int deinit() { return(0); } int start() { i++; CreateArrow(DoubleToStr(i,0),Time[0],High[0],108,Aqua); i++; CreateArrow(DoubleToStr(i,0),Time[0],Low[0],108,Yellow); return(0); } void CreateArrow(string name, datetime time1, double price1, int code_arrow, int clr) { ObjectCreate(name,OBJ_ARROW,0,time1,price1); ObjectSet(nome,OBJPROP_ARROWCODE,code_arrow); ObjectSet(nome,OBJPROP_COLOR,clr); }Ecco i risultati dell'esecuzione del tester
Getta il link
Getta il link
http://forum.alpari-idc.ru/viewtopic.php?p=220941#220941
Qual è l'alto e il basso della barra che sta emergendo?
Suggerimento: Open=High=Low=Close, Volume=1
Questo è, tra l'altro, il motivo per cui la prima freccia con il colore Aqua è appena sotto la seconda Yellow.
Suggerimento: Open=High=Low=Close, Volume=1
Questo, tra l'altro, è il motivo per cui la prima freccia con il colore Aqua è appena sotto la seconda Yellow.
Grazie per il chiarimento.