Запрос данных CQG в реальном времени

В этом примере показано, как соединиться с CQG®задайте обработчики событий и запросите текущие данные.

Подключение к CQG

Создайте объект соединения CQG с помощью cqg.

c = cqg;

Определение обработчиков событий

Зарегистрируйте образец обработчика событий cqgconnectioneventhandler для отслеживания событий для состояния соединения.

eventNames = {'CELStarted','DataError','IsReady', ...
    'DataConnectionStatusChanged','GWConnectionStatusChanged', ...
    'GWEnvironmentChanged'};

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
GWConnectionStatusChanged

Обработчик событий подключения отображает имена событий для успешного соединения CQG.

Зарегистрируйте обработчик событий, чтобы отслеживать события, связанные с подпиской на инструмент CQG.

streamEventNames = {'InstrumentSubscribed','InstrumentChanged', ...
    'IncorrectSymbol'};

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

Запрос данных CQG в реальном времени

При установленном соединении подпишитесь на инструмент. Имя инструмента должно быть отформатировано в виде длинного символа CQG. Для примера, чтобы подписаться на охрану, привязанную к кукурузе, введите следующее. (F.US.EZC - имя инструмента для образца. Чтобы запросить данные в реальном времени для вашего инструмента, замените это имя образца на имя вашего инструмента.)

instrument = 'F.US.EZC';
realtime(c,instrument)

MATLAB® записывает структурную переменную cqgDataEZC в браузер Рабочей области.

Отобразите cqgDataEZC.

cqgDataEZC(1,1)
ans = 
              Price: {15x1 cell}
             Volume: {15x1 cell}
    ServerTimestamp: {15x1 cell}
          Timestamp: {15x1 cell}
               Type: {15x1 cell}
               Name: {15x1 cell}
            IsValid: {15x1 cell}
         Instrument: {15x1 cell}
          HasVolume: {15x1 cell}

cqgDataEZC возвращает текущие кавычки для безопасности.

Отобразите данные в Price свойство cqgDataEZC.

cqgDataEZC(1,1).Price
ans = 
    [-2.1475e+09]
    [-2.1475e+09]
    [-2.1475e+09]
    [   660.5000]
    []
    []
    [-2.1475e+09]
    [-2.1475e+09]
    [-2.1475e+09]
    [-2.1475e+09]
    [-2.1475e+09]
    [-2.1475e+09]
    [-2.1475e+09]
    [   660.5000]
    [-2.1475e+09]

Закройте соединение CQG

close(c)

См. также

| | | | | | |

Похожие примеры

Подробнее о

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