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

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 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 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 is called.
 
void Enqueue (TMessage message)
 
void Enqueue (Action action)
 
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)
 
SecurityGetSecurity (TSecurityKey securityId)
 
PortfolioGetPortfolio (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 ProcessMarketByOrder (MarketByOrder mbo)
 
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 RaiseRegisterSecurityResult (Security security, SubscriptionType subscriptionType, Exception error)
 
void RaiseSubscribeMarketDataResult (IEnumerable< Security > securities, Exception error)
 
void RaiseUnsubscribeMarketDataResult (IEnumerable< Security > securities, Exception error)
 
void RaiseNews (News news)
 
void RaiseSecurityChanged (Security security)
 
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< PortfolioOnGetPortfolios (Security security)
 
abstract void OnRegisterOrder (Order order)
 
virtual void OnModifyOrder (Order order, Order newOrder)
 
abstract void OnCancelOrder (Order order, long extId)
 
void RememberPendingOrders ()
 
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)
 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 ()
 
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]
 
abstract bool IsSupportedServerOCO [get]
 Поддерживает ли коннектор серверные ОСО ордера
 
abstract bool IsSupportedStopOrders [get]
 Поддерживает ли коннектор стоп ордера
 
abstract bool IsSupportedTradingFunctions [get]
 Поддерживает ли коннектор торговые функции
 
abstract bool IsSupportedRussianMarket [get]
 Поддерживает ли коннектор инструменты Российского рынка
 
abstract bool IsSupportedAmericanFutures [get]
 Поддерживает ли коннектор американские фьючерсы
 
abstract bool IsSupportedAmericanStocks [get]
 Поддерживает ли коннектор американские стоки
 
virtual bool IsSupportedCrypto [get]
 
virtual bool IsSupportedMaxOrderCalculation [get]
 
virtual bool IsSupportedServerTime [get]
 
bool MarketDataStreamEnabled [get, set]
 Отправлять ли маркет дату в BestBidAskUpdates,MarketDepthsUpdate,NewTrades.
 
bool AllowUpdatePositionsPnL [get, set]
 
MarketDataDelayPeriods MarketDataDelayPeriod [get, set]
 Gets or sets delay period for market data.
 
IEntityFactory Factory [get, set]
 Фабрика объектов для создания Security, Portfolio и т.д.
 
ITimeSyncManager? DefaultTimeSyncManager [get, set]
 Default ITimeSyncManager to get time difference with NTP server.
 
string DataPath [get, set]
 
IMessageQueue< TMessage > MessageQueue [get, set]
 
IEnumerable< SecuritySecurities [get]
 
IEnumerable< PortfolioPortfolios [get]
 
IEnumerable< MyTradeMyTrades [get]
 
IEnumerable< OrderOrders [get]
 
IEnumerable< PositionPositions [get]
 
bool IsConnected [get, protected set]
 True, если все соединения подключены.
 
ConnectionStates ConnectionState [get]
 Текущее состояние подключения коннектора.
 
ReconnectionTimer ReconnectionTimer [get]
 
bool ReconnectOnFirstConnect [get, set]
 
bool ServerMode [get, set]
 
TimeSpan HeartbeatTimeout [get, set]
 
TimeOnly? RefreshSecuritiesTime [get, set]
 
virtual bool HasPendingActions [get]
 
IConnectorLatencyManager LatencyManager [get]
 Latency manager.
 
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]
 

Additional Inherited Members

- 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)
 Найти инструменты по заданному фильтру.
 
Task< IEnumerable< Security > > SearchSecuritiesAsync (SecurityFilter filter)
 
void SubscribeToMarketData (IEnumerable< Security > securities, SubscriptionType subscriptionTypes)
 
void SubscribeToMarketData (Security security, SubscriptionType subscriptionTypes)
 Подписка на маркет дату
 
void UnsubscribeFromMarketData (IEnumerable< Security > securities, SubscriptionType subscriptionTypes)
 
void UnsubscribeFromMarketData (Security security, SubscriptionType subscriptionTypes)
 Отписка от маркет даты
 
IEnumerable< string > GetRoutes (Security security)
 
IEnumerable< PortfolioGetPortfolios (Security security)
 
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)
 Модификация цены ордера.
 
void CancelOrder (Order order)
 
Position GetPosition (Portfolio portfolio, Security security, TPlusLimits? tPlusLimit)
 
async Task ClosePositionAsync (Position position)
 
async Task ClosePositionsAsync (Portfolio portfolio)
 
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)
 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.
 
ISecurityTradingOptionsGetSecurityTradingOptions (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)
 
- Public Attributes inherited from ATAS.DataFeedsCore.BaseConnector< TMessage, TPortfolioKey, TSecurityKey >
virtual ? decimal maxAddable
 
- 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< 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< MarketByOrderMarketByOrderChanged
 
ConnectorEventHandler< IEnumerable< Trade > >? NewTrades
 
ConnectorEventHandler< Exception >? Error
 
ConnectorEventHandler< SecurityFilter, Exception?, IEnumerable< Security > >? SearchSecuritiesResult
 
ConnectorEventHandler< Security, Exception?>? RegisterSecurityResult
 
ConnectorEventHandler< News >? NewNews
 
ConnectorEventHandler< Security >? SecurityChanged
 
ConnectorEventHandler< IEnumerable< Security >, Exception >? SubscribeMarketDataResult
 
ConnectorEventHandler< IEnumerable< Security >, Exception >? UnsubscribeMarketDataResult
 

Member Function Documentation

◆ 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: