www.gusucode.com > trading工具箱matlab源码程序 > trading/trading/@cqg/timeseries.m

    function timeseries(c,s,startdate,enddate,intraday,x)
%TIMESERIES CQG intraday tick data.
%   TIMESERIES(C,S,STARTDATE,ENDDATE) asynchronously requests CQG 
%   raw intraday tick data given the connection handle, C, security, 
%   S, start date, STARTDATE, and end date, ENDDATE.
%
%   TIMESERIES(C,S,STARTDATE,ENDDATE,INTRADAY) asynchronously requests CQG 
%   aggregated intraday tick data given the connection handle, C, 
%   security, S, start date, STARTDATE, end date, ENDDATE, and aggregated 
%   bar value, INTRADAY, in minutes.
%
%   TIMESERIES(C,S,STARTDATE,ENDDATE,[],X) asynchronously requests CQG 
%   raw intraday tick data given the connection handle, C, security, S, 
%   start date, STARTDATE, and end date, ENDDATE.  The input structure X
%   sets additional request properties.
%
%   TIMESERIES(C,S,STARTDATE,ENDDATE,INTRADAY,X) asynchronously requests CQG 
%   aggregated intraday tick data given the connection handle, C, 
%   security, S, start date, STARTDATE, end date, ENDDATE, and aggregated 
%   bar value, INTRADAY, in minutes.  The input structure X sets additional 
%   request properties.
%
%   The example script CQGIntradayTickDataRequestWorkflow outlines making
%   intraday tick data requests and using event handlers to process the
%   asynchronous return data.
%
%   See also CQG, CREATEORDER, REALTIME, HISTORY.

%   Copyright 2013 The MathWorks, Inc. 

%Validate security.  Security should be cell array string
if ischar(s)   
  s = cellstr(s);
end
if ~iscell(s) || ~ischar(s{1})
  error(message('trading:cqg:securityInputError'))
end

% create timed bars or tick request
if exist('intraday','var') && ~isempty(intraday) % timed bars request (aggregated ticks)
  
  % Set properties for timed bars request
  timedBarsRequest = c.Handle.CreateTimedBarsRequest;
  timedBarsRequest.Intraday = intraday;
  timedBarsRequest.RangeStart = COM.date(datevec(startdate));
  timedBarsRequest.RangeEnd = COM.date(datevec(enddate));
  timedBarsRequest.Symbol = s{1};

  % Set or overwrite additional user specified properties
  if exist('x','var')
    settingFlds = fieldnames(x);
    for i = 1:length(settingFlds)
      timedBarsRequest.(settingFlds{i}) = x.(settingFlds{i});
    end
  end
  
  % Submit request
  c.Handle.RequestTimedBars(timedBarsRequest);

else
  
  % Set properties for ticks request
  ticksRequest = c.Handle.CreateTicksRequest;
  ticksRequest.Type = 'trtTimeRange';
  ticksRequest.RangeStart = datestr(startdate);
  ticksRequest.RangeEnd = datestr(enddate);
  ticksRequest.Symbol = s{1};
  ticksRequest.SessionsFilter = 0;
  ticksRequest.TickFilter = 'tfDefault';
  
  % Set or overwrite additional user specified properties
  if exist('x','var')
    settingFlds = fieldnames(x);
    for i = 1:length(settingFlds)
      ticksRequest.(settingFlds{i}) = x.(settingFlds{i});
    end
  end
  
  % Submit request
  c.Handle.RequestTicks(ticksRequest);
  
end