Login Page - Create Account

Support Board


Date/Time: Sat, 27 Apr 2024 19:38:36 +0000



re-connecting to a DTC server (Sierra Charts, DTCBridge, etc.)

View Count: 445

[2020-07-29 17:04:06]
User21320 - Posts: 12
Please advise on the proper DTC procedure of software re-connecting to a DTC server (Sierra Charts, DTCBridge, etc.) to cancel or modify(cancel/replace) any open orders received in response to the OPEN_ORDERS_REQUEST in the ORDER_UPDATE->OPEN_ORDERS_REQUEST_RESPONSE after a crash/lockup/power down.
Since re-running the software will constitute a new session and the previous "ServerOrderID" and "ClientOrderID" will not be known, I am assuming that the server will create a new "ServerOrderID" to be used. However, in your DTC specs it states -

"The ClientOrderID is the order identifier provided by the Client.
When the Client submits a new order, cancels and replaces an existing order, or cancels an order,
then the Client needs to specify this identifier.

The Client must maintain the same order identifier throughout the life of the order.

The Server should persist the ClientOrderID across sessions.
A session is defined as the period of time from the start of the network connection between
the Client and Server to the end of that connection.

The Client should only rely upon the ClientOrderID being set when the OrderUpdateReason is one of the following:
NEW_ORDER_ACCEPTED, NEW_ORDER_REJECTED, ORDER_CANCELED, ORDER_CANCEL_REPLACE_COMPLETE, ORDER_CANCEL_REJECTED, ORDER_CANCEL_REPLACE_REJECTED.

After a new order has been accepted, the Client will rely upon the given ServerOrderID from the server to
identify the order and should no longer rely upon the given ClientOrderID. However, the Client needs to
maintain a copy of the ClientOrderID for any subsequent order modifications and cancellations because
this is a required field for those."

If the previous "ClientOrderID" is not known, should I send a new "ClientOrderID" in the message
to cancel or modify(cancel/replace) the open order(s) after the reconnect, or does the server also send me a new "ClientOrderID" upon re-connect to use for that purpose in response to the OPEN_ORDERS_REQUEST request ?
[2020-07-30 19:35:29]
Sierra Chart Engineering - Posts: 104368
I am assuming that the server will create a new "ServerOrderID" to be used
No, definitely this identifier will remain the same.

If the previous "ClientOrderID" is not known, should I send a new "ClientOrderID" in the message
You will know what it is when you receive the open orders with an open orders request.
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

To post a message in this thread, you need to log in with your Sierra Chart account:

Login

Login Page - Create Account