I'm calling reqMktData() for Aussie 10yr future and getting the following error msg: Error id=1, errorCode=2121, msg=Warning: XT product is trading on the basis other than currency price I've checked the IB reference material and there is no mention of errorCode 2121. Any ideas? Contract XT; XT.conId = 129300182; XT.symbol = "XT"; XT.secType = "FUT"; XT.multiplier = "1000"; XT.exchange = "SNFE"; XT.currency = "AUD"; XT.localSymbol = "XTZ3"; m_pClient->reqMktData( m_tickerId, XT, "", 1 );
I'm not familiar with that particular error, but there are a couple of things you can try. It's been about 2 years since I've worked with the API, so I may be reaching here... 1) Try playing around with reqContractDetails for your particular contract. You might be able to pull some info from IB and see if you are filling in something wrong in the IContract object. 2) Try emailing api@interactivebrokers.com. I've heard people complain about the customer support, but I've had a fair number of questions on the API over the years and they always seem to get back to me. Be pretty specific in your question, though as they seem pretty literal in their answers.
I can confirm that I experience the same problem. If I request contract details the error that is triggered is: 14:47:41 requesting contract details for: XT 14:47:41 -99 | 10017 | 2 contracts are not accessible through API because they are trading on the basis other than currency price Similar problem shows up for 3 year futures (YT) and 90 day bills (IR). There's also a TWS API group and also the official IB discussion forum in case you want to post the problem there and see if someone has an answer. Please keep us posted on this issue. Thanks.
I have received the following reply from IB: "This is by design, whenever requesting Bonds (e.g. request contract details, request market data, submit an order...etc) you would receive a warning message, Error code 2121: "...product is trading on the basis other than currency price". Please note this is only a Warning Message that will always fire back for Bonds contracts but it will have NO affect on the ability to receive market data or trade these products. In regards to "...contracts are not accessible through API because they are trading on the basis other than currency price" this seems to be a customized message that was created by the API Program you are using which seems to correspond to IB's Error Code 2121. " but found that there is an Interactive Brokers Features Poll concerning this issue here: https://www.interactivebrokers.com/en/index.php?f=2493&sid=8090