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