Вопросы от "чайника" - страница 204

 

Я попытался ради интереса посмотреть файлы истории hcc.

Оказалось, что строка записей данных внутри бинарника hcc начинютя с FileSeek(handle,15333,SEEK_SET) , и выглядят:

4 byte int Separator

4 byte int datetime

8 byte double Open

8 byte double High

8 byte double Low

8 byte double Close

1 или 2 byte int TickVolume

1 или 2 byte int Spread

и могут быть до 4 byte Volume 

Притом длинна последних двух-трех int определяется из первого Separator, насколько я понял. Только не понял как? Подскажите пожалуйста, как определяется 1 или более байта будут последние 2-3 int?

 
ANG3110:

 Подскажите пожалуйста...

Кажется я догадался - сепаратор содержит структуру чтения данных в 16-ричном коде. Типа Separator=18385028, в 16-м от младшего разряда 4888811, то есть 4 byte, 8 byte .... 1 byte.

Кажется так?

P.S. Точно так файлы читаются, только между днями нужно делать пропуски 189 байт.

Теперь я понимаю почему разработчики не обнародуют эти файлы. Дело не только в синхронизации с сервером, но содается впечатление, что они боятся что их упрекнут в структуре построения и организации файлов, типа настоящее "Горе от ума". Добавить Аски жмотятся, а на всевозможную перестраховку от несинхронности, ну целый атомоход "Ленин" нагородили. Мне лично все эти извращения как-то не понятны и грустны.

 
ANG3110:
Теперь я понимаю почему разработчики не обнародуют эти файлы. Дело не только в синхронизации с сервером, но содается впечатление, что они боятся что их упрекнут в структуре построения и организации файлов, типа настоящее "Горе от ума". Добавить Аски жмотятся, а на всевозможную перестраховку от несинхронности, ну целый атомоход "Ленин" нагородили. Мне лично все эти извращения как-то не понятны и грустны. 

*.HCC файлы являются сжатыми блоками данных, что означает их непригодность для прямого чтения.

Эти файлы служат исходными данными для создания расжатых рабочих таймфреймов, которые кладутся в подкаталог /cache.

 
Renat:

*.HCC файлы являются сжатыми блоками данных, что означает их непригодность для прямого чтения.

Эти файлы служат исходными данными для создания расжатых рабочих таймфреймов, которые кладутся в подкаталог /cache.

Ренат. А почему такую сложность-то нагородили? Это что оправдано? Я не программист и возможно что-то недопонимаю, но смотреть на порядок записей - ну просто жуть. Разве это удобно для Вашей же работы?

Я вообще-то конечно смотрел это на предмет возможности перезаписи файлов hcc. Но взглянув на их сложность, разбирать все дальше по косточкам как-то расхотелось. Сейчас на демо идут котировки FXCM, я смотрю. Но почему-то истоия только с октября. У меня есть как раз на них счет, только без маркапа с комиссией. Я в свое время выкачал через ихнее API к TS2 минутки за много лет и притом с Асками также. Хотел их внедрить в МТ5, чтобы тесты были более реалистичными. Но сейчас как-то расхотелось. Если разработчики не дадут полную структуру hcc файлов, то придется по старинке делать тесты в МТ4, посредством скриптов, считывая реальные данные с асками из имеющихся файлов истории. Кстати FXOpen дает историю с Асками, прямо в МТ4. Здорово. Жаль только их в тестер не засунешь. Но хоть скриптами можно тестировать.   

 
ANG3110:

Я попытался ради интереса посмотреть файлы истории hcc.

Оказалось, что строка записей данных внутри бинарника hcc начинютя с FileSeek(handle,15333,SEEK_SET)

а что находится в этих первых 15333 байтах, получилось понять?

ANG3110:

Кажется я догадался - сепаратор содержит структуру чтения данных в 16-ричном коде. Типа Separator=18385028, в 16-м от младшего разряда 4888811, то есть 4 byte, 8 byte .... 1 byte.
Кажется так?

хм, похоже на то. получается файл читается по блочно, варьируя размером блока в зависимости от указанного сепаратора.

P.S. Точно так файлы читаются, только между днями нужно делать пропуски 189 байт.

это тоже речь про hcc ?

я заметил, что дни дейтвительно начинаются с "шапки". В который попадает имя символа и т.д. Вероятно в эту шапку вносится некоторая количественная инфа по содержащимся в этом дневном блоке данных


А почему такую сложность-то нагородили? Это что оправдано?
100% оправдано. Для экономии и хранении объема передаваемых данных.


PS

Вы тему не бросайте, ведь очень интересно свои минутки создавать.  Если конечно терминал их не перепишет при какой то очередной синхронизации  с сервером.
 
К сожалению, hcc файлы нельзя менять - они неминуемо будут переписаны на синхронизации.

Формат сжатия у нас очень эффективный, без него сетевого трафика было бы в разы больше.
 
Работаю на нерусскоязычном Windows, язык MetaEditor-a поставил на русский, но пры вызове справки (F1) вылезает по-английски. Подскажите, мож где-нибудь надо что-нибудь ещё поменять на русский, чтоб справка выскакивала по-русски. Дома сижу на русском Windows и всё нормально.
 
paladin800:
Работаю на нерусскоязычном Windows, язык MetaEditor-a поставил на русский, но пры вызове справки (F1) вылезает по-английски. Подскажите, мож где-нибудь надо что-нибудь ещё поменять на русский, чтоб справка выскакивала по-русски. Дома сижу на русском Windows и всё нормально.
А посмотрите в каталогах, там у Вас есть русскоязычный файл Справочника?
 
Yedelkin:
А посмотрите в каталогах, там у Вас есть русскоязычный файл Справочника?
Спасибо, что направили мысли в нужном направлении. У меня был файл "mql5.chm" (по-английски). Я его удалил, с сайта скачал "mql5_russian.chm"  включил MetaEditor потом F1 и вуаля справка по-русски, что и требовалось получить.
 
paladin800:
Работаю на нерусскоязычном Windows, язык MetaEditor-a поставил на русский, но пры вызове справки (F1) вылезает по-английски. Подскажите, мож где-нибудь надо что-нибудь ещё поменять на русский, чтоб справка выскакивала по-русски. Дома сижу на русском Windows и всё нормально.

После смены языка в Метаедиторе, Вы перезагрузили его?

Будем проверять.

Причина обращения: