Grazie per l'articolo. Per molto tempo ho voluto creare qualcosa di simile, ma non sono riuscito a trovare tutte le mani. E ora... lo sto già usando.
Anche a me è piaciuto l'articolo, grazie. Perché MT stampa con dei salti ed è molto scomodo.
Ero più interessato a questo o a cose simili:
void PrintDebugInfo(string InputString) { CopyTime(Symbol(),Period(),0,1,Time); ArraySetAsSeries(Time,true); FileWrite(FileHandle,Time[0]," ",InputString); }
Grazie per il codice, lo useremo....
Grazie per l'articolo. Per molto tempo ho voluto creare qualcosa di simile, ma non sono riuscito a trovare tutte le mani. E ora... lo sto già usando.
Man mano che lo userete, migliorerò la classe e il programma, perché ho scritto prima per me stesso, e poi mi è venuto in mente l'articolo))))
Materiale molto utile!
Se si dimentica di usare il flush, si può verificare una perdita di dati.
Una soluzione migliore sarebbe la seguente:
private: void flush(void); // Caricamento della cache nel file
//+------------------------------------------------------------------+ //| Deinizializzazione| //+------------------------------------------------------------------+ void CLogger::deinit(void) { flush(); // Risciacquare i dati FileClose(handleFile); // Chiudere il file }
In modo che il salvataggio dei dati avvenga automaticamente.
ps.: Mi dispiace se ho offeso l'ortografia, il traduttore di Google mi ha aiutato ...
Dmitry Alexandrovich, grazie per il tuo lavoro, ho cercato a lungo qualcosa di simile e finalmente l'ho trovato ))
suggerimento per migliorare logmon.exe, per fare un'impostazione che sarebbe in grado di specificare i percorsi in cui cercare i file con i log, perché per avere due copie in cartelle diverse (per il tester e il lavoro standard) in qualche modo amatoriale ))
anche se forse lo finirò io stesso quando ci metterò le mani sopra ))
se hai qualcos'altro di utile - postalo, il tuo stile di programmazione e presentazione del materiale è molto cervellotico )).
Ricevo un errore quando eseguo il debug sui dati storici: "MQL5 debugger failed to start debugging 'testlogger.ex5' on history". Sui dati reali funziona bene.
Potete dirmi cosa devo modificare per farlo funzionare sulla cronologia?
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Il nuovo articolo Ricerca di Errori e Registrazione è stato pubblicato:
MetaEditor 5 ha la funzione di debug. Tuttavia quando scrivi i tuoi programmi MQL5, spesso non vuoi visualizzare solo i singoli valori, ma tutti i messaggi che appaiono durante i test e il lavoro online. Quando il contenuto del file del log è di grandi dimensioni, è ovvio automatizzare il recupero rapido e semplice del messaggio richiesto. In questo articolo considereremo i modi per trovare errori nei programmi MQL5 e i metodi di logging. Inoltre semplificheremo l'accesso ai file e conosceremo un semplice programma LogMon per una comoda visualizzazione dei log.
Ora ti dirò e ti mostrerò come puoi migliorare l'accesso a un file e darti il pratico strumento per visualizzare i log. Questa è l'applicazione per Windows, che ho scritto in C ++ e l'ho chiamata LogMon.
Iniziamo con la scrittura della classe, che farà tutta il logging, vale a dire:
Poiché MQL5 è un linguaggio orientato agli oggetti e non differisce significativamente da C ++ nella sua velocità, scriveremo una classe specifica per MQL5. Cominciamo.
Implementazione della Classe di Scrittura del Log nel File
Metteremo la nostra classe in un file di include separato con l'estensione mqh. Ecco la struttura generale della classe.
Autore: Дмитрий Александрович