我使用连接到正在运行的TWS实例。
我想获得一个的数据,为外汇对欧元/美元。(特别的一对并不重要。)
我使用以下API函数请求逐滴答数据:
_ibClient.ClientSocket.reqTickByTickData(tickerId, contract, "Last", 0, false);这个调用对于股票合约(比如TSLA )很好。
在ForEx合同的情况下返回的错误消息是:
误差Id: 2,代码: 10189,Msg:未能请求滴答滴答的数据:没有欧元/现金@FXSUBPIP最后0的历史市场数据。
我不是要历史数据。
以下是合同对象:
contract = new Contract
{
Symbol = "EUR",
SecType = "CASH",
Exchange = "IDEALPRO",
PrimaryExch = "IDEALPRO",
Currency = "USD",
};下面是日志文件的内容:
Next Valid Id: 1
Account list: *********
Market data farm connection is OK:cashfarm
Market data farm connection is OK:usfarm
HMDS data farm connection is OK:euhmds
HMDS data farm connection is OK:cashhmds
HMDS data farm connection is OK:fundfarm
HMDS data farm connection is OK:ushmds
Sec-def data farm connection is OK:secdefil
Error. Id: 2, Code: 10189, Msg: Failed to request tick-by-tick data:No historical market data for EUR/CASH@FXSUBPIP Last 0有人能帮我理解为什么我不能获得ForEx合同的逐滴答数据吗?
发布于 2021-02-12 22:12:58
最后一个不适用于外汇,只有中点。它不能在交易所交易。
_ibClient.ClientSocket.reqTickByTickData(tickerId, contract, "MidPoint", 0, false);
http://interactivebrokers.github.io/tws-api/tick_data.html
n.b.它将出现在public void tickByTickMidPoint(int reqId, long time, double midPoint)
https://stackoverflow.com/questions/65444556
复制相似问题