New Order - Single

↗️

From client to DriveWealth

All new order messages have MsgType<35> = D.

Orders are accepted from the following times, depending on the first trading session for which an order is eligible:

  • Overnight market: 8pm
  • Pre-market: 8pm
  • Core market: 4am

The following fields are supported for new order messages sent to DriveWealth. Any field not described in this table, as well as the header and trailer tables, should not be sent to DW without prior discussion.

Supported fields

TagField nameReq'dDescription
1AccountYAccount number as provided by DriveWealth
11ClOrdIdYTrading-day-unique order ID as assigned by the client. Maximum length is 45 characters. Note that if sending messages through an order routing network, the network will likely prepend each ClOrdId value with a few characters.
18ExecInstNExecution instruction.

Supported values:
1 = Not Held.
21HandlInstrNSupported values:
2 = Automated Execution; Broker intervention okay
Note 21=3 will be rejected
22IDSourceN*If sending SecurityID<48>, the type of value.
Supported values:
1 = CUSIP
4 = ISIN
5 = RIC

*Either Symbol<55> or SecurityID<48> + IDSource\<22> must be defined
38OrderQtyN*The total intended quantity of the order in shares.

*Either OrderQty<38> or CashOrderQty<152> must be defined.
40OrdTypeYSupported values:
1 = Market
2 = Limit
3 = Stop
4 = Stop limit
5 = MOC
B = LOC
44PriceN*Limit price, in dollars per share. Minimum price resolution is one cent for prices of a dollar and higher, one hundredth of a cent for prices below a dollar. Maximum numerical value is 1,000,000.

*Limit price must be present for Limit orders.
47OrderCapacityNSupported values:
A = Agency
48SecurityIDN*A security identifier. See IDSource<22> for the types of identifiers you can use in this tag. If specifying a symbol, use Symbol<55> instead.
*Either Symbol<55> or SecurityID<48> + IDSource<22> must be defined
54SideYThe side of the order. Supported values:
1 = Buy
2 = Sell Long
55SymbolN*Ticker symbol (without suffix. Any suffix should be sent as SymbolSfx<65>).

*Either Symbol<55> or SecurityID<48> + IDSource<22> must be defined
58TextNClient is free to append arbitrary text; Limit 60 characters
59TimeInForceYSupported values:
0 = Day
2 = At the Opening
3 = IOC - Immediate or Cancel
7 = At the Close

Deprecated values:
5 = GTX - extended hours eligible See TradingSessionID<336>
60TransactTimeYTime this order request was initiated/released by the client system. GMT date/time in millisecond resolution or better.

Upon being received by DriveWealth, this timestamp must be within the last 60 seconds. Otherwise, a Reject message will be sent with "Stale Order" as Text<58>.
63SettlementTypeNSupported values:
0 = Regular
65SymbolSfxNSymbol suffix for NYSE listed securities in CMS format
99StopPxNStop price, in dollars per share. Minimum price resolution is one cent for prices of a dollar and higher, one hundredth of a cent for prices below a dollar. Stop price must be present for Stop orders.
100ExDestinationNSet to send an order to a specific destination.

Supported values:
100 = BLUE (See Section 5.1.1)
100 = TEST (See Section 5.3)
109ClientIDYA unique identifier of the User/Trader who created the order. Maximum length is 64 characters.
152CashOrderQtyN*Specifies approximate order quantity desired in monetary units vs. number of shares. If set, DriveWealth will estimate share quantity in OrderQty<38>

*Either OrderQty<38> or CashOrderQty<152> must be defined.
336TradingSessionIDNThe sessions for which this order is eligible. This tag should be used to execute orders in the extended or overnight sessions.

If ExDestination is not specified, DriveWealth will determine how to process the order in accordance with the requested sessions.

This value must be set to 8, 9, or 10 for orders to automatically roll from the overnight session into the pre-market session.

Supported values:
1 = Pre
2 = Core
3 = Pre + Core
4 = Post
5 = Core + Post
6 = Overnight
7 = Pre + Core + Post
8 = Overnight + Pre
9 = Overnight + Pre + Core
10 = Overnight + Pre + Core + Post

The default value is "Core" (2) only.

Must be unset if the order is an algorithmic order or auction (on-open, on-close) order.
6102AlgoStrategyNThe type of algo strategy. Supported values:
VWAP
TWAP
6103AlgoStartTimeNThe time the algo order is activated. GMT date/time in millisecond resolution or better. Defaults to the start of the core trading session.
6104AlgoEndTimeNThe time by which the algo must complete or be canceled. GMT date/time in millisecond resolution or better. Defaults to the end of the core session hours.
6106AlgoMaxPercentVolNMaximum percentage of volume. Integer values 1-100 for 1%-100%. Defaults to 100%.

Auction orders

Auction order types (on-open, on-close) are supported when paired with the correct TimeInForce<59> value.

Auction order typeOrdType<40>TimeInForce<59>
Market on Open (MOO)12
Limit on Open (LOO)22
Market on Close (MOC)17
Market on Close (MOC) — alternative50
Limit on Close (LOC)27
Limit on Close (LOC) — alternativeB0

Auction Cutoffs

DriveWealth follows the primary exchange cutoffs

ExchangeMOOLOOOpen Cancel
Cutoff
MOCLOCClose Cancel
Cutoff
NYSE American9:29:559:29:559:29:0015:5015:5015:50
ARCA9:29:559:29:559:29:0015:5915:5915:59
Nasdaq9:28:009:29:309:25:0015:5515:5815:50
BATS9:28:009:28:009:28:0015:5915:5915:59

Algorithmic orders

Utilizing an algorithm requires an order to be valid for the core market session only, and for a AlgoStrategy<6102> to be set.

Supported parameters by algorithm:

ParameterTWAPVWAP
Start Time
End Time
Max % Volume

Pre-market and post-market orders

For orders to be eligible for the pre-open trading session (4-9:30 am ET), and/or the post-close trading session (4 pm-8 pm ET) the order must have a conforming TradingSessionID<336> supplied and it must be a Limit order.

Overnight orders

Orders are eligible for the overnight trading session (8pm ET–4am ET) if:

  • The order is a limit order, and
  • The TradingSessionID<336> indicates overnight eligibility, and
  • The order is received between 8pm ET and 4am ET

Orders can be directed to a specific overnight destination by setting tag ExDestination<100>, instead of TradingSessionID<336>. For example, orders designated with 100=BLUE will be set to Blue Ocean ATS. This is not recommended as it prohibits execution by any other venue.

Overnight order rollover

Orders sent to the overnight session can be recalled and sent to the pre-market session automatically. Doing so requires TradingSessionID<336> to indicate eligibility for both sessions (values 8, 9, or 10).

If an order is sent with ExDestination<100>, it will only be eligible to be handled by that destination, and will not be eligible for rolling into the pre-market, regardless of TradingSessionID<336>.

For orders with rollover enabled, If an order isn’t filled by an overnight liquidity venue by 3:55am ET, it will be rerouted to a venue for the pre-open trading session. This time is subject to change and DriveWealth may adjust this procedure closer to 4am ET.

Samples

1=<DW assigned account>
11=2023090110901011
38=100
40=2
44=260.10
54=1
55=TSLA
59=0
60=20230901-12:01:01.001
109=io1n3-y9801p
1=<DW assigned account>
11=2023090110901011
38=100
40=2
44=260.10
54=1
55=TSLA
59=0
60=20230901-12:01:01.001
109=io1n3-y9801p
336=7
// This order rolls over from the overnight session to the pre-market if unfilled
1=<DW assigned account>
11=2023090110901011
38=100
40=2
44=260.10
54=1
55=TSLA
59=0
60=20230901-01:01:01.001
109=io1n3-y9801p
336=10

What’s Next