Come ottenere informazioni di "errore" dal diario? - pagina 3

 
ydrol:

Spero di non dire un'ovvietà, e mi scuso se lo faccio!

Sospetto che tutti quelli che hanno risposto abbiano dato per scontato che tu lo sappia, ma il diario di MT è semplicemente un numero di file, le cui ultime linee sono visualizzate nella GUI.

I file (per il back testing) si trovano in MetaTrader Install Folder/tester/logs

È possibile cercare attraverso poi utilizzando qualsiasi strumento a vostra disposizione - ad esempio dos comando Findstr per estrarre i file ...

cd MetaTrader Folder/tester/logs

Findstr some_text *.log

Findstr some_text *.log > small_log.txt


Ancora una volta, mi scuso se sto dicendo l'ovvio e si sta effettivamente cercando qualcos'altro?


Nella mia prima risposta, ho chiesto: "Il diario potrebbe non avere tutte le informazioni, ma i file di log non vengono cancellati, vero?

Quindi ho dato per scontato che stesse effettivamente aprendo il registro.

Forse era la supposizione sbagliata e sta cercando di controllare il diario, non il registro.

Se non lo sa, puoi accedere al registro cliccando con il tasto destro nella finestra del diario e cliccando su apri. Poi si può aprire l'ultimo file di registro o qualsiasi altro.

 
Proximus:

+Di solito faccio dei backtest al giorno d'oggi con 5000-7000 trade o più, 1 linea per orderopen, 3-4 linee per trailstops ordermodify, e 1 linea per orderclose =thats 6 linee /trade * 7000 trade =thats ~42000 linee o modalità e sono sicuro che il giornale MT4 non ne tiene così tante :)

Il file di log . . non solo quello che viene mostrato nel diario, conterrà GB se questo è quello che vuoi. . . sembri essere più interessato a contare gli errori piuttosto che trovarli e correggerli, se questo è tutto quello che vuoi fare allora basta codificare un contatore per ogni numero di errore e incrementare il conteggio . . come questo aiuta non lo so, ma sembri abbastanza insistente quindi ti lascio andare avanti con questo.
 

Nessun problema, stavo rispondendo a OP. Possono semplicemente usare strumenti per analizzare i file di log? Se su Linux, grep "some text" *.log | wc -l ottiene un rapido conteggio delle partite, ma non ho potuto trovare rapidamente un equivalente costruito in Windows (passando troppo tempo qui :) ),

Ora che ci penso ho il sospetto che powershell abbia qualcosa...

 
Ovo:

Non c'è bisogno di scusarsi, ma ho capito che l'OP non era interessato a trovare e risolvere gli errori, ma piuttosto alle loro statistiche.
In realtà entrambe le cose, voglio prima conoscere i tipi di errori che si verificano, perché non sono sicuro del mio codice e sono piuttosto scettico, quindi voglio escludere tutti gli errori del mio EA, dopo averne alcuni dati sarà più facile correggerli ed evitarli in futuro.
ydrol:

Nessun problema, stavo rispondendo a OP. Possono semplicemente usare strumenti per analizzare i file di log? Se su Linux, grep "some text" *.log | wc -l ottiene un rapido conteggio delle partite, ma non ho potuto trovare rapidamente un equivalente costruito in Windows (spendendo troppo tempo qui :) ),

Ora che ci penso ho il sospetto che powershell abbia qualcosa...

Penso che voi ragazzi siate molto presi da quella cosa della ricerca dei file, quando vi ho detto che non ce n'è bisogno, anche questa è una soluzione, ma è il "modo difficile", un buon programmatore deve trovare prima il modo ottimale, quindi dobbiamo cercare all'interno del codice quando è ancora ottenibile, quindi nel diario, perché il registro è troppo grande nel mio caso, se andassi ad usare il "trova" nel blocco note ci metterei anni per trovare tutti gli errori e i loro dettagli specifici.

Inoltre ho dimenticato di menzionare nel primo post che ho bisogno di vedere anche le linee vicine nel diario, perché ho aggiunto alcuni "Print()" che stamperanno alcuni dati chiave come il valore corrente degli indicatori, SL, TP e li mostreranno bene nel diario/log, ma devo vedere anche l'errore associato a quei dati, così per esempio se prendo uno SL con valore 0 allora saprò che quell'errore è dovuto a quello.

Così dopo una grande ricerca e un'immersione nel linguaggio mql4 ho trovato questo:

GetLastError();

Penso che la soluzione di cui ho bisogno sia all'interno di questa funzione, ho letto la documentazione su di essa, ed è piuttosto corta, qualcuno può aiutarmi ad usarla o spiegarla più dettagliatamente?

 
Proximus:

Così dopo una grande ricerca e un'immersione nel linguaggio mql4 ho trovato questo:

Penso che la soluzione di cui ho bisogno sia all'interno di questa funzione, ho letto la documentazione su di essa, ed è piuttosto corta, qualcuno può aiutarmi ad usarla o spiegarla più dettagliatamente?

 
Beh, penso che probabilmente tutti abbiamo dato per scontato che tu stessi cercando le stampe di GetLastError();
 
GumRai:
Beh, penso che probabilmente tutti abbiamo dato per scontato che tu stessi cercando le stampe di GetLastError();
Sì, ma ho bisogno di costruire un tester che verifichi gli errori e li raggruppi per tipo e li conti se è possibile, qualcuno può spiegare più dettagliatamente come posso usare questa funzione nella codifica avanzata?
 
Proximus:
Sì, ma ho bisogno di costruire un tester che verifichi gli errori e li raggruppi per tipo e li conti, se è possibile. qualcuno può spiegare più dettagliatamente come posso usare questa funzione nella codifica avanzata?

Cosa sono i valori di ritorno della funzione? Come posso usarli?

Come controllo l'output del debug nel log

 
Proximus:

Penso che voi ragazzi siate molto presi da quella cosa della ricerca dei file, quando vi ho detto che non ce n'è bisogno, anche quella è una soluzione, ma è la "via più difficile".Un buon programmatore deve trovare prima la via ottimale


Un buon programmatore usa gli strumenti giusti per il lavoro. Il log è un file di testo. Ci sono una miriade di strumenti per cercare il file di testo e contare le linee, e visualizzare il contesto/le linee vicine se si vuole. Questi sono stati in giro per anni. Scommetto che alcuni hanno anche un'interfaccia grafica point-n-click che ti piacerebbe.

Un buon programmatore non programmerebbe mai qualcosa quando non è necessario (se non per curiosità).

Prima dici ai programmatori quanto sia semplice il tuo codice trendline nonostante la mancanza di informazioni, ora scarti il modo più semplice per cercare nei file di testo come il modo difficile?

Buona fortuna!

 

Grazie per le informazioni, sembra interessante.


ydrol:

Un buon programmatore usa gli strumenti giusti per il lavoro. Il log è un file di testo. Ci sono una miriade di strumenti per cercare il file di testo e contare le linee, e visualizzare il contesto/le linee vicine se vuoi. Questi sono stati in giro per anni. Scommetto che alcuni hanno anche un'interfaccia grafica point-n-click che ti piacerebbe.

Un buon programmatore non programmerebbe qualcosa quando non deve farlo (a meno che non sia per curiosità).

Prima dici ai programmatori quanto sia semplice il tuo codice trendline nonostante la mancanza di informazioni, ora scarti il modo più semplice per cercare file di testo come il modo più difficile?

Buona fortuna!


Ok, forse non è così semplice, ma è comodo e ti incuriosisce, e anche a me piace programmare cose, è per pigrizia, è meglio se un bot fa il lavoro duro, è il loro scopo, sostituisce il lavoro umano.