Скачать MetaTrader 5

Вопрос на засыпку. ВСЕМ.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114277
Forex Trader  
Всеп привет.
Сталкнулся с такой бедой, ну ни как не получается переписывать файл.

FileOpen("files.txt",FILE_READ|FILE_WRITE," ");

Вывод в файл идет нормально, но каждый раз добавляется новая строка.
Так инфа в файл кидается:
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0.857
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0.8678 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0.8562


Как сделать что-бы при новой записи она стерала строчку и писалась вместо нее? Желательно с примером.
Forex Trader
114277
Forex Trader  
Всеп привет.
Сталкнулся с такой бедой, ну ни как не получается переписывать файл.

FileOpen("files.txt",FILE_READ|FILE_WRITE," ");

Вывод в файл идет нормально, но каждый раз добавляется новая строка.
...
Как сделать что-бы при новой записи она стерала строчку и писалась вместо нее? Желательно с примером.

    
int nTik;
int handle = FileOpen("files.txt",FILE_CSV|FILE_READ|FILE_WRITE);
if(handle<1)
   {
      Print("Файл files.txt не обнаружен или не открыт, последняя ошибка ", GetLastError());
      return(false);
   }
FileSeek(handle, 0, SEEK_SET);
FileWrite(handle,nTik);  
Forex Trader
114277
Forex Trader  
Плохой подход. Переместив файловый указатель в начало файла, вы потом должны убедиться, что указатель конца файла тоже перемещен. Пример: пишем вашим способом в файл 123456789, закрываем файл, открываем снова, пишем более короткую строку 987. Вместо ожидаемого содержимого 987, имеем 987456789, то есть остался хвост прежнего содержимого.

Возможно два варианта решения проблемы. Первый. Должен быть флаг, который обнуляет файл. Это - вопрос к разработчикам, может его и не предусмотрели.

Второй - FileDelete(). Эта функция удаляет файл, и новый запишется чисто, без присоединений и хвостов.
Forex Trader
114277
Forex Trader  
Вобщем проблему решил, все шеколадно. Но вот теперь как правельно дать понять эксперту на выполнение торговли из параметров файла.
В txt помещается такая строка
TIME: 2006.02.08 16:00 SELL = 0.0000 BUY =1.1922
Все в одну строчку.
Так вот как появилась скажем BUY > 0 т.е. конкретное число, то через 2 бара эксперт делает BUY и при SELL > 0 закрывает. Для SELL порядок тотже только обратный.
Объясните на примере как из прочитанного файла определить что BUY = Числу, а не 0.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий