Я кимовской функцией пользуюсь - файл открываем - строку записываем - файл закрываем и далее по кругу.
//+------------------------------------------------------------------+ //| Запись строки в файл | //+------------------------------------------------------------------+ 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); } }
правка в прямом эфире...
Я кимовской функцией пользуюсь - файл открываем - строку записываем - файл закрываем и далее по кругу.
не хочу проверять, но думаю FileFlush() https://docs.mql4.com/ru/files/FileFlush должен помочь, чтобы не закрывать каждый раз файл, если FileFlush() исправит положение, то открывать файл лучше в init(), а закрывать в deinit(), делал нечто похожее, кажется добавление еще раз FileWrite(file_handle, ""); запишет новую строку - т.е. каждый FileWrite() пишется с новой строки - проверять нужно
ЗЫ: у меня нестандартные оффлайн графики постоянно пишутся без закрытия, с помощью FileFlush()
S)+";"+Do можно и пустой массивчик сделать :) из 1го-2х элементов :) или всётаки добавить... +DoubleToStr(AccountEquity(),1)+"\r\n"; FileWrite(path, Symbol(), TimeToStr(TimeCurrent(),TIME_DATE),DoubleToStr(AccountBalance(),1),DoubleToStr(AccountEquity(),1),TimeToStr(TimeCurrent(),TIME_SECONDS)+"\r\n"); |
Всем привет. Пытаюсь каждый новый ордер записать в новую строку, подскажите что делаю не правильно? Остаётся записан только последний открытый.
void OnTick()
- AM2
- www.forexsystems.biz
Всем привет. Пытаюсь каждый новый ордер записать в новую строку, подскажите что делаю не правильно? Остаётся записан только последний открытый.
Файл постоянно перезаписывается из-за неправильных флагов. Нужно открывать файл не только на запись, но и на чтение. Тогда не произойдет его пересоздание:
int h=FileOpen("Copy.txt",FILE_WRITE | FILE_READ,";");
Файл постоянно перезаписывается из-за неправильных флагов. Нужно открывать файл не только на запись, но и на чтение. Тогда не произойдет его пересоздание:
Большое спасибо. Очень вам признателен!
В описании самой функции содержится эта информация, почему-то проглядел и уже даже не знал в какую сторону копать дальше... начал думать что выбрал неверный тип файла, txt вместо csv, а оказывается всё просто. )))
Подскажить плз как можно удалить строку после её прочтения, есть какой-нибудь простой способ данной операции?
- www.mql5.com
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Помогите разобраться с записью в файл.
Вот функция:
Мне нужно, что бы новые данные записывались с новой строки в Excell, перерыл весь код на форуме, включая учебник и документацию, но результат нулевой :(((