Errori, bug, domande - pagina 115

 
sergey1294:

Renat ti ha scritto chiaramente come aprire il barattolo del log, se non è chiaro puoi farlo in questo modo. Fare clic sulla scheda Esperti, poi fare clic con il tasto destro del mouse sul registro e selezionare apri nella lista che è apparsa

o come questo

L'ho fatto esattamente come ha scritto Renat. Il file 20100831.log nella directory C:\Program Files\MetaTrader 5\MQL5\Logs è di lunghezza zero, cioè vuoto.

Ma nella seconda parte del tuo post c'era un'altra opzione per visualizzare i dati, che ha funzionato (grazie per questo). Questo mi ha dato un'idea e una serie di esperimenti.

Sperimentato. Credo che la ragione dei dati mancanti sia che i dati sono rimasti nel buffer dopo la chiusura dell'Expert Advisor e sono stati resettati sul disco nel journal solo dopo la chiusura di MT5 (l'eliminazione dell'Expert Advisor da un grafico non ha questo effetto).

Ripetere l'esperimento da zero. La chiusura dell'Expert Advisor lascia il file vuoto, senza dati. La chiusura di MT5 scrive fisicamente i dati dal buffer al log.

Potete consigliarmi se esiste un analogo del comando di scrittura forzata dei dati nel giornale dell'Expert Advisor (come FileFlush)?

 
Renat:

Il file può essere temporaneamente vuoto, perché il terminale tiene i log in memoria e li reimposta su disco in porzioni.

Per forzare il dump dei log su disco, usate il comando "Open" nella finestra di log richiesta.

La tua risposta ha anticipato la mia domanda :)

Grazie per il vostro aiuto!

 

Non esiste un comando software esplicito per resettare i buffer di sistema del terminale.

Il terminale si occupa da solo della frequenza e della quantità di dati di log reimpostati su disco.

 
Renat:

Non esiste un comando software esplicito per resettare i buffer di sistema del terminale.

Il terminale stesso si occupa della frequenza e del volume di reimpostazione dei dati di registro su disco.

Capisco.

Ma sei d'accordo che sarebbe logico scrivere forzatamente tutte le informazioni memorizzate dal buffer al registro quando l'EA viene rimosso dal grafico.

 
retired:

Ma sono d'accordo che sarebbe logico, quando l'EA viene rimosso dal grafico, forzare la scrittura di tutte le informazioni memorizzate dal buffer al log.

Solo se si presume che qualcuno esterno guardi questi file di proposito. Se è fatto da una persona, i buffer del registro sono forzatamente resettati quando viene chiamata la funzione "Open".

In modalità di lavoro, Expert Advisors può generare (e fare) così tanti log che il terminale deve necessariamente bufferizzarli per non rallentare su operazioni frequenti e piccole di file.

Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5
 

Buon pomeriggio!

La funzione Print ha visto un valore nel registro _Point come 1e-005. Come si legge questo valore 1e-005?

Документация по MQL5: Общие функции / Print
Документация по MQL5: Общие функции / Print
  • www.mql5.com
Общие функции / Print - Документация по MQL5
 
abeiks:

Buon pomeriggio!

La funzione Print ha visto un valore nel registro _Point come 1e-005. Come si legge questo valore 1e-005?

0,00001 (1 alla meno 5a potenza)
 

Possiamo fare qualcosa per lo stylizer... Annoiato...

L'idea è di nuovo molto buona e utile, se prima cliccavo io stesso spazi e tabulazioni, ora si fa, e soprattutto si risparmia tempo quando si cambia il codice. Rimosso una parentesi o una condizione, ecc, cliccato e tutto è allineato, visivamente più facile continuare a lavorare. Ma, perché mette le cornici? OVUNQUE!!! Nel mezzo del codice! E TANTE cornici...! Una casella è necessaria solo una volta, nel titolo di una funzione, ed è più facile copiarla da soli che cancellare un mucchio ENORME di caselle inutili.

Per favore, non dite che non cambierete nulla, questa roba non è difficile da rimuovere, senza di essa la styler è una cosa molto utile e pratica.

 
stringo:
0,00001 (1 al meno 5° grado)
Capisco, grazie.
 
stringo:
0,00001 (1 alla meno 5a potenza)

corretto 0,00001=1*10^(-5)

sbagliato 0,00001=1^(-5)

Motivazione: