FIX Protocol Tag 59: TimeInForce
How long the order stays in effect, such as day, good till cancel, immediate or cancel, fill or kill, or good till date. An order without this field is a day order.
- Tag number
- 59
- Data type
- CHAR
- FIX versions
- FIX 4.0 to 5.0 SP2
- Used in
- 27 message types
Practical notes on TimeInForce
TimeInForce says how long the order stays active. Without it, the order is a Day order.
- 0 Day, 1 Good till cancel, 3 Immediate or cancel (fill what you can now, cancel the rest), 4 Fill or kill (all now or nothing), 6 Good till date.
- Good till date needs ExpireDate (432) or ExpireTime (126).
- Venues map these to their own rules; a GTC order may be capped at a number of days.
Changes between FIX versions
- At the close (7) was added in FIX 4.3. FIX 5.0 SP1 and SP2 add further codes such as Good through crossing (8) and At crossing (9).
Tag 59 in each FIX version
Values and message usage as defined in a specific version.
Data type
CHAR: A single character.
Valid values
13 enumerated values across all FIX versions.
| Value | Meaning | FIX versions |
|---|---|---|
| 0 | Day | All |
| 1 | Good till cancel | All |
| 2 | At the opening | All |
| 3 | Immediate or cancel | All |
| 4 | Fill or kill | All |
| 5 | Good till crossing | All |
| 6 | Good till date | All |
| 7 | At the close | 4.3, 4.4, 5.0, 5.0 SP1, 5.0 SP2 |
| 8 | Good through crossing | 5.0 SP1, 5.0 SP2 |
| 9 | At crossing | 5.0 SP1, 5.0 SP2 |
| A | Good for time | 5.0 SP2 |
| B | Good for auction | 5.0 SP2 |
| C | Good for month | 5.0 SP2 |
Example
59=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 tagMessage types that use tag 59
- Execution Report 35=8
- New Order Single 35=D
- New Order List 35=E
- Order Cancel/Replace Request 35=G
- Market Data Snapshot Full Refresh 35=W
- Market Data Incremental Refresh 35=X
- Derivative Security List 35=AA
- New Order Multileg 35=AB
- Multileg Order Cancel/Replace 35=AC
- Trade Capture Report 35=AE
- Trade Capture Report Ack 35=AR
- Trading Session List 35=BJ
- Security List Update Report 35=BK
- Security Definition Update Report 35=BP
- Derivative Security List Update Report 35=BR
- Trading Session List Update Report 35=BS
- Market Definition 35=BU
- Market Definition Update Report 35=BV
- Trade Match Report 35=DC
- Mass Order 35=DJ
- Mass Order Ack 35=DK
- Market Data Statistics Request 35=DO
- Market Data Statistics Report 35=DP
- Security Definition 35=d
- New Order Cross 35=s
- Cross Order Cancel Replace Request 35=t
- Security List 35=y
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.