Tutorial State Model

Messages

Incoming Messages

D: NewOrderSingle

TagNameRequiredTypeValidity
1Accountstring
11ClOrdID✔string
38OrderQtyData.OrderQty✔Qty
40OrdType✔OrdType

OrdType has value in [OrdType.Limit, OrdType.Market]

44PricePrice
54Side✔Side
60TransactTime✔UTCTimestamp
Validation
if field OrdType equals OrdType.Market then not field Price is present and if field OrdType equals OrdType.Limit then field Price is present
if field OrdType equals OrdType.Limit then must be present and price > 0.0

Outgoing Messages

8: ExecutionReport

TagNameRequiredTypeValidity
14CumQty✔Qty
17ExecID✔string
37OrderID✔string
38OrderQtyData.OrderQty✔Qty
39OrdStatus✔OrdStatus
54Side✔Side
58Textstring
150ExecType✔ExecType
151LeavesQty✔Qty

Fields

Fields

NameTagTypeMember of:Validation
Account1 string NewOrderSingle
ClOrdID11 string NewOrderSingle
CumQty14 Qty ExecutionReport
ExecID17 string ExecutionReport
OrderID37 string ExecutionReport
OrderQtyData.OrderQty38 Qty NewOrderSingle
ExecutionReport
OrdStatus39 OrdStatus ExecutionReport
OrdType40 OrdType NewOrderSingle if field OrdType equals OrdType.Limit then must be present and price > 0.0
OrdType has value in [OrdType.Limit, OrdType.Market]
if field OrdType equals OrdType.Market then not field Price is present and if field OrdType equals OrdType.Limit then field Price is present
Price44 Price NewOrderSingle if field OrdType equals OrdType.Limit then must be present and price > 0.0
if field OrdType equals OrdType.Market then not field Price is present and if field OrdType equals OrdType.Limit then field Price is present
Side54 Side NewOrderSingle
ExecutionReport
Text58 string ExecutionReport
TransactTime60 UTCTimestamp NewOrderSingle
ExecType150 ExecType ExecutionReport
LeavesQty151 Qty ExecutionReport

Enumeration Types

ExecType

Encoding:char
CaseTag
New0
DoneForDay3
Canceled4
Replaced5
PendingCancel6
Stopped7
Rejected8
Suspended9
PendingNewA
CalculatedB
ExpiredC
RestatedD
PendingReplaceE
TradeF
TradeCorrectG
TradeCancelH
OrderStatusI

OrdStatus

Encoding:char
CaseTag
New0
PartiallyFilled1
Filled2
DoneForDay3
Canceled4
Replaced5
PendingCancel6
Stopped7
Rejected8
Suspended9
PendingNewA
CalculatedB
ExpiredC
AcceptedForBiddingD
PendingReplaceE

OrdType

Encoding:char
CaseTag
Market1
Limit2
Stop3
StopLimit4
WithOrWithout6
LimitOrBetter7
LimitWithOrWithout8
OnBasis9
PreviouslyQuotedD
PreviouslyIndicatedE
ForexSwapG
FunariI
MarketIfTouchedJ
MarketWithLeftOverAsLimitK
PreviousFundValuationPointL
NextFundValuationPointM
PeggedP

Side

Encoding:char
CaseTag
Buy1
Sell2
BuyMinus3
SellPlus4
SellShort5
SellShortExempt6
Undisclosed7
Cross8
CrossShort9
CrossShortExemptA
AsDefinedB
OppositeC
SubscribeD
RedeemE
LendF
BorrowG