Problem getting data from ibtws
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi guys,
I was testing out the trading toolbox with interactive brokers. I established the connection and tried to run the following code:
ib = ibtws('',7496)
ibContract = ib.Handle.createContract;
ibContract.symbol = 'AAPL';
ibContract.secType = 'STK';
ibContract.exchange = 'SMART';
ibContract.primaryExchange = 'NASDAQ';
ibContract.currency = 'USD';
startdate = floor(now) - 5;
enddate = floor(now);
d = history(ib,ibContract,startdate,enddate)
It returned:
ib =
ibtws with properties:
ClientId: 0
Handle: [1×1 COM.TWS_TwsCtrl]
Host: ''
Port: 7496
d =
'Unable to read beyond the end of the stream.'
Does anyone know why?
4 Commenti
Risposte (2)
Annie Leonhart
il 1 Dic 2019
Please set the primaryExchange to 'SMART', they cannot be different from my testing. In some cases you need to run the command twice, becasue Matlab isn't accounting for the time needed for the API to connect to the historical data feed.
I am using Matlab 2019a: Trading Toolbox 3.5.1 & TWS Api 9.76
ib = ibtws('',4001, 0)
ibContract = ib.Handle.createContract;
ibContract.symbol = 'AAPL';
ibContract.secType = 'STK';
ibContract.exchange = 'SMART';
ibContract.primaryExchange = 'SMART';
ibContract.currency = 'USD';
startdate = floor(now) - 5;
enddate = floor(now);
d = history(ib,ibContract,startdate,enddate)
![Screenshot_4.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/251727/Screenshot_4.jpeg)
9 Commenti
Annie Leonhart
il 21 Mar 2020
That’s right. SMART only works for stocks. Futures, bonds, etc you must specify the exact exchange.
Vedere anche
Categorie
Scopri di più su Financial Data Analytics in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!