В этом примере показано, как соединиться с 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