MarketFactory 3.14.0 C# API
MFMarketMaker Class Reference

A maker API client, which processes a single network connection. More...

Inheritance diagram for MFMarketMaker:
MFBaseClient

Public Member Functions

 MFMarketMaker (string _username, string _password, string _hostname1, int _port1)
 
 MFMarketMaker (string _username, string _password, string _hostname1, int _port1, string _hostname2, int _port2)
 
APIResult acceptOrder (NewOrder order)
 Accept the order. Note: if NewOrder.orderID/execID is not provided by the venue, you must generate one. More...
 
APIResult acceptOrder (NewOrder order, MFFloat amount)
 Accepts the order. This method is for sending partial fills. Put the partial amount in the amount field. Note: if NewOrder.orderID/execID is not provided by the venue, you must generate one. More...
 
APIResult cancelQuote (QuoteRequest request, string quoteID)
 Cancels quotes associated with a request and quoteID. More...
 
APIResult cancelQuoteForSymbol (QuoteRequest request, string symbol)
 Cancels the quotes for a symbol. More...
 
APIResult cancelQuotes (QuoteRequest request)
 Cancels quotes for a request. More...
 
APIResult close ()
 Close the connection. More...
 
APIResult connect ()
 Connect to the first available server with user credentials. More...
 
APIFeed getFeedByID (int id)
 After a successful connection is established, you may access the server's list of _feeds, markets. More...
 
APIFeed getFeedByName (string name)
 After a successful connection is established, you may access the server's list of _feeds, markets. More...
 
APIFeed [] getFeeds ()
 After a successful connection is established, you may access the server's list of _feeds, markets. More...
 
string getHostname ()
 Returns the primary/secondary server hostname (whichever one is being used). More...
 
Queue< PingTime > getLastPingTimes ()
 
APIMarket getMarketByID (APIFeed feed, int marketID)
 After a successful connection is established, you may access the server's list of _feeds, markets. More...
 
APIMarket getMarketByName (APIFeed feed, string name)
 After a successful connection is established, you may access the server's list of _feeds, markets. More...
 
int getPort ()
 Returns the primary/secondary server port (whichever one is being used). More...
 
int getSequenceID (int feedID)
 Get the last received sequenceID after successful subscription. More...
 
string getSignature ()
 Get protocol api signature. More...
 
bool isConnected ()
 Return true if the _channel is _connected. More...
 
bool isRunning ()
 Returns true if the client is currently dispatching events (i.e., you called run()). More...
 
bool isStopRequested ()
 
APIResult join ()
 Block until the client has exited the dispatch loop. More...
 
void log (string message)
 Logs a debug message into the Whisperer server _log file. More...
 
void log (string message, LogLevel level)
 
APIResult processEvents (MFMarketMakerHandler handler)
 Process all pending events in the reactor, and return as soon as reads/writes have been flushed.This can be used to integrate our API within a GUI toolkit's event processing loop without having to create a secondary thread. More...
 
APIResult rejectOrder (NewOrder order, string text)
 Rejects the order. Note: if NewOrder.orderID/execID is not provided by the venue, you must generate one. More...
 
APIResult rejectQuoteRequest (QuoteRequest request, QuoteRequestRejectReason reason, string text)
 Rejects the quote request. More...
 
APIResult replay (int feedID, int fromSequenceID, int toSequenceID)
 Request replay of order flow events in the range [fromSequenceID, toSequenceID=-1]. More...
 
APIResult run (MFMarketMakerHandler handler)
 Run a loop that will continuously dispatch incoming messages to a _handler implementation. This method returns some time after a request to stop is made using stop(), or if an error occurs (e.g. the connection is broken). A zero return value indicates a normal exit via a stop request. More...
 
void setDebug (bool debug)
 
void setStickySubscriptions (bool sticky)
 Enable/Disable sticky subscriptions. More...
 
void setStickySubscriptions (bool sticky, bool clearSubscriptionsOnStop)
 
void setUseHeartbeat (bool use)
 
APIResult stop ()
 Request to stop the event dispatch loop, does not disconnect the client from the server. More...
 
APIResult submitQuotes (QuoteRequest request, MFQuote[] quotes)
 Note: If QuoteRequest does not arrive with a valid amount, you must fill one in. More...
 
APIResult subscribePricing (int feedID, string clSubID)
 
APIResult subscribeTrading (int feedID, string clSubID)
 
void test (APITest test)
 Internal testing function. More...
 
APIResult unsubscribeAll ()
 Unsubscribe all market data and trading subscriptions. More...
 
APIResult unsubscribePricing (int feedID, string clSubID)
 
APIResult unsubscribeTrading (int feedID, string clSubID)
 

Static Public Member Functions

static MFMarketMaker open (string user, string pass, string host, int port)
 A convenience method which creates a new client object, attempts to connect to Whisperer, and cleans up and throws an exception if we could not connect. Otherwise the new client object is returned; More...
 
static MFMarketMaker open (string user, string pass, string _hostname1, int _port1, string _hostname2, int _port2)
 A convenience method which creates a new client object, attempts to connect to Whisperer, and cleans up and throws an exception if we could not connect. Otherwise the new client object is returned; /summary> More...
 

Protected Member Functions

APIResult cancelAll (int feedID, string cxlID)
 Cancel all the orders on a feed. More...
 
APIResult cancelAll (string cxlID)
 Cancel all the orders, on all feeds. More...
 
APIResult cancelOrder (string cxlID, string clOrdID)
 Cancel a previously placed order by client order id ('clOrdID'). Return false if the order cannot be found locally, i.e., if the 'clOrdID' does not correspond to any previously placed order on this client interface. More...
 
APIResult cancelOrder (string cxlID, long orderID)
 Cancel a previously placed order by internal 'orderID'. Return false if the internal 'orderID' could not be provided. More...
 
APIResult cancelOrder (string cxlID, long orderID, string clOrdID)
 Cancel a previously placed order by providing both internal 'orderID' and clOrdID. APIResult.INVALID_ORDERID if the internal 'orderID' could not be provided. More...
 
virtual APIResult connectOne (String host, int port)
 
KeyValuePair< APIResult, long > modifyOrder (string clOrdID, string clNewID, MFFloat amount, MFFloat price, OrderParameters parameters=null)
 Submit modification to an existing order. More...
 
virtual void onBatchComplete (int batchDefID)
 
override void onConnect ()
 
virtual void onDateRollover (DateRollover dateRollover)
 
override void onDisconnect ()
 
override void onDropCopy (DropCopy msg)
 
override void onEventReport (EventReport msg)
 
override void onHeartbeat (Heartbeat msg)
 
virtual void onJsonFromServer (JsonFromServer msg)
 
virtual void onLockResponse (LockResponse lockResponse)
 
virtual void onMarketData (MarketView marketData)
 
override void onMassQuoteAck (MassQuoteAck msg)
 
override void onNewOrder (NewOrder msg)
 
virtual void onOrderCanceled (OrderCanceled orderCanceled)
 
virtual void onOrderCancelRejected (OrderCancelRejected orderCancelRejected)
 
virtual void onOrderDone (OrderDone orderDone)
 
virtual void onOrderReceived (OrderReceived orderReceived)
 
virtual void onOrderRejected (OrderRejected orderRejected)
 
virtual void onOrderSubmitted (OrderSubmitted orderSubmitted)
 
override void onOrderTimeout (OrderTimeout msg)
 
override void onQuoteRequest (QuoteRequest msg)
 
override void onReplayDone (ReplayDone msg)
 
virtual void onRiskResponse (RiskResponse riskResponse)
 
override void onStart ()
 
override void onStop ()
 
override void onSubscriptionEvent (SubscriptionEvent msg)
 
virtual void onTradeCapture (TradeCapture tradeCapture)
 
override void onTradeCaptureAck (TradeCaptureAck msg)
 
KeyValuePair< APIResult, int > registerMarketComb (int feedID, int[] marketIds)
 
APIResult requestSnapshot (int feedID, int marketID)
 
APIResult run (MFBaseHandler _handler, bool loop)
 
APIResult send (IMessage msg)
 
KeyValuePair< APIResult, long > submitOrder (string clOrdID, int feedID, int marketID, Side side, MFFloat amount, MFFloat price, OrderType ordType, TimeInForce tif)
 Submit an order. More...
 
KeyValuePair< APIResult, long > submitOrder (string clOrdID, int feedID, int marketID, Side side, MFFloat amount, MFFloat price, MFFloat stopPrice, MFFloat maxShowAmt, OrderType ordType, TimeInForce tif)
 Submit an order without minAmount (kept for backward compatibility). More...
 
KeyValuePair< APIResult, long > submitOrder (string clOrdID, int feedID, int marketID, Side side, MFFloat amount, MFFloat price, MFFloat stopPrice, MFFloat maxShowAmt, MFFloat minFillAmt, OrderType ordType, TimeInForce tif, List< KeyValuePair< string, string >> parameters)
 
KeyValuePair< APIResult, long > submitOrder (string clOrdID, int feedID, int marketID, Side side, MFFloat amount, MFFloat price, MFFloat stopPrice, MFFloat maxShowAmt, MFFloat minFillAmt, OrderType ordType, TimeInForce tif, OrderParameters parameters=null)
 Submits the order. Use an OrderParametersBuilder to construct a reusable OrderParameters object. Offers better performance if the you want to reuse the same order parameters for multiple submitOrder calls. More...
 
APIResult subscribe (APIType apiType, int feedID, int marketID, String clSubID)
 
APIResult subscribeAllMD ()
 Subscribe to all the market data feeds. More...
 
APIResult subscribeMD (int feedID, int marketID, String clSubID)
 Subscribe to market data updates for a specific feed. onSubscriptionEvent() will be called to notify that the flow of updates is ready. If the subscription is valid, onMarketData() will be called later on. The client subscription ID allows one-to-one message matching. More...
 
APIResult subscribeMD (int feedID, int marketID)
 
APIResult subscribeOF (int feedID, String clSubID)
 Subscribe to trading for a specific feed. More...
 
APIResult subscribeOF (int feedID)
 Subscribe to trading for a specific feed. More...
 
APIResult unregisterMarketComb (int batchDefID)
 
APIResult unsubscribe (APIType apiType, int feedID, int marketID, String clSubID)
 
APIResult unsubscribeMD (int feedID, int marketID, String clSubID)
 Unsubscribe to market data updates for a specific feed. More...
 
APIResult unsubscribeMD (int feedID, int marketID)
 Unsubscribe to market data updates for a specific feed. More...
 
APIResult unsubscribeOF (int feedID, String clSubID)
 Unsubscribe to trading for a specific feed. More...
 
APIResult unsubscribeOF (int feedID)
 Unsubscribe to trading for a specific feed. More...
 

Protected Attributes

string _hostname1
 
string _hostname2
 
Logger _log = Logger.getLogger("com.marketfactory.api")
 
string _password
 
int _port1
 
int _port2
 
string _username
 

Detailed Description

A maker API client, which processes a single network connection.

There may be more than one client instance, one for each network connection. A client dispatches callbacks on a _handler interface which the client implements.

Constructor & Destructor Documentation

◆ MFMarketMaker() [1/2]

MFMarketMaker ( string  _username,
string  _password,
string  _hostname1,
int  _port1 
)

◆ MFMarketMaker() [2/2]

MFMarketMaker ( string  _username,
string  _password,
string  _hostname1,
int  _port1,
string  _hostname2,
int  _port2 
)

Member Function Documentation

◆ run() [1/2]

APIResult run ( MFMarketMakerHandler  handler)

Run a loop that will continuously dispatch incoming messages to a _handler implementation. This method returns some time after a request to stop is made using stop(), or if an error occurs (e.g. the connection is broken). A zero return value indicates a normal exit via a stop request.

If the connection is broken and the client succesfully fails over to a secondary server, this dispatcher does not return; onDisconnect() and onConnect() are invoked to let the handler know that this occurred. If the reconnection attempt is not successful, the dispatcher will return an error code.

Every call to run() must be preceded by a successful connect() – this call is made for you, but only once, when a client is obtained via open().

Note: this should not be invoked by _handler.

Returns
run exit result
Parameters
handlerMFMarketMakerHandler to use for callbacks

/summary>

◆ processEvents()

APIResult processEvents ( MFMarketMakerHandler  handler)

Process all pending events in the reactor, and return as soon as reads/writes have been flushed.This can be used to integrate our API within a GUI toolkit's event processing loop without having to create a secondary thread.

◆ subscribePricing()

APIResult subscribePricing ( int  feedID,
string  clSubID 
)

◆ subscribeTrading()

APIResult subscribeTrading ( int  feedID,
string  clSubID 
)

◆ unsubscribePricing()

APIResult unsubscribePricing ( int  feedID,
string  clSubID 
)

◆ unsubscribeTrading()

APIResult unsubscribeTrading ( int  feedID,
string  clSubID 
)

◆ rejectQuoteRequest()

APIResult rejectQuoteRequest ( QuoteRequest  request,
QuoteRequestRejectReason  reason,
string  text 
)

Rejects the quote request.

Returns
Call result
Parameters
requestRequest to reject.
reasonCodified reject reason.
textReject reason.

◆ cancelQuotes()

APIResult cancelQuotes ( QuoteRequest  request)

Cancels quotes for a request.

Returns
Call result
Parameters
requestQuoteRequest quotes to cancel.

◆ cancelQuote()

APIResult cancelQuote ( QuoteRequest  request,
string  quoteID 
)

Cancels quotes associated with a request and quoteID.

Returns
Call result
Parameters
requestQuoteRequest the quotes to cancel are associated with.
quoteIDQuoteID of the quote(s) to cancel

◆ cancelQuoteForSymbol()

APIResult cancelQuoteForSymbol ( QuoteRequest  request,
string  symbol 
)

Cancels the quotes for a symbol.

Returns
The quote for symbol.
Parameters
requestQuoteRequest the quotes to cancel are associated with.
symbolSymbol of quotes to cancel

◆ submitQuotes()

APIResult submitQuotes ( QuoteRequest  request,
MFQuote []  quotes 
)

Note: If QuoteRequest does not arrive with a valid amount, you must fill one in.

Returns
Result of submitting quotes
Parameters
requestQuoteRequest these quotes are in response to
quotesQuotes to send

◆ rejectOrder()

APIResult rejectOrder ( NewOrder  order,
string  text 
)

Rejects the order. Note: if NewOrder.orderID/execID is not provided by the venue, you must generate one.

Returns
submit result
Parameters
orderOrder to reject. Add the orderID and/or execID if missing
textReject reason

◆ acceptOrder() [1/2]

APIResult acceptOrder ( NewOrder  order)

Accept the order. Note: if NewOrder.orderID/execID is not provided by the venue, you must generate one.

Returns
submit result
Parameters
orderOrder to accept. Add the orderID and/or execID if missing

◆ acceptOrder() [2/2]

APIResult acceptOrder ( NewOrder  order,
MFFloat  amount 
)

Accepts the order. This method is for sending partial fills. Put the partial amount in the amount field. Note: if NewOrder.orderID/execID is not provided by the venue, you must generate one.

Returns
submit result
Parameters
orderOrder to accept. Add the orderID and/or execID if missing.
amountAmount to fill

◆ onStart()

override void onStart ( )
protectedvirtual

Reimplemented from MFBaseClient.

◆ onStop()

override void onStop ( )
protectedvirtual

Reimplemented from MFBaseClient.

◆ onDisconnect()

override void onDisconnect ( )
protectedvirtual

Reimplemented from MFBaseClient.

◆ onConnect()

override void onConnect ( )
protectedvirtual

Reimplemented from MFBaseClient.

◆ onHeartbeat()

override void onHeartbeat ( Heartbeat  msg)
protectedvirtual

Reimplemented from MFBaseClient.

◆ onSubscriptionEvent()

override void onSubscriptionEvent ( SubscriptionEvent  msg)
protectedvirtual

Reimplemented from MFBaseClient.

◆ onEventReport()

override void onEventReport ( EventReport  msg)
protectedvirtual

Reimplemented from MFBaseClient.

◆ onQuoteRequest()

override void onQuoteRequest ( QuoteRequest  msg)
protectedvirtual

Reimplemented from MFBaseClient.

◆ onMassQuoteAck()

override void onMassQuoteAck ( MassQuoteAck  msg)
protectedvirtual

Reimplemented from MFBaseClient.

◆ onNewOrder()

override void onNewOrder ( NewOrder  msg)
protectedvirtual

Reimplemented from MFBaseClient.

◆ onOrderTimeout()

override void onOrderTimeout ( OrderTimeout  msg)
protectedvirtual

Reimplemented from MFBaseClient.

◆ onTradeCaptureAck()

override void onTradeCaptureAck ( TradeCaptureAck  msg)
protectedvirtual

Reimplemented from MFBaseClient.

◆ onDropCopy()

override void onDropCopy ( DropCopy  msg)
protectedvirtual

Reimplemented from MFBaseClient.

◆ onReplayDone()

override void onReplayDone ( ReplayDone  msg)
protectedvirtual

Reimplemented from MFBaseClient.

◆ open() [1/2]

static MFMarketMaker open ( string  user,
string  pass,
string  host,
int  port 
)
static

A convenience method which creates a new client object, attempts to connect to Whisperer, and cleans up and throws an exception if we could not connect. Otherwise the new client object is returned;

◆ open() [2/2]

static MFMarketMaker open ( string  user,
string  pass,
string  _hostname1,
int  _port1,
string  _hostname2,
int  _port2 
)
static

A convenience method which creates a new client object, attempts to connect to Whisperer, and cleans up and throws an exception if we could not connect. Otherwise the new client object is returned; /summary>

◆ setUseHeartbeat()

void setUseHeartbeat ( bool  use)
inherited

◆ setDebug()

void setDebug ( bool  debug)
inherited

◆ setStickySubscriptions() [1/2]

void setStickySubscriptions ( bool  sticky)
inherited

Enable/Disable sticky subscriptions.

Set clearSubscriptionsOnStop=false if subscriptions should persist on disconnect/stop/start.

◆ setStickySubscriptions() [2/2]

void setStickySubscriptions ( bool  sticky,
bool  clearSubscriptionsOnStop 
)
inherited

◆ isConnected()

bool isConnected ( )
inherited

Return true if the _channel is _connected.

◆ connect()

APIResult connect ( )
inherited

Connect to the first available server with user credentials.

Returns 0 if the connection attempt succeeded; returns a negative number if on failure.

Note: this should not be invoked by _handler.

◆ connectOne()

virtual APIResult connectOne ( String  host,
int  port 
)
protectedvirtualinherited

Reimplemented in MFAdmin.

◆ close()

APIResult close ( )
inherited

Close the connection.

(This can only be called this when you're not dispatching.)

Note: this should not be invoked by _handler.

◆ isRunning()

bool isRunning ( )
inherited

Returns true if the client is currently dispatching events (i.e., you called run()).

◆ stop()

APIResult stop ( )
inherited

Request to stop the event dispatch loop, does not disconnect the client from the server.

◆ isStopRequested()

bool isStopRequested ( )
inherited

◆ join()

APIResult join ( )
inherited

Block until the client has exited the dispatch loop.

Note: this should not be invoked by _handler.

◆ run() [2/2]

APIResult run ( MFBaseHandler  _handler,
bool  loop 
)
protectedinherited

_log.info("Attempting reconnect...");

◆ send()

APIResult send ( IMessage  msg)
protectedinherited

◆ getSignature()

string getSignature ( )
inherited

Get protocol api signature.

◆ getSequenceID()

int getSequenceID ( int  feedID)
inherited

Get the last received sequenceID after successful subscription.

Returns -2 if not subscribed. Returns -1 if there are no OF messages for the client on the feed.

◆ getFeeds()

APIFeed [] getFeeds ( )
inherited

After a successful connection is established, you may access the server's list of _feeds, markets.

If you have not yet _connected to the server this will return empty.

◆ getFeedByName()

APIFeed getFeedByName ( string  name)
inherited

After a successful connection is established, you may access the server's list of _feeds, markets.

This method will return a pointer to the feed of a given name if it exists and NULL if it does not. (this class maintains ownership to the object so do not delete it).

Returns
a pointer to the Feed of the given name or NULL if it does not exist.

◆ getFeedByID()

APIFeed getFeedByID ( int  id)
inherited

After a successful connection is established, you may access the server's list of _feeds, markets.

This method will return a pointer to the feed of a given id if it exists and NULL if it does not. (this class maintains ownership to the object so do not delete it).

Returns
a pointer to the Feed of the given id or NULL if it does not exist.

◆ getMarketByName()

APIMarket getMarketByName ( APIFeed  feed,
string  name 
)
inherited

After a successful connection is established, you may access the server's list of _feeds, markets.

This method will return a pointer to the market with a given name within the specified feed if such market exists or NULL if there is no market with the same name.

Returns
a pointer to the Market with the given name within the given feed or NULL if it does not exist.

◆ getMarketByID()

APIMarket getMarketByID ( APIFeed  feed,
int  marketID 
)
inherited

After a successful connection is established, you may access the server's list of _feeds, markets.

This method will return a pointer to the market with a given id within the specified feed if such market exists or NULL if there is no market with the same id.

Returns
a pointer to the Market with the given market id within the given feed or NULL if it does not exist.

◆ getHostname()

string getHostname ( )
inherited

Returns the primary/secondary server hostname (whichever one is being used).

Does not indicate whether a connection is in progress or successfully established.

◆ getPort()

int getPort ( )
inherited

Returns the primary/secondary server port (whichever one is being used).

Does not indicate whether a connection is in progress or successfully established.

◆ getLastPingTimes()

Queue<PingTime> getLastPingTimes ( )
inherited

◆ replay()

APIResult replay ( int  feedID,
int  fromSequenceID,
int  toSequenceID 
)
inherited

Request replay of order flow events in the range [fromSequenceID, toSequenceID=-1].

Only open-ended requests are accepted by the server.

Returns
0 if the replay request has been sent, -1 on error.

◆ subscribeMD() [1/2]

APIResult subscribeMD ( int  feedID,
int  marketID,
String  clSubID 
)
protectedinherited

Subscribe to market data updates for a specific feed. onSubscriptionEvent() will be called to notify that the flow of updates is ready. If the subscription is valid, onMarketData() will be called later on. The client subscription ID allows one-to-one message matching.

Returns
APIResult.OK if the subscription request has been sent, APIResult.SOCKERR_WRITING on error.

summary> Subscribe to market data updates for a specific feed. onSubscriptionEvent() will be called to notify that the flow of updates is ready. If the subscription is valid, onMarketData() will be called later on.

Returns
APIResult.OK if the subscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ subscribeMD() [2/2]

APIResult subscribeMD ( int  feedID,
int  marketID 
)
protectedinherited

◆ subscribeOF() [1/2]

APIResult subscribeOF ( int  feedID,
String  clSubID 
)
protectedinherited

Subscribe to trading for a specific feed.

onSubscriptionEvent() will be called to notify that the order gateway is ready. If the subscription is valid, it will be possible to submit and cancel orders and receive trading events.

Returns
APIResult.OK if the subscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ subscribeOF() [2/2]

APIResult subscribeOF ( int  feedID)
protectedinherited

Subscribe to trading for a specific feed.

onSubscriptionEvent() will be called to notify that the order gateway is ready. If the subscription is valid, it will be possible to submit and cancel orders and receive trading events.

Returns
APIResult.OK if the subscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ subscribeAllMD()

APIResult subscribeAllMD ( )
protectedinherited

Subscribe to all the market data feeds.

This is intended as a test utility; ideally you control which feeds and markets you connect to.

Returns
APIResult.OK if the subscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ unsubscribeMD() [1/2]

APIResult unsubscribeMD ( int  feedID,
int  marketID,
String  clSubID 
)
protectedinherited

Unsubscribe to market data updates for a specific feed.

Returns
APIResult.OK if the unsubscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ unsubscribeMD() [2/2]

APIResult unsubscribeMD ( int  feedID,
int  marketID 
)
protectedinherited

Unsubscribe to market data updates for a specific feed.

Returns
APIResult.OK if the unsubscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ unsubscribeOF() [1/2]

APIResult unsubscribeOF ( int  feedID,
String  clSubID 
)
protectedinherited

Unsubscribe to trading for a specific feed.

Returns
APIResult.OK if the unsubscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ unsubscribeOF() [2/2]

APIResult unsubscribeOF ( int  feedID)
protectedinherited

Unsubscribe to trading for a specific feed.

Returns
APIResult.OK if the unsubscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ subscribe()

APIResult subscribe ( APIType  apiType,
int  feedID,
int  marketID,
String  clSubID 
)
protectedinherited

◆ unsubscribe()

APIResult unsubscribe ( APIType  apiType,
int  feedID,
int  marketID,
String  clSubID 
)
protectedinherited

◆ unsubscribeAll()

APIResult unsubscribeAll ( )
inherited

Unsubscribe all market data and trading subscriptions.

Call this if you want to stop receiving callbacks but don't want to disconnect.

Returns
APIResult.OK if the unsubscription request has been sent, APIResult.SOCKERR_WRITING on error.

◆ registerMarketComb()

KeyValuePair<APIResult, int> registerMarketComb ( int  feedID,
int []  marketIds 
)
protectedinherited

◆ unregisterMarketComb()

APIResult unregisterMarketComb ( int  batchDefID)
protectedinherited

◆ requestSnapshot()

APIResult requestSnapshot ( int  feedID,
int  marketID 
)
protectedinherited

◆ submitOrder() [1/4]

KeyValuePair<APIResult, long> submitOrder ( string  clOrdID,
int  feedID,
int  marketID,
Side  side,
MFFloat  amount,
MFFloat  price,
OrderType  ordType,
TimeInForce  tif 
)
protectedinherited

Submit an order.

Returns
-1 if the order could not be placed because it is redundant.

◆ submitOrder() [2/4]

KeyValuePair<APIResult, long> submitOrder ( string  clOrdID,
int  feedID,
int  marketID,
Side  side,
MFFloat  amount,
MFFloat  price,
MFFloat  stopPrice,
MFFloat  maxShowAmt,
OrderType  ordType,
TimeInForce  tif 
)
protectedinherited

Submit an order without minAmount (kept for backward compatibility).

Returns
-1 if the order could not be placed because it is redundant.

◆ submitOrder() [3/4]

KeyValuePair<APIResult, long> submitOrder ( string  clOrdID,
int  feedID,
int  marketID,
Side  side,
MFFloat  amount,
MFFloat  price,
MFFloat  stopPrice,
MFFloat  maxShowAmt,
MFFloat  minFillAmt,
OrderType  ordType,
TimeInForce  tif,
List< KeyValuePair< string, string >>  parameters 
)
protectedinherited

◆ submitOrder() [4/4]

KeyValuePair<APIResult, long> submitOrder ( string  clOrdID,
int  feedID,
int  marketID,
Side  side,
MFFloat  amount,
MFFloat  price,
MFFloat  stopPrice,
MFFloat  maxShowAmt,
MFFloat  minFillAmt,
OrderType  ordType,
TimeInForce  tif,
OrderParameters  parameters = null 
)
protectedinherited

Submits the order. Use an OrderParametersBuilder to construct a reusable OrderParameters object. Offers better performance if the you want to reuse the same order parameters for multiple submitOrder calls.

Returns
APIResult describing the success or failure; and the orderid or 0 if the action failed.
Parameters
clOrdIDclient order identifier.
feedIDFeed identifier.
marketIDmarket identifier.
sideside
amountamount
priceprice
stopPricestop price
maxShowAmtmax show amount
minFillAmtminimum fill amount
ordTypeorder type
tiftime in force
parametersoptional OrderParameters

◆ modifyOrder()

KeyValuePair<APIResult, long> modifyOrder ( string  clOrdID,
string  clNewID,
MFFloat  amount,
MFFloat  price,
OrderParameters  parameters = null 
)
protectedinherited

Submit modification to an existing order.

Returns
Pair The first member is APIResult.OK if the order has been sent. The second member is the orderID.

◆ cancelOrder() [1/3]

APIResult cancelOrder ( string  cxlID,
string  clOrdID 
)
protectedinherited

Cancel a previously placed order by client order id ('clOrdID'). Return false if the order cannot be found locally, i.e., if the 'clOrdID' does not correspond to any previously placed order on this client interface.

◆ cancelOrder() [2/3]

APIResult cancelOrder ( string  cxlID,
long  orderID 
)
protectedinherited

Cancel a previously placed order by internal 'orderID'. Return false if the internal 'orderID' could not be provided.

◆ cancelOrder() [3/3]

APIResult cancelOrder ( string  cxlID,
long  orderID,
string  clOrdID 
)
protectedinherited

Cancel a previously placed order by providing both internal 'orderID' and clOrdID. APIResult.INVALID_ORDERID if the internal 'orderID' could not be provided.

◆ cancelAll() [1/2]

APIResult cancelAll ( int  feedID,
string  cxlID 
)
protectedinherited

Cancel all the orders on a feed.

◆ cancelAll() [2/2]

APIResult cancelAll ( string  cxlID)
protectedinherited

Cancel all the orders, on all feeds.

◆ onMarketData()

virtual void onMarketData ( MarketView  marketData)
protectedvirtualinherited

Reimplemented in MFAdmin, and MFClient.

◆ onDateRollover()

virtual void onDateRollover ( DateRollover  dateRollover)
protectedvirtualinherited

Reimplemented in MFAdmin, and MFClient.

◆ onBatchComplete()

virtual void onBatchComplete ( int  batchDefID)
protectedvirtualinherited

Reimplemented in MFAdmin, and MFClient.

◆ onOrderReceived()

virtual void onOrderReceived ( OrderReceived  orderReceived)
protectedvirtualinherited

Reimplemented in MFAdmin, and MFClient.

◆ onOrderRejected()

virtual void onOrderRejected ( OrderRejected  orderRejected)
protectedvirtualinherited

Reimplemented in MFAdmin, and MFClient.

◆ onOrderSubmitted()

virtual void onOrderSubmitted ( OrderSubmitted  orderSubmitted)
protectedvirtualinherited

Reimplemented in MFAdmin, and MFClient.

◆ onOrderCanceled()

virtual void onOrderCanceled ( OrderCanceled  orderCanceled)
protectedvirtualinherited

Reimplemented in MFAdmin, and MFClient.

◆ onOrderCancelRejected()

virtual void onOrderCancelRejected ( OrderCancelRejected  orderCancelRejected)
protectedvirtualinherited

Reimplemented in MFAdmin, and MFClient.

◆ onTradeCapture()

virtual void onTradeCapture ( TradeCapture  tradeCapture)
protectedvirtualinherited

Reimplemented in MFAdmin, and MFClient.

◆ onOrderDone()

virtual void onOrderDone ( OrderDone  orderDone)
protectedvirtualinherited

Reimplemented in MFAdmin, and MFClient.

◆ onLockResponse()

virtual void onLockResponse ( LockResponse  lockResponse)
protectedvirtualinherited

Reimplemented in MFAdmin.

◆ onRiskResponse()

virtual void onRiskResponse ( RiskResponse  riskResponse)
protectedvirtualinherited

Reimplemented in MFAdmin.

◆ onJsonFromServer()

virtual void onJsonFromServer ( JsonFromServer  msg)
protectedvirtualinherited

◆ log() [1/2]

void log ( string  message)
inherited

Logs a debug message into the Whisperer server _log file.

(We use this for inserting markers for automated testing and debugging.)

◆ log() [2/2]

void log ( string  message,
LogLevel  level 
)
inherited

◆ test()

void test ( APITest  test)
inherited

Internal testing function.

Do not use this.

Member Data Documentation

◆ _username

string _username
protectedinherited

◆ _password

string _password
protectedinherited

◆ _hostname1

string _hostname1
protectedinherited

◆ _port1

int _port1
protectedinherited

◆ _hostname2

string _hostname2
protectedinherited

◆ _port2

int _port2
protectedinherited

◆ _log

Logger _log = Logger.getLogger("com.marketfactory.api")
protectedinherited
Confidential. Copyright © 2011 MarketFactory, Inc.