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.

Укажите обработчик событий, чтобы создать и инициализировать структуру выходных данных cqgTickData, используемый для хранения суточных тиковых данных.

rawEventNames = {'TicksResolved','TicksAdded'};

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

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

Передайте дополнительное дополнительное свойство запроса путем создания структуры 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'

Запросите CQG синхронизированные данные о панели

Укажите обработчик событий, чтобы создать и инициализировать матрицу выходных данных 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, средняя стоимость и объем метки деления.

Закройте связь CQG

close(c)

Смотрите также

| | | | | | |

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

Больше о

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