Custom Extensions Tutorial Model

Messages

Incoming Messages

D: NewOrderSingle

TagNameRequiredTypeValidity
1Accountstring
11ClOrdIDstring
18ExecInstExecInst
38OrderQtyData.OrderQtyQty
40OrdTypeOrdType

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

44PricePrice
54SideSide
60TransactTimeUTCTimestamp
spSpreadProportionfloat

if present, x > 0.0 and x <= 1.0

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 and if field OrdType equals OrdType.StopSpread then field Price is present
if field OrdType equals OrdType.StopSpread then field SpreadProportion is present
if field OrdType equals OrdType.Market then must be present and price > 0.0

Outgoing Messages

8: ExecutionReport

TagNameRequiredTypeValidity
14CumQtyQty
17ExecIDstring
37OrderIDstring
38OrderQtyData.OrderQtyQty
39OrdStatusOrdStatus
54SideSide
58Textstring
150ExecTypeExecType
151LeavesQtyQty

Fields

Fields

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

Enumeration Types

ExecInst

Encoding:MultipleValueChar
CaseTag
StayOnOfferSide0
NotHeld1
Work2
GoAlong3
OverTheDay4
Held5
ParticipateDoNotInitiate6
StrictScale7
TryToScale8
StayOnBidSide9
NoCrossA
OKToCrossB
CallFirstC
PercentOfVolumeD
DoNotIncreaseE
DoNotReduceF
AllOrNoneG
ReinstateOnSystemFailureH
InstitutionsOnlyI
ReinstateOnTradingHaltJ
CancelOnTradingHaltK
LastPegL
MidPricePegM
NonNegotiableN
OpeningPegO
MarketPegP
CancelOnSystemFailureQ
PrimaryPegR
SuspendS
CustomerDisplayInstructionU
NettingV
PegToVWAPW
TradeAlongX
TryToStopY
CancelIfNotBestZ
TrailingStopPega
StrictLimitb
IgnorePriceValidityChecksc
PegToLimitPriced
WorkToTargetStrategye

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
StopSpreads

Side

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