www.gusucode.com > trading工具箱matlab源码程序 > trading/tradingdemos/ttinstrumentdepthupdate.m
function ttinstrumentdepthupdate(varargin) %TTINSTRUMENTDEPTHUPDATE X_TRADER onNotifyFound example listener for %TTPriceDepthUpdateExample % Copyright 2011-2012 The MathWorks, Inc. %Set depth levels, 0 = all available depth bidDepthValue = 'BidDepth(0)'; askDepthValue = 'AskDepth(0)'; %instrument object is element 4 b = varargin{4}; %Get last price data dataLast = varargin{4}.Get('Exchange,Product,ProdType,Contract,Last$,LastQty$,Change$'); ui = getappdata(0,'TTOrderBookUIData'); set(ui.Exchange,'String',dataLast{1}) set(ui.Product,'String',dataLast{2}) set(ui.Type,'String',dataLast{3}) set(ui.Contract,'String',dataLast{4}) set(ui.Last,'String',dataLast{5}) set(ui.Quantity,'String',dataLast{6}) set(ui.Change,'String',dataLast{7}) %Get bid and ask depths dataArrayBid = b.Get(bidDepthValue); dataArrayAsk = b.Get(askDepthValue); %Pad data if sizes are different if ~iscell(dataArrayAsk) dataArrayAsk = {'' []}; end if ~iscell(dataArrayBid) dataArrayBid = {'' []}; end numBids = size(dataArrayBid,1); numAsks = size(dataArrayAsk,1); if numAsks < numBids dataArrayAsk{numBids,1} = ''; dataArrayAsk{numBids,2} = []; end if numBids < numAsks dataArrayBid{numAsks,1} = ''; dataArrayBid{numAsks,2} = []; end %Get existing data and GUI handles uibook = getappdata(0,'TTOrderBookHandle'); %Create new book set(uibook,'Data',[dataArrayBid dataArrayAsk]) end