Skip to content

FIX 4.4: ExecutionReport

The Execution Report (MsgType = 8) is the main trading response message used by the current ScaleTrade FIX server.

At the moment it is returned as the direct response to NewOrderSingle (35=D).


Execution Report (MsgType = 8)

Example

8=FIX.4.4|9=191|35=8|34=2|49=SERVER|52=20260408-20:34:22.499|56=CLIENT_1|
6=0|11=ORD-1775680462350-830df5|14=0|17=EXEC-1775680462|
37=ORD-1775680462350-830df5|39=8|54=1|55=EURUSD|58=Trade disabled|
150=8|151=0|10=064|

Fields Used by Current Implementation

Tag Name Description
35=8 MsgType Execution Report
37 OrderID Server-side order identifier
11 ClOrdID Client order identifier from NewOrderSingle
17 ExecID Execution identifier
150 ExecType Execution result type
39 OrdStatus Order status
55 Symbol Instrument
54 Side 1 = Buy, 2 = Sell
151 LeavesQty Remaining quantity
14 CumQty Executed quantity
6 AvgPx Average price
58 Text Rejection or status text

Current Status Mapping

Accepted

  • 150=0
  • 39=0

Meaning:

  • order accepted by server routing
  • position open request passed FIX transport validation and internal routing

Rejected

  • 150=8
  • 39=8

Meaning:

  • order was rejected by internal trade checks or routing
  • rejection reason is usually returned in 58=Text

Example reasons:

  • Trade disabled
  • validation errors
  • permissions or account-state restrictions

Current Scope

Right now ExecutionReport is implemented as an immediate response to order submission.

Not yet documented/implemented in the current server scope:

  • partial fills
  • cancel confirmations
  • order-status replay
  • mass-status snapshots
  • post-trade lifecycle push updates for all trade events