Я играл с примерами, предоставленными 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
Обратите внимание, что несмотря на Error
Я все еще получил отложенные цены.Сейчас (спустя 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);
Есть идеи?