Date/Time: Fri, 20 Apr 2018 20:16:32 +0000
Post From: Notice: Important Update for Interactive Brokers Users
Sierra Chart Engineering - Posts: 59287
We received the following message from Interactive Brokers as a suggestion about how to resolve a Symbol using the correct Year and Month and not the last trade date, from the Portfolio Update message:
The callback function updatePortfolio() includes a Contract object which has enough information to completely define a contract in several different ways. They include using the
(1) Contract ID
(2) The local symbol
(3) Underlying symbol and last trading date.
It is correct that the Contract year and Month is not part of the contract object, it instead relays the last trading date. However, that field can easily by found using the reqContractDetails() function with the Contract object which is passed back by updatePortfolio().
The basic problem is that we have to make a Contract Details request for every symbol that we receive a Position for. We then have to save that Position data or request them again, which is another very complicated thing to do with the TWS API. When the Contract Details is received back, for a particular contract identifier, we then have to do the data mapping. And then finally process the Position data.
Does that make sense? No it does not.
This is a very roundabout, inefficient, error-prone and complex way of doing this.
You really have to wonder what is the purpose of passing through the last trade date as part of the symbol details in every trading related message. Whatever the reason is, it does not make sense to use only that particular field. They must also specify in a standardized format, the contract Year and Month.
In the DTC Protocol, there is simple Symbol and Exchange fields to identify a particular security. This will work well even with Interactive Brokers which has support for a lot of different exchanges and markets.
The Symbol and the Exchange uniquely identify security and then a Security Definition can then be requested to get all of the specific details of the contract like its currency, its multiplier, its tick size, its session times, and on and on. This is how it is meant to be done. This is how it is done with the FIX protocol.
Sierra Chart Support - Engineering Level
Your definitive source for support. Other responses are from users. If possible please keep your questions brief and to the point. Please be aware of support policy:
If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
Date Time Of Last Edit: 2015-11-21 02:13:21