首页 文章

Matlab - Interactive Brokers - Getdata功能

提问于
浏览
0

我正在使用Matlab中的交易工具箱的getdata函数(http://de.mathworks.com/help/trading/ibtws.getdata.html)通过最新的TraderWorkStation(TWS)以及使用最多的盈透证券(IB)模拟账户获取外汇对的实时价格数据(例如EURUSD) IB提供的最新API(v9.71) .

TWS在执行我的代码时正在运行(见下文)

这是我正在使用的代码 . 它遵循Mathworks(http://de.mathworks.com/videos/get-started-with-trading-toolbox-connect-to-interactive-brokers-1-of-3-91839.html)的以下教程中解释的所有基本步骤 .

% establish connection to TWS
ib = ibtws('',7497);

%% create currency handles
ibEURUSD = ib.Handle.createContract;
% set forex credentials
ibEURUSD.symbol = 'EUR';
ibEURUSD.secType = 'CASH';
ibEURUSD.exchange = 'IDEALPRO';
ibEURUSD.currency = 'USD';

cur = getdata(ib,ibEURUSD);

% close IB connection
close(ib);

在大多数情况下(大约75%),此代码提供预期结果并返回所请求的财务数据 . 但是,在其余情况下,变量“cur”不包含请求的价格数据,但出现以下错误消息:“HMDS数据服务器场连接正常:ushmds”

哪个拳头看起来不像是个问题 . 但是,此错误消息将替换所请求的数据,以便在25%的运行期间不会收到任何数据 .

我会提供任何解决方案来解决这个问题 .

2 回答

  • 0

    它是MATLAB交易工具箱中的错误 . IB API文档描述了一些可以安全忽略的消息,但MATLAB errMsg事件处理程序不会忽略它们,而是在接收价格数据时终止正在进行的getdata请求 . “HMDS数据场连接正常:ushmds”是消息号2106,它是可忽略消息之一 .

  • 0

    考虑使用没有此问题的IB-Matlab连接器 .

相关问题