Support Board
Date/Time: Fri, 21 Aug 2026 18:50:19 +0000
Detecting position-close on the DTC client interface
View Count: 33
| [2026-08-21 13:46:06] |
| Manju225577 - Posts: 3 |
|
Setup: Sierra Chart as DTC Protocol Server on a dedicated Windows server, Rithmic trading service. An external headless DTC client submits brackets as SUBMIT_NEW_SINGLE_ORDER with IsParentOrder=1 followed immediately by SUBMIT_NEW_OCO_ORDER with ParentTriggerClientOrderID. Children carry TimeInForce GTC and arrive with InfoText "Attached Order | Client side OCO order". I understand from your Automated Trading Management documentation that the protective variables there (CancelAllWorkingOrdersOnExit, SupportTradingScaleOut, and so on) apply to ACSIL and Spreadsheet trading systems and not to an external DTC client. So I take it that cancelling orphaned attached orders is my client's responsibility, and I am building that. My question is about the signal to act on. Scenario: the parent has filled and both children are working. The position is then closed by a fill my client did not originate — my broker's risk system auto-liquidating, or an order entered manually from the Trade Window on the same machine. My two children are now working with no position behind them. 1. What is the reliable indication on the DTC interface that the position has reached zero? I have observed a solicited Type 305 returning NoPositions=1 while an UNSOLICITED Type 306 on the same connection in the same second returned Quantity=1 for a genuinely open position. Which of these should a client treat as authoritative for position state? 2. Under what conditions does Sierra send an unsolicited Type 306 to a DTC client? Is it guaranteed on every position change, or only in some cases? 3. Your documentation notes that Sierra synchronises Trade Position Quantity from the trading service when the service updates position data, and that on startup positions are requested after five seconds with remembered state served before that. Does either of these explain a solicited 305 reporting flat for a position that has been open for over an hour? 4. When a fill arrives for an order Sierra did not send — a broker-side liquidation, for example — is that reported to connected DTC clients as a normal ORDER_UPDATE, and does Sierra's own position tracking update from it? Question 1 is the one I most need answered. |
| [2026-08-21 14:35:48] |
| Sierra_Chart Engineering - Posts: 24625 |
|
You simply listen for the Position Update message: Trading Related Messages: POSITION_UPDATE [s_PositionUpdate structure] Server >> Client This is completely accurate. And it will always come when there is a position quantity change. 4. Yes. 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, use the Teton service: Sierra Chart Teton Futures Order Routing Date Time Of Last Edit: 2026-08-21 14:36:03
|
To post a message in this thread, you need to log in with your Sierra Chart account:
