java - 来自交互式代理 API 的随机响应

标签 java tws

我使用了 IB 在其 API 中提供的示例,但我得到了绝对(至少从我所看到的)随机结果,这里有一些日志:

main (16:32:27): REQ: secDef 1
main (16:32:27): REQ: rfq 1528036347
AWT-EventQueue-0 (16:32:27): Error id=-1 code=2104 msg=Market data farm connection is OK:usfuture
AWT-EventQueue-0 (16:32:27): Error id=-1 code=2104 msg=Market data farm connection is OK:eufarm
AWT-EventQueue-0 (16:32:27): Error id=-1 code=2104 msg=Market data farm connection is OK:usopt
AWT-EventQueue-0 (16:32:27): Error id=-1 code=2104 msg=Market data farm connection is OK:usfarm
AWT-EventQueue-0 (16:32:27): Error id=-1 code=2106 msg=HMDS data farm connection is OK:euhmds
AWT-EventQueue-0 (16:32:27): Error id=-1 code=2106 msg=HMDS data farm connection is OK:ushmds
AWT-EventQueue-0 (16:32:27): Error id=-1 code=2104 msg=Market data farm connection is OK:usfuture
AWT-EventQueue-0 (16:32:27): Error id=-1 code=2104 msg=Market data farm connection is OK:eufarm
AWT-EventQueue-0 (16:32:27): Error id=-1 code=2104 msg=Market data farm connection is OK:usopt
AWT-EventQueue-0 (16:32:27): Error id=-1 code=2104 msg=Market data farm connection is OK:usfarm
AWT-EventQueue-0 (16:32:27): Error id=-1 code=2106 msg=HMDS data farm connection is OK:euhmds
AWT-EventQueue-0 (16:32:27): Error id=-1 code=2106 msg=HMDS data farm connection is OK:ushmds

AWT-EventQueue-0 (16:32:27): tickPrice:1 field:68 (delayedLast) value:1.55
AWT-EventQueue-0 (16:32:27): tickPrice:1 field:66 (delayedBid) value:1.51
AWT-EventQueue-0 (16:32:27): tickPrice:1 field:67 (delayedAsk) value:1.56
AWT-EventQueue-0 (16:32:27): tickPrice:1 field:72 (delayedHigh) value:2.1
AWT-EventQueue-0 (16:32:27): tickPrice:1 field:73 (delayedLow) value:1.48
AWT-EventQueue-0 (16:32:27): tickSize:1 field:74 (delayedVolume) value:161
AWT-EventQueue-0 (16:32:27): tickPrice:1 field:75 (delayedClose) value:1.47

AWT-EventQueue-0 (16:32:27): Error id=1 code=10090 msg=Part of requested market data is not subscribed. Subscription-independent ticks are still active.Delayed market data is available.IBM NYSE/TOP/ALL

请注意,尽管出现错误,我仍然收到了延迟的价格。 现在(28 秒后)我重新启动完全相同的示例,但没有触及任何内容:

main (16:32:55): REQ: secDef 1
main (16:32:55): REQ: rfq 1528036375
AWT-EventQueue-0 (16:32:55): Error id=-1 code=2104 msg=Market data farm connection is OK:usfuture
AWT-EventQueue-0 (16:32:55): Error id=-1 code=2104 msg=Market data farm connection is OK:eufarm
AWT-EventQueue-0 (16:32:55): Error id=-1 code=2104 msg=Market data farm connection is OK:usopt
AWT-EventQueue-0 (16:32:55): Error id=-1 code=2104 msg=Market data farm connection is OK:usfarm
AWT-EventQueue-0 (16:32:55): Error id=-1 code=2106 msg=HMDS data farm connection is OK:euhmds
AWT-EventQueue-0 (16:32:55): Error id=-1 code=2106 msg=HMDS data farm connection is OK:ushmds
AWT-EventQueue-0 (16:32:55): Error id=-1 code=2104 msg=Market data farm connection is OK:usfuture
AWT-EventQueue-0 (16:32:55): Error id=-1 code=2104 msg=Market data farm connection is OK:eufarm
AWT-EventQueue-0 (16:32:55): Error id=-1 code=2104 msg=Market data farm connection is OK:usopt
AWT-EventQueue-0 (16:32:55): Error id=-1 code=2104 msg=Market data farm connection is OK:usfarm
AWT-EventQueue-0 (16:32:55): Error id=-1 code=2106 msg=HMDS data farm connection is OK:euhmds
AWT-EventQueue-0 (16:32:55): Error id=-1 code=2106 msg=HMDS data farm connection is OK:ushmds
AWT-EventQueue-0 (16:32:55): Error id=1 code=10090 msg=Part of requested market data is not subscribed. Subscription-independent ticks are still active.Delayed market data is available.IBM NYSE/TOP/ALL

现在我没有收到任何价格!调用本身如下所示:

client().reqMarketDataType(3); //delayed prices
client().reqMktData(1,contract,"",true, null);

有什么想法吗?

最佳答案

这对我有用 Ib_insync软件开发工具包:

ib = IB()
ib.connect('127.0.0.1', 7497, clientId=1)

c = Contract(conId=292579214)

ib.qualifyContracts(c)
ib.reqMarketDataType(3)
ticker = ib.reqTickers(c)
print(ticker)
for obj in ticker:
    print("--->{}<------".format(obj.ask))```

也许这会对其他人有帮助......

关于java - 来自交互式代理 API 的随机响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50667687/

相关文章:

python - IB TWS API - reqHistoricalData - keepUpToDate

java - String.split() 将保留原始的 char 数组在里面

java - Java的RAM使用情况与任务管理器所说的不符

java - 如何将jtable保存到文本文件并将其读回jtable

java - 有没有办法用 JSoup 只格式化一些特殊字符?

java - Firebase 中的查询 - 云数据库

python - 安装IB API时遇到错误 "IB API required"

python-3.x - 使用 native TWS Python APi(Interactive Brokers API),如何在变量中获取证券列表的价格快照?