Login Page - Create Account

Support Board


Date/Time: Fri, 21 Aug 2026 18:48:54 +0000



Post From: Detecting position-close on the DTC client interface

[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.