La directory del file di log è sempre presente nella directory /tester, potrebbe essere solo il caso che la tua sia nella cartella UserData dato che sto usando MT4 in modalità /portable.
Sì, è possibile avviare il tester tramite la riga di comando, ma questo non aiuta affatto, il logging è fatto internamente al programma dalla build 670, non c'è modo di disattivarlo da una riga di comando.
Reindirizzare l'output a NUL non ha nulla a che fare con la registrazione interna. Tutto ciò che la tua idea farebbe è reindirizzare l'output di una casella del prompt dei comandi a nul (l'output di testo effettivo). Per un'applicazione con un'interfaccia grafica come MT4 questo non fa assolutamente nulla.
OK, controllerò B765. Come detto, i file di log sono bloccati da metatrader.exe mentre viene eseguito, non è possibile eliminarli senza prima chiudere il terminale, il che annullerebbe l'ottimizzazione effettiva.
Ma "la prossima volta" è troppo tardi perché questo significherebbe dopo un riavvio del terminale (una volta che i file sono sbloccati), nel qual caso l'HD sarebbe già pieno (che è il mio vero problema). Anche "Force" non funziona, ho provato, ma come ho detto, i file sono bloccati da Metatrader fino a quando il terminale non viene spento e il tuo script quindi fallisce.
NO! La prossima volta significava dopo i 60 secondi di sonno! Non l'ho scritto?
Ogni minuto lo script cerca i log da cancellare!
Dato che - secondo me - un'esecuzione di prova blocca solo 1 file di log, quelli creati in precedenza possono essere cancellati - ma provate voi stessi.
Non posso perché non ho niente da ottimizzare in questo momento...
Che cosa intendi? I log di cui sto parlando registrano ogni SL che si è verificato durante l'ottimizzazione per ogni passaggio dell'ottimizzazione. Li ho già postati, quindi cosa c'è da interpretare diversamente in questi? Mostra chiaramente ciò che registra e questo in realtà non è affatto il problema, il problema è che registra tutto mentre non dovrebbe durante l'ottimizzazione perché ingombra l'harddisk.
Non stai leggendo i post degli altri.
Ho postato i miei log dai quali si può vedere che sto usando stoploss e che stoploss viene attivato dal sistema. Ho anche dichiarato sotto quale build ho fatto dei test. Ma tu stai facendo le stesse domande a cui hai già risposto.
E nello stesso tempo state pubblicando grandi log che non contengono alcuna informazione.
mt4user2000:
E potrei piuttosto suggerirvi di imparare a TROVARE i log? Per X post mi stai dicendo "no, non c'è nulla di registrato" nelle build 670 e 745 e ora all'improvviso dici che si registra anche sul tuo sistema? LOL
Ti ho già detto che questo comportamento è in qualche modo innescato e che ovviamente ha bisogno di qualche altro fattore oltre all'ottimizzazione genetica per manifestarsi.
Ma è più facile e comodo scrivere LOL LOL che leggere e cercare di capire.
Inoltre, qual è il tuo problema? Rimuovi lo SL e esci dai trade con OrderClose().
Dal tuo scritto è ovvio che sei consapevole che MQ non si preoccupa di questo o di altri bug minori.
questa non è la soluzione più appropriata, ma potresti provare a impedire a metatrader.exe di scrivere nella directory dei log modificando le ACL sulla directory dei log.
graziani: scusa, non commenterò ulteriormente i tuoi post.
gooly: sì, so cosa intendi, ma non può ancora cancellare i file di log, sono bloccati e quindi non funziona. Prova tu stesso.
ics-mq4: questa è una cosa che ho provato anch'io e funziona, ma rallenta l'ottimizzazione di un fattore 10 purtroppo. Molto probabilmente perché Metatrader viene bombardato di errori perché non riesce a scrivere nella directory e riprova alcune volte prima di rinunciare. Un altro trucco è quello di cancellare la directory "logs" e creare un file con lo stesso nome, nel qual caso Metatrader non può più creare la directory "logs". Ma in questo caso succede lo stesso, un forte rallentamento dell'ottimizzazione.
La directory del file di log è sempre presente nella directory /tester, potrebbe essere solo il caso che la tua sia nella cartella UserData dato che sto usando MT4 in modalità /portable.
Sì, è possibile avviare il tester tramite la riga di comando, ma questo non aiuta affatto, il logging è fatto internamente al programma dalla build 670, non c'è modo di disattivarlo da una riga di comando.
Reindirizzare l'output a NUL non ha nulla a che fare con la registrazione interna. Tutto ciò che la tua idea farebbe è reindirizzare l'output di una casella del prompt dei comandi a nul (l'output di testo effettivo). Per un'applicazione con un'interfaccia grafica come MT4 questo non fa assolutamente nulla.
Più divertimento con i tronchi!
hmm - uno dei miei broker ha aggiornato a b765 - può essere che questa versione abbia perso questa "caratteristica"?
Usare uno script powershell che cancella immediatamente tutti i file di log nella tua cartella nel tempo?
NON TESTATO!
Perciò questo:
I file che non possono essere rimossi sono 'Silently[..]' bypassati e cancellati la volta successiva.
Penso che tu possa rimuovere -Force (così ho fatto io).
NO! La prossima volta significava dopo i 60 secondi di sonno! Non l'ho scritto?
Ogni minuto lo script cerca i log da cancellare!
Dato che - secondo me - un'esecuzione di prova blocca solo 1 file di log, quelli creati in precedenza possono essere cancellati - ma provate voi stessi.
Non posso perché non ho niente da ottimizzare in questo momento...
Che cosa intendi? I log di cui sto parlando registrano ogni SL che si è verificato durante l'ottimizzazione per ogni passaggio dell'ottimizzazione. Li ho già postati, quindi cosa c'è da interpretare diversamente in questi? Mostra chiaramente ciò che registra e questo in realtà non è affatto il problema, il problema è che registra tutto mentre non dovrebbe durante l'ottimizzazione perché ingombra l'harddisk.
Non stai leggendo i post degli altri.
Ho postato i miei log dai quali si può vedere che sto usando stoploss e che stoploss viene attivato dal sistema. Ho anche dichiarato sotto quale build ho fatto dei test.
Ma tu stai facendo le stesse domande a cui hai già risposto.
E nello stesso tempo state pubblicando grandi log che non contengono alcuna informazione.
E potrei piuttosto suggerirvi di imparare a TROVARE i log? Per X post mi stai dicendo "no, non c'è nulla di registrato" nelle build 670 e 745 e ora all'improvviso dici che si registra anche sul tuo sistema? LOL
Ti ho già detto che questo comportamento è in qualche modo innescato e che ovviamente ha bisogno di qualche altro fattore oltre all'ottimizzazione genetica per manifestarsi.
Ma è più facile e comodo scrivere LOL LOL che leggere e cercare di capire.
Inoltre, qual è il tuo problema? Rimuovi lo SL e esci dai trade con OrderClose().
Dal tuo scritto è ovvio che sei consapevole che MQ non si preoccupa di questo o di altri bug minori.
graziani,
questa non è la soluzione più appropriata, ma potresti provare a impedire a metatrader.exe di scrivere nella directory dei log modificando le ACL sulla directory dei log.
attenzione: fallo solo se sai cosa stai facendo.
saluti
graziani: scusa, non commenterò ulteriormente i tuoi post.
gooly: sì, so cosa intendi, ma non può ancora cancellare i file di log, sono bloccati e quindi non funziona. Prova tu stesso.
ics-mq4: questa è una cosa che ho provato anch'io e funziona, ma rallenta l'ottimizzazione di un fattore 10 purtroppo. Molto probabilmente perché Metatrader viene bombardato di errori perché non riesce a scrivere nella directory e riprova alcune volte prima di rinunciare. Un altro trucco è quello di cancellare la directory "logs" e creare un file con lo stesso nome, nel qual caso Metatrader non può più creare la directory "logs". Ma in questo caso succede lo stesso, un forte rallentamento dell'ottimizzazione.