Запрос исторических данных 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 см. Руководство по Ссылке CQG API.

Создайте соединение 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)

См. также

| | | | | | |

Похожие примеры

Подробнее о

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