Запросите суточные тиковые данные 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)

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

| | | | | | |

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

Больше о

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