Errori, bug, domande - pagina 477

 
stringo:

Nel tuo caso, devi usare gli array dinamici

Grazie, funziona.

 

Correggere, se non difficile, l'errore nel tester.

Gli esperti sono ciechi quando elaborano una zecca. È impossibile aggiornare le informazioni su un simbolo durante l'elaborazione dei tick.

Nel trading normale questo non accade e tutti i dati sono aggiornati.

https://www.mql5.com/ru/forum/4270/page2#comment_87059

Senza questa correzione è impossibile elaborare correttamente gli errori di trading.

RefreshRates() внутри OnTick()
RefreshRates() внутри OnTick()
  • www.mql5.com
Если это невозможно, то как проще всего реализовать обработку ошибок торговых операций с проверкой котировок на обновление?
 

Quando, durante l'ottimizzazione, tutti i trade sono in positivo, il file di report xml è storto.

... Per favore, correggetelo.

 

O non capisco qualcosa, o avete dimenticato di fare la funzione FileClear()

Ora, come ho capito, per cancellare un file devi 1 chiudere, 2 cancellare, 3 aprire. - Questo è molto scomodo.

 
vyv:

O non capisco qualcosa, o avete dimenticato di fare la funzione FileClear()

Ora, come ho capito, per cancellare un file devi 1 chiudere, 2 cancellare, 3 aprire. - Questo è molto scomodo.

Perché avete bisogno di cancellare un file? Si sposta il puntatore del file a 0 e si inizia a scrivere.
 
stringo:
Perché cancellare il file? Sposta il puntatore del file a 0 e inizia a scrivere.
Se ci sono 5 linee nel file. Voglio invece scrivere 3. Sposto il puntatore all'inizio del file, scrivo 3.... E dietro di loro ce ne sono altri 2... Così ci sono 5 linee nel file invece di 3 - scudo...
 
vyv:
Se ci sono 5 linee nel file. Voglio sovrascriverli con 3. Sposto il puntatore all'inizio del file, scrivo 3.... E ce ne sono altri 2 dietro di loro... Così ci sono 5 linee nel file invece di 3 - uno scudo...

Aprire il file con il flag di sola scrittura FILE_WRITE e scrivere quello che si vuole. Tutto quello che c'è stato prima sarà cancellato.

Ci sono alcune particolarità nel lavorare con i flag di lettura e scrittura:

  • Se viene specificato FILE_READ - viene fatto un tentativo di aprire un file che esiste già. Se il file non esiste, il file non può essere aperto, un nuovo file non viene creato.
  • Se FILE_READ|FILE_WRITE - viene creato un nuovo file se non esiste un file con quel nome.
  • Se FILE_WRITE - il file viene ricreato con dimensione zero.
 

Sembra che la funzione FileChangeSize sia necessaria

 
La WinAPI ha la funzione SetEndOfFile
 
stringo:

La funzione FileChangeSize sembra essere necessaria

E hanno anche dimenticato le funzioni di rinominazione dei file/cartelle.

// OK, sono d'accordo, puoi rinominare con FileMove(...), ma per le cartelle abbiamo bisogno anche di un analogo. :)

Motivazione: