Why do I get "No method 'reqMktDataEx' with matching signature found for class 'COM.TWS_TwsCtrl_1'." in 2014a
1 view (last 30 days)
Show older comments
When I try to use the 'ibtws' class in MATLAB R2013b to access data from the Interactive Brokers (IB) Trader Workstation , for instance if I am trying to run the example function 'reqMktDataEx', I get the following error:
No method 'reqMktDataEx' with matching signature found for class 'COM.TWS_TwsCtrl_1'.
My code is as follows, how can I fix this?
ib = ibtws('',7496);
eventNames = {'errMsg','tickSize','tickString','tickPrice'};
for i = 1:length(eventNames)
registerevent(ib.Handle,{eventNames{i},...
@(varargin)ibExampleRealtimeEventHandler(varargin{:})})
end
f = findobj('Tag','IBStreamingDataWorkflow');
if isempty(f)
f = figure('Tag','IBStreamingDataWorkflow','MenuBar','none',...
'NumberTitle','off');
pos = get(f,'Position');
set(f,'Position',[pos(1) pos(2) pos(3)+37 109])
colnames = {'Trade' 'Size' 'Bid' 'BidSize' 'Ask' 'AskSize' ...
'Total Volume'};
rownames = {'AAA','BBB','DDDD'};
data = cell(3,6);
uitable(f,'Data',data,'RowName',rownames,'ColumnName',colnames,...
'Position',[10 30 582 76],'Tag','SecurityDataTable');
uicontrol('Style','text','Position',[10 5 497 20],'Tag','IBMessage');
uicontrol('Style','pushbutton','String','Close',...
'Callback',...
'evalin(''base'',''close(ib);close(findobj(''''Tag'''',''''IBStreamingDataWorkflow''''));'')',...
'Position',[512 5 80 20]);
end
ibContract = ib.Handle.createContract;
ibContract.symbol = 'IBM';
ibContract.secType = 'STK';
ibContract.exchange = 'SMART';
ibContract.currency = 'USD';
reqMktDataEx(ib.Handle,1,ibContract,'100',0);
0 Comments
Accepted Answer
Friedrich
on 19 May 2014
Hi,
I think you missed to install something. The steps you need to take are
1) Download/Install Interactive Brokers Trader Workstation (Desktop Trading Client) from the following link: https://www.interactivebrokers.com/en/index.php?f=552
2) Download/Install the Interactive Brokers API software from the following link:
3) Log into IB Trader Workstation with a license user account.
1 Comment
More Answers (1)
Yair Altman
on 12 Jul 2014
You may wish to try the cross-platform IB-Matlab product, which is Java-based (not ActiveX):
IB-Matlab doesn't have such bugs, it is very reliable.
0 Comments
See Also
Categories
Find more on Trading Technologies in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!