www.gusucode.com > trading工具箱matlab源码程序 > trading/tradingdemos/ibExampleHistoryEventHandler.m

    function ibExampleHistoryEventHandler(varargin)
%IBEXAMPLEHISTORYEVENTHANDLER Interactive Brokers' Trader Workstation historical data example event handler.

%   Copyright 2012-2013 The MathWorks, Inc. 


% Process event based on identifier
persistent ibHistoricalData ibHistoricalDataCounter
if isempty(ibHistoricalDataCounter) 
  ibHistoricalDataCounter = 1;
end

switch varargin{end}
  
  case 'errMsg'
    
    varargin{5}
    
  case 'historicalData'
    
    histData = varargin{13};
    if strfind(histData.date,'finished')
      clear ibHistoricalDataCounter
      return
    end
    ibHistoricalData{histData.reqId}{ibHistoricalDataCounter,1} = histData.date;
    ibHistoricalData{histData.reqId}{ibHistoricalDataCounter,2} = histData.open;
    ibHistoricalData{histData.reqId}{ibHistoricalDataCounter,3} = histData.high;
    ibHistoricalData{histData.reqId}{ibHistoricalDataCounter,4} = histData.low;
    ibHistoricalData{histData.reqId}{ibHistoricalDataCounter,5} = histData.close;
    ibHistoricalData{histData.reqId}{ibHistoricalDataCounter,6} = histData.volume;
    ibHistoricalData{histData.reqId}{ibHistoricalDataCounter,7} = histData.barCount;
    ibHistoricalData{histData.reqId}{ibHistoricalDataCounter,8} = histData.WAP;
    ibHistoricalData{histData.reqId}{ibHistoricalDataCounter,9} = histData.hasGaps;
    ibHistoricalDataCounter = ibHistoricalDataCounter + 1;
    assignin('base','ibHistoricalData',ibHistoricalData)
    
  otherwise
    
    varargin{:}
    
end