Support Board
Date/Time: Sun, 12 Jan 2025 18:38:03 +0000
DTC Client - an overfill UpdateOrder call has occurred
View Count: 799
[2017-02-28 18:44:30] |
User60271 - Posts: 64 |
Hi, I'm working on developing a DTC execution server to allow orders from an external order management system to be monitored using SC. The behaviour I'm seeing is that SC correctly processes the first few UpdateOrder messages it receives but after several fills SC starts showing the above message for each new UpdateOrder message received. Once this starts happening SC ignores the contents of the UpdateOrder message - ie does not update the order on the chart or record the trade. If I disconnect and clear the Trade Activity log then reconnect SC starts handling the UpdateOrder messages correctly for the next few orders/fills again. Some additional detail: SC does not initiate the order so it just receives UpdateOrder messages. The DTC server does not support positions and so sends SC a reject when SC requests a Trade Position. The UpdateOrder message does not set the OpenOrClose flag as it is working with futures. The OrderReceivedDateTime is set to the time of the last activity on the order rather than being constant from the first update. 1. Could you tell me what triggers the "Resetting last order modification Price and Quantity due to externally modified order or failed modification" message as this seems to appear between the NEW message and the FILL message ? The are no external changes made to the order quantity or limit price for the orders that trigger these messages. The only change is that the OrderReceivedDateTime is updated with the fill. 2. Why does SC try to sync position when the DTC server rejects the position request as this seems to relate the the overfill error ? Below is an example of the messages received : Any insight into what may be amiss here would be appreciated. Thanks. " ActivityType DateTime Symbol OrderActionSource InternalOrderID ServiceOrderID OrderType Quantity BuySell Price Price2 OrderStatus FillPrice FilledQuantity TradeAccount OpenClose ParentInternalOrderID PositionQuantity FillExecutionServiceID HighDuringPosition LowDuringPosition Fill 2017-02-28 13:15:13.734 ESH7 CMEGBX order update (Filled) 265 17 Limit 1 Sell 236175.0000000 Filled 236175.0000000 1 A1 Open -1 34 Order 2017-02-28 13:15:21.730 ESH7 Synchronized Internal Position to current Service Position. Current Position quantity: 0 Unspecified A1 Order 2017-02-28 13:17:46.138 ESH7 CMEGBX order update (New) 266 18 Limit 1 Sell 236225.0000000 Open A1 Order 2017-02-28 13:17:46.139 ESH7 Resetting last order modification Price and Quantity due to externally modified order or failed modification. 266 18 Limit 1 Sell 236225.0000000 Open A1 Order 2017-02-28 13:17:46.140 ESH7 CMEGBX order update (Filled) 266 18 Limit 1 Sell 236225.0000000 Filled 236225.0000000 1 A1 Order 2017-02-28 13:17:46.141 ESH7 Updated Internal Position Quantity to -1. Previous: 0 Unspecified A1 Fill 2017-02-28 13:17:46.142 ESH7 CMEGBX order update (Filled) 266 18 Limit 1 Sell 236225.0000000 Filled 236225.0000000 1 A1 Open -1 36 Order 2017-02-28 13:17:54.149 ESH7 Synchronized Internal Position to current Service Position. Current Position quantity: 0 Unspecified A1 Order 2017-02-28 13:19:02.688 ESH7 CMEGBX order update (New) 267 19 Limit 1 Sell 236225.0000000 Open A1 Order 2017-02-28 13:19:02.689 ESH7 Resetting last order modification Price and Quantity due to externally modified order or failed modification. 267 19 Limit 1 Sell 236225.0000000 Open A1 Order 2017-02-28 13:19:02.690 ESH7 CMEGBX order update (Filled) 267 19 Limit 1 Sell 236225.0000000 Filled 236225.0000000 1 A1 Order 2017-02-28 13:19:02.691 ESH7 Updated Internal Position Quantity to -1. Previous: 0 Unspecified A1 Fill 2017-02-28 13:19:02.692 ESH7 CMEGBX order update (Filled) 267 19 Limit 1 Sell 236225.0000000 Filled 236225.0000000 1 A1 Open -1 38 Order 2017-02-28 13:19:10.695 ESH7 Synchronized Internal Position to current Service Position. Current Position quantity: 0 Unspecified A1 Order 2017-02-28 13:19:18.713 ESH7 CMEGBX order update (New) 268 20 Limit 1 Sell 236250.0000000 Open A1 Order 2017-02-28 13:19:18.714 ESH7 Resetting last order modification Price and Quantity due to externally modified order or failed modification. 268 20 Limit 1 Sell 236250.0000000 Open A1 Order 2017-02-28 13:19:18.715 ESH7 CMEGBX order update (Filled) 268 20 Limit 1 Sell 236250.0000000 Filled 236250.0000000 1 A1 Order 2017-02-28 13:19:18.716 ESH7 Updated Internal Position Quantity to -1. Previous: 0 Unspecified A1 Fill 2017-02-28 13:19:18.717 ESH7 CMEGBX order update (Filled) 268 20 Limit 1 Sell 236250.0000000 Filled 236250.0000000 1 A1 Open -1 40 Order 2017-02-28 13:19:26.712 ESH7 Synchronized Internal Position to current Service Position. Current Position quantity: 0 Unspecified A1 Order 2017-02-28 13:19:31.739 ESH7 CMEGBX order update (New) 269 21 Limit 1 Sell 236275.0000000 Open A1 Order 2017-02-28 13:19:31.740 ESH7 Resetting last order modification Price and Quantity due to externally modified order or failed modification. 269 21 Limit 1 Sell 236275.0000000 Open A1 Order 2017-02-28 13:19:31.741 ESH7 CMEGBX order update (Filled) 269 21 Limit 1 Sell 236275.0000000 Filled 236275.0000000 1 A1 Order 2017-02-28 13:19:31.742 ESH7 Updated Internal Position Quantity to -1. Previous: 0 Unspecified A1 Fill 2017-02-28 13:19:31.743 ESH7 CMEGBX order update (Filled) 269 21 Limit 1 Sell 236275.0000000 Filled 236275.0000000 1 A1 Open -1 42 Order 2017-02-28 13:19:39.744 ESH7 Synchronized Internal Position to current Service Position. Current Position quantity: 0 Unspecified A1 Order 2017-02-28 13:20:10.811 ESH7 CMEGBX order update (New) 270 22 Limit 1 Buy 236225.0000000 Open A1 Order 2017-02-28 13:20:10.812 ESH7 Resetting last order modification Price and Quantity due to externally modified order or failed modification. 270 22 Limit 1 Buy 236225.0000000 Open A1 Order 2017-02-28 13:20:10.813 ESH7 CMEGBX order update (Filled) 270 22 Limit 1 Buy 236225.0000000 Filled 236225.0000000 1 A1 Order 2017-02-28 13:20:10.814 ESH7 Updated Internal Position Quantity to 1. Previous: 0 Unspecified A1 Fill 2017-02-28 13:20:10.815 ESH7 CMEGBX order update (Filled) 270 22 Limit 1 Buy 236225.0000000 Filled 236225.0000000 1 A1 Open 1 44 Order 2017-02-28 13:20:18.821 ESH7 Synchronized Internal Position to current Service Position. Current Position quantity: 0 Unspecified A1 Order 2017-02-28 13:20:25.345 ESH7 CMEGBX order update (New) 271 23 Limit 1 Buy 236225.0000000 Open 236375.0000000 A1 Order 2017-02-28 13:20:25.346 ESH7 Resetting last order modification Price and Quantity due to externally modified order or failed modification. 271 23 Limit 1 Buy 236225.0000000 Open A1 Order 2017-02-28 13:20:25.347 ESH7 CMEGBX order update (Filled) 271 23 Limit 1 Buy 236225.0000000 Filled 236225.0000000 1 A1 Order 2017-02-28 13:20:25.348 ESH7 Notice - An overfill UpdateOrder call has occurred. Overfill Quantity: 1. Total filled quantity: 1. Order quantity: 1 271 23 Limit 1 Buy 236225.0000000 Filled A1 Order 2017-02-28 13:20:40.875 ESH7 CMEGBX order update (New) 272 24 Limit 1 Buy 236200.0000000 Open 236375.0000000 A1 Order 2017-02-28 13:20:40.876 ESH7 Resetting last order modification Price and Quantity due to externally modified order or failed modification. 272 24 Limit 1 Buy 236200.0000000 Open A1 Order 2017-02-28 13:20:40.877 ESH7 CMEGBX order update (Filled) 272 24 Limit 1 Buy 236200.0000000 Filled 236200.0000000 1 A1 Order 2017-02-28 13:20:40.878 ESH7 Notice - An overfill UpdateOrder call has occurred. Overfill Quantity: 1. Total filled quantity: 1. Order quantity: 1 272 24 Limit 1 Buy 236200.0000000 Filled A1 Date Time Of Last Edit: 2017-02-28 20:12:29
|
[2017-02-28 20:20:54] |
User60271 - Posts: 64 |
The "overfill UpdateOrder call has occurred" seems to have resolved itself after updating to the latest build (1522).
|
[2017-02-28 20:32:49] |
Sierra Chart Engineering - Posts: 104368 |
1. Sierra Chart is detecting an external change to the order quantity or price. There must be some change happening with these values that you are not aware of in the order updates. You may also need to set Global Symbol Settings for the symbol and make sure the Price Display Format is set correctly. Refer to: http://www.sierrachart.com/index.php?page=doc/GlobalSymbolSettings.php 2. Synchronized Internal Position to current Service Position. Current Position quantity: 0 There is no way to avoid this. This will happen if your server does not provide Position data. Order 2017-02-28 13:20:40.878 ESH7 Notice - An overfill UpdateOrder call has occurred. Overfill Quantity: 1. Total filled quantity: 1. Order quantity: 1 272 24 Limit 1 Buy 236200.0000000 Filled A1
The reason for this is documented in this section here:http://www.sierrachart.com/index.php?page=doc/TradeActivityLog.php#OtherOrderActionSourceDescriptions 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: 2017-02-28 20:35:54
|
[2017-02-28 20:36:22] |
Sierra Chart Engineering - Posts: 104368 |
The "overfill UpdateOrder call has occurred" seems to have resolved itself after updating to the latest build (1522).
No, this cannot be the reason. There is some other reason.
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 |
[2017-02-28 20:53:27] |
User60271 - Posts: 64 |
Thanks for the response and the documentation references. Just to update after running with build 1522 the orders and fills seem to be handled correctly. Messages related to 1. are no longer being reported. Noted on 2. I will add the position reporting responses to the server to resolve this. The "overfill UpdateOrder error" is no longer happening either. I noticed that the LastFillQuantity in DTC message spec is a double. I can confirm that the fill quantity does not exceed the order quantity from the server side however the quantities, while stored internally as ints, are being cast to doubles to match the DTC UpdateOrder message format. Could this error be triggered due to a rounding issue when comparing the order quantity with the fill quantity in SC as a double? |
[2017-02-28 21:14:15] |
Sierra Chart Engineering - Posts: 104368 |
Could this error be triggered due to a rounding issue when comparing the order quantity with the fill quantity in SC as a double?
No, this should not be a problem.The overfill message will occur when the prior FilledQuantity for the order added with the LastFilledQuantity exceed the current FilledQuantity given with the Order Update for the fill. 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: 2017-02-28 21:14:54
|
To post a message in this thread, you need to log in with your Sierra Chart account: