EntityCache
Entity cache for storing orders, trades, news and other trading entities.
Implements: ISnapshotHolder
Constructors
public EntityCache(ILogReceiver logReceiver, IExchangeInfoProvider exchangeInfoProvider, IPositionProvider positionProvider)
entityCache = EntityCache(logReceiver, exchangeInfoProvider, positionProvider)
Entity cache for storing orders, trades, news and other trading entities.
- logReceiver
- Log receiver for logging messages.
- 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 ReleaseLevel1Ownership(SecurityId securityId, DataType dataType)
entityCache.ReleaseLevel1Ownership(securityId, dataType)
Hand the Level1 fields an ended market data stream owned back to Level1. An order book owns the best quotes and a tick stream owns the last trade only while it runs; once it is gone Level1 is the only source left for them.
- securityId
- Security the stream carried.
- dataType
- Data type of the stream that ended.
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 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 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 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.