Utilizo la función Kim - abrir archivo - escribir una línea - cerrar el archivo y luego dar la vuelta.
//+------------------------------------------------------------------+ //| Запись строки в файл | //+------------------------------------------------------------------+ 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); } }
edición en vivo...
Gracias, ha funcionado.
También ejecuté el de Kim, pero la cadena era diferente handle = FileOpen("Summa.txt", FILE_CSV|FILE_WRITE, '\t');
Utilizo la función de Kim - abrir el archivo - escribir la cadena - cerrar el archivo y luego alrededor.
no quiero comprobarlo, pero creo que FileFlush() https://docs.mql4.com/ru/files/FileFlush debería ayudar a no cerrar el archivo cada vez, si FileFlush() arregla la situación, es mejor abrir el archivo en init(), y cerrarlo en deinit(), hice algo similar, parece que añadir una vez más FileWrite(file_handle, ""); escribirá una nueva línea - es decir, cada FileWrite() se escribe con una nueva línea - compruébalo
ZS: Siempre escribo gráficos fuera de línea no estándar sin cerrarlos, usando FileFlush()
S)+";"+Do También puedes hacer un array vacío :) de 1 o 2 elementos :) o añadir... +DoubleToStr(AccountEquity(),1)+"\r\n"; FileWrite(path, Symbol(), TimeToStr(TimeCurrent(),TIME_DATE),DoubleToStr(AccountBalance(),1), DoubleToStr(AccountEquity(),1),TimeToStr(TimeCurrent(),TIME_SECONDS)+"\r\n"); |
Hola a todos. Estoy intentando escribir cada nueva orden en una nueva línea, ¿podríais decirme qué estoy haciendo mal? Sólo queda la última orden abierta.
void OnTick()

- AM2
- www.forexsystems.biz
Hola a todos. Estoy tratando de escribir cada nueva orden en una nueva línea, ¿podría decirme qué estoy haciendo mal? Sólo queda escrito el último que se ha abierto.
El archivo se sigue sobrescribiendo debido a banderas erróneas. No sólo debe abrir el archivo para escribir, sino también para leer. Entonces no se recreará:
int h=FileOpen("Copy.txt",FILE_WRITE | FILE_READ,";");
El archivo se sobrescribe constantemente debido a banderas incorrectas. No sólo debe abrir el archivo para escribir, sino también para leer. Entonces no se recreará:
Muchas gracias. ¡Muchas gracias!
La propia descripción de la función contiene esta información, por alguna razón se me pasó por alto y ni siquiera sabía qué camino seguir... Pensé que había seleccionado un tipo de archivo equivocado, txt en lugar de csv, pero resultó ser muy sencillo. )))
¿Puedes decirme cómo borrar una línea después de leerla, hay alguna forma sencilla de hacerlo?

- www.mql5.com

- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Ayúdame a averiguar cómo escribir en un archivo.
Esta es la función:
Necesito que los nuevos datos se escriban en una nueva línea en Excell, he buscado en todo el código del foro, incluyendo el tutorial y la documentación, pero no hay resultado :(((