User History File - страница 2

 
Renat,

Закрытие я поставил в deinit().
int deinit()
{
   FileClose(handle); 
   return(0);
}



Так корректно ? Если да, то в чем еще могут быть причины ?
И что по 3-му вопросу ?

 
Yurixx посмотрите наш пример period_converter - там идёт запись в файл и даётся команда графику на обновление этих данных.
физический сброс данных на диск обеспечивает не только закрытие файла, но и FileFlush
 
Yurixx посмотрите наш пример period_converter - там идёт запись в файл и даётся команда графику на обновление этих данных.
физический сброс данных на диск обеспечивает не только закрытие файла, но и FileFlush


Я его использовал, когда писал свой индикатор для записи истории тиков.
Про FileFlush я тоже прочитал. Команда графику на обновление данных
это, надо полагать, вот эта:
PostMessageA(hwnd,WM_COMMAND,33324,0);


Нигде не нашел ее описания.

Из Вашего ответа следует, что я действительно могу присоединив индикатор
к графику писать историю тиков в файл и, одновременно, открыть этот файл
автономно в другом окне графика. Могу даже обновлять это окно в реальном
времени. Если не так - поправьте.

Но мой основной вопрос все таки в другом.
С чем может быть связан тот факт, что записанные файлы истории
читаются только частично. Я могу дописывать данные в них сколько угодно, но
читаются они только до какого-то бара. И все.

 
И еще вопрос.
В окне данных, связанном с открытым автономно тиковым графиком
отсутствует строка Time. Почему ?
Может быть потому, что я пишу в файл время с секундами, то есть не
округленное до минут ?
 
Но мой основной вопрос все таки в другом.
С чем может быть связан тот факт, что записанные файлы истории
читаются только частично. Я могу дописывать данные в них сколько угодно, но
читаются они только до какого-то бара. И все.

возможно, дело в ограничении количества баров на графике. посмотрите меню - Настройки - вкладка "Графики"
 
И еще вопрос.
В окне данных, связанном с открытым автономно тиковым графиком
отсутствует строка Time. Почему ?
Может быть потому, что я пишу в файл время с секундами, то есть не
округленное до минут ?

строка Time отсутствует для графиков с дневным, недельным и месячным таймфреймами
 
Но мой основной вопрос все таки в другом.
С чем может быть связан тот факт, что записанные файлы истории
читаются только частично. Я могу дописывать данные в них сколько угодно, но
читаются они только до какого-то бара. И все.

возможно, дело в ограничении количества баров на графике. посмотрите меню - Настройки - вкладка "Графики"


У меня стоит баров истории - 128000
баров в окне - 32768.
Дело по-моему не в этом.
строка Time отсутствует для графиков с дневным, недельным и месячным таймфреймами

А к какому таймфрейму относятся юзерские файлы истории ?
Как это определяется ?
 
Renat,

Закрытие я поставил в deinit().
int deinit()
{
   FileClose(handle); 
   return(0);
}



Так корректно ? Если да, то в чем еще могут быть причины ?


Господи, неужели непонятно, что открытие файла Вы пытаетесь делать НА КАЖДОМ ТИКЕ, а закрытие - только при выходе из эксперта?
 
Renat,
я просто для краткости не весь код привел.
Там весь блок с открытием и заголовком стоит под
if (lastTime == 0)



А lastTime бывает равно 0 только в начале работы.
Так что дело не в этом.

 
Renat,
я просто для краткости не весь код привел.
Там весь блок с открытием и заголовком стоит под
if (lastTime == 0)



А lastTime бывает равно 0 только в начале работы.
Так что дело не в этом.


Еще раз повторю: пока файл не закрыт - нет никаких гарантий корректного использования файла.
Соответственно, пока эксперт не завершен(не закрыт файл) - будут проблемы.
Причина обращения: