![]() |
MarketFactory 3.14.0 C# API
|
An API client, which processes a single network connection. More...
Public Member Functions | |
| MFBaseClient (string _username, string _password, string _hostname1, int _port1) | |
| Create a new client object. More... | |
| MFBaseClient (string _username, string _password, string _hostname1, int _port1, string _hostname2, int _port2) | |
| Create a new client object (with failover). 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 | replay (int feedID, int fromSequenceID, int toSequenceID) |
| Request replay of order flow events in the range [fromSequenceID, toSequenceID=-1]. 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... | |
| void | test (APITest test) |
| Internal testing function. More... | |
| APIResult | unsubscribeAll () |
| Unsubscribe all market data and trading subscriptions. 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) |
| virtual void | onConnect () |
| virtual void | onDateRollover (DateRollover dateRollover) |
| virtual void | onDisconnect () |
| virtual void | onDropCopy (DropCopy dropCopy) |
| virtual void | onEventReport (EventReport eventReport) |
| virtual void | onHeartbeat (Heartbeat heartbeat) |
| virtual void | onJsonFromServer (JsonFromServer msg) |
| virtual void | onLockResponse (LockResponse lockResponse) |
| virtual void | onMarketData (MarketView marketData) |
| virtual void | onMassQuoteAck (MassQuoteAck msg) |
| virtual 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) |
| virtual void | onOrderTimeout (OrderTimeout msg) |
| virtual void | onQuoteRequest (QuoteRequest msg) |
| virtual void | onReplayDone (ReplayDone replayDone) |
| virtual void | onRiskResponse (RiskResponse riskResponse) |
| virtual void | onStart () |
| virtual void | onStop () |
| virtual void | onSubscriptionEvent (SubscriptionEvent subscriptionEvent) |
| virtual void | onTradeCapture (TradeCapture tradeCapture) |
| virtual 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 |
An 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.
| MFBaseClient | ( | string | _username, |
| string | _password, | ||
| string | _hostname1, | ||
| int | _port1 | ||
| ) |
Create a new client object.
A new client still needs to be connected (see connect()).
| MFBaseClient | ( | string | _username, |
| string | _password, | ||
| string | _hostname1, | ||
| int | _port1, | ||
| string | _hostname2, | ||
| int | _port2 | ||
| ) |
Create a new client object (with failover).
A new client still needs to be connected (see connect()).
| void setUseHeartbeat | ( | bool | use | ) |
| void setDebug | ( | bool | debug | ) |
| void setStickySubscriptions | ( | bool | sticky | ) |
Enable/Disable sticky subscriptions.
Set clearSubscriptionsOnStop=false if subscriptions should persist on disconnect/stop/start.
| void setStickySubscriptions | ( | bool | sticky, |
| bool | clearSubscriptionsOnStop | ||
| ) |
| bool isConnected | ( | ) |
Return true if the _channel is _connected.
| APIResult connect | ( | ) |
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.
| APIResult close | ( | ) |
Close the connection.
(This can only be called this when you're not dispatching.)
Note: this should not be invoked by _handler.
| bool isRunning | ( | ) |
Returns true if the client is currently dispatching events (i.e., you called run()).
| APIResult stop | ( | ) |
Request to stop the event dispatch loop, does not disconnect the client from the server.
| bool isStopRequested | ( | ) |
| APIResult join | ( | ) |
Block until the client has exited the dispatch loop.
Note: this should not be invoked by _handler.
|
protected |
_log.info("Attempting reconnect...");
|
protected |
| string getSignature | ( | ) |
Get protocol api signature.
| int getSequenceID | ( | int | feedID | ) |
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.
| APIFeed [] getFeeds | ( | ) |
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.
| APIFeed getFeedByName | ( | string | name | ) |
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).
| APIFeed getFeedByID | ( | int | id | ) |
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).
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.
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.
| string getHostname | ( | ) |
Returns the primary/secondary server hostname (whichever one is being used).
Does not indicate whether a connection is in progress or successfully established.
| int getPort | ( | ) |
Returns the primary/secondary server port (whichever one is being used).
Does not indicate whether a connection is in progress or successfully established.
| Queue<PingTime> getLastPingTimes | ( | ) |
| APIResult replay | ( | int | feedID, |
| int | fromSequenceID, | ||
| int | toSequenceID | ||
| ) |
Request replay of order flow events in the range [fromSequenceID, toSequenceID=-1].
Only open-ended requests are accepted by the server.
|
protected |
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.
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.
|
protected |
|
protected |
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.
|
protected |
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.
|
protected |
Subscribe to all the market data feeds.
This is intended as a test utility; ideally you control which feeds and markets you connect to.
|
protected |
Unsubscribe to market data updates for a specific feed.
|
protected |
Unsubscribe to market data updates for a specific feed.
|
protected |
Unsubscribe to trading for a specific feed.
|
protected |
Unsubscribe to trading for a specific feed.
| APIResult unsubscribeAll | ( | ) |
Unsubscribe all market data and trading subscriptions.
Call this if you want to stop receiving callbacks but don't want to disconnect.
|
protected |
|
protected |
|
protected |
|
protected |
Submit an order.
|
protected |
Submit an order without minAmount (kept for backward compatibility).
|
protected |
|
protected |
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.
| clOrdID | client order identifier. |
| feedID | Feed identifier. |
| marketID | market identifier. |
| side | side |
| amount | amount |
| price | price |
| stopPrice | stop price |
| maxShowAmt | max show amount |
| minFillAmt | minimum fill amount |
| ordType | order type |
| tif | time in force |
| parameters | optional OrderParameters |
|
protected |
Submit modification to an existing order.
|
protected |
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.
|
protected |
Cancel a previously placed order by internal 'orderID'. Return false if the internal 'orderID' could not be provided.
|
protected |
Cancel a previously placed order by providing both internal 'orderID' and clOrdID. APIResult.INVALID_ORDERID if the internal 'orderID' could not be provided.
|
protected |
Cancel all the orders on a feed.
|
protected |
Cancel all the orders, on all feeds.
|
protectedvirtual |
Reimplemented in MFAdmin, MFClient, and MFMarketMaker.
|
protectedvirtual |
Reimplemented in MFAdmin, MFClient, and MFMarketMaker.
|
protectedvirtual |
Reimplemented in MFAdmin, MFClient, and MFMarketMaker.
|
protectedvirtual |
Reimplemented in MFAdmin, MFClient, and MFMarketMaker.
|
protectedvirtual |
Reimplemented in MFAdmin, MFClient, and MFMarketMaker.
|
protectedvirtual |
Reimplemented in MFAdmin, MFClient, and MFMarketMaker.
|
protectedvirtual |
|
protectedvirtual |
Reimplemented in MFAdmin, MFClient, and MFMarketMaker.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Reimplemented in MFAdmin, MFClient, and MFMarketMaker.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Reimplemented in MFAdmin, MFClient, and MFMarketMaker.
|
protectedvirtual |
Reimplemented in MFAdmin.
|
protectedvirtual |
Reimplemented in MFAdmin.
|
protectedvirtual |
Reimplemented in MFMarketMaker.
|
protectedvirtual |
Reimplemented in MFMarketMaker.
|
protectedvirtual |
Reimplemented in MFMarketMaker.
|
protectedvirtual |
Reimplemented in MFMarketMaker.
|
protectedvirtual |
Reimplemented in MFMarketMaker.
|
protectedvirtual |
| void log | ( | string | message | ) |
Logs a debug message into the Whisperer server _log file.
(We use this for inserting markers for automated testing and debugging.)
| void log | ( | string | message, |
| LogLevel | level | ||
| ) |
| void test | ( | APITest | test | ) |
Internal testing function.
Do not use this.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |