Login Page - Create Account

Support Board


Date/Time: Sun, 28 Apr 2024 16:52:56 +0000



DTC Client - an overfill UpdateOrder call has occurred

View Count: 736

[2017-02-28 18:44:30]
User60271 - Posts: 63
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: 63
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: 63
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:

Login

Login Page - Create Account