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

Tag

Field name

Req'd

Description

1

Account

Y

Account number as provided by DriveWealth

11

ClOrdId

Y

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

18

ExecInst

N

Execution instruction.

Supported values:
1 = Not Held.

21

HandlInstr

N

Supported values:
2 = Automated Execution; Broker intervention okay
Note 21=3 will be rejected

22

IDSource

N*

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

38

OrderQty

N*

The total intended quantity of the order in shares.

  • Either OrderQty<38> or CashOrderQty<152> must be defined.

40

OrdType

Y

Supported values:
1 = Market
2 = Limit
3 = Stop
4 = Stop limit
5 = MOC
B = LOC

44

Price

N*

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.

47

OrderCapacity

N

Supported values:
A = Agency

48

SecurityID

N*

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

54

Side

Y

The side of the order. Supported values:
1 = Buy
2 = Sell Long

55

Symbol

N*

Ticker symbol (without suffix. Any suffix should be sent as SymbolSfx<65>).

  • Either Symbol<55> or SecurityID<48> + IDSource<22> must be defined

58

Text

N

Client is free to append arbitrary text; Limit 60 characters

59

TimeInForce

Y

Supported 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>

60

TransactTime

Y

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

63

SettlementType

N

Supported values:
0 = Regular

65

SymbolSfx

N

Symbol suffix for NYSE listed securities in CMS format

99

StopPx

N

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

100

ExDestination

N

Set to send an order to a specific destination.

Supported values:
100 = BLUE (See Section 5.1.1)
100 = TEST (See Section 5.3)

109

ClientID

Y

A unique identifier of the User/Trader who created the order. Maximum length is 64 characters.

152

CashOrderQty

N*

Specifies approximate order quantity desired in monetary units, i.e. Notional value, vs. number of shares. If set, DriveWealth will estimate share quantity in OrderQty<38>

  • Either OrderQty<38> or CashOrderQty<152> must be defined.

336

TradingSessionID

N

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

6102

AlgoStrategy

N

The type of algo strategy. Supported values:
VWAP
TWAP

6103

AlgoStartTime

N

The time the algo order is activated. GMT date/time in millisecond resolution or better. Defaults to the start of the core trading session.

6104

AlgoEndTime

N

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

6106

AlgoMaxPercentVol

N

Maximum percentage of volume. Integer values 1-100 for 1%-100%. Defaults to 100%.

Fractional orders

Sending a Fractional order requires either tag 152 (Order Notional value) and no tag 38 (OrderQty), or for tag 38 to be a decimal value. Usually Buys are Notional and Sells are a decimal OrderQty.

Note: sending a Notional Sell risks over selling a position in a volatile market.

Hours of operation supported

Pre/Core/Post Trading Sessions and as a GTX or Day order. Overnight Trading Session support will be provided at a future date.

Unsupported order parameter and workflow notes

Only Market orders are supported. Limit order support will be provided at a future date.

Auction, Algo, and Stop orders are not currently supported as Fractional.

Cancel/Replace is not supported for Fractional orders, please cancel and resubmit after the original order is Canceled for Fractional orders.

Share decimal precision

Work with your Relationship Manager to setup the decimal precision required for your fractional orders. 0-8 decimals are supported.

Note: If your order quantity is sent with a decimal, and if the precision exceeds the configured precision, it will be rejected.

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

Exchange

MOO

LOO

Open Cancel

Cutoff

MOC

LOC

Close Cancel

Cutoff

NYSE American

9:29:55

9:29:55

9:29:00

15:50

15:50

15:50

ARCA

9:29:55

9:29:55

9:29:00

15:59

15:59

15:59

Nasdaq

9:28:00

9:29:30

9:25:00

15:55

15:58

15:50

BATS

9:28:00

9:28:00

9:28:00

15:59

15:59

15: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:

Parameter

TWAP

VWAP

Start Time

End Time

Max % Volume

OTC orders

OTC securities are only supported in the core trading hours. If the order contains a non-core only TradingSession or a TimeInForce of GTX, the orders will only be executed during the core trading hours.

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