www.gusucode.com > trading工具箱matlab源码程序 > trading/trading/@emsx/getOrderInfo.m
function r = getOrderInfo(b,reqstruct,varargin) %GETORDERINFO Bloomberg EMSX order information. % R = GETORDERINFO(B,REQSTRUCT) gets Bloomberg EMSX order information using % the default event handler. % % GETORDERINFO(B,REQSTRUCT,'useDefaultEventHandler',false) gets Bloomberg % EMSX order information. To process events, the user must invoke a % custom event handler. % % GETORDERINFO(B,REQSTRUCT,'timeOut',200) gets Bloomberg EMSX order % information using the default event handler specifying a timeOut value % in milliseconds for the event handler. The default timeOut value is % 500 milliseconds. % % For example, % % reqStruct.EMSX_SEQUENCE = int32(335877); % % Note that EMSX_SEQUENCE must denote an existing order sequence number. % % r = getOrderInfo(b,reqStruct) % % or % % getOrderInfo(b,reqStruct,'useDefaultEventHandler',false) % b.processEvent % % returns the information associated with order id specified. % % Note that the name/value pairs can be input as a single input structure % containing some or all of the property fields, for example, % % p.timeOut = 1000; % getOrderInfo(b,reqStruct,p) % % See also orders, createOrder, createOrderAndRoute, modifyOrder, deleteOrder, routes. % Copyright 2012 The MathWorks, Inc. %get request fields if isstruct(reqstruct) infoFields = fieldnames(reqstruct); end %parse name/value pair settings p.timeOut = 500; p.useDefaultEventHandler = true; if nargin > 2 p = b.parsenv(varargin); end %build request request = b.Service.createRequest('OrderInfo'); if ~isstruct(reqstruct) request.set('EMSX_SEQUENCE',int32(reqstruct)) else for i = 1:length(infoFields) request.set(infoFields{i},reqstruct.(infoFields{i})); end end %send request b.Session.sendRequest(request, []); %process events with default handler if p.useDefaultEventHandler r = b.orderInfoEvents(p.timeOut); elseif nargout == 1 r = []; end