Skip to main content

Placing a new order

Fill Limits: The maximum number of fills on a single order is 2000 fills for single-leg instruments and 400 fills for combo instruments.

NewOrderRequest (100)

Request to place a new order sent by the client. The order will belong to the portfolio with which the connection was authenticated. Will be followed by a NewOrderResponse in case the order placement is successful or by a NewOrderReject in case the order placement is unsuccessful. Any immediate fills will be added to the NewOrderResponse and will NOT be sent in an OrderFilled. Any consecutive unsolicited change to the order (including fills) will be sent in an OrderFilled.
FieldNameTypeLengthDescription
1clientOrderIdint648Numeric client order ID
2correlationIdint648Client-assigned ID
3instrumentIdint648Numeric instrument ID
4limitPriceFixedPoint98Limit price, or 0x8000000000000000L for market orders.
5amountDecimal729Amount
6displayAmountDecimal729Amount with ? decimal places. If displayAmount=amount, the order is not considered an iceberg order.
7SMPTokenint648This order cannot match with any other orders within the same portfolio with the same token.
8sideint811=BUY
-1=SELL
9timeInForceint81-2=Immediate-or-cancel
-1=Fill-or-kill
0=Good-til-cancel
Any number >0 will be the number of days the order will be alive, such that an order with 1 will be cancelled at the next settlement.
10flagsuint81See the table below.
11smpModeint810=CancelTaker
1=CancelMaker
The table below outlines the content of field 10 (flags) of NewOrderRequest.
Bit number (from last to first)NameDescription
1Post-only (amend)Enables post-only that amends the order price to the best bid/ask if it would be immediately executable. The amended price is then validated against price limits. Mutually exclusive with Post-only (reject)
2Post-only (reject)Enables post-only that rejects the order if it would be immediately executable. Mutually exclusive with Post-only (amend)
3Reduce-onlyThis order will be amended at entry and at later times to ensure it can only fully or partially close an open position
4MMPThe order will be subject to the default Market Maker Protection group
5resetMmpUnfreeze orders MMP group
6marketLimitSet limitPrice based on top-of-book instead of price band
7Reserved for future use
8Reserved for future use

NewOrderResponse (200)

Response to confirm a NewOrderRequest was successful, sent from the exchange to the client. Any immediate fills generated by the NewOrderRequest will be included in the NewOrderResponse and will NOT be sent additionally in an OrderFilled.
FieldNameTypeLengthDescription
1transactTimeint648Nanoseconds since epoch. Time of entry into the order book
2execIdint648Exchange-assigned event ID
3clientOrderIdint648Numeric client order ID
4correlationIdint648Client-assigned ID
5orderIdint648Numeric exchange assigned order ID
6instrumentIdint648Numeric instrument ID
7receiveTimeint648Nanoseconds since epoch. Time of receipt of order on the gateway.
8limitPriceFixedPoint98Price. Can differ from submitted price when post-only (amend) is enabled
9amountDecimal729Decimal floating point amount. Can differ from submitted amount when reduce-only is enabled
10filledAmountDecimal729Filled amount
11visibleAmountDecimal729For iceberg orders this is the visible amount in the book.
For non-icebergs this is the remaining amount (amount - filledAmount).
12sideint811=BUY
-1=SELL
13orderStateint811=Active
2=filled
3=cancelled
4=queued (speed bumped)
14cancelReasonint81See Order Response Cancel Reasons
15blockLengthOfFillsuint16225 (bytes)
16numberOfFillsuint162Indicates the length of the following repeating group containing all immediate fills when the order was submitted
->17matchIdint648Transaction ID representing match.
->18fillPriceFixedPoint98Price of fill
->19fillAmountDecimal729Amount of fill
20blockLengthOfLegsuint16234 (bytes)
21numberOfLegsuint162Indicates the length of the following repeating group containing all combo leg quantities and prices.
Non-zero for trades on combo instruments only.
->22matchIdint648Transaction ID representing match.
->23instrumentIdint648Numeric instrument ID
->24legPriceFixedPoint98Price of this leg in the combo instrument
->25legQtyDecimal729Quantity of this leg in the combo instrument
->26legSideint811=BUY
-1=SELL

NewOrderReject (202)

Reject generated in case a NewOrderRequest is unsuccessful.
FieldNameTypeLengthDescription
1transactTimeint648Nanoseconds since epoch. Time of entry into the order book
2clientOrderIdint648Numeric client order ID
3correlationIdint648Client-assigned ID
4orderIdint648Numeric exchange assigned order ID
5instrumentIdint648Numeric instrument ID
6reasonint81Rejection reason code. See Rejection Reason Codes for possible values.
7detailsLengthuint81Length of details field
8detailschar0-255ASCII-encoded string