Application level messages (Trading)

New order single

This message is used to submit a new order to the TraderEvolution servers. Give-up and order routing can be done on the application servers by having the administrator set up users and accounts to do so.

The application server will respond with either an Execution Report or a Reject (Session) message. A Reject message is only issued if the message fails session level validation, such as invalid tag values. If an order fails business validation, an Execution Report will be issued with an appropriate status and error text.

Tag
Field Name
Required
Comments

Standard Header

Y

MsgType = D

11

ClOrdID

Y

Client identifier of the order (Should be only integer numbers)

73

NoOrders

N

Optional. Used for closing position or adding SL/TP. If specified, must be the value of Order ID supplied by the server in the execution report

37

OrderID

N

OrderID

1

Account

Y

The trader account

21

HandlInst

Y

Set to 1, otherwise will cause rejection

55

Symbol

Y

Instrument name

100

ExDestination

N

Defines route identifier. Available values: Not specified or 100 – instrument is identified by message; 101 – instrument is identified by the tag set SecurityID(48) + ExDestination(100)

48

SecurityID

N

Tradable instrument ID. If set, then instrument search is performed by the specified ID instead of Symbol (55) field

200

MaturityMonthYear

N

Reserved. Required for Options: format CCYYMM

205

MaturityDay

N

Reserved. Required for Options

201

PutOrCall

N

Reserved. Required for Options

202

StrikePrice

N

Reserved. Required for Options

207

SecurityExchange

Y

Route name

54

Side

Y

Only 1 (buy) or 2 (sell) supported

60

TransactTime

Y

Time of this order. Time can be set in the past if OrdType(40)=Manual

38

OrderQty

N

Required: order amount. One of tags 38 or 152 must be used at a time

152

CashOrderQty

N

Order amount in cash (currency). One of tags 38 or 152 must be used at a time. For Market orders only. This value should be transmitted in USD, otherwise it will be converted to USD using the cross course

40

OrdType

Y

Varies by exchange. Types supported by application server: 0 – manual; 1 – market; 2 – limit; 3 – stop

16555

CrossPrice

N

Cross price. It can be used if OrdType(40)=Manual. If not set, that means the current cross price will be applied

20120

CommissionType

N

Commission type. It can be used if OrdType(40)=Manual. Possible values: 0 - apply commission from commission plan settings. Default value; 1 - commission plan settings are not applied

20119

SpreadType

N

Defines spread value that can be applied. It can be used if OrdType(40)=Manual. Possible values: 0 - place order without spread. Default value; 1 - place order considering spread plan settings; 2 - set spread value

20118

SpreadMeasure

N

Defines spread measure, if SpreadType(20119)=2. Can be used, if OrdType(40)=Manual and SpreadType(20119)=2. Possible values: 0 – ticks. Default value; 1 – price; 2 – basis points

20116

SpreadValue

N

Spread value. Can be used, if OrdType(40)=Manual and SpreadType(20119)=2

20117

ExecutionVenue

N

Execution venue. It can be used if OrdType(40)=Manual. If not set, that means the execution venue is not set for the route

20146

UserComment

N

Any useful information on the order

20161

OvernightExecution

N

Possible values are: 0 and 1.

If 1 the order can be placed and filled during overnight trading.

44

Price

N

Order price. For market orders price is indicative and not required

99

StopPx

N

Order price for stop orders. Note: Stop prices for Stop orders in Execution report will be reported in the Price (44) field

15

Currency

N

Not supported. Always in primary currency

117

QuoteID

N

Reserved

59

TimeInForce

N

Varies by exchange. Absence of this field indicates Day order. Types supported by application server: 0 – Day; 1 – Good Till Cancel (GTC); 3 – Immediate or cancel (IOC); 4 – Fill or Kill (FOK); 6 – Good Till Date (GTD)

432

ExpireDate

N

Reserved GTD orders

58

Text

N

User comment for order

583

ClOrdLinkID

N

OrderID. Cannot be used together with 73 and 37 tags for close orders

77

OpenClose

N

C for close orders (to add SL/TP or to close position)

20017

ProductType

N

Defines the product type. Available values: 0 – General; 1 – Intraday; 2 – Delivery

18205

SlPrice

N

Price for “Stop loss” order

18206

TpPrice

N

Price for “Take profit” order

Standard Trailer

Y

Note, that if you have specified an SL/TP price, you can modify this order (cancel, modify).

Open and Close indicator

The OpenClose field is used in for trades to indicate whether the trade is opening or closing (close position, add SL/TP to position or Order.

For close order OrderID tag must be the value TraderEvolution Order ID. For mutual close must be sent NoOrders of OrderID of all orders for mutual close.

Example Position Close:

8=FIX.4.4|9=172|35=D|34=18|49=alexm1|56=TEORDER|52=20131202-12:30:39.640|38=1000|40=1|11=11|21=1|55=EUR/USD|54=1|60=20131202-12:30:39.639|59=0|1=alexm1|207=LMAX|44=2|73=1|37=8415707|77=C|10=180|

Example Open Position:

8=FIX.4.4|9=145|35=D|34=5|49=alexm1|56=TEORDER|52=20131202-12:34:38.926|38=1000|40=1|11=13|21=1|55=EUR/USD|54=1|60=20131202-12:34:38.926|59=0|1=alexm1|207=LMAX|10=214|

SL/TP orders

If you need to set SL/TP orders, use Limit/Strop order (40=2 or 40=3) and NoOrders tag 73 with OrderID field 37 and ClOrdLinkID field 583 and Posiiton Effect 77=C for bounded order/position.

Example Adding TP for position:

8=FIX.4.4|9=177|35=D|34=2|49=alexm1|56=TEORDER|52=20131202-12:33:53.927|38=1000|40=2|11=12|21=1|55=EUR/USD|54=1|60=20131202-12:33:53.926|59=0|1=alexm1|207=LMAX|44=1.50000|73=1|37=8415673|77=C|10=1 73|

Order cancel/replace

The Order Cancel/Replace is sent by the client application to amend an order that has a working status. It may not be used to re-open an order by increasing the volume of a completed order. Part-filled orders may be amended, but not fully filled orders. Attempts to do so will result in a Cancel Reject with “no such order”.

If an Order Cancel/Replace is accepted by the business rules but rejected downstream (for example, if the exchange connection is disabled) the system will deliver an Execution Report for the pending state followed by a Cancel Reject.

Tag
Field Name
Required
Comments

Standard Header

Y

MsgType = G

37

OrderID

Y

Order ID

11

ClOrdID

Y

Unique identifier of replacement order (will be used in the Cancel Reject message if the replacement request is rejected)

1

Account

Y

User account field is required. But it is not validating, since you can’t change the account for the order

21

HandlInst

Y

Set to 1, otherwise will cause rejection

200

MaturityMonthYear

N

Optional: match original order if supplied

205

MaturityDay

N

Optional: match original order if supplied

201

PutOrCall

N

Optional: match original order if supplied

202

StrikePrice

N

Optional: match original order if supplied

207

SecurityExchange

N

Optional. If specified, then field is not validating, because you can’t change SecurityExchange for an already existing order

54

Side

Y

Must match original order

60

TransactTime

Y

Time this order request was initiated/released by the trader or trading system

38

OrderQty

Y

Must match original order

152

CashOrderQty

N

Not supported

40

OrdType

Y

Must match original order

44

Price

N

Optional: may specify new price

99

StopPx

N

Optional: may specify new stop price

59

TimeInForce

N

Optional. Supported only by specific Liquidity Providers. If tag is not specified, then the system will use Day as default

168

EffectiveTime

N

Not supported

432

ExpireDate

N

Optional: match original order if supplied

77

OpenClose

N

Optional: Must match original order

Standard Trailer

Y

Order cancel

The Order Cancel is sent by the client application to cancel all the remaining volume of a working order. To reduce the volume of an order, you should use Order Cancel/Replace.

Tag
Field Name
Required
Comments

Standard Header

Y

MsgType = F

37

OrderID

Y

ClOrdID of the order to cancel

11

ClOrdID

Y

Unique identifier of cancel request (will be used in the Cancel Reject message if the replacement request is rejected)

1

Account

Y

Required: User account

48

SecurityID

N

Optional

167

SecurityType

N

Ignored

200

MaturityMonthYear

N

Ignored

205

MaturityDay

N

Ignored

201

PutOrCall

N

Ignored

202

StrikePrice

N

Ignored

207

SecurityExchange

N

Ignored

54

Side

N

Must match original order

60

TransactTime

Y

Time this order request was initiated/released by the trader or trading system

38

OrderQty

N

Ignored

Standard Trailer

Y

Notes: The OrderID field is requred and the Cancel will be not processed without this field present. This value is an Order ID.

Execution report

The execution report message is sent by the server to your application for the following reasons:

  • Confirm receipt of a new order

  • Confirm changes or cancels to an existing order

  • Supply unsolicited order state changes

  • Relay fill information

  • Actual orders state (on login) or as response for Order Status request.

  • Reject new orders

The OrdStatus and ExecType fields are important for determining the sequence of events that took place. Some of these scenarios are discussed in further detail below.

Tag
Field Name
Required
Comments

Standard Header

Y

MsgType = 8 PossResend=Y for Request for Positions

37

OrderID

Y

Order identifier

198

SecondaryOrderID

N

Not supported

11

ClOrdID

N

Tag 11 you are receiving only with first message 150=A (pending new). For further work should be used server orderid (tag 37).

17

ExecID

N

Trade identifier assigned by sell-side

19

ExecRefID

N

Not supported

150

ExecType

Y

Not all states are supported.

39

OrdStatus

Y

Not all states are supported.

103

OrdRejReason

N

Not supported.

1

Account

N

User account

55

Symbol

Y

Instrument name

48

SecurityID

N

Tradable instrument ID

200

MaturityMonthYear

N

For Options: format CCYYMM

205

MaturityDay

N

For Options

201

PutOrCall

N

For Options

202

StrikePrice

N

For Options

207

SecurityExchange

N

Optional: TraderEvolution route name

54

Side

Y

1 (buy) or 2 (sell) only

38

OrderQty

N

Order volume

40

OrdType

N

As stated on the order

44

Price

N

As stated on the order

99

StopPx

N

As status on the order

59

TimeInForce

N

As stated on the order

432

ExpireDate

N

As stated on the order

32

LastQty

N

Trade amount bought/sold on this (last) fill.

60

TransactTime

N

Date of order execution

64

SettlDate

N

Date of settlement

31

LastPx

N

Price of this fill, zero for reversal

151

LeavesQty

Y

Volume still working

14

CumQty

Y

Volume filled so far

6

AvgPx

N

Decimal average price (accuracy limited)

21

HandlInst

N

Not returned (is set to 1 on order)

77

OpenClose

N

Indicate open or close

58

Text

N

Contains rejection reason text

527

SecondaryExecID

N

ID of open position

20017

ProductType

N

Defines the product type. Available values: 0 – General; 1 – Intraday; 2 – Delivery

20146

UserComment

N

Any useful information on the order

100

ExDestination

N

Defines route identifier

Standard Trailer

Y

ExecType I = Order Status used in execution report messages that were sent for update position/order status or as response on Order Status request.

Order status request

The order status request can be used to get the list of opened positions or active orders.

Note, that during startup (after Logon) the system sends the list of active orders automatically.

Tag
Field Name
Required
Comments

Standard Header

Y

MsgType=H

790

OrdStatusReqID

Y

55

Symbol

Y

TraderEvolution Instrument Name

11

ClOrdID

N

Unique identifier for Order as assigned by the buy-side. If specified, then will be used for searching the order.

54

Side

N

1 = Buy, 2 = Sell

37

OrderId

N

TraderEvolution OrderID

48

SecurityID

N

Tradable instrument ID. If set, then instrument search will be performed by this ID instead of Symbol (55)

790

OrdStatusReqID

N

20000

IntField

Y

1 = State of opened orders, 2 = State of opened positions

100

ExDestination

N

Defines route identifier. Possible values: • Not specified or 100 – instrument is identified from a message; • 101 – instrument is identified by the tag set SecurityID(48) + ExDestination(100)

1

Account

N

TraderEvolution account name

Standard Trailer

Y

Order cancel reject

The Order Cancel Reject is delivered by the server when a Cancel or Cancel/Replace is not accepted by the application server. If the server accepted the Cancel or Cancel/Replace but the trading system rejected it, then this message is preceded by an Execution Report for the pending status.

Tag
Field Name
Required
Comments

Standard Header

Y

MsgType = 9

37

OrderID

Y

Order ID

198

SecondaryOrderID

N

Not supported

11

ClOrdID

Y

As set in the Cancel or Cancel/Replace

41

OrigClOrdID

Y

ClOrdID which could not be cancelled

39

OrdStatus

Y

Current order status

1

Account

N

User account

60

TransactTime

N

Not supported

434

CxlRejResponseTo

Y

Either 1 (Cancel) or 2 (Cancel/Replace)

58

Text

N

Text description of rejection

354

EncodedTextLen

N

Not supported

355

EncodedText

N

Not supported

Standard Trailer

Y

Trade capture report request

Tag
Field Name
Required
Comments

Standard Header

Y

MsgType = AD

568

TradeRequestID

Y

Unique request id

569

TradeRequestType

Y

Must be 0

37

OrderID

N

Order ID

55

Symbol

N

Instrument Name

207

SecurityExchange

N

Route name

100

ExDestination

N

Defines how instrument will be identified on the server side. Possible values: • Not specified or 100 – instrument is identified from a message; • 101 – instrument is identified by the tag set SecurityID(48) + ExDestination(100)

48

SecurityID

N

Tradable instrument ID

580

NoDate

N

Must be 2. Range of dates (between NoDate1 and NoDate2)

75

TradeDate

Y

60

TransactTime

Y

Time the trade was created

Standard Trailer

Y

Trade capture report

Tag
Field Name
Required
Comments

Standard Header

Y

MsgType = AE

568

TradeReportID

Y

Unique report ID

569

TradeRequestID

C

ID of the request

912

LastRptRequested

N

Indicates that this is the last report which will be returned as a result of the request. N – not last, Y – last.

55

Symbol

Y

Instrument Name

207

SecurityExchange

Y

Route name

570

PreviouslyReported

N

Not supported.

32

LastQty

Y

Trade amount bought/sold on this (last) fill.

31

LastPx

Y

Trade Price

100

ExDestination

N

Defines route identifier

48

SecurityID

N

Tradeable instrument ID

75

TradeDate

Y

Not supported

60

TransactTime

Y

Time the trade was created

552

NoSides

Y

Number of sides

54

Side

Y

Order side. 1 - BUY; 2 - SELL

37

OrderID

Y

Unique order id

1

Account

Y

Account name

119

SettlCurrA

Y

LastPx*LastQty

198

Secondary

N

Counter Order ID

64

SettlDate

Y

date of trade settlement

Standard Trailer

Y

Close position

The Close position message is delivered by the server when a position is closed.

Tag
Field Name
Required
Comments

Standard Header

Y

MsgType = CP

7001

AccountID

Y

Account ID

60

TransactTime

Y

Time of transaction

44

Price

Y

Price of transaction

20026

SuperPositionId

Y

ID of superposition

20027

PositionId

Y

ID of position

7016

Commission

Y

Commission

Standard trailer

Y

Account operation

The Account operation message is delivered by the server when account operation is made.

Tag
Field Name
Required
Comments

Standard Header

Y

MsgType = AOP

1

Account

Y

Account name

7035

Amount

Y

Operation amount

15

Currency

Y

Operation currency

20021

AccountOperationId

Y

Account operation ID

20023

OperationType

Y

Account operation type. Possible values: 1 Trading, 2 Deposit, 3 Withdraw, 4 Brokerage, 5 Swap, 6 MinFeeAdjEquity, 7 Blocking, 8 Unblocking, 9 ManufacturedDividends, 10 Interest, 12 Adjustment, 13 Dividends, 14 Stock, 15 AccruedInterest, 16 Subscribe, 17 Transfer, 18 Spread, 19 Credit, 22 DeliveredForward, 23 FundTransfer, 24 DWT, 25 ValueAddedTax, 26 Exchange, 27 SecuritiesTransferTax, 28 SettlementFee, 29 InvestorProtectionLevy, 30 Delivery, 31 Maker, 32 Taker, 33 WithdrawalFee, 34 Markup, 35 PortfolioManagementFee, 36 PortfolioManagementMinFeeAdj, 40 ClearingVMtransfer, 41 Level1Charging, 42 Level2Charging, 43 Level3Charging, 44 DelayedCharging, 45 NewsCharging, 46 MamPerfomanceFee, 47 MamManagementFee, 48 Collateral, 88 InterestOnCash, 90 InterestOnMargin, 91 InterestOnMarginAndUnsettledCash, 92 InterestOnAvailableFunds, 93 InterestOnAvailableFundsPlusUnsettledCash, 94 OpenOptionPremium, 95 CloseOptionPremium, 96 TransferFee, 97 FixedFee, 98 Custodial, 99 ProductFee, 100 BalanceCredit, 101 BalanceDebit, 102 AccruedDividends, 103 DividendsTax, 104 PrimeBroker, 105 CloseTminus1OptionPremium, 106 Funding, 107 FundingMarkup, 108 WhiteLabel

60

TransactTime

Y

Time of transaction

20024

CreationDate

Y

Date/Time of creation

20025

ValueDate

Y

Date and time when account operation was valuated

20022

CounterAccountOperationId

N

ID of the counter-account operation, if required

Standard trailer

Y

Last updated