Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »
реклама
Пользовательские скрипты в Metatrader 4.

Почтовая рассылка

Подписчиков: 11849
Последний выпуск: 19.06.2015

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

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог