Скачать MetaTrader 5

Про формат файлов *.hst

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Изучаешь MQL5? Начни с документации!
Forex Trader
114255
Forex Trader 2006.06.04 19:14 
Некоторое время назад легко находил на этом сайте описание структур файла *.hst. Сегодня не нашёл. Возможно эта информация была удалена, возможно я плохо искал. Суть в другом. В скрипте Period_Converter структура заголовка описана так:
//---- History header
   int    version=400;
   string c_copyright;
   string c_symbol;
   int    i_period;
   int    i_digits;
   int    i_unused[13];
//----



А в более ранних версиях MetaTrader это было так:

struct HistoryHeader
{
    int    version;
    char   copyright[64];
    char   symbol[8];
    int    period;
    int    unused[16];
};



Как видим структуры отличаются типами полей. Так какова же структура *.hst файла в последней редакции (не только заголовка а всего файла)?

Forex Trader
114255
Forex Trader 2006.06.04 20:44  
Из того же period-converter'а двумя строками ниже:

//---- write history file header
   c_copyright="(C)opyright 2003, MetaQuotes Software Corp.";
   FileWriteInteger(ExtHandle, version, LONG_VALUE);
   FileWriteString(ExtHandle, c_copyright, 64);
   FileWriteString(ExtHandle, c_symbol, 12);
   FileWriteInteger(ExtHandle, i_period, LONG_VALUE);
   FileWriteInteger(ExtHandle, i_digits, LONG_VALUE);
   FileWriteInteger(ExtHandle, 0, LONG_VALUE);       //timesign
   FileWriteInteger(ExtHandle, 0, LONG_VALUE);       //last_sync
   FileWriteArray(ExtHandle, i_unused, 0, 13);



Думаю, не сложно догадаться, какое поле сколько байт занимает.

Forex Trader
114255
Forex Trader 2006.06.05 11:17  
Вы путаете форматы hst от MT3 и MT4
Forex Trader
114255
Forex Trader 2006.06.05 12:28  
Наконец нашел в архиве форума
"Формат файла истории"
Теперь остался неясным один вопрос: что такое

time_t timesign; // временной отпечаток создания базы

Каков смысл этого отпечатка?
Forex Trader
114255
Forex Trader 2006.06.05 12:45  
На самом деле описание гораздо ближе. В клиентском терминале нажать F1. Сервис - Архив котировок - Формат файлов истории (HST-файлы)

Смысл - внутреннее использование. Заполняйте 0, как это сделано в period_converter
Forex Trader
114255
Forex Trader 2006.06.05 13:52  
На самом деле описание гораздо ближе. В клиентском терминале нажать F1. Сервис - Архив котировок - Формат файлов истории (HST-файлы)

Смысл - внутреннее использование. Заполняйте 0, как это сделано в period_converter


То есть ни timesign, ни last_sync в дальнейшем не меняются? Всегда 0?
Forex Trader
114255
Forex Trader 2006.06.05 14:30  
То есть ни timesign, ни last_sync в дальнейшем не меняются? Всегда 0?

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