Login Page - Create Account

Support Board


Date/Time: Thu, 25 Apr 2024 15:35:44 +0000



Post From: Notice: Important Update for Interactive Brokers Users

[2015-11-21 02:06:24]
Sierra Chart Engineering - Posts: 104368
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. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2015-11-21 02:13:21