Loading...
Searching...
No Matches
ATAS.DataFeedsCore.CryptoBaseConnector< TMessage, TPortfolioKey, TSecurityKey > Class Template Referenceabstract
Inheritance diagram for ATAS.DataFeedsCore.CryptoBaseConnector< TMessage, TPortfolioKey, TSecurityKey >:
[legend]
Collaboration diagram for ATAS.DataFeedsCore.CryptoBaseConnector< TMessage, TPortfolioKey, TSecurityKey >:
[legend]

Public Member Functions

void CheckClientMode ()
 
abstract void DropMarketDataConnection ()
 
abstract void DropTradingConnection ()
 
abstract void DropMarketDataConnectionDuringConnecting ()
 
abstract void DropTradingConnectionDuringConnecting ()
 
Task DropMarketDataConnectionCoupleTimes (int reboots)
 
- Public Member Functions inherited from ATAS.DataFeedsCore.BaseConnector< TMessage, TPortfolioKey, TSecurityKey >
void Connect ()
 Asynchronously starts connection process
Connected event will fire indicating successful connection.
 
async Task ConnectAsync ()
 Asynchronously starts connection process.
 
void Disconnect ()
 
async Task DisconnectAsync ()
 Asynchronously starts disconnection process.
 
void SearchSecurities (SecurityFilter filter)
 Searches for securities matching the specified filter.
 
Task< IEnumerable< Security > > SearchSecuritiesAsync (SecurityFilter filter)
 
bool? IsMarketDataSubscribed (Security security, SubscriptionType subscriptionType)
 
void SubscribeToMarketData (IEnumerable< Security > securities, SubscriptionType subscriptionTypes)
 
void SubscribeToMarketData (Security security, SubscriptionType subscriptionTypes)
 Subscribes to market data for a security.
 
void UnsubscribeFromMarketData (IEnumerable< Security > securities, SubscriptionType subscriptionTypes)
 
void UnsubscribeFromMarketData (Security security, SubscriptionType subscriptionTypes)
 Unsubscribes from market data for a security.
 
IEnumerable< string > GetRoutes (Security security)
 
IEnumerable< Portfolio > GetPortfolios (Security security)
 
Portfolio GetTradingPortfolio (Portfolio portfolio, Security security)
 Resolves the portfolio that actually holds orders and positions for the specified security. Some connectors (e.g. CQG) route trading data to a currency-specific sub-portfolio of the selected account portfolio; for such connectors this method returns that sub-portfolio. For all other connectors the same portfolio is returned.
 
Order TryGetOrder (long extId)
 
bool TryGetOrder (string marketOrderId, out Order? order)
 
Task RegisterOrderAsync (Order order)
 
Task ModifyOrderAsync (Order order, Order newOrder)
 
Task CancelOrderAsync (Order order)
 
void RegisterOrder (Order order)
 
void ModifyOrder (Order order, Order newOrder)
 Modifies the price of an order.
 
void CancelOrder (Order order)
 
Position GetPosition (Portfolio portfolio, Security security, TPlusLimits? tPlusLimit)
 
async Task ClosePositionAsync (Position position)
 
async Task ClosePositionsAsync (Portfolio portfolio)
 
async Task GoFlatAsync (Portfolio portfolio)
 Cancels all active orders and liquidates all open positions for the portfolio in a single atomic operation.
 
async Task ChangeMarginParametersAsync (Position position, bool? isIsolated, decimal? leverage)
 
async Task ChangeIsolatedMarginAsync (Position position, decimal value)
 
virtual ? decimal CalcLiquidationPrice (Position position, decimal margin)
 
virtual ? decimal? decimal maxRemovable CalcIsolatedMarginChangeRange (Position position)
 
decimal ConvertCurrency (Security security, string currencyFrom, string currencyTo, decimal volume, decimal? limitPrice=null, bool roundToLotSize=true)
 Converts volume from one currency to another Used for Notional value calculation.
 
decimal? CalcMaxOrderVolume (OrderTypes orderType, Security security, Portfolio portfolio, OrderDirections direction, decimal? limitPrice=null)
 Gets max possible volume for the order
This function is always return null if IsSupportedMaxOrderCalculation is false.
 
decimal? CalcOrderCost (OrderTypes orderType, Security security, Portfolio portfolio, OrderDirections direction, decimal? limitPrice, decimal volume, out object? detailing, bool giveDetailing=false)
 Calculates total order cost including commissions and initial margin and everything else
This function is always return null if IsSupportedMaxOrderCalculation is false.
 
ISecurityTradingOptions? GetSecurityTradingOptions (Security security)
 Gets possible TimeInForce for order and optional flags that may be passed when order is created
If null default behaviour is expected:
TimeInForce = DAY, GTC, FOK
No order flags

 
Task< IEnumerable< MyTrade > > GetMyTradesAsync (Portfolio portfolio, Security security, DateTime from, DateTime to)
 Get a list of my trades.
 
bool CanSetPositionAveragePrice (Position position)
 
void SetPositionAveragePrice (Position position, decimal avgPrice)
 
void DropMarketDataConnection ()
 
void DropTradingConnection ()
 
void DropMarketDataConnectionDuringConnecting ()
 
void DropTradingConnectionDuringConnecting ()
 
Task DropMarketDataConnectionCoupleTimes (int reboots=5)
 
- Public Member Functions inherited from ATAS.DataFeedsCore.IDataFeedConnector
bool? IsMarketDataSubscribed (Security security, SubscriptionType subscriptionType)
 Whether the connector currently counts a market data subscription of the type for the security. Counted subscriptions are restored by the connector after a reconnect; a subscription the broker rejected is no longer counted. null for connectors that do not track their subscriptions.
 
void Connect ()
 
void Disconnect ()
 
Task ConnectAsync ()
 
Task DisconnectAsync ()
 
Task RegisterOrderAsync (Order order)
 
Task ModifyOrderAsync (Order order, Order newOrder)
 
Task CancelOrderAsync (Order order)
 
void CancelOrder (Order order)
 
void RegisterOrder (Order order)
 
void ModifyOrder (Order order, Order neworder)
 Modifies the price of an order.
 
Order TryGetOrder (long extId)
 
Position GetPosition (Portfolio portfolio, Security security, TPlusLimits? tPlusLimit)
 
Task ClosePositionAsync (Position position)
 
Task ClosePositionsAsync (Portfolio portfolio)
 
Task GoFlatAsync (Portfolio portfolio)
 Cancels all active orders and liquidates all open positions for the portfolio in a single atomic operation.
 
void SubscribeToMarketData (IEnumerable< Security > securities, SubscriptionType subscriptionTypes)
 
void SubscribeToMarketData (Security security, SubscriptionType subscriptionTypes)
 Subscribes to market data for a security.
 
void UnsubscribeFromMarketData (IEnumerable< Security > securities, SubscriptionType subscriptionTypes)
 
void UnsubscribeFromMarketData (Security security, SubscriptionType subscriptionTypes)
 Unsubscribes from market data for a security.
 
void SearchSecurities (SecurityFilter filter)
 Searches for securities matching the specified filter.
 
Task< IEnumerable< Security > > SearchSecuritiesAsync (SecurityFilter filter)
 
IEnumerable< string > GetRoutes (Security security)
 
IEnumerable< Portfolio > GetPortfolios (Security security)
 
Portfolio GetTradingPortfolio (Portfolio portfolio, Security security)
 Resolves the portfolio that actually holds orders and positions for the specified security. Some connectors (e.g. CQG) route trading data to a currency-specific sub-portfolio of the selected account portfolio; for such connectors this method returns that sub-portfolio. For all other connectors the same portfolio is returned.
 
Task ChangeMarginParametersAsync (Position position, bool? isolated=null, decimal? leverage=null)
 Switches position margin mode (isolated/cross) and/or trading leverage for it.
 
Task ChangeIsolatedMarginAsync (Position position, decimal value)
 Adds or removes to isolated margin of a position. This method does not apply for crossed margin mode
This method works only if Position.Risk property is not null.
 
decimal? CalcLiquidationPrice (Position position, decimal margin)
 Allows to estimate Liquidation Price change for a margin.
 
decimal?? decimal maxRemovable CalcIsolatedMarginChangeRange (Position position)
 
decimal ConvertCurrency (Security security, string currencyFrom, string currencyTo, decimal volume, decimal? limitPrice=null, bool roundToLotSize=true)
 Converts volume from one currency to another Used for Notional value calculation.
 
decimal? CalcMaxOrderVolume (OrderTypes orderType, Security security, Portfolio portfolio, OrderDirections direction, decimal? limitPrice=null)
 Gets max possible volume for the order
This function is always return null if IsSupportedMaxOrderCalculation is false.
 
decimal? CalcOrderCost (OrderTypes orderType, Security security, Portfolio portfolio, OrderDirections direction, decimal? limitPrice, decimal volume, out object? detailing, bool giveDetailing=false)
 Calculates total order cost including commissions and initial margin and everything else
This function is always return null if IsSupportedMaxOrderCalculation is false.
 
ISecurityTradingOptions? GetSecurityTradingOptions (Security security)
 Gets possible TimeInForce for order and optional flags that may be passed when order is created
If null default behaviour is expected:
TimeInForce = DAY, GTC, FOK
No order flags

 
Task< IEnumerable< MyTrade > > GetMyTradesAsync (Portfolio portfolio, Security security, DateTime from, DateTime to)
 Get a list of my trades.
 

Protected Member Functions

string GetKey ()
 
string GetSecret ()
 
- Protected Member Functions inherited from ATAS.DataFeedsCore.BaseConnector< TMessage, TPortfolioKey, TSecurityKey >
 BaseConnector ()
 
 BaseConnector (long initialId)
 
 BaseConnector ()
 
 BaseConnector (long initialId)
 
virtual Task OnConnectAsync ()
 
virtual void OnConnectTimedOut (Exception error)
 Called when a connect attempt exceeds ConnectTimeout. The default implementation faults the pending default connect task. Override to additionally tear down any half-open transport (socket/session) created during the attempt so it is not leaked.
 
virtual void OnConnect ()
 A place for connection routines
Executed on thread-pool thread.
 
void OnConnected ()
 Raises Connected event
The event must be called when the connector have all necessary connections established and authenticated
All security objects must be processed before this call if possible
If there were any subscriptions, search for that securities will be performed.
 
virtual Task OnDisconnectAsync ()
 
virtual void OnDisconnectTimedOut ()
 Called when a disconnect attempt exceeds DisconnectTimeout. The default implementation force-completes the pending default disconnect task so the connector reaches the Disconnected state. Override to additionally tear down any transport (socket/session) that the peer never closed.
 
virtual void OnDisconnect ()
 Called on thread-pool thread when Disconnect() method is invoked.
 
void OnDisconnected ()
 Cleans up base resources and raises Disconnected event.
 
void OnConnectionError (Exception error)
 Remember the error that will be handled when the OnDisconnected(Exception) is called.
 
void Enqueue (TMessage message)
 
void Enqueue (Action action)
 
void EnqueueContinuation (Action continuation)
 Queues an await continuation of the connector's thread. Unlike a message or an action queued while the connector is disconnected, a continuation posted after its connection session ended never runs in a later session (see IMessageQueue<TMessage>.EnqueueContinuation).
 
abstract void OnProcess (TMessage message)
 Handles queued messages by the MessageQueue
In case of SimpleMessageQueue it allows to process all messages in the special connector's queue thread.
 
virtual void OnSendHeartbeat ()
 
void ProcessSecurity (TSecurityKey id, Action< Security > action)
 
Security? GetSecurity (TSecurityKey securityId)
 
Portfolio? GetPortfolio (TPortfolioKey portfolioKey)
 
Portfolio ProcessPortfolio< T > (TPortfolioKey id, string accountId, T message, Action< T, Portfolio > update)
 
void ProcessPortfolio< T > (TPortfolioKey id, T message, Action< T, Portfolio > update, bool throwIfNotFound=false)
 
void ProcessPosition< T > (TPortfolioKey accountId, TSecurityKey securityId, TPlusLimits? tPlusLimit, T message, Func< T, bool, TSecurityPositionManager, bool > update)
 
void ProcessPosition< T > (TPortfolioKey accountId, TSecurityKey securityId, T message, Func< T, bool, TSecurityPositionManager, bool > update)
 
void ProcessSecurity< T > (TSecurityKey id, string securityId, T message, Action< T, bool, Security > update)
 Converts internal security object of the connector into the ATAS-security visible to the system.
 
void ProcessBestBidAsk (TSecurityKey securityId, DateTime time, MarketDataType type, decimal price, decimal volume, string ecn="")
 
void ProcessBestBidAsk (Security security, DateTime time, MarketDataType type, decimal price, decimal volume, string ecn="")
 
void ProcessBestBidAsk (TSecurityKey securityId, MarketDepth marketDepth)
 
void ProcessBestBidAsk (MarketDepth marketDepth)
 
void ProcessTick (TSecurityKey securityId, long id, DateTime time, TradeDirection direction, decimal price, decimal volume, string ecn="", decimal? openInterest=null)
 
void ProcessTick (Security security, long id, DateTime time, TradeDirection direction, decimal price, decimal volume, string ecn="", decimal? openInterest=null)
 
void ProcessTick (TSecurityKey securityId, Trade trade)
 
void ProcessTick (Security security, Trade trade)
 
void ProcessTick (Trade trade)
 
void ProcessMarketDepthsReset (TSecurityKey securityId, ICollection< MarketDepth > depth)
 
void ProcessMarketDepths (TSecurityKey securityId, Func< Security, ICollection< MarketDepth > > action)
 
void ProcessMarketDepths (Security security, Func< Security, ICollection< MarketDepth > > action)
 
void ProcessMarketDepths (Security security, ICollection< MarketDepth > depths)
 
void RaiseMarketDepthsReset (Security security)
 
void RaiseMarketByOrdersReset (Security security)
 
void ProcessMarketByOrder (MarketByOrder mbo)
 
void ProcessMboTrade (Trade trade)
 
void ProcessSummary (TSecurityKey id, Action< SecuritySummary > action)
 
void ProcessSummary< TValue > (TSecurityKey id, TValue value, Action< SecuritySummary, TValue > action)
 
void ProcessOrder< T > (TPortfolioKey accountId, TSecurityKey securityId, long extId, T message, Action< T, bool, Order > update)
 
void ProcessOrder< T > (TPortfolioKey accountId, TSecurityKey securityId, long extId, T message, Func< T, bool, Order, bool?> update)
 
void ProcessOrder< T > (long extId, T message, Action< T, Order > update)
 
void ProcessOrderError (Order order, string error)
 
void ProcessOrderError (long extId, string error)
 
void ProcessOrder (long extId, Action< Order > process)
 
void ProcessMyTrade< T > (TPortfolioKey accountId, TSecurityKey securityId, long extId, string orderId, string tradeId, T message, Action< T, MyTrade > update)
 
void ProcessMyTrade< T > (long extId, string orderId, string tradeId, T message, Action< T, MyTrade > update)
 
void ProcessMyTrade< T > (long extId, string tradeId, T message, Action< T, MyTrade > update)
 
void ClearDataForPortfolio (Portfolio portfolio)
 
virtual TSecurityPositionManager CreatePositionManager (Position position)
 
virtual void PositionPnLChanged (Position position)
 
void RaiseRebateResult (RebateResult result)
 
void RaiseConnected ()
 
void RaiseDisconnected ()
 
void RaisePosition (TSecurityPositionManager posManager, bool isNew)
 
void RaiseOrder (Order order, bool isNew)
 
void RaiseOrderFailed (Order order, string error)
 
void RaiseSearchSecuritiesResult (SecurityFilter filter, Exception? error, IEnumerable< Security > securities)
 
void FailPendingSearchSecurities (Exception error)
 Completes all pending SearchSecuritiesAsync operations with the given error so callers do not hang when the connector disconnects or a search pipeline fails.
 
void RaiseRegisterSecurityResult (Security security, SubscriptionType subscriptionType, Exception? error)
 
void RaiseSubscribeMarketDataResult (IEnumerable< Security > securities, Exception? error=null)
 
void RaiseUnsubscribeMarketDataResult (IEnumerable< Security > securities, Exception error)
 
void RaiseNews (News news)
 
void RaiseSecurityChanged (Security security)
 
void RaiseSecuritySummaryChanged (SecuritySummary summary)
 
void RaiseOrderCancellationReason (Order order, string reason)
 Publishes broker metadata without completing a pending register/modify/cancel action.
 
SubscriptionType GetCurrentSubscription (Security security)
 
virtual void OnSearchSecurities (TSecurityKey securityId, TMessage message)
 
abstract void OnSearchSecurities (SecurityFilter filter)
 
abstract void OnSearchSecurities (TSecurityKey securityId)
 
virtual void OnSubscribeMarketData (IEnumerable< Security > securities, SubscriptionType subscription)
 
abstract void OnSubscribeMarketData (Security security, SubscriptionType subscriptionTypes)
 
virtual void OnUnsubscribeFromMarketData (IEnumerable< Security > securities, SubscriptionType subscription)
 
abstract void OnUnsubscribeMarketData (Security security, SubscriptionType subscriptionTypes)
 
virtual IEnumerable< string > OnGetRoutes (Security security)
 
virtual IEnumerable< Portfolio > OnGetPortfolios (Security security)
 
virtual Portfolio OnGetTradingPortfolio (Portfolio portfolio, Security security)
 
abstract void OnRegisterOrder (Order order)
 
virtual void OnModifyOrder (Order order, Order newOrder)
 
abstract void OnCancelOrder (Order order, long extId)
 
void RememberPendingOrders ()
 
virtual Task OnGoFlat (Portfolio portfolio)
 
virtual async Task OnClosePosition (Position position)
 
virtual async Task OnClosePositions (Portfolio portfolio)
 
virtual Order CreateOrderToClosePosition (Position pos)
 
virtual Task OnChangeMarginParametersAsync (Position position, bool? isIsolated, decimal? leverage)
 
virtual Task OnChangeIsolatedMarginAsync (Position position, decimal value)
 
virtual decimal OnConvertCurrency (Security security, string currencyFrom, string currencyTo, decimal volume, decimal? limitPrice=null, bool roundToLotSize=true)
 Converts volume from one currency to another Used for Notional value calculation.
 
virtual ? decimal OnCalcMaxOrderVolume (OrderTypes orderType, Security security, Portfolio portfolio, OrderDirections direction, decimal? limitPrice=null)
 
virtual ? decimal OnCalcOrderCost (OrderTypes orderType, Security security, Portfolio portfolio, OrderDirections direction, decimal? limitPrice, decimal volume, out object? detailing, bool giveDetailing=false)
 
virtual ? ISecurityTradingOptions OnGetSecurityTradingOptions (Security security)
 
virtual Task< IEnumerable< MyTrade > > OnGetMyTradesAsync (Portfolio portfolio, Security security, DateTime from, DateTime to)
 
void ValidateTradesHistoryRequestDates (ref DateTime from, DateTime to, int depthLimitMonths)
 
virtual Task<(DateTime serverTime, DateTime localTime, TimeSpan latency)> GetApiServerTime (CancellationToken cancellationToken)
 
async Task ProcessAutoRefreshSecurities ()
 
virtual async Task OnRefreshSecuritiesAsync ()
 
void BeginProcessingDelistedSecurities ()
 
void CompleteProcessingDelistedSecurities ()
 
bool TryAdmitOptionLookup (string request, out Exception? error)
 For IOptionsDataFeed implementations: call first in every option series and chain lookup, before anything is sent and before the first await, and fail the lookup with the returned error when it is refused (see OptionRequestGuard).
 
bool TryGetPosition (Order order, out Position? position)
 
bool TryGetPosition (Portfolio portfolio, Security security, out Position? position)
 
bool TryGetPosition (Portfolio portfolio, Security security, TPlusLimits limits, out Position? position)
 
void UpdatePositionsPnL (Security security, MarketDataType type, decimal price)
 

Properties

SecureString? ApiKey [get, set]
 
SecureString? Secret [get, set]
 
bool MarketDataOnly [get, set]
 
- Properties inherited from ATAS.DataFeedsCore.BaseConnector< TMessage, TPortfolioKey, TSecurityKey >
IIdGenerator IdGenerator [get]
 
IEnumerable< TSecurityPositionManager > PositionManagers [get]
 
ITimeSyncManager TimeSyncManager [get]
 
DateTime ServerUtcNow [get]
 The current UTC time on the server's clock: the computer's clock corrected by the time sync manager (zero correction until it has measured). Data the server sends without a time of its own (a REST snapshot) is stamped with it, so it compares with the server's event times - the latency manager subtracts a stamp from this same corrected time, and a stamp of the computer's clock gives a negative or a false delay when the clock is off.
 
TimeSpan PendingOrdersCheckPeriod [get, set]
 Delay after a (re)connect before the orders left pending by a connection loss are checked: the ones the broker has not reported by then are failed.
 
abstract bool IsSupportedServerOCO [get]
 Indicates whether the connector supports server-side OCO orders.
 
abstract bool IsSupportedStopOrders [get]
 Indicates whether the connector supports stop orders.
 
abstract bool IsSupportedTradingFunctions [get]
 Indicates whether the connector supports trading functions.
 
abstract bool IsSupportedRussianMarket [get]
 Indicates whether the connector supports Russian market instruments.
 
abstract bool IsSupportedAmericanFutures [get]
 Indicates whether the connector supports American futures.
 
abstract bool IsSupportedAmericanStocks [get]
 Indicates whether the connector supports American stocks.
 
virtual bool IsSupportedCrypto [get]
 
virtual bool IsSupportedCfd [get]
 
virtual bool IsSupportedMaxOrderCalculation [get]
 
virtual bool IsSupportedServerTime [get]
 
virtual bool IsSupportedGoFlat [get]
 
bool MarketDataStreamEnabled [get, set]
 Indicates whether to raise market data through BestBidAskUpdates, MarketDepthsUpdate, and NewTrades events.
 
bool AllowUpdatePositionsPnL [get, set]
 
MarketDataDelayPeriods MarketDataDelayPeriod [get, set]
 Gets or sets delay period for market data.
 
IEntityFactory Factory [get, set]
 Factory used to create Security, Portfolio, and other entity objects.
 
ITimeSyncManager? DefaultTimeSyncManager [get, set]
 
IConnectorExchangeInfoProvider ExchangeInfoProvider [get, set]
 
string DataPath [get, set]
 
IMessageQueue< TMessage > MessageQueue [get, set]
 
IEnumerable< Security > Securities [get]
 
IEnumerable< Portfolio > Portfolios [get]
 
IEnumerable< MyTrade > MyTrades [get]
 
IEnumerable< Order > Orders [get]
 
IEnumerable< Position > Positions [get]
 
bool IsConnected [get, protected set]
 Returns true when all connections are established.
 
ConnectionStates ConnectionState [get]
 Current connection state of the connector.
 
ReconnectionTimer ReconnectionTimer [get]
 
bool ReconnectOnFirstConnect [get, set]
 
bool ServerMode [get, set]
 
TimeSpan HeartbeatTimeout [get, set]
 
TimeSpan ConnectTimeout [get, set]
 Maximum time a single connect attempt may take before it is aborted. Guards against a remote that accepts the socket but never completes the login/handshake (a half-open connection): without this the connect Task would hang forever and, because ReconnectionTimer only re-arms on a failed attempt, auto-reconnect would wedge permanently. Set to TimeSpan.Zero to disable (not recommended). Connectors that legitimately need a longer handshake may raise this value.
 
TimeSpan DisconnectTimeout [get, set]
 Maximum time a single disconnect attempt may take before it is forced to completion. The disconnect handshake (e.g. waiting for the peer to acknowledge a logout and close the socket) can hang forever against a silent/half-open peer, wedging the connector in the Disconnecting state. On timeout the disconnect is forced so the connector reaches Disconnected. Set to TimeSpan.Zero to disable (not recommended).
 
TimeOnly? RefreshSecuritiesTime [get, set]
 
double MaxDelistedSecuritiesRatio [get, set]
 Upper bound on the share of the known securities a single refresh may delist. A refresh that would drop more than this is treated as an incomplete snapshot (a failed request, one market of several not answered, a response still being processed) and is skipped with a warning instead of removing the securities. The exchanges with a nightly refresh delist a handful of symbols a day out of hundreds, so the default of 5% leaves room for a batch clean-up and still catches a half-registered snapshot. Set to 1 to disable the check.
 
virtual bool HasPendingActions [get]
 
IConnectorLatencyManager LatencyManager [get]
 Latency manager.
 
SubscriptionStatistics? SubscriptionStatistics [get]
 Market data subscription load of the connector: subscribed instruments by security type and the number of subscribe/unsubscribe requests sent to the broker. null for connector wrappers that do not own the subscriptions themselves.
 
bool IsFullLicense [get, set]
 License type.
 
bool NeedRebatesCheck [get, set]
 Has rebate check feature.
 
Guid Id [get]
 
- Properties inherited from ATAS.DataFeedsCore.ICryptoKeySecretConnector
SecureString? ApiKey [get, set]
 
SecureString? Secret [get, set]
 
bool MarketDataOnly [get, set]
 
- Properties inherited from ATAS.DataFeedsCore.IDataFeedConnector
Guid Id [get]
 
bool IsSupportedServerOCO [get]
 Indicates whether the connector supports server-side OCO orders.
 
bool IsSupportedStopOrders [get]
 Indicates whether the connector supports stop orders.
 
bool IsSupportedTradingFunctions [get]
 Indicates whether the connector supports trading functions.
 
bool IsConnected [get]
 
ConnectionStates ConnectionState [get]
 Current connection state of the connector.
 
MarketDataDelayPeriods MarketDataDelayPeriod [get, set]
 Gets or sets delay period for market data.
 
bool IsSupportedRussianMarket [get]
 Indicates whether the connector supports Russian market instruments.
 
bool IsSupportedAmericanFutures [get]
 Indicates whether the connector supports American futures.
 
bool IsSupportedAmericanStocks [get]
 Indicates whether the connector supports American stocks.
 
bool IsSupportedCrypto [get]
 Indicates whether the connector supports crypto instruments.
 
bool IsSupportedCfd [get]
 Indicates whether the connector supports CFD instruments.
 
bool IsSupportedMaxOrderCalculation [get]
 Does connector support max order calculation for the instrument
This feature enables percentage slider under the volume input box
Affects CalcMaxOrderVolume and CalcOrderCost methods.
 
bool IsSupportedServerTime [get]
 Does connector supports getting exchange server time.
 
bool MarketDataStreamEnabled [get, set]
 Indicates whether to raise market data through BestBidAskUpdates, MarketDepthsUpdate, and NewTrades events.
 
bool AllowUpdatePositionsPnL [get, set]
 
IEntityFactory Factory [get, set]
 Factory used to create Security, Portfolio, and other entity objects.
 
ITimeSyncManager? DefaultTimeSyncManager [get, set]
 Default ITimeSyncManager to get time difference with NTP server.
 
IConnectorExchangeInfoProvider ExchangeInfoProvider [get, set]
 Gets or sets the provider used to retrieve exchange information for the securities.
 
string DataPath [get, set]
 
IConnectorLatencyManager LatencyManager [get]
 Latency manager.
 
SubscriptionStatistics? SubscriptionStatistics [get]
 Market data subscription load of the connector: subscribed instruments by security type and the number of subscribe/unsubscribe requests sent to the broker. null for connector wrappers that do not own the subscriptions themselves.
 
bool IsFullLicense [get, set]
 License type.
 
bool NeedRebatesCheck [get, set]
 Has rebate check feature.
 
bool IsSupportedGoFlat [get]
 Indicates whether the connector supports atomic go-flat (cancel all orders and liquidate all positions).
 
IEnumerable< Security > Securities [get]
 
IEnumerable< Portfolio > Portfolios [get]
 
IEnumerable< MyTrade > MyTrades [get]
 
IEnumerable< Order > Orders [get]
 
IEnumerable< Position > Positions [get]
 
TimeOnly? RefreshSecuritiesTime [get, set]
 
bool HasPendingActions [get]
 
bool ServerMode [get, set]
 
bool ReconnectOnFirstConnect [get, set]
 Reconnect after a failed first connect instead of failing ConnectAsync. Set only by the unattended server hosts (DataSender, DataRepeater), and it means more than the name says: the host has nobody to fix the settings, so a connection refusal (see ConnectionRefusalReason) keeps reconnecting too instead of stopping and reporting to the user as it does on the platform.
 

Additional Inherited Members

- Public Attributes inherited from ATAS.DataFeedsCore.BaseConnector< TMessage, TPortfolioKey, TSecurityKey >
virtual ? decimal maxAddable
 
- Public Attributes inherited from ATAS.DataFeedsCore.IDataFeedConnector
decimal? maxAddable
 Calculates possible changes of the isolated margin of a position (only for leveraged trading)
 
- Events inherited from ATAS.DataFeedsCore.BaseConnector< TMessage, TPortfolioKey, TSecurityKey >
ConnectorEventHandler? Connected
 
ConnectorEventHandler? Disconnected
 
ConnectorEventHandler< ConnectionStateEventArgs >? ConnectionStateChanged
 
ConnectorEventHandler< IEnumerable< MyTrade > >? NewMyTrades
 
ConnectorEventHandler< IEnumerable< Order > >? NewOrders
 
ConnectorEventHandler< IEnumerable< Position > >? NewPositions
 
ConnectorEventHandler< IEnumerable< Portfolio > >? NewPortfolios
 
ConnectorEventHandler< IEnumerable< Security > >? NewSecurities
 
ConnectorEventHandler< IEnumerable< Security > >? RemoveSecurities
 
ConnectorEventHandler< Order >? OrderChanged
 
ConnectorEventHandler< RebateResult >? RebateReceived
 
ConnectorEventHandler< string, Order >? OrdersRegisterFailed
 
ConnectorEventHandler< string, Order >? OrdersCancelFailed
 
ConnectorEventHandler< Order, Order, string >? OrderModifyFailed
 
ConnectorEventHandler< IEnumerable< Portfolio > >? PortfoliosChanged
 
ConnectorEventHandler< IEnumerable< Position > >? PositionsChanged
 
ConnectorEventHandler< MarketDepth >? BestBidAskUpdates
 
ConnectorEventHandler< IEnumerable< MarketDepth > >? MarketDepthsUpdate
 
ConnectorEventHandler< Security >? MarketDepthsReset
 
ConnectorEventHandler< Security >? MarketByOrdersReset
 
ConnectorEventHandler< MarketByOrder >? MarketByOrderChanged
 
ConnectorEventHandler< IEnumerable< Trade > >? NewTrades
 
ConnectorEventHandler< Trade >? NewMboTrade
 
ConnectorEventHandler< Exception >? Error
 
ConnectorEventHandler< SecurityFilter, Exception?, IEnumerable< Security > >? SearchSecuritiesResult
 
ConnectorEventHandler< Security, Exception?>? RegisterSecurityResult
 
ConnectorEventHandler< News >? NewNews
 
ConnectorEventHandler< Security >? SecurityChanged
 
ConnectorEventHandler< SecuritySummary >? SecuritySummaryChanged
 
ConnectorEventHandler< IEnumerable< Security >, Exception?>? SubscribeMarketDataResult
 
ConnectorEventHandler< IEnumerable< Security >, Exception?>? UnsubscribeMarketDataResult
 
- Events inherited from ATAS.DataFeedsCore.IDataFeedConnector
ConnectorEventHandler< ConnectionStateEventArgs >? ConnectionStateChanged
 
ConnectorEventHandler? Connected
 
ConnectorEventHandler? Disconnected
 
ConnectorEventHandler< IEnumerable< MyTrade > >? NewMyTrades
 
ConnectorEventHandler< IEnumerable< Order > >? NewOrders
 
ConnectorEventHandler< IEnumerable< Position > >? NewPositions
 
ConnectorEventHandler< IEnumerable< Portfolio > >? NewPortfolios
 
ConnectorEventHandler< IEnumerable< Security > >? NewSecurities
 
ConnectorEventHandler< IEnumerable< Security > >? RemoveSecurities
 
ConnectorEventHandler< Order >? OrderChanged
 
ConnectorEventHandler< string, Order >? OrdersRegisterFailed
 
ConnectorEventHandler< string, Order >? OrdersCancelFailed
 
ConnectorEventHandler< Order, Order, string >? OrderModifyFailed
 
ConnectorEventHandler< IEnumerable< Portfolio > >? PortfoliosChanged
 
ConnectorEventHandler< IEnumerable< Position > >? PositionsChanged
 
ConnectorEventHandler< MarketDepth >? BestBidAskUpdates
 
ConnectorEventHandler< IEnumerable< MarketDepth > >? MarketDepthsUpdate
 
ConnectorEventHandler< Security >? MarketDepthsReset
 Raised when the connector's order book for the security is rebuilt from scratch (e.g. a fresh snapshot after a reconnect). Consumers must drop all accumulated depth state for the security before applying the updates that follow, because removals for levels of the previous book generation are never sent.
 
ConnectorEventHandler< Security >? MarketByOrdersReset
 Raised when the connector's by-order book for the security is rebuilt from scratch (a fresh image after a reconnect or on subscription). Consumers must drop every order they hold for the security before applying the updates that follow: deletes for orders of the previous book generation are never sent. Independent of MarketDepthsReset, so a market-by-order-only subscription gets it too.
 
ConnectorEventHandler< MarketByOrder > MarketByOrderChanged
 
ConnectorEventHandler< IEnumerable< Trade > >? NewTrades
 
ConnectorEventHandler< Trade >? NewMboTrade
 Raised for every trade of a security with an active market-by-order subscription, carrying the passive/aggressor exchange order ids and the match event id when the connector could attribute the trade to its book fill. Unlike NewTrades, delivery may lag the tape by the connector's attribution hold.
 
ConnectorEventHandler< Security >? SecurityChanged
 
ConnectorEventHandler< SecuritySummary >? SecuritySummaryChanged
 
ConnectorEventHandler< Exception >? Error
 Raised when an error occurs.
 
ConnectorEventHandler< SecurityFilter, Exception?, IEnumerable< Security > >? SearchSecuritiesResult
 
ConnectorEventHandler< Security, Exception?>? RegisterSecurityResult
 
ConnectorEventHandler< News >? NewNews
 
ConnectorEventHandler< RebateResult >? RebateReceived
 

Member Function Documentation

◆ CheckClientMode()

void ATAS.DataFeedsCore.CryptoBaseConnector< TMessage, TPortfolioKey, TSecurityKey >.CheckClientMode ( )

◆ DropMarketDataConnection()

abstract void ATAS.DataFeedsCore.CryptoBaseConnector< TMessage, TPortfolioKey, TSecurityKey >.DropMarketDataConnection ( )
pure virtual

◆ DropMarketDataConnectionCoupleTimes()

Task ATAS.DataFeedsCore.CryptoBaseConnector< TMessage, TPortfolioKey, TSecurityKey >.DropMarketDataConnectionCoupleTimes ( int  reboots)

◆ DropMarketDataConnectionDuringConnecting()

abstract void ATAS.DataFeedsCore.CryptoBaseConnector< TMessage, TPortfolioKey, TSecurityKey >.DropMarketDataConnectionDuringConnecting ( )
pure virtual

◆ DropTradingConnection()

abstract void ATAS.DataFeedsCore.CryptoBaseConnector< TMessage, TPortfolioKey, TSecurityKey >.DropTradingConnection ( )
pure virtual

◆ DropTradingConnectionDuringConnecting()

abstract void ATAS.DataFeedsCore.CryptoBaseConnector< TMessage, TPortfolioKey, TSecurityKey >.DropTradingConnectionDuringConnecting ( )
pure virtual

◆ GetKey()

string ATAS.DataFeedsCore.CryptoBaseConnector< TMessage, TPortfolioKey, TSecurityKey >.GetKey ( )
protected

◆ GetSecret()

string ATAS.DataFeedsCore.CryptoBaseConnector< TMessage, TPortfolioKey, TSecurityKey >.GetSecret ( )
protected

Property Documentation

◆ ApiKey

SecureString? ATAS.DataFeedsCore.CryptoBaseConnector< TMessage, TPortfolioKey, TSecurityKey >.ApiKey
getset

◆ MarketDataOnly

bool ATAS.DataFeedsCore.CryptoBaseConnector< TMessage, TPortfolioKey, TSecurityKey >.MarketDataOnly
getset

◆ Secret

SecureString? ATAS.DataFeedsCore.CryptoBaseConnector< TMessage, TPortfolioKey, TSecurityKey >.Secret
getset

The documentation for this class was generated from the following file: