ZagTrader

FIX Protocol Tag 39: OrdStatus

Current status of the order, such as new, partially filled, filled, cancelled or rejected.

Tag number
39
Data type
CHAR
FIX versions
FIX 4.0 to 5.0 SP2
Used in
7 message types

Practical notes on OrdStatus

OrdStatus is the state of the order after the event an Execution Report describes.

  • Read it with ExecType (150): 150 says what just happened, 39 says where the order now stands. A partial fill is 150=F and 39=1.
  • Final states: 2 Filled, 4 Canceled, 8 Rejected, C Expired. Done for day (3) means no more executions today; a multi-day order can resume the next day.
  • Pending states: A Pending new, 6 Pending cancel, E Pending replace. They tell you a request is in progress.
  • When more than one state applies, pending states take precedence. An order that is partly filled and waiting for a cancel reports 39=6.

Common mistakes

  • Treating 39=6 or 39=E as final. Wait for the confirmation or the reject.

Changes between FIX versions

  • Replaced (5) is not in the FIX 4.4 dictionary. On FIX 4.4 a replace is reported with ExecType 150=5 and OrdStatus giving the current state.

See also:39=5 not valid in FIX 4.4FIX order lifecycle explainedHow to read an Execution Report

Tag 39 in each FIX version

Values and message usage as defined in a specific version.

Data type

CHAR: A single character.

Valid values

15 enumerated values across all FIX versions.

ValueMeaningFIX versions
0NewAll
1Partially filledAll
2FilledAll
3Done for dayAll
4CanceledAll
5Replaced4.0, 4.1, 4.2, 4.3, 5.0, 5.0 SP1, 5.0 SP2
6Pending cancelAll
7StoppedAll
8RejectedAll
9SuspendedAll
APending newAll
BCalculatedAll
CExpiredAll
DAccepted for bidding4.2, 4.3, 4.4, 5.0, 5.0 SP1, 5.0 SP2
EPending replace4.2, 4.3, 4.4, 5.0, 5.0 SP1, 5.0 SP2

Example

39=0

Illustrative value. In a message, fields are separated by the SOH character (0x01), often shown as | or ^ in logs.

Decode a message with this tag

Message types that use tag 39

Covers every version from FIX 4.0 to 5.0 SP2, including fields reached through components and repeating groups. The version pages above show whether the tag is required in each message.

Field and message data comes from the QuickFIX data dictionaries for FIX 4.0 to 5.0 SP2 and FIXT 1.1, used under the QuickFIX Software License. This product includes software developed by quickfixengine.org (http://www.quickfixengine.org/). Enumerated value names are converted to plain text for reading.