Uso la funzione di Kim - aprire il file - scrivere una riga - chiudere il file e poi andare in giro.
//+------------------------------------------------------------------+ //| Запись строки в файл | //+------------------------------------------------------------------+ void WritingLineInFile(string FileName, string text) { int file_handle=FileOpen(FileName, FILE_READ|FILE_WRITE, " "); if (file_handle>0) { FileSeek(file_handle, 0, SEEK_END); FileWrite(file_handle, text); FileClose(file_handle); } }
montaggio dal vivo...
Grazie, ha funzionato.
Ho anche eseguito quello di Kim, ma la stringa era diversa handle = FileOpen("Summa.txt", FILE_CSV|FILE_WRITE, '\t');
Uso la funzione di Kim - aprire il file - scrivere la stringa - chiudere il file e poi in giro.
non voglio controllare, ma penso che FileFlush() https://docs.mql4.com/ru/files/FileFlush dovrebbe aiutare a non chiudere il file ogni volta, se FileFlush() risolve la situazione, è meglio aprire il file in init(), e chiudere in deinit(), ho fatto qualcosa di simile, sembra che aggiungere ancora una volta FileWrite(file_handle, ""); scriverà una nuova linea - cioè, ogni FileWrite() è scritto con una nuova linea - controllate
ZS: scrivo sempre grafici non standard offline senza chiuderli, usando FileFlush()
S)+";"+Do Puoi anche fare un array vuoto :) di 1 o 2 elementi :) o aggiungere... +DoubleToStr(AccountEquity(),1)+"\r\n"; FileWrite(path, Symbol(), TimeToStr(TimeCurrent(),TIME_DATE),DoubleToStr(AccountBalance(),1), DoubleToStr(AccountEquity(),1),TimeToStr(TimeCurrent(),TIME_SECONDS)+"\r\n"); |
Ciao a tutti. Sto cercando di scrivere ogni nuovo ordine in una nuova linea, potresti dirmi cosa sto sbagliando? Rimane solo l'ultimo ordine aperto.
void OnTick()
- AM2
- www.forexsystems.biz
Ciao a tutti. Sto cercando di scrivere ogni nuovo ordine in una nuova linea, potresti dirmi cosa sto sbagliando? Solo l'ultimo aperto rimane scritto.
Il file continua ad essere sovrascritto a causa di bandiere sbagliate. Non dovreste aprire il file solo per scrivere, ma anche per leggere. Allora non verrà ricreato:
int h=FileOpen("Copy.txt",FILE_WRITE | FILE_READ,";");
Il file viene costantemente sovrascritto a causa di flag errati. Non dovreste aprire il file solo per scrivere, ma anche per leggere. Allora non verrà ricreato:
Grazie mille. Grazie mille!
La descrizione della funzione stessa contiene questa informazione, per qualche motivo mi è sfuggita e non sapevo nemmeno che strada prendere... Pensavo di aver selezionato un tipo di file sbagliato, txt invece di csv, ma si è rivelato molto semplice. )))
Puoi dirmi come cancellare una riga dopo averla letta, c'è un modo semplice per farlo?
- www.mql5.com
- 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
Aiutami a capire come scrivere su un file.
Ecco la funzione:
Ho bisogno di scrivere nuovi dati su una nuova riga in Excell, ho guardato tutto il codice sul forum, incluso il tutorial e la documentazione, ma nessun risultato :((((