www.gusucode.com > trading工具箱matlab源码程序 > trading/trading/@xtrdr/createOrderSet.m
function createOrderSet(x,varargin) %CREATEORDERSET Order set for X_TRADER. % CREATEORDERSET(X,S) creates the XTRDR order set defined by the input % structure S. X is the XTRDR object. % % CREATEORDERSET(X,'Property1','Value1','Property2','Value2',...) % creates the XTRDR order set defined by the given name/value pairs. % % See also XTRDR, CREATEINSTRUMENT, CREATENOTIFIER, CREATEPROFILE. % Copyright 2011-2012 The MathWorks, Inc. %Instantiate the X_TRADER XTAPI instrument object ttOrderSet = actxserver('Xtapi.TTOrderSet'); %Get valid properties of instrument object ttOrderSetProperties = fields(ttOrderSet); %Create instrument from input structure if ~isempty(varargin) && isstruct(varargin{1}) %Get field names in structures structFields = fields(varargin{1}); %Set properties of ttInstrObj for i = 1:length(structFields) if any(strcmp(structFields{i},ttOrderSetProperties)) ttOrderSet.(structFields{i}) = varargin{1}.(structFields{i}); end end else %Create instrument from name/value pairs numInputs = length(varargin); if mod(numInputs,2) error(message('trading:xtrdr:nameValuePairMismatch')) end for i = 1:2:numInputs ttOrderSet.(varargin{i}) = varargin{i+1}; end end %Add instruments to xtrdr object OrderSet property nLengthOrderSets = length(x.OrderSet); if nLengthOrderSets x.OrderSet(nLengthOrderSets + 1) = ttOrderSet; else x.OrderSet = ttOrderSet; end