Файлы с историей котировок в терминале MetaTrader 4
Дата: 12 мая 2009 года
Практически любой программный терминал для биржевой торговли и валютного рынка Forex позволяет получать котировки как в реальном времени, так и в виде базы исторических данных и хранить их локально на компьютере пользователя. Торговый терминал MetaTrader 4 хранит файлы с историческими данными в одном из подкаталогов своей рабочей директории.
Эти файлы имеют расширение *.HST и содержат массивы структур, включающих такие параметры, как: Date, Time, High, Open, Low, Close, Volume. Внутренний формат этих файлов описан в справочной документации по программированию для языка MQL4. Так же описаны структуры данных для приложений на С/С++.
Вот как они выглядят:
struct HistoryHeader
{
int version; // версия базы
char copyright[64]; // копирайт
char symbol[12]; // инструмент
int period; // период инструмента
int digits; // число знаков после запятой в инструменте
time_t timesign; // временной отпечаток создания базы
time_t last_sync; // время последней синхронизации
int unused[13]; // для будущего использования
};
#pragma pack(push,1)
//---- Стандартное представление котировки в базе
struct QuoteInfo
{
time_t ctm; // текущее время в секундах
double open;
double low;
double high;
double close;
double vol;
};
#pragma pack(pop)
Структура HistoryHeader располагается в самом начале файла и содержит общую информацию о хранимых в нём данных. Далее идёт набор самих данных в виде массива структур QuoteInfo. Заголовок файла (структура HistoryHeader) не содержит информацию о количестве записей в файле, поэтому при загрузке данных каждую структуру нужно считывать по отдельности и добавлять в динамический массив, пока не будет достигнут конец файла.
В качестве примера представляю небольшую программу собственной разработки, которая позволяет просматривать файлы с историческими данными для терминала MetaTrader 4.
Так выглядит внешний вид программы:

Для просмотра исторических данных необходимо вначале указать путь к тому каталогу, в котором хранятся файлы истории терминала MetaTrader 4. Для этого нужно нажать кнопку «Каталог» и через стандартное окно выбора папок указать путь к нужному каталогу.

Если путь к папке был указан правильно и в данном каталоке действительно имеются файлы с историческими данными (расширение *.HST), то в левом списке приложения появятся имена соответствующих файлов. При выборе одного из этих файлов в правом списке приложения будут отображаться записи с его данными.
Загрузить приложение: HistView.zip [ZIP;162Кб]
Если на вашем компьютере не установлен терминал MetaTrader 4 и у вас нет файлов с историческими данными, то работу приложения можно проверить с помощью демо-архива.
Загрузить демо-архив котировок: HistDemo.zip [ZIP;741Кб]
Если возникнут вопросы по работе программы или появятся какие-то предложения по её усовершенствованию, то пишите по адресу rychkov@inbox.ru
