我已设置reqMarketDataType(MarketDataType.DELAYED)
。但后来我得到了
获取延迟数据时出现"未订阅请求的市场数据"
错误。
// API Version 9.72 and later Launch EReader Thread
m_reader = new EReader(client, m_signal);
m_reader.start();
new Thread() {
@Override
public void run() {
processMessages();
}
}.start();
Contract contract = new Contract();
contract.symbol("GOOG");
contract.exchange("SMART");
contract.secType("STK");
contract.currency("USD");
// Create a TagValue list
Vector<TagValue> mktDataOptions = new Vector<>();
// Make a call to start off data retrieval
client.reqMarketDataType(MarketDataType.DELAYED);
client.reqMktData(1001, contract, null, false, mktDataOptions);
}
答案 0 :(得分:0)
根据您的市场数据类型和显示的错误,它是美国股票,您需要订阅市场数据。请参考以下链接:
在IB中订阅市场数据的过程
使用市场数据页面
出现“市场数据”页面。
要注册其他市场数据订阅,请单击所需区域的选项卡,单击要添加的每个订阅的复选框,然后单击“上一步”。
如果您有其他链接,重复或合并的帐户,则“计费帐户”部分将显示在页面上。使用此部分可以更改针对市场数据计费的帐户。
选择要为市场数据计费的帐户,然后单击“更改计费帐户”。从下一个结算周期开始,您的市场数据订阅将记入所选帐户的账单。
“市场数据”页面再次打开,更新了您的新选择,并标识了所有待处理的订阅。在正常情况下,市场数据订阅更新将立即生效。
https://www.interactivebrokers.com.hk/en/software/am/am/manageaccount/marketdatasubscriptions.htm
美国市场数据(非专业人士)的订阅注意事项
通常来说,交易各种产品类别的客户应考虑基本捆绑订阅,即“美国证券快照和期货价值捆绑”,每月费用为10美元,并提供各种美国股票,股票指数,债券,期货和期货期权。该帐户产生至少30美元的佣金的任何月份都免收此订阅的月费。