Date/Time: Tue, 23 Jan 2018 12:16:05 +0000
Post From: orders disappear/not transmitted to IB
Sierra Chart Engineering - Posts: 56390
We are just about ready with release. We do have it solved.
And we did hear from Interactive Brokers, and their comments are noted, and we do acknowledge that the patch we put in many years ago, did have a problem crossing from 2015 to 2016.
This is what we told IB:
Thank you for the information. This is understood.
However, what we would suggest is that because there are three different ways of specifying a market when requesting market data and placing an order, according to what you have given below, for the same futures contract, that you provide a complete contract specification in the UpdatePortfolio message.
You acknowledge (see quotation below), that you are not relaying the Contract Year and Month. Only last trade date. But yet an API client is capable of subscribing using the Contract Year and Month. This is the inconsistency.
The problem is we have to do special processing to take the Last Trade Date and Local Symbol and extract out the correct Year and Month to match it up with the contract specification used when placing the order.
Furthermore, we have even seen for Local Symbol this format: "ZN MAR 11". This is based upon our notes. Although we could be mistaken about this since it was from a while ago. Perhaps it was for another trading service.
From Interactive Brokers:
We do not relay year and month identifiers for positions, see below for a snippet of a log showing the updatePortfolio():
TX 16:04:36:776 JTS-EServerSocket-2117: [0:101:101:1:0:7:8:INFO] Sending portfolio entry.
TX 16:04:36:776 JTS-EServerSocket-2117: [0:101:101:1:0:7:8:DET] [7;8;CL;FUT;20151221;0;0;USD;CLF6;1;41.74500275;41745.0;41752.31;-7.31;0.0]
TX 16:04:36:776 JTS-EServerSocket-2117: [0:101:101:1:0:7:8:INFO] Portfolio entry sent.
As you can see we relay the Last Trade Date. We also have a separate parameters for contractMonth and lastTradeDate (see contract Details example above).
It is quite clear, that the contract specifications provided in a Portfolio/Position Update message, are incomplete. What is the point of providing the last trading date but not providing the other contract details like the Contract Year and Month.
Furthermore, there was a point many years ago, where Interactive Brokers changed the expiration date to the last trade date creating this problem. These are the kind of changes which lead to instability for existing users.
So in conclusion, it is not even possible to subscribe to market data and to place an order using CL-201601-NYMEX-USD-1000 which is a very detailed contract specification and can be auto generated, and then simply and reliably match up the Interactive Brokers Portfolio/Position update with it.
We have accomplished this, but it is not a simple solution which we can always rely on to work in all cases.
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-20 03:25:40