В этом примере показано, как соединиться с 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.
Укажите обработчик событий, чтобы создать и инициализировать структуру выходных данных cqgTickData
используемый для хранения суточных тиковых данных.
rawEventNames = {'TicksResolved','TicksAdded'}; for i = 1:length(rawEventNames) registerevent(c.Handle,{rawEventNames{i}, ... @(varargin)cqgintradayeventhandler(varargin{:})}) end
Передайте дополнительное дополнительное свойство запроса путем создания структуры x
, и установка дополнительного свойства. Чтобы видеть только тиковые данные предложения, например, устанавливает TickFilter
к 'tfBid'
.
x.TickFilter = 'tfBid';
TickFilter
и SessionsFilter
единственные допустимые дополнительные дополнительные свойства для вызова timeseries
без синхронизированного запроса панели. Для значений дополнительного свойства можно установить, видеть Справочник API CQG.
Запросите суточные тиковые данные для инструмента XYZ.XYZ
в течение прошлых 2 дней с помощью дополнительного дополнительного свойства x
запроса.
XYZ.XYZ
демонстрационное инструментальное имя. Чтобы запросить суточные тиковые данные для вашего инструмента, замените именем символа в instrument
.
instrument = 'XYZ.XYZ';
startdate = now - 2;
enddate = now;
timeseries(c,instrument,startdate,enddate,[],x)
pause(1)
pause
причины MATLAB®, чтобы ожидать 1 секунда прежде, чем продолжить давать время для CQG, чтобы подписаться на инструмент. MATLAB пишет переменную cqgTickData
к браузеру Рабочей области.
Отобразите cqgTickData
.
cqgTickData
cqgTickData = Timestamp: {2x1 cell} Price: [2x1 double] Volume: [2x1 double] PriceType: {2x1 cell} CorrectionType: {2x1 cell} SalesConditionLabel: {2x1 cell} SalesConditionCode: [2x1 double] ContributorId: {2x1 cell} ContributorIdCode: [2x1 double] MarketState: {2x1 cell}
Отобразите данные в Timestamp
свойство cqgTickData
.
cqgTickData.Timestamp
ans = '4/17/2013 2:14:00 PM' '4/18/2013 2:14:00 PM'
Укажите обработчик событий, чтобы создать и инициализировать матрицу выходных данных cqgTimedBarData
используемый для того, чтобы хранить синхронизированные данные о панели.
aggEventNames = {'TimedBarsResolved','TimedBarsAdded', ... 'TimedBarsUpdated','TimedBarsInserted', ... 'TimedBarsRemoved'}; for i = 1:length(aggEventNames) registerevent(c.Handle,{aggEventNames{i}, ... @(varargin)cqgintradayeventhandler(varargin{:})}) end
Передайте дополнительные дополнительные свойства запроса путем создания структуры x
, и установка дополнительного свойства.
x.UpdatesEnabled = false;
Запросите синхронизированные данные о панели для инструмента XYZ.XYZ
для последней части дня с помощью дополнительного дополнительного свойства x
запроса.
XYZ.XYZ
демонстрационное инструментальное имя. Чтобы запросить синхронизированные данные о панели для вашего инструмента, замените именем символа в instrument
.
instrument = 'XYZ.XYZ';
startdate = now - .1;
enddate = now;
intraday = 1;
timeseries(c,instrument,startdate,enddate,intraday,x)
pause(1)
MATLAB пишет переменную cqgTimedBarData
к браузеру Рабочей области.
Отобразите cqgTimedBarData
.
cqgTimedBarData
cqgTimedBarData = 1.0e+09 * 0.0007 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 0.0007 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 0.0007 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 0.0007 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 0.0007 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 -2.1475 ...
cqgTimedBarData
возвращает синхронизированные данные о панели для заданного инструмента. Столбцы cqgTimedBarData
отобразите данные, соответствующие метке времени, цене открытия, высокой цене, низкой цене, окончательной цене, недорогой, HLC3, средняя стоимость и объем метки деления.
close(c)
close
| cqg
| createOrder
| history
| realtime
| shutDown
| startUp
| timeseries