MarketFactory 3.14.0 C# API
com.marketfactory.api Namespace Reference

Classes

class  AcceptOrder
 
class  APIFeed
 A market-data and trading feed. More...
 
class  APIMarket
 An exchange-specific market. More...
 
class  BuildInfo
 
class  CancelQuote
 
class  DateRollover
 
class  DropCopy
 Trading Event: A copy of a trade match on behalf of another client. More...
 
class  EventReport
 
class  FeedMarketID
 Struct that contains a (market, feed) pair. More...
 
class  HighResolutionDateTime
 
class  IdAllocator
 
class  IDNamePair
 
class  JsonFromClient
 
class  JsonFromServer
 
class  KeyValuePair
 
class  Level
 
class  LockResponse
 
class  LogFormatter
 
class  Logger
 
class  MarketView
 A container for a market-data update for a single market. More...
 
class  MassQuoteAck
 
class  MDElementEnum
 
class  MDEntry
 A market data entry, which indicates how to update a book. More...
 
class  MDUpdateActionEnum
 
class  MFAdmin
 An API admin which contains a MFClient for function forwarding. More...
 
interface  MFAdminHandler
 An interface for callbacks of an administrator. More...
 
class  MFBaseClient
 An API client, which processes a single network connection. More...
 
interface  MFBaseHandler
 
class  MFClient
 
class  MFDecimal
 A thin immutable wrapper for a floating point number. More...
 
struct  MFFloat
 A thin wrapper for a fixed-precision floating point number. More...
 
interface  MFHandler
 An interface for callbacks of a market-data client. More...
 
class  MFMarketMaker
 A maker API client, which processes a single network connection. More...
 
interface  MFMarketMakerHandler
 
class  MFMassQuote
 
class  MFQuote
 
class  MFUtil
 A utility class, which provides some convenience methods. More...
 
class  NewOrder
 Trading Event: An order hitting a quote. More...
 
class  OrderCanceled
 Trading Event: Indicates that an order was canceled, either by the user, or by the exchange. More...
 
class  OrderCancelRejected
 Trading Event: Rejection of a request to cancel an order. More...
 
class  OrderDone
 Trading Event: Indicates the completion and final removal of an order. More...
 
class  OrderParameters
 Reusable order parameters holder. More...
 
class  OrderParametersBuilder
 Order parameters builder builds an OrderParameters object. Use the 'Add' methods to add key/value pairs representing the order parameters; and build the OrderParameters with Build(). Use this mechanism when you want to reuse the same set of parameters for multiple orders. More...
 
class  OrderReceived
 Trading Event: Acknowledgement that an order has been received. More...
 
class  OrderRejected
 Trading Event: Rejection of a request to place an order. More...
 
class  OrderSubmitted
 Trading Event: Acknowledgement that an order was placed succesfully. More...
 
class  OrderTimeout
 
class  QuoteRequest
 A request to stream quotes. More...
 
class  RejectOrder
 
class  RejectQuoteRequest
 Market maker rejects quote request. More...
 
class  ReplayDone
 Replay notification sent to client after the replay request has been processed. More...
 
class  RiskLimitStatus
 Status of supplied group limit. More...
 
class  RiskResponse
 Enumerates which risk data succeeded and which failed. More...
 
class  RiskUsageStatus
 Status of supplied user state. More...
 
class  SideEnum
 
class  Subscription
 Description of a subcription. More...
 
class  SubscriptionEvent
 An event that provides updates on the status of each subscription. More...
 
class  TextWriter
 
class  TradeCapture
 Trading Event: A trade match for an existing order. More...
 
class  TradeCaptureAck
 Trading Event: trade acknowledgement was rejected. More...
 
class  Version
 

Enumerations

enum  APIResult : sbyte {
  OK = ((sbyte)0),
  COULD_NOT_CONNECT = ((sbyte)10),
  TIMEOUT = ((sbyte)11),
  BUFFER_FULL = ((sbyte)12),
  COULD_NOT_OPEN = ((sbyte)14),
  SOCKERR_DNS = ((sbyte)101),
  SOCKERR_CREATE = ((sbyte)102),
  SOCKERR_CONNECT = ((sbyte)103),
  SOCKERR_CLOSED = ((sbyte)104),
  SOCKERR_READING = ((sbyte)105),
  SOCKERR_WRITING = ((sbyte)106),
  NOT_CONNECTED = ((sbyte)20),
  NOT_RUNNING = ((sbyte)21),
  IS_CONNECTED = ((sbyte)22),
  IS_RUNNING = ((sbyte)23),
  IS_STOPPING = ((sbyte)24),
  EXCEPTION_THROWN = ((sbyte)25),
  PROTOCOL_ERROR = ((sbyte)30),
  INCOMPATIBLE_PROTOCOL = ((sbyte)31),
  INVALID_USER = ((sbyte)32),
  INVALID_PASSWORD = ((sbyte)33),
  USER_ALREADY_CONNECTED = ((sbyte)34),
  COULD_NOT_LOGIN = ((sbyte)35),
  INVALID_FEED = ((sbyte)40),
  INVALID_MARKET = ((sbyte)41),
  INVALID_ORDERID = ((sbyte)42),
  INVALID_BATCHID = ((sbyte)43),
  INVALID_CLIENT_ORDERID = ((sbyte)44),
  DUPLICATE_CLIENT_ORDERID = ((sbyte)45),
  INVALID_MARKETDATA_FEED = ((sbyte)46),
  INVALID_TRADING_FEED = ((sbyte)47),
  USER_LOCKED = ((sbyte)48),
  SYSTEM_LOCKED = ((sbyte)49),
  ADMIN_HANDLER_FAULT = ((sbyte)50),
  INVALID_PARAMETER = ((sbyte)-4),
  NOT_IMPLEMENTED = ((sbyte)-3),
  NOT_APPLICABLE = ((sbyte)-2),
  _INVALID = ((sbyte)-1)
}
 Result/error codes provided by the API methods. More...
 
enum  APITest : sbyte {
  NONE = ((sbyte)0),
  INVOKE_EVENT_REPORT = ((sbyte)1),
  FORCE_LOCAL_DISCONNECT = ((sbyte)2),
  FORCE_REMOTE_DISCONNECT = ((sbyte)3),
  TEST_FULL_BUFFER = ((sbyte)4),
  FORCE_DISCONNECT_FEEDS = ((sbyte)5),
  EXTRA_TEST2 = ((sbyte)6),
  EXTRA_TEST3 = ((sbyte)7),
  EXTRA_TEST4 = ((sbyte)8),
  EXTRA_TEST5 = ((sbyte)9),
  _INVALID = ((sbyte)-1)
}
 Various tests that can be invoked client-side to test out the API. More...
 
enum  APIType : sbyte {
  MARKETDATA = ((sbyte)0),
  TRADING = ((sbyte)1),
  DROPCOPY = ((sbyte)2),
  MARKET_MAKER_PRICING = ((sbyte)3),
  MARKET_MAKER_TRADING = ((sbyte)4),
  _INVALID = ((sbyte)-1)
}
 Many of the calls pertain to either market-data or trading; this enum allows us to specify that. More...
 
enum  CancelReason : sbyte {
  CANCEL_REQUESTED = ((sbyte)1),
  BY_EXCHANGE = ((sbyte)2),
  ORDER_MODIFIED = ((sbyte)3),
  BY_ADMIN = ((sbyte)4),
  _INVALID = ((sbyte)-1)
}
 The reason that an order was canceled. More...
 
enum  CancelRejectReason : sbyte {
  TOO_LATE_TO_CANCEL = ((sbyte)0),
  UNKNOWN_ORDER = ((sbyte)1),
  DUPLICATE_CLORDID_RECEIVED = ((sbyte)6),
  INVALID_CANCEL = ((sbyte)11),
  OTHER = ((sbyte)12),
  ORDER_NOT_ACTIVE = ((sbyte)13),
  INVALID_FEED = ((sbyte)14),
  INVALID_MARKET = ((sbyte)15),
  NOT_IMPLEMENTED = ((sbyte)100),
  FEED_DOWN = ((sbyte)22),
  TOO_MANY_ORDER_SUBMITS = ((sbyte)28),
  RESEND_REQUESTED = ((sbyte)29),
  LOCKED_USER = ((sbyte)31),
  EXCEEDS_NOP_LIMIT = ((sbyte)32),
  EXCEEDS_DSL_LIMIT = ((sbyte)33),
  EXCEEDS_POSITION_LIMIT = ((sbyte)34),
  EXCEEDS_PENDING_LIMIT = ((sbyte)35),
  EXCEEDS_SINGLE_LIMIT = ((sbyte)36),
  TRADE_LIMIT_RESTRICTION = ((sbyte)40),
  NOT_APPLICABLE = ((sbyte)-2),
  _INVALID = ((sbyte)-1)
}
 
enum  CcyType : sbyte {
  MARKET = ((sbyte)0),
  BASE = ((sbyte)1),
  COUNTER = ((sbyte)2),
  _INVALID = ((sbyte)-1)
}
 
enum  ConnectionResponse : sbyte {
  SUCCESS = ((sbyte)0),
  FAILED_INVALID_USER = ((sbyte)1),
  FAILED_INVALID_PASSWORD = ((sbyte)2),
  FAILED_USER_ALREADY_CONNECTED = ((sbyte)3),
  FAILED_OTHER = ((sbyte)4),
  FAILED_INCOMPATIBLE_PROTOCOL = ((sbyte)5),
  FAILED_USER_LOCKED = ((sbyte)7),
  FAILED_SYSTEM_LOCKED = ((sbyte)8),
  _INVALID = ((sbyte)-1)
}
 
enum  ExchEventType : sbyte {
  CREDITAVAILABLE = ((sbyte)1),
  CREDITLOW = ((sbyte)2),
  CREDITEXHAUSTED = ((sbyte)3),
  TRADEDATEROLLOVER = ((sbyte)4),
  VALUEDATEROLLOVER = ((sbyte)5),
  TRADING_OPEN = ((sbyte)6),
  TRADING_CLOSED = ((sbyte)7),
  ERROR = ((sbyte)10),
  PRE_OPEN = ((sbyte)11),
  NO_CANCEL = ((sbyte)12),
  _INVALID = ((sbyte)-1)
}
 
enum  FeedFlag : sbyte {
  MARKET_DATA = ((sbyte)1),
  TRADING = ((sbyte)2),
  BATCHING = ((sbyte)3),
  DROPCOPY = ((sbyte)4),
  GTC = ((sbyte)5),
  IOC = ((sbyte)6),
  FOK = ((sbyte)7),
  AGGREGATE = ((sbyte)8),
  MARKET_MAKING = ((sbyte)9),
  _INVALID = ((sbyte)-1)
}
 Values for the bit mask used to identify the flags for APIFeed. More...
 
enum  InstrumentType : sbyte {
  SPOT = ((sbyte)1),
  FUTURE = ((sbyte)2),
  FORWARD = ((sbyte)3),
  NDF = ((sbyte)4),
  SWAP = ((sbyte)5),
  _INVALID = ((sbyte)-1)
}
 Type of market instrument. More...
 
enum  LockStatus : sbyte {
  SUCCESS = ((sbyte)1),
  ERROR = ((sbyte)2),
  _INVALID = ((sbyte)-1)
}
 
enum  MatchStatus : sbyte {
  PENDING = ((sbyte)3),
  DONE = ((sbyte)0),
  ERROR = ((sbyte)4),
  _INVALID = ((sbyte)-1)
}
 
enum  MDElement : sbyte {
  LEVEL = ((sbyte)1),
  AMOUNT_CONS = ((sbyte)2),
  SPREAD_CONS = ((sbyte)3),
  LOCAL_BEST = ((sbyte)4),
  EXCHANGE_BEST = ((sbyte)5),
  LAST_TRADE = ((sbyte)6),
  LAST_TRADE_NO_SIDE = ((sbyte)7),
  WORST_TRADE = ((sbyte)8),
  LEVEL_QUOTE = ((sbyte)9),
  LEVEL_QUOTE_AMT_TIER = ((sbyte)10),
  QUOTE = ((sbyte)11),
  QUOTE_AMT_TIER = ((sbyte)12),
  ORDER = ((sbyte)13),
  _INVALID = ((sbyte)-1)
}
 
enum  MDSource : sbyte {
  MARKET_DATA = ((sbyte)1),
  OBSCURE = ((sbyte)2),
  ENHANCEMENT = ((sbyte)4),
  MF_BOOK = ((sbyte)8),
  _INVALID = ((sbyte)-1)
}
 Values for the bit mask used to identify the source of an MDEntry. More...
 
enum  MDUpdateAction : sbyte {
  NEW = ((sbyte)0),
  CHANGE = ((sbyte)1),
  DELETE = ((sbyte)2),
  _INVALID = ((sbyte)-1)
}
 
enum  OrderParams {
  OrderOriginationTrader,
  MiFIDAlgorithmicOrderFlag
}
 
enum  OrderStatus : sbyte {
  PARTIALLY_FILLED = ((sbyte)1),
  FILLED = ((sbyte)2),
  ACCEPTED = ((sbyte)3),
  _INVALID = ((sbyte)-1)
}
 The status of an order. More...
 
enum  OrderType : sbyte {
  MARKET = ((sbyte)1),
  LIMIT = ((sbyte)2),
  STOP = ((sbyte)3),
  STOPLIMIT = ((sbyte)4),
  MARKETLIMIT = ((sbyte)5),
  PREVIOUSLY_QUOTED = ((sbyte)6),
  VWAP_SWEEP = ((sbyte)7),
  PREVIOUSLY_QUOTED_AMT_TIER = ((sbyte)8),
  _INVALID = ((sbyte)-1)
}
 
enum  QuoteCancelType : sbyte {
  CANCEL_FOR_SYMBOL = ((sbyte)1),
  CANCEL_ALL_QUOTES = ((sbyte)4),
  CANCEL_QUOTE_SPECIFIED_IN_QUOTE_ID = ((sbyte)5),
  _INVALID = ((sbyte)-1)
}
 
enum  QuoteRequestRejectReason : sbyte {
  OTHER = ((sbyte)1),
  UNKNOWN_SYMBOL = ((sbyte)2),
  NOT_ALLOWED = ((sbyte)3),
  PASS = ((sbyte)4),
  EXCEEDS_LIMIT = ((sbyte)5),
  NOT_AVAILABLE = ((sbyte)6),
  INVALID_SETTLDATE = ((sbyte)7),
  INVALID_AMOUNT = ((sbyte)8),
  _INVALID = ((sbyte)-1)
}
 
enum  QuoteStatus : sbyte {
  EXPIRED = ((sbyte)1),
  REJECTED = ((sbyte)2),
  CANCELED = ((sbyte)3),
  NOT_APPLICABLE = ((sbyte)-2),
  _INVALID = ((sbyte)-1)
}
 
enum  RejectReason : sbyte {
  NOT_SUBSCRIBED = ((sbyte)0),
  UNKNOWN_SYMBOL = ((sbyte)1),
  EXCHANGE_NOT_AVAILABLE = ((sbyte)2),
  CREDIT_LOW = ((sbyte)3),
  DUPLICATE_ORDER = ((sbyte)6),
  INCORRECT_QUANTITY = ((sbyte)13),
  INCORRECT_PRICE = ((sbyte)17),
  INVALID_ORDER = ((sbyte)18),
  INVALID_FEED = ((sbyte)20),
  INVALID_MARKET = ((sbyte)21),
  FEED_DOWN = ((sbyte)22),
  INVALID_ORDER_TYPE = ((sbyte)23),
  INVALID_TIME_IN_FORCE = ((sbyte)24),
  INVALID_CLORDID = ((sbyte)25),
  UNKNOWN_ORDER = ((sbyte)27),
  TOO_MANY_ORDER_SUBMITS = ((sbyte)28),
  RESEND_REQUESTED = ((sbyte)29),
  MARKET_NOT_ACTIVE = ((sbyte)30),
  LOCKED_USER = ((sbyte)31),
  EXCEEDS_NOP_LIMIT = ((sbyte)32),
  EXCEEDS_DSL_LIMIT = ((sbyte)33),
  EXCEEDS_POSITION_LIMIT = ((sbyte)34),
  EXCEEDS_PENDING_LIMIT = ((sbyte)35),
  EXCEEDS_SINGLE_LIMIT = ((sbyte)36),
  TRADE_LIMIT_RESTRICTION = ((sbyte)40),
  INVALID_MODEL = ((sbyte)45),
  INVALID_MIN_AMOUNT = ((sbyte)46),
  NOT_APPLICABLE = ((sbyte)-2),
  _INVALID = ((sbyte)-1)
}
 The reason that the request failed. More...
 
enum  ReplayStatus : sbyte {
  DONE = ((sbyte)1),
  REJECTED = ((sbyte)2),
  _INVALID = ((sbyte)-1)
}
 
enum  RiskStatus : sbyte {
  SUCCESS = ((sbyte)1),
  INVALID_PERMISSIONS = ((sbyte)2),
  INVALID_GROUP = ((sbyte)3),
  INVALID_USER = ((sbyte)4),
  INVALID_ADMIN = ((sbyte)5),
  INVALID_FEED = ((sbyte)6),
  INVALID_MARKET = ((sbyte)7),
  INVALID_SETTLDATE = ((sbyte)8),
  INVALID_AMOUNT = ((sbyte)9),
  INVALID_DROPCOPY_SEQID = ((sbyte)10),
  INVALID_DROPCOPY_FEED = ((sbyte)11),
  MISSING_RISK_DATA = ((sbyte)20),
  _INVALID = ((sbyte)-1)
}
 
enum  Side : sbyte {
  BID = ((sbyte)1),
  OFR = ((sbyte)2),
  BOTH = ((sbyte)3),
  MIDPOINT = ((sbyte)4),
  _INVALID = ((sbyte)-1)
}
 
enum  StandardTenor : sbyte {
  NA = ((sbyte)0),
  TOD = ((sbyte)1),
  TOM = ((sbyte)2),
  ON = ((sbyte)3),
  TN = ((sbyte)4),
  SP = ((sbyte)5),
  SN = ((sbyte)6),
  W1 = ((sbyte)7),
  W2 = ((sbyte)8),
  W3 = ((sbyte)9),
  M1 = ((sbyte)10),
  M2 = ((sbyte)11),
  M3 = ((sbyte)12),
  M4 = ((sbyte)13),
  M5 = ((sbyte)14),
  M6 = ((sbyte)15),
  M7 = ((sbyte)16),
  M8 = ((sbyte)17),
  M9 = ((sbyte)18),
  M10 = ((sbyte)19),
  M11 = ((sbyte)20),
  Y1 = ((sbyte)21),
  M15 = ((sbyte)22),
  M18 = ((sbyte)23),
  M21 = ((sbyte)24),
  Y2 = ((sbyte)25),
  _INVALID = ((sbyte)-1)
}
 Standard length of time used in forwards. More...
 
enum  SubscriptionStatus : sbyte {
  INVALID = ((sbyte)0),
  ENABLED = ((sbyte)1),
  DISABLED = ((sbyte)2),
  ERROR = ((sbyte)3),
  _INVALID = ((sbyte)-1)
}
 
enum  TimeInForce : sbyte {
  DAY = ((sbyte)0),
  GTC = ((sbyte)1),
  IOC = ((sbyte)3),
  FOK = ((sbyte)4),
  _INVALID = ((sbyte)-1)
}
 
enum  TradeStatus : sbyte {
  REJECTED = ((sbyte)1),
  CANCEL_REQUESTED = ((sbyte)2),
  NOT_APPLICABLE = ((sbyte)-2),
  _INVALID = ((sbyte)-1)
}
 
enum  UserType : sbyte {
  INTERNAL = ((sbyte)0),
  REGULAR = ((sbyte)1),
  ADMIN = ((sbyte)2),
  MONITORED = ((sbyte)3),
  MODEL = ((sbyte)4),
  MARKET_MAKER = ((sbyte)5),
  SUPER = ((sbyte)6),
  _INVALID = ((sbyte)-1)
}
 

Enumeration Type Documentation

◆ OrderParams

enum OrderParams
strong
Enumerator
OrderOriginationTrader 
MiFIDAlgorithmicOrderFlag 

◆ APIResult

enum APIResult : sbyte
strong

Result/error codes provided by the API methods.

Enumerator
OK 

Success; no error.

COULD_NOT_CONNECT 

Connection failed, server down or invalid host/port.

TIMEOUT 

Keepalive messages timed out, connection probably stale.

BUFFER_FULL 

Incoming or outgoing buffers full.

COULD_NOT_OPEN 

File could not be opened.

SOCKERR_DNS 

Error resolving the remote address for connection.

SOCKERR_CREATE 

Error creating communication socket.

SOCKERR_CONNECT 

Error connecting to the remote port.

SOCKERR_CLOSED 

Connection closed unexpectedly.

SOCKERR_READING 

Error reading from the remote socket.

SOCKERR_WRITING 

Error writing to the remote socket.

NOT_CONNECTED 

The dispatcher is not connected.

NOT_RUNNING 

The dispatcher is not running.

IS_CONNECTED 

The client is already connected.

IS_RUNNING 

The dispatcher is already running; only one thread may dispatch on a client instance.

IS_STOPPING 

The dispatcher is stopping; no more outgoing messages allowed.

EXCEPTION_THROWN 

An exception was raised within a handler function.

PROTOCOL_ERROR 

An error occurred while decoding/encoding the network protocol.

INCOMPATIBLE_PROTOCOL 

The server protocol version is incompatible with this client's protocol version.

INVALID_USER 

The supplied username is invalid.

INVALID_PASSWORD 

The supplied password is invalid for the given username.

USER_ALREADY_CONNECTED 

The supplied username is already connected to the server via another client.

COULD_NOT_LOGIN 

Other error attempting to log in.

INVALID_FEED 

The feed ID provided is invalid.

INVALID_MARKET 

The feed ID provided is invalid.

INVALID_ORDERID 

The order ID provided is invalid.

INVALID_BATCHID 

The batch definition ID provided is invalid.

INVALID_CLIENT_ORDERID 

The client ID provided is invalid.

DUPLICATE_CLIENT_ORDERID 

Another order with the smae client ID is current.

INVALID_MARKETDATA_FEED 

The feed does not support market data.

INVALID_TRADING_FEED 

The feed does not support trading.

USER_LOCKED 

User is prohibited from logging in.

SYSTEM_LOCKED 

Server is locked.

No users may connect.

ADMIN_HANDLER_FAULT 

Admin users must use the api's admin handler, normal users must not.

INVALID_PARAMETER 

A provided parameter was invalid.

NOT_IMPLEMENTED 

The feature is not implemented.

NOT_APPLICABLE 

Null.

_INVALID 

◆ APITest

enum APITest : sbyte
strong

Various tests that can be invoked client-side to test out the API.

Enumerator
NONE 

No test, default value.

INVOKE_EVENT_REPORT 

No longer supported.

FORCE_LOCAL_DISCONNECT 

Force a hard socket close/disconnection from the api side.

This is used to test failover procedures.

FORCE_REMOTE_DISCONNECT 

Force a hard socket close/disconnection from the remote side.

This is used to test failover procedures.

TEST_FULL_BUFFER 

For internal use only: write too much data for the socket buffer on the server side, to test disconnection on slow consumers.

FORCE_DISCONNECT_FEEDS 

(Disconnect the API server from all its feed connections (for testing).

EXTRA_TEST2 

(Extra test for future use)

EXTRA_TEST3 

(Extra test for future use)

EXTRA_TEST4 

(Extra test for future use)

EXTRA_TEST5 

(Extra test for future use)

_INVALID 

◆ APIType

enum APIType : sbyte
strong

Many of the calls pertain to either market-data or trading; this enum allows us to specify that.

Enumerator
MARKETDATA 
TRADING 
DROPCOPY 
MARKET_MAKER_PRICING 
MARKET_MAKER_TRADING 
_INVALID 

◆ CancelReason

enum CancelReason : sbyte
strong

The reason that an order was canceled.

Enumerator
CANCEL_REQUESTED 

The order was cancelled as a result of a user request to cancel it.

BY_EXCHANGE 

The order cancellation was initiated by the exchange itself.

ORDER_MODIFIED 

The order cancellation was initiated automatically after a modification.

BY_ADMIN 

The order cancellation was initiated by an admin.

_INVALID 

◆ CancelRejectReason

enum CancelRejectReason : sbyte
strong
Enumerator
TOO_LATE_TO_CANCEL 
UNKNOWN_ORDER 
DUPLICATE_CLORDID_RECEIVED 
INVALID_CANCEL 
OTHER 
ORDER_NOT_ACTIVE 
INVALID_FEED 
INVALID_MARKET 
NOT_IMPLEMENTED 
FEED_DOWN 

Your request could not be sent because connection to the feed is down.

TOO_MANY_ORDER_SUBMITS 

Order submission threshold has been exceeded.

RESEND_REQUESTED 

The exchange requested resend for this order cancel.

LOCKED_USER 

Rejected because the user has been locked.

EXCEEDS_NOP_LIMIT 

Order would exceed allowed Net Open Position.

EXCEEDS_DSL_LIMIT 

Order would exceed allowed Daily Settlement Limit.

EXCEEDS_POSITION_LIMIT 

Order would exceed allowed position.

EXCEEDS_PENDING_LIMIT 

Order would exceed allowed outstanding position.

EXCEEDS_SINGLE_LIMIT 

Order would exceed allowed max amount for a single order.

TRADE_LIMIT_RESTRICTION 

Generic rejection based on trade limit rules.

NOT_APPLICABLE 
_INVALID 

◆ CcyType

enum CcyType : sbyte
strong
Enumerator
MARKET 
BASE 
COUNTER 
_INVALID 

◆ ConnectionResponse

enum ConnectionResponse : sbyte
strong
Enumerator
SUCCESS 
FAILED_INVALID_USER 
FAILED_INVALID_PASSWORD 
FAILED_USER_ALREADY_CONNECTED 
FAILED_OTHER 
FAILED_INCOMPATIBLE_PROTOCOL 
FAILED_USER_LOCKED 
FAILED_SYSTEM_LOCKED 
_INVALID 

◆ ExchEventType

enum ExchEventType : sbyte
strong
Enumerator
CREDITAVAILABLE 
CREDITLOW 
CREDITEXHAUSTED 
TRADEDATEROLLOVER 
VALUEDATEROLLOVER 
TRADING_OPEN 
TRADING_CLOSED 
ERROR 
PRE_OPEN 
NO_CANCEL 
_INVALID 

◆ FeedFlag

enum FeedFlag : sbyte
strong

Values for the bit mask used to identify the flags for APIFeed.

Usage:

(APIFeed.flags & (1 << FeedFlag.DROPCOPY))
Enumerator
MARKET_DATA 

The feed supports market data.

TRADING 

The feed supports trading.

BATCHING 

The feed supports batching.

DROPCOPY 

The feed sends drop copy messages.

GTC 

The feed supports Good Till Cancel (GTC) orders.

IOC 

The feed supports Immediate Or Cancel (IOC) orders.

FOK 

The feed supports Fill Or Kill (FOK) orders.

AGGREGATE 

The feed sends aggregate market data.

MARKET_MAKING 

The feed if for market making only.

_INVALID 

◆ InstrumentType

enum InstrumentType : sbyte
strong

Type of market instrument.

Enumerator
SPOT 

Spot.

FUTURE 

Future.

FORWARD 

Regular forward.

NDF 

Non deliverable forward.

SWAP 

Swap.

_INVALID 

◆ LockStatus

enum LockStatus : sbyte
strong
Enumerator
SUCCESS 
ERROR 
_INVALID 

◆ MatchStatus

enum MatchStatus : sbyte
strong
Enumerator
PENDING 

The trade capture is pending, awaiting confirmation; the accompanying amount may be reduced on the subsequent DONE.

This message is optional. See manual for details.

DONE 

The trade capture is confirmed and done, the accompanying amount is final.

ERROR 

The trade capture state is unknown; an error has occurred.

You need to call the exchange.

_INVALID 

◆ MDElement

enum MDElement : sbyte
strong
Enumerator
LEVEL 
AMOUNT_CONS 
SPREAD_CONS 
LOCAL_BEST 
EXCHANGE_BEST 
LAST_TRADE 
LAST_TRADE_NO_SIDE 
WORST_TRADE 
LEVEL_QUOTE 
LEVEL_QUOTE_AMT_TIER 
QUOTE 
QUOTE_AMT_TIER 
ORDER 
_INVALID 

◆ MDSource

enum MDSource : sbyte
strong

Values for the bit mask used to identify the source of an MDEntry.

Enumerator
MARKET_DATA 

Price level created from original market data ('implied')

OBSCURE 

Price level created from statistical liquidity profile.

ENHANCEMENT 

Price level modified from matching.

MF_BOOK 

Price level contained in the internal MF order book.

_INVALID 

◆ MDUpdateAction

enum MDUpdateAction : sbyte
strong
Enumerator
NEW 
CHANGE 
DELETE 
_INVALID 

◆ OrderStatus

enum OrderStatus : sbyte
strong

The status of an order.

Enumerator
PARTIALLY_FILLED 

The IOC order has been partially filled.

FILLED 

The IOC order has been completely filled.

ACCEPTED 

The GTC order has been accepted.

_INVALID 

◆ OrderType

enum OrderType : sbyte
strong
Enumerator
MARKET 
LIMIT 
STOP 
STOPLIMIT 
MARKETLIMIT 
PREVIOUSLY_QUOTED 
VWAP_SWEEP 
PREVIOUSLY_QUOTED_AMT_TIER 
_INVALID 

◆ QuoteCancelType

enum QuoteCancelType : sbyte
strong
Enumerator
CANCEL_FOR_SYMBOL 
CANCEL_ALL_QUOTES 
CANCEL_QUOTE_SPECIFIED_IN_QUOTE_ID 
_INVALID 

◆ QuoteRequestRejectReason

enum QuoteRequestRejectReason : sbyte
strong
Enumerator
OTHER 
UNKNOWN_SYMBOL 
NOT_ALLOWED 
PASS 
EXCEEDS_LIMIT 
NOT_AVAILABLE 
INVALID_SETTLDATE 
INVALID_AMOUNT 
_INVALID 

◆ QuoteStatus

enum QuoteStatus : sbyte
strong
Enumerator
EXPIRED 
REJECTED 
CANCELED 
NOT_APPLICABLE 
_INVALID 

◆ RejectReason

enum RejectReason : sbyte
strong

The reason that the request failed.

Enumerator
NOT_SUBSCRIBED 

Rejected because you are not subscribed to the corresponding feed.

UNKNOWN_SYMBOL 
EXCHANGE_NOT_AVAILABLE 
CREDIT_LOW 

Your order was rejected because of insufficient credit.

DUPLICATE_ORDER 
INCORRECT_QUANTITY 
INCORRECT_PRICE 
INVALID_ORDER 
INVALID_FEED 
INVALID_MARKET 
FEED_DOWN 

Your request could not be sent because connection to the feed is down.

INVALID_ORDER_TYPE 
INVALID_TIME_IN_FORCE 
INVALID_CLORDID 

The ClOrdID provided does not conform to exchange standards.

UNKNOWN_ORDER 
TOO_MANY_ORDER_SUBMITS 

Order submission threshold has been exceeded.

RESEND_REQUESTED 

The exchange requested resend for this order.

MARKET_NOT_ACTIVE 

This market is not active.

LOCKED_USER 

Rejected because the user has been locked.

EXCEEDS_NOP_LIMIT 

Order would exceed allowed Net Open Position.

EXCEEDS_DSL_LIMIT 

Order would exceed allowed Daily Settlement Limit.

EXCEEDS_POSITION_LIMIT 

Order would exceed allowed position.

EXCEEDS_PENDING_LIMIT 

Order would exceed allowed outstanding position.

EXCEEDS_SINGLE_LIMIT 

Order would exceed allowed max amount for a single order.

TRADE_LIMIT_RESTRICTION 

Generic rejection based on trade limit rules.

INVALID_MODEL 
INVALID_MIN_AMOUNT 

Either minimum amount value is invalid or this feed does not support it.

NOT_APPLICABLE 
_INVALID 

◆ ReplayStatus

enum ReplayStatus : sbyte
strong
Enumerator
DONE 

Replay has ended.

REJECTED 

Replay request has been rejected.

Try again.

_INVALID 

◆ RiskStatus

enum RiskStatus : sbyte
strong
Enumerator
SUCCESS 
INVALID_PERMISSIONS 
INVALID_GROUP 
INVALID_USER 
INVALID_ADMIN 
INVALID_FEED 
INVALID_MARKET 
INVALID_SETTLDATE 
INVALID_AMOUNT 
INVALID_DROPCOPY_SEQID 
INVALID_DROPCOPY_FEED 
MISSING_RISK_DATA 
_INVALID 

◆ Side

enum Side : sbyte
strong
Enumerator
BID 
OFR 
BOTH 
MIDPOINT 
_INVALID 

◆ StandardTenor

enum StandardTenor : sbyte
strong

Standard length of time used in forwards.

Enumerator
NA 

Not available.

TOD 

Today.

TOM 

Tomorrow.

ON 

Overnight.

TN 

Tomorrow next.

SP 

Spot.

SN 

Spot next.

W1 

One week.

W2 

Two weeks.

W3 

Three weeks.

M1 

One month.

M2 

Two months.

M3 

Three months.

M4 

Four months.

M5 

Five months.

M6 

Six months.

M7 

Seven months.

M8 

Eight months.

M9 

Nine months.

M10 

Ten months.

M11 

Eleven months.

Y1 

One year.

M15 

Fifteen months.

M18 

Eighteen months.

M21 

Twenty-one months.

Y2 

Two years.

_INVALID 

◆ SubscriptionStatus

enum SubscriptionStatus : sbyte
strong
Enumerator
INVALID 
ENABLED 

Enabled, no error.

DISABLED 

Disabled, no error.

ERROR 

Error; disabled (see reason field).

_INVALID 

◆ TimeInForce

enum TimeInForce : sbyte
strong
Enumerator
DAY 

Day order.

GTC 

Good Till Cancel.

IOC 

Immediate or Cancel.

FOK 

Fill or Kill.

_INVALID 

◆ TradeStatus

enum TradeStatus : sbyte
strong
Enumerator
REJECTED 
CANCEL_REQUESTED 
NOT_APPLICABLE 
_INVALID 

◆ UserType

enum UserType : sbyte
strong
Enumerator
INTERNAL 

If the user is meant for internal use only (APIServer, Rocky /Rocky-pass-through, etc.)

REGULAR 

Regular users, that are not monitored.

ADMIN 

Admin users can (un)lock clients, send trade limit data, etc.

MONITORED 

These users are monitored, they will not be able to connect if no admins are overlooking the system.

MODEL 

These users can't log in.

They are specified in submitOrder and affect risk checks.

MARKET_MAKER 

Users that make markets, receive orders, and do last-look .

SUPER 

User that can do anything admin, regular, marketMaking, etc.

users can do.

_INVALID 
Confidential. Copyright © 2011 MarketFactory, Inc.