FIX Message NewOrderList

GF API Documentation

MsgType: E

Request to place One-Cancels-Others (OCO) or One-Sends-Others (OSO) execution strategies
Fields

Name

Type

Number

Required

Valid values

Description

ListID

STRING

66

Yes

Specifies a unique identifier of the list

BidType

INT

394

No

3 - NOBID

ListExecInst

STRING

69

Yes

OCO - OCO

OSO - OSO

TotNoOrders

INT

68

Yes

The field must have the same value as NoOrders(73), which specifies a number of orders in the list.

NoOrders

GROUP

73

Yes

->ClOrdID

STRING

11

Yes

Unique identifier assigned by client application.
Under certain circumstances, OEC can cancel/replace the order. In this case, OEC generates a new ClOrdID with OECFIX: prefix. This is done to make sure the client application understands that previous native ClOrdID is unacceptable anymore.
See also LastSolicitedClOrdID(12073)

->ListSeqNo

INT

67

Yes

Specifies an order number in the list starting from 1. The actual position of order in the list must be equal to ListSeqNo value.

->Account

STRING

1

Yes

Orders submitted via the FIX interface must be placed to a valid OEC account

->AllocText

STRING

161

No

Allocation block name

->AllocType

INT

626

No

2 - LOW_ACCT_LOW_PRICE

3 - LOW_ACCT_HIGH_PRICE

4 - HIGH_ACCT_LOW_PRICE

5 - HIGH_ACCT_HIGH_PRICE

6 - APS

1000 - POST_ALLOCATION

1001 - POST_ALLOCATION_APS

Allocation types are identical to proposed by OEC Trader
POST_ALLOCATION and POST_ALLOCATION_APS should be used in post-allocation process for eligible accounts

->NoAllocs

GROUP

78

No

Pre-allocation instructions

->->AllocAccount

STRING

79

No

OEC account name

->->AllocQty

QTY

80

No

Indicates quantity to be allocated for a given account. It should be consistent with OrderQty(38).
Example: allocation block contains two accounts ACC01 and ACC02 with AllocQty equals 1 and 2 accordingly. For that case QrderQty must be dividable to 3.

->HandlInst

CHAR

21

No

1 - AUTOEXECPRIV

2 - AUTOEXECPUB

3 - MANUAL

->ExecInst

MULTIPLEVALUESTRING

18

No

a - TRAILSTOPPEG

->MaxFloor

QTY

111

No

Small quantity of Iceberg orders

->Instrument

COMPONENT

Yes

Contract specification

->Side

CHAR

54

Yes

1 - BUY

2 - SELL

->TransactTime

UTCTIMESTAMP

60

Yes

->OrderQtyData

COMPONENT

Yes

->OrdType

CHAR

40

Yes

1 - MARKET

2 - LIMIT

3 - STOP

4 - STOPLIMIT

5 - MARKETONCLOSE

J - MARKETIFTOUCHED

Market-On-Open or Market-On-Close
OrdType should be MARKET and TimeInForce(59) should be AtTheOpening or AtTheClose to construct Market-On-Open or Market-On-Close respectively.
Iceberg
OrdType should be LIMT and MaxFloor(111) should be specified to construct Iceberg.
Trailing Stop and Trailing Stop Limit
OrdType should be STOP or STOPLIMIT and ExecInst(18) should contain TRAILSTOPPEG(a) value to construct Trailing Stop and Trailing Stop Limit.
See also PegOffsetValue(211)

->Price

PRICE

44

No

Decimal format

->StopPx

PRICE

99

No

Decimal format

->TimeInForce

CHAR

59

No

0 - DAY

1 - GOODTILLCANCEL

2 - ATTHEOPENING

3 - IMMEDIATEORCANCEL

4 - FILLORKILL

6 - GOODTILLDATE

7 - ATTHECLOSE

->EffectiveTime

UTCTIMESTAMP

168

No

Release time of the order
Format: YYYYMMDD-HH:MM:SS
Note: before release time the order will have Suspended state that mapped to Held state in OEC Trader and OECAPI

->ExpireDate

LOCALMKTDATE

432

No

Should be specified in conjunction with TimeInForce(59) = Good Till Date
Format: YYYYMMDD
Order will cancelled at the market close of selected day. Day is supposed to be in Central Time Zone.

->ExpireTime

UTCTIMESTAMP

126

No

Should be specified in conjunction with TimeInForce(59) = Good Till Date
Format: YYYYMMDD-HH:MM:SS

->Text

STRING

58

No

->PegInstructions

COMPONENT

No

Trailing Stop and Trailing Stop Limit parameters
Remarks

Validation of the list is performed as a single transaction. That means if, for example, one of orders is invalid then all orders in the list will be rejected. Further processing is performed individually for each order: order statuses and trades are reported for individual orders, not for the list as whole.
Clients can cancel/replace/request status for individual orders.
Order descriptions for NewOrderList are composed the same way as for NewOrderSingle(D), but in NoOrders(73) repeating group.

The following requirements are defined for orders in an OCO/OSO list:
* Number of orders must be two for OCO and two or three for OSO (a main order and one or two dependent ones).
* All orders must have unique ClOrdID(11) values since they are processed individually."
* The following fields must be equal for all orders in a list: Account(1),CFICode(461), TimeInForce(59), OrderQty(38)
* OCO and dependent OSO orders shouldn't specify EffectiveTime(168), ExpireDate(432), or ExpireTime(126)
See Also

Other Resources