Файлы с историей котировок в терминале 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