В продолжение моего вопроса
Предложенный вами вариант годится для первой записи файла.
Насколько я понимаю, после создания очередной записи (FileWrite) указатель находится после этой последней записи. Чтобы последующей командой FileReadNumber прочитать эту последнюю запись я и пытаюсь вернуть указатель на шаг (запись) назад. Удобнее это сделать от конца файла (если конечно командой FileSeek можно перемещать указатель назад). Если движение назад возможно, то как будет выглядеть команда
FileSeek ? Так: FileSeek (Handle,-1,Seek_End) ?
Предложенный вами вариант годится для первой записи файла.
Насколько я понимаю, после создания очередной записи (FileWrite) указатель находится после этой последней записи. Чтобы последующей командой FileReadNumber прочитать эту последнюю запись я и пытаюсь вернуть указатель на шаг (запись) назад. Удобнее это сделать от конца файла (если конечно командой FileSeek можно перемещать указатель назад). Если движение назад возможно, то как будет выглядеть команда
FileSeek ? Так: FileSeek (Handle,-1,Seek_End) ?
И еще о работе с файлами
Команда FileSeek всегда устанавливает указатель на начало соответствующей записи (на первое поле) или это зависит от того
на каком поле находился указатель перед выполнением этой команды ? Например перед командой FileSeek указатель стоял на
втором поле текущей записи, выдали команду FileSeek (Handle,5,Seek_Cur) и указатель вновь на втором поле, но уже записи через 5 после текущей ?
Команда FileSeek всегда устанавливает указатель на начало соответствующей записи (на первое поле) или это зависит от того
на каком поле находился указатель перед выполнением этой команды ? Например перед командой FileSeek указатель стоял на
втором поле текущей записи, выдали команду FileSeek (Handle,5,Seek_Cur) и указатель вновь на втором поле, но уже записи через 5 после текущей ?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В эксперте создаю файл, где первое поле каждой записи есть величина Time для соответствующего бара. Поскольку дело не заладилось то сразу после создания очередной записи читаю ее первое поле, выделяю Year, Month и Hour и сравниаю их с текущими - они совсем разные ??? Вот этот код:
Handle = FileOpen ("FileH1",",");
FileSeek (Handle,0,SEEK_END);
FileWrite (Handle,Time,Bar,.........);
FileSeek (Handle,1,Seek_End);
CTime = FileReadNumber(Handle);
Print ("Year: ",TimeYear(CTime)," Month: ",TimeMonth(CTime)," Hour: ",TimeHour(CTime));
Print ("Year: ",TimeYear(Time)," Month: ",TimeMonth(Time)," Hour: ",TimeHour(Time));
FileClose (Handle);
Насколько я понимаю - значени полученные из Time длжны совпадать со значениями из файла, но они абсолютно РАЗНЫЕ ??
В чем может быть моя ошибка ?