BetaTrader
A HFT Eco-System
Loading...
Searching...
No Matches
fix Namespace Reference

Classes

class  BinaryToCancelOrderRequestConverter
 Converts a raw FIX message string into a CancelOrderRequest object. More...
 
class  BinaryToMarketDataRequestConverter
 Converts a raw FIX message string into a MarketDataRequest object. More...
 
class  BinaryToModifyOrderRequestConverter
 Converts a raw FIX message string into a ModifyOrderRequest object. More...
 
class  BinaryToOrderRequestConverter
 Converts a raw FIX message string into an OrderRequest object. More...
 
struct  BusinessMessageReject
 Represents the data required to build a FIX Business Message Reject (35=j) message. More...
 
struct  CancelOrderRequest
 Represents a parsed FIX Order Cancel Request message. More...
 
class  ExecutionReport
 Represents a FIX Execution Report (35=8) message. More...
 
class  ExecutionReportToBinaryConverter
 A static utility class for serializing an ExecutionReport into a FIX message. More...
 
class  FixServer
 
class  FixSession
 
struct  LogonRequest
 Represents a parsed FIX Logon (35=A) message. More...
 
struct  LogoutRequest
 Represents a parsed FIX Logout (35=5) message. More...
 
struct  MarketDataEntry
 
struct  MarketDataIncrementalEntry
 
struct  MarketDataIncrementalRefresh
 
class  MarketDataIncrementalRefreshToBinaryConverter
 Converts a MarketDataIncrementalRefresh object into a raw FIX message string. More...
 
struct  MarketDataRequest
 Represents a parsed FIX Market Data Request message. More...
 
struct  MarketDataSnapshotFullRefresh
 
class  MarketDataSnapshotFullRefreshToBinaryConverter
 Converts a MarketDataSnapshotFullRefresh object into a raw FIX message string. More...
 
struct  ModifyOrderRequest
 Represents a parsed FIX Order Cancel Replace Request (Modify Order) message. More...
 
class  OrderRequest
 Represents a parsed FIX New Order - Single (35=D) message. More...
 
struct  Reject
 Represents the data required to build a FIX Session-Level Reject (35=3) message. More...
 
struct  ResendRequest
 Represents a parsed FIX Resend Request (35=2) message. More...
 
struct  SequenceReset
 Represents a parsed FIX Sequence Reset (35=4) message. More...
 

Typedefs

using ClientOrderID = uint64_t
 Type alias for a client-assigned order ID.
 
using CompID = uint32_t
 Type alias for a component ID (e.g., SenderCompID, TargetCompID).
 
using ExchangeOrderID = uint64_t
 Type alias for an exchange-assigned order ID.
 
using Price = common::Price
 Type alias for a price field, inheriting from the common Price type.
 
using Quantity = common::Quantity
 Type alias for a quantity field, inheriting from the common Quantity type.
 
using SequenceNumber = uint64_t
 Type alias for a message sequence number.
 
using Symbol = common::Symbol
 Type alias for a symbol field, inheriting from the common Symbol type.
 

Enumerations

enum class  MDEntryType : char {
  Bid = '0' ,
  Offer = '1' ,
  Trade = '2'
}
 Defines the type of market data entry (Tag 269). More...
 
enum class  MDUpdateAction : char {
  New = '0' ,
  Change = '1' ,
  Delete = '2'
}
 Defines the update action for a market data entry (Tag 279). More...
 
enum class  Tag {
  BeginString = 8 ,
  BodyLength = 9 ,
  MsgType = 35 ,
  SenderCompID = 49 ,
  TargetCompID = 56 ,
  MsgSeqNum = 34 ,
  SendingTime = 52 ,
  ClOrdID = 11 ,
  OrigClOrdID = 41 ,
  Symbol = 55 ,
  Side = 54 ,
  OrdType = 40 ,
  OrderQty = 38 ,
  Price = 44 ,
  TimeInForce = 59 ,
  StopPrice = 99 ,
  SettlType = 63 ,
  SettlDate = 64 ,
  OrderID = 37 ,
  ExecID = 17 ,
  OrdStatus = 39 ,
  Text = 58 ,
  CumQty = 14 ,
  LeavesQty = 151 ,
  LastPx = 31 ,
  LastQty = 32 ,
  TransactTime = 60 ,
  MDReqID = 262 ,
  SubscriptionRequestType = 263 ,
  MarketDepth = 264 ,
  NoRelatedSym = 146 ,
  MDUpdateAction = 279 ,
  MDEntryType = 269 ,
  MDEntryPx = 270 ,
  MDEntrySize = 271 ,
  MDEntryTime = 273 ,
  NoMDEntries = 268 ,
  MDEntryPositionNo = 290 ,
  CheckSum = 10
}
 

Functions

common::OrderSide charToOrderSide (char c)
 Converts a character representation of an order side to the common::OrderSide enum.
 
common::OrderType charToOrderType (char c)
 Converts a character representation of an order type to the common::OrderType enum.
 
std::map< int, std::string_view > splitToMap (std::string_view str, char delimiter)
 Splits a FIX message string view into a map of tags to values.
 

Variables

constexpr std::string_view FIX_BEGIN_STRING = "FIX.4.4"
 The BeginString field (Tag 8) for FIX protocol version.
 
constexpr int MARKET_DEPTH_FULL_BOOK = 0
 Market Depth (Tag 264) for Full Book.
 
constexpr int MARKET_DEPTH_TOP_OF_BOOK = 1
 Market Depth (Tag 264) for Top of Book.
 
constexpr char MSG_TYPE_BUSINESS_MESSAGE_REJECT = 'j'
 Message Type (Tag 35) for Business Message Reject.
 
constexpr char MSG_TYPE_EXECUTION_REPORT = '8'
 Message Type (Tag 35) for Execution Report.
 
constexpr char MSG_TYPE_MARKET_DATA_INCREMENTAL_REFRESH = 'X'
 Message Type (Tag 35) for Market Data Incremental Refresh.
 
constexpr char MSG_TYPE_MARKET_DATA_REQUEST = 'V'
 Message Type (Tag 35) for Market Data Request.
 
constexpr char MSG_TYPE_MARKET_DATA_SNAPSHOT_FULL_REFRESH = 'W'
 Message Type (Tag 35) for Market Data Snapshot Full Refresh.
 
constexpr char MSG_TYPE_NEW_ORDER_SINGLE = 'D'
 Message Type (Tag 35) for New Order Single.
 
constexpr char MSG_TYPE_ORDER_CANCEL_REPLACE_REQUEST = 'G'
 Message Type (Tag 35) for Order Cancel Replace Request.
 
constexpr char MSG_TYPE_ORDER_CANCEL_REQUEST = 'F'
 Message Type (Tag 35) for Order Cancel Request.
 
constexpr char MSG_TYPE_REJECT = '3'
 Message Type (Tag 35) for Reject.
 
constexpr char ORDER_SIDE_BUY = '1'
 Order Side (Tag 54) for Buy.
 
constexpr char ORDER_SIDE_SELL = '2'
 Order Side (Tag 54) for Sell.
 
constexpr char ORDER_STATUS_CANCELED = '4'
 Order Status (Tag 39) for Canceled order.
 
constexpr char ORDER_STATUS_FILLED = '2'
 Order Status (Tag 39) for Filled order.
 
constexpr char ORDER_STATUS_NEW = '0'
 Order Status (Tag 39) for New order.
 
constexpr char ORDER_STATUS_PARTIALLY_FILLED = '1'
 Order Status (Tag 39) for Partially Filled order.
 
constexpr char ORDER_STATUS_REJECTED = '8'
 Order Status (Tag 39) for Rejected order.
 
constexpr char ORDER_TYPE_LIMIT = '2'
 Order Type (Tag 40) for Limit order.
 
constexpr char ORDER_TYPE_MARKET = '1'
 Order Type (Tag 40) for Market order.
 
constexpr char SOH = '\x01'
 Start of Header (SOH) character, used as a field delimiter in FIX messages.
 
constexpr char SUBSCRIPTION_REQUEST_TYPE_SNAPSHOT = '0'
 Subscription Request Type (Tag 263) for Snapshot.
 
constexpr char SUBSCRIPTION_REQUEST_TYPE_SNAPSHOT_AND_UPDATES = '1'
 Subscription Request Type (Tag 263) for Snapshot and Updates.
 
constexpr char SUBSCRIPTION_REQUEST_TYPE_UNSUBSCRIBE = '2'
 Subscription Request Type (Tag 263) for Unsubscribe.
 
constexpr char TIME_IN_FORCE_DAY = '0'
 Time In Force (Tag 59) for Day order.
 
constexpr char TIME_IN_FORCE_FOK = '3'
 Time In Force (Tag 59) for Fill Or Kill (FOK) order.
 
constexpr char TIME_IN_FORCE_GTC = '1'
 Time In Force (Tag 59) for Good Till Cancel (GTC) order.
 
constexpr char TIME_IN_FORCE_IOC = '2'
 Time In Force (Tag 59) for Immediate Or Cancel (IOC) order.
 

Typedef Documentation

◆ ClientOrderID

using fix::ClientOrderID = typedef uint64_t

Type alias for a client-assigned order ID.

◆ CompID

using fix::CompID = typedef uint32_t

Type alias for a component ID (e.g., SenderCompID, TargetCompID).

◆ ExchangeOrderID

using fix::ExchangeOrderID = typedef uint64_t

Type alias for an exchange-assigned order ID.

◆ Price

using fix::Price = typedef common::Price

Type alias for a price field, inheriting from the common Price type.

◆ Quantity

Type alias for a quantity field, inheriting from the common Quantity type.

◆ SequenceNumber

using fix::SequenceNumber = typedef uint64_t

Type alias for a message sequence number.

◆ Symbol

using fix::Symbol = typedef common::Symbol

Type alias for a symbol field, inheriting from the common Symbol type.

Enumeration Type Documentation

◆ MDEntryType

enum class fix::MDEntryType : char
strong

Defines the type of market data entry (Tag 269).

Enumerator
Bid 
Offer 
Trade 

◆ MDUpdateAction

enum class fix::MDUpdateAction : char
strong

Defines the update action for a market data entry (Tag 279).

Enumerator
New 
Change 
Delete 

◆ Tag

enum class fix::Tag
strong
Enumerator
BeginString 

Begin String (FIX.x.y)

BodyLength 

Message Body Length.

MsgType 

Message Type.

SenderCompID 

Sender's Company ID.

TargetCompID 

Target's Company ID.

MsgSeqNum 

Message Sequence Number.

SendingTime 

Time of message transmission.

ClOrdID 

Client Order ID.

OrigClOrdID 

Original Client Order ID.

Symbol 

Security Symbol.

Side 

Side of order (Buy/Sell)

OrdType 

Order Type (Market, Limit, etc.)

OrderQty 

Quantity ordered.

Price 

Price of order.

TimeInForce 

Time in Force.

StopPrice 

Stop Price.

SettlType 

Settlement Type.

SettlDate 

Settlement Date.

OrderID 

Order ID.

ExecID 

Execution ID.

OrdStatus 

Order Status.

Text 

Free format text.

CumQty 

Cumulative Quantity.

LeavesQty 

Quantity remaining.

LastPx 

Last Traded Price.

LastQty 

Last Traded Quantity.

TransactTime 

Transaction Time.

MDReqID 

Market Data Request ID.

SubscriptionRequestType 

Subscription Request Type.

MarketDepth 

Market Depth.

NoRelatedSym 

Number of Related Symbols.

MDUpdateAction 

Market Data Update Action.

MDEntryType 

Market Data Entry Type.

MDEntryPx 

Market Data Entry Price.

MDEntrySize 

Market Data Entry Size.

MDEntryTime 

Market Data Entry Time.

NoMDEntries 

Number of Market Data Entries.

MDEntryPositionNo 

Market Data Entry Position Number.

CheckSum 

Checksum.

Function Documentation

◆ charToOrderSide()

common::OrderSide fix::charToOrderSide ( char  c)

Converts a character representation of an order side to the common::OrderSide enum.

Parameters
cThe character to convert (e.g., '1' for Buy).
Returns
The corresponding common::OrderSide enum value.
Exceptions
std::invalid_argumentif the character is not a valid order side.
Here is the caller graph for this function:

◆ charToOrderType()

common::OrderType fix::charToOrderType ( char  c)

Converts a character representation of an order type to the common::OrderType enum.

Parameters
cThe character to convert (e.g., '2' for Limit).
Returns
The corresponding common::OrderType enum value.
Exceptions
std::invalid_argumentif the character is not a valid order type.
Here is the caller graph for this function:

◆ splitToMap()

std::map< int, std::string_view > fix::splitToMap ( std::string_view  str,
char  delimiter 
)

Splits a FIX message string view into a map of tags to values.

Parameters
strThe string view of the FIX message.
delimiterThe delimiter character (usually SOH).
Returns
A map where keys are FIX tags and values are the corresponding string views.
Here is the caller graph for this function:

Variable Documentation

◆ FIX_BEGIN_STRING

constexpr std::string_view fix::FIX_BEGIN_STRING = "FIX.4.4"
constexpr

The BeginString field (Tag 8) for FIX protocol version.

◆ MARKET_DEPTH_FULL_BOOK

constexpr int fix::MARKET_DEPTH_FULL_BOOK = 0
constexpr

Market Depth (Tag 264) for Full Book.

◆ MARKET_DEPTH_TOP_OF_BOOK

constexpr int fix::MARKET_DEPTH_TOP_OF_BOOK = 1
constexpr

Market Depth (Tag 264) for Top of Book.

◆ MSG_TYPE_BUSINESS_MESSAGE_REJECT

constexpr char fix::MSG_TYPE_BUSINESS_MESSAGE_REJECT = 'j'
constexpr

Message Type (Tag 35) for Business Message Reject.

◆ MSG_TYPE_EXECUTION_REPORT

constexpr char fix::MSG_TYPE_EXECUTION_REPORT = '8'
constexpr

Message Type (Tag 35) for Execution Report.

◆ MSG_TYPE_MARKET_DATA_INCREMENTAL_REFRESH

constexpr char fix::MSG_TYPE_MARKET_DATA_INCREMENTAL_REFRESH = 'X'
constexpr

Message Type (Tag 35) for Market Data Incremental Refresh.

◆ MSG_TYPE_MARKET_DATA_REQUEST

constexpr char fix::MSG_TYPE_MARKET_DATA_REQUEST = 'V'
constexpr

Message Type (Tag 35) for Market Data Request.

◆ MSG_TYPE_MARKET_DATA_SNAPSHOT_FULL_REFRESH

constexpr char fix::MSG_TYPE_MARKET_DATA_SNAPSHOT_FULL_REFRESH = 'W'
constexpr

Message Type (Tag 35) for Market Data Snapshot Full Refresh.

◆ MSG_TYPE_NEW_ORDER_SINGLE

constexpr char fix::MSG_TYPE_NEW_ORDER_SINGLE = 'D'
constexpr

Message Type (Tag 35) for New Order Single.

◆ MSG_TYPE_ORDER_CANCEL_REPLACE_REQUEST

constexpr char fix::MSG_TYPE_ORDER_CANCEL_REPLACE_REQUEST = 'G'
constexpr

Message Type (Tag 35) for Order Cancel Replace Request.

◆ MSG_TYPE_ORDER_CANCEL_REQUEST

constexpr char fix::MSG_TYPE_ORDER_CANCEL_REQUEST = 'F'
constexpr

Message Type (Tag 35) for Order Cancel Request.

◆ MSG_TYPE_REJECT

constexpr char fix::MSG_TYPE_REJECT = '3'
constexpr

Message Type (Tag 35) for Reject.

◆ ORDER_SIDE_BUY

constexpr char fix::ORDER_SIDE_BUY = '1'
constexpr

Order Side (Tag 54) for Buy.

◆ ORDER_SIDE_SELL

constexpr char fix::ORDER_SIDE_SELL = '2'
constexpr

Order Side (Tag 54) for Sell.

◆ ORDER_STATUS_CANCELED

constexpr char fix::ORDER_STATUS_CANCELED = '4'
constexpr

Order Status (Tag 39) for Canceled order.

◆ ORDER_STATUS_FILLED

constexpr char fix::ORDER_STATUS_FILLED = '2'
constexpr

Order Status (Tag 39) for Filled order.

◆ ORDER_STATUS_NEW

constexpr char fix::ORDER_STATUS_NEW = '0'
constexpr

Order Status (Tag 39) for New order.

◆ ORDER_STATUS_PARTIALLY_FILLED

constexpr char fix::ORDER_STATUS_PARTIALLY_FILLED = '1'
constexpr

Order Status (Tag 39) for Partially Filled order.

◆ ORDER_STATUS_REJECTED

constexpr char fix::ORDER_STATUS_REJECTED = '8'
constexpr

Order Status (Tag 39) for Rejected order.

◆ ORDER_TYPE_LIMIT

constexpr char fix::ORDER_TYPE_LIMIT = '2'
constexpr

Order Type (Tag 40) for Limit order.

◆ ORDER_TYPE_MARKET

constexpr char fix::ORDER_TYPE_MARKET = '1'
constexpr

Order Type (Tag 40) for Market order.

◆ SOH

constexpr char fix::SOH = '\x01'
constexpr

Start of Header (SOH) character, used as a field delimiter in FIX messages.

◆ SUBSCRIPTION_REQUEST_TYPE_SNAPSHOT

constexpr char fix::SUBSCRIPTION_REQUEST_TYPE_SNAPSHOT = '0'
constexpr

Subscription Request Type (Tag 263) for Snapshot.

◆ SUBSCRIPTION_REQUEST_TYPE_SNAPSHOT_AND_UPDATES

constexpr char fix::SUBSCRIPTION_REQUEST_TYPE_SNAPSHOT_AND_UPDATES = '1'
constexpr

Subscription Request Type (Tag 263) for Snapshot and Updates.

◆ SUBSCRIPTION_REQUEST_TYPE_UNSUBSCRIBE

constexpr char fix::SUBSCRIPTION_REQUEST_TYPE_UNSUBSCRIBE = '2'
constexpr

Subscription Request Type (Tag 263) for Unsubscribe.

◆ TIME_IN_FORCE_DAY

constexpr char fix::TIME_IN_FORCE_DAY = '0'
constexpr

Time In Force (Tag 59) for Day order.

◆ TIME_IN_FORCE_FOK

constexpr char fix::TIME_IN_FORCE_FOK = '3'
constexpr

Time In Force (Tag 59) for Fill Or Kill (FOK) order.

◆ TIME_IN_FORCE_GTC

constexpr char fix::TIME_IN_FORCE_GTC = '1'
constexpr

Time In Force (Tag 59) for Good Till Cancel (GTC) order.

◆ TIME_IN_FORCE_IOC

constexpr char fix::TIME_IN_FORCE_IOC = '2'
constexpr

Time In Force (Tag 59) for Immediate Or Cancel (IOC) order.