EntityCache
Entity cache for storing orders, trades, news and other trading entities.
Implements: ISnapshotHolder
Constructors
public EntityCache(ILogReceiver logReceiver, Func<SecurityId?, Security> tryGetSecurity, IExchangeInfoProvider exchangeInfoProvider, IPositionProvider positionProvider)
entityCache = EntityCache(logReceiver, tryGetSecurity, exchangeInfoProvider, positionProvider)
Entity cache for storing orders, trades, news and other trading entities.
- logReceiver
- Log receiver for logging messages.
- tryGetSecurity
- Function to get security by id.
- exchangeInfoProvider
- Exchange info provider.
- positionProvider
- Position provider.
Properties
public IExchangeInfoProvider ExchangeInfoProvider { get; }
value = entityCache.ExchangeInfoProvider
Exchange info provider.
public IEnumerable<OrderFail> OrderCancelFails { get; }
value = entityCache.OrderCancelFails
Order cancellation failures.
public IEnumerable<OrderFail> OrderEditFails { get; }
value = entityCache.OrderEditFails
Order modification failures.
public IEnumerable<OrderFail> OrderRegisterFails { get; }
value = entityCache.OrderRegisterFails
Order registration failures.
public int OrdersKeepCount { get; set; }
value = entityCache.OrdersKeepCount
entityCache.OrdersKeepCount = value
Maximum number of orders to keep in cache. Default is 1000.
Methods
public void AddFail(OrderOperations operation, OrderFail fail)
entityCache.AddFail(operation, fail)
Add order fail.
- operation
- Operation.
- fail
- Fail.
public void AddOrderByCancelationId(Order order, long transactionId)
entityCache.AddOrderByCancelationId(order, transactionId)
Add order by cancelation transaction id.
- order
- Order.
- transactionId
- Transaction id.
public void AddOrderByEditionId(Order order, long transactionId)
entityCache.AddOrderByEditionId(order, transactionId)
Add order by edition transaction id.
- order
- Order.
- transactionId
- Transaction id.
public void AddOrderByRegistrationId(Order order)
entityCache.AddOrderByRegistrationId(order)
Add order by registration transaction id.
- order
- Order.
public void AddOrderFailById(OrderFail fail, OrderOperations operation, long transactionId)
entityCache.AddOrderFailById(fail, operation, transactionId)
Add order fail by transaction id.
- fail
- Order fail.
- operation
- Order operation.
- transactionId
- Transaction id.
public void AddOrderStatusTransactionId(long transactionId)
entityCache.AddOrderStatusTransactionId(transactionId)
Add order status transaction id.
- transactionId
- Transaction id.
public IEnumerable<Level1Fields> GetLevel1Fields(Security security)
result = entityCache.GetLevel1Fields(security)
Get available Level1 fields for security.
- security
- Security.
Returns: Fields.
public IEnumerable<Order> GetOrders(Security security, OrderStates state)
result = entityCache.GetOrders(security, state)
Get orders by security and state.
- security
- Security.
- state
- Order state.
Returns: Orders.
public object GetSecurityValue(Security security, Level1Fields field)
result = entityCache.GetSecurityValue(security, field)
Get security Level1 field value.
- security
- Security.
- field
- Field.
Returns: Value.
public Level1Info GetSecurityValues(Security security, DateTime serverTime)
result = entityCache.GetSecurityValues(security, serverTime)
Get or create Level1 info for security.
- security
- Security.
- serverTime
- Server time.
Returns: Level1 info.
public bool HasLevel1Info(Security security)
result = entityCache.HasLevel1Info(security)
Check if security has Level1 info.
- security
- Security.
Returns: if has info.
public bool IsMassCancelation(long transactionId)
result = entityCache.IsMassCancelation(transactionId)
Check if transaction is mass cancelation.
- transactionId
- Transaction id.
Returns: if mass cancelation.
public bool IsOrderStatusRequest(long transactionId)
result = entityCache.IsOrderStatusRequest(transactionId)
Check if transaction is order status request.
- transactionId
- Transaction id.
Returns: if order status request.
public ValueTuple<News, bool> ProcessNewsMessage(Security security, NewsMessage message)
result = entityCache.ProcessNewsMessage(security, message)
Process news message.
- security
- Security.
- message
- Message.
Returns: News and is new flag.
public IEnumerable<ValueTuple<OrderFail, OrderOperations>> ProcessOrderFailMessage(Order order, Security security, ExecutionMessage message)
result = entityCache.ProcessOrderFailMessage(order, security, message)
Process order fail message.
- order
- Order.
- security
- Security.
- message
- Message.
Returns: Order fails with operations.
public IEnumerable<OrderChangeInfo> ProcessOrderMessage(Order order, Security security, ExecutionMessage message, long transactionId, Func<string, Portfolio> getPortfolio)
result = entityCache.ProcessOrderMessage(order, security, message, transactionId, getPortfolio)
Process order message.
- order
- Order.
- security
- Security.
- message
- Message.
- transactionId
- Transaction id.
- getPortfolio
- Function to get portfolio.
Returns: Order change info.
public ValueTuple<MyTrade, bool> ProcessOwnTradeMessage(Order order, Security security, ExecutionMessage message, long transactionId)
result = entityCache.ProcessOwnTradeMessage(order, security, message, transactionId)
Process own trade message.
- order
- Order.
- security
- Security.
- message
- Message.
- transactionId
- Transaction id.
Returns: Trade and is new flag.
public void RemoveOrderStatusTransactionId(long transactionId)
entityCache.RemoveOrderStatusTransactionId(transactionId)
Remove order status transaction id.
- transactionId
- Transaction id.
public void TryAddMassCancelationId(long transactionId)
entityCache.TryAddMassCancelationId(transactionId)
Try add mass cancelation transaction id.
- transactionId
- Transaction id.
public IMessageAdapter TryGetAdapter(Order order)
result = entityCache.TryGetAdapter(order)
Try get message adapter for order.
- order
- Order.
Returns: Adapter or .
public Order TryGetOrder(long? orderId, string orderStringId)
result = entityCache.TryGetOrder(orderId, orderStringId)
Try get order by id.
- orderId
- Order id.
- orderStringId
- Order string id.
Returns: Order or .
public Order TryGetOrder(long transactionId, OrderOperations operation)
result = entityCache.TryGetOrder(transactionId, operation)
Try get order by transaction id and operation.
- transactionId
- Transaction id.
- operation
- Operation.
Returns: Order or .
public void TrySetAdapter(Order order, IMessageAdapter adapter)
entityCache.TrySetAdapter(order, adapter)
Try set message adapter for order.
- order
- Order.
- adapter
- Adapter.
public void UpdateOrderBookSnapshot(QuoteChangeMessage message)
entityCache.UpdateOrderBookSnapshot(message)
Update cached order book snapshot for a security.
- message
- Order book message.