exponenta event banner

Запрос исторических данных CQG

В этом примере показано, как подключиться к CQG ®, определить обработчики событий и запросить исторические данные.

Подключение к CQG

Создание объекта соединения CQG с помощью cqg.

c = cqg;

Определение обработчиков событий

Зарегистрировать обработчик события образца cqgconnectioneventhandler для отслеживания событий, связанных с состоянием соединения.

eventNames = {'CELStarted','DataError','IsReady', ...
    'DataConnectionStatusChanged'};

for i = 1:length(eventNames)
  registerevent(c.Handle,{eventNames{i}, ...
    @(varargin)cqgconnectioneventhandler(varargin{:})})
end

cqgconnectioneventhandler назначается событиям в eventNames.

Задайте свойства конфигурации API. Например, для установки часового пояса восточное время введите следующее.

c.APIConfig.TimeZoneCode = 'tzEastern';

c.APIConfig является объектом конфигурации CQG. Дополнительные сведения о настройке свойств конфигурации API см. в Справочном руководстве по API CQG.

Создайте соединение CQG.

startUp(c)
CELStarted
DataConnectionStatusChanged

Обработчик событий подключения отображает имена событий для успешного соединения CQG.

Регистрация обработчика событий для построения и инициализации матрицы выходных данных cqgHistoryData.

histEventNames = {'ExpressionResolved','ExpressionAdded', ...
    'ExpressionUpdated'};

for i = 1:length(histEventNames)
  registerevent(c.Handle,{histEventNames{i}, ...
    @(varargin)cqgexpressioneventhandler(varargin{:})})
end

Передать дополнительное свойство необязательного запроса

Передача дополнительного необязательного свойства запроса путем создания структуры x и установка дополнительного свойства.

x.UpdatesEnabled = false;

Дополнительные дополнительные свойства см. в Справочном руководстве CQG API.

Запрос исторических данных CQG

Запрашивать ежедневные данные для прибора XYZ.XYZ в течение последних 10 дней с использованием дополнительного свойства необязательного запроса x. XYZ.XYZ - имя образца прибора. Чтобы запросить исторические данные для прибора, замените имя символа в instrument.

instrument = {'Close(XYZ.XYZ)','Open(XYZ.XYZ)'};
startdate = floor(now) - 10;
enddate = floor(now);
period = 'hpDaily';

history(c,instrument,startdate,enddate,period,x)
pause(1)

MATLAB ® записывает переменнуюcqgHistoryData в обозреватель рабочей области.

Показ cqgHistoryData.

cqgHistoryData
cqgHistoryData =
   1.0e+05 *
    7.3533    0.0063    0.0063
    7.3533    0.0064    0.0064
    7.3533    0.0065    0.0065
    7.3534    0.0065    0.0065
    7.3534    0.0066    0.0066
    7.3534    0.0065    0.0065
    7.3534    0.0066    0.0066
    7.3534    0.0066    0.0066
    7.3534    0.0064    0.0064

Каждая строка в cqgHistoryData представляет данные за 1 день. Столбцы в cqgHistoryData показать численное представление метки времени, цены закрытия и открытой цены для инструмента в течение дня.

Закрытие соединения CQG

close(c)

См. также

| | | | | | |

Связанные примеры

Подробнее

Внешние веб-сайты