DAS Order Objects V2 Short Form and Template Inheritance
Parse short-form orders and expose every inherited default.
V2 is a construction shorthand
Prerequisite: explicit order-object construction. The official V2 guide describes short-form input to NewOrderObj, not a separate NewOrderObjV2 function. It can be combined with ordinary property assignments. The shorter spelling moves some complexity into parsing and default templates; it does not remove that complexity.
Read the grammar in order
The documented order is Side Share Symbol Route OrderType OtherPrice Price TIF. Optional fields depend on the order type; this is a parsing guide rather than a requirement that every token always be present. A minimal symbol-only construction can inherit quantity, route, TIF and account, and the V2 guide describes a default Sell side. Therefore omitted fields are active dependencies, not empty values.
Construct and then inspect
$feShortDraft = NewOrderObj("B 10 MSFT LIMIT L 25.00 D");
$feShortDraft.Account = "TR_PRACTICE";
$feShortDraft.ShowObject();
// $feShortDraft.Send();
Explain the short form
This draft expresses B=buy, 10=requested shares, MSFT=symbol, LIMIT=example route, L=limit type, 25.00=limit price and D=DAY alias in the short-form parser. Replace the account and route before a simulator exercise. Set the account before any Send. A parser alias such as D is not proof that assigning Tif="D" is valid: the V2 guide explicitly distinguishes property values from short-form aliases.
Build an inheritance table
Use three columns: explicit token, inherited template value, observed object value. Compare the fully specified draft above with NewOrderObj("MSFT") using ShowObject only. Change one default template field and recreate both drafts; existing objects should not be assumed to reread templates automatically. Restore the practice template afterward. Include hidden defaults such as AON/ANY in the inspection, even if your short form does not expose them.
Exercise and worked answer
Why can two identical short-form strings behave differently on two desktops? Answer: defaults, route availability, account permissions and build parsing can differ. Make account, route, type and TIF explicit; record the remaining inherited values. Do not copy an official example without examining the conflicts documented in the compatibility lesson: some Sell headings contain B in their code.