В этом примере показано, как подключиться к 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 без запроса временной полосы. Дополнительные значения свойств см. в Справочном руководстве CQG API.
Запрос внутридневных данных галочки для прибора 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 для последней части дня с использованием дополнительного необязательного свойства request 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