EntityCache
Кэш сущностей для хранения ордеров, сделок, новостей и других торговых объектов.
Реализует: ISnapshotHolder
Конструкторы
public EntityCache(ILogReceiver logReceiver, Func<SecurityId?, Security> tryGetSecurity, IExchangeInfoProvider exchangeInfoProvider, IPositionProvider positionProvider)
entityCache = EntityCache(logReceiver, tryGetSecurity, exchangeInfoProvider, positionProvider)
Кэш сущностей для хранения ордеров, сделок, новостей и других торговых объектов.
- logReceiver
- Приемник журнала для регистрации сообщений.
- tryGetSecurity
- Функция получения финансового инструмента по идентификатору.
- exchangeInfoProvider
- Поставщик информации об обмене.
- positionProvider
- Поставщик позиций.
Свойства
public IExchangeInfoProvider ExchangeInfoProvider { get; }
value = entityCache.ExchangeInfoProvider
Поставщик информации об обмене.
public IEnumerable<MyTrade> MyTrades { get; }
value = entityCache.MyTrades
Все свои сделки.
public IEnumerable<OrderFail> OrderCancelFails { get; }
value = entityCache.OrderCancelFails
Неудачи с отменой заказа.
public IEnumerable<OrderFail> OrderEditFails { get; }
value = entityCache.OrderEditFails
Неудачи в модификации заказа.
public IEnumerable<OrderFail> OrderRegisterFails { get; }
value = entityCache.OrderRegisterFails
Неудачи с регистрацией заказов.
public int OrdersKeepCount { get; set; }
value = entityCache.OrdersKeepCount
entityCache.OrdersKeepCount = value
Максимальное количество заказов, которые нужно хранить в кэше. Дефолт 1000.
Методы
public void AddFail(OrderOperations operation, OrderFail fail)
entityCache.AddFail(operation, fail)
Добавить заказ не удалось.
- operation
- Операция.
- fail
- Неудача.
public void AddOrderByCancelationId(Order order, long transactionId)
entityCache.AddOrderByCancelationId(order, transactionId)
Добавить заказ по идентификатору транзакции отмены.
- order
- Заказ.
- transactionId
- Идентификатор транзакции.
public void AddOrderByEditionId(Order order, long transactionId)
entityCache.AddOrderByEditionId(order, transactionId)
Добавить заказ по идентификатору транзакции издания.
- order
- Заказ.
- transactionId
- Идентификатор транзакции.
public void AddOrderByRegistrationId(Order order)
entityCache.AddOrderByRegistrationId(order)
Добавить заказ по идентификатору регистрационной транзакции.
- order
- Заказ.
public void AddOrderFailById(OrderFail fail, OrderOperations operation, long transactionId)
entityCache.AddOrderFailById(fail, operation, transactionId)
Ошибка добавления заказа по идентификатору транзакции.
- fail
- Заказ провалился.
- operation
- Заказать операцию.
- transactionId
- Идентификатор транзакции.
public void AddOrderStatusTransactionId(long transactionId)
entityCache.AddOrderStatusTransactionId(transactionId)
Добавьте идентификатор транзакции статуса заказа.
- transactionId
- Идентификатор транзакции.
public IEnumerable<Level1Fields> GetLevel1Fields(Security security)
result = entityCache.GetLevel1Fields(security)
Получите доступные поля Level1 для финансового инструмента.
- security
- финансовый инструмент.
Возвращает: Поля.
public IEnumerable<Order> GetOrders(Security security, OrderStates state)
result = entityCache.GetOrders(security, state)
Получайте заказы по финансовому инструменту и государству.
- security
- финансовый инструмент.
- state
- Состояние заказа.
Возвращает: Заказы.
public object GetSecurityValue(Security security, Level1Fields field)
result = entityCache.GetSecurityValue(security, field)
Получите значение поля финансового инструмента Level1.
- security
- финансовый инструмент.
- field
- Поле.
Возвращает: Ценность.
public Level1Info GetSecurityValues(Security security, DateTime serverTime)
result = entityCache.GetSecurityValues(security, serverTime)
Получите или создайте информацию уровня 1 для финансового инструмента.
- security
- финансовый инструмент.
- serverTime
- Время сервера.
Возвращает: Информация уровня 1.
public bool HasLevel1Info(Security security)
result = entityCache.HasLevel1Info(security)
Проверьте, имеет ли финансовый инструмент информацию Level1.
- security
- финансовый инструмент.
Возвращает: если есть информация.
public bool IsMassCancelation(long transactionId)
result = entityCache.IsMassCancelation(transactionId)
Проверьте, является ли транзакция массовой отменой.
- transactionId
- Идентификатор транзакции.
Возвращает: если массовая отмена.
public bool IsOrderStatusRequest(long transactionId)
result = entityCache.IsOrderStatusRequest(transactionId)
Проверьте, является ли транзакция запросом статуса заказа.
- transactionId
- Идентификатор транзакции.
Возвращает: если запрос статуса заказа.
public ValueTuple<News, bool> ProcessNewsMessage(Security security, NewsMessage message)
result = entityCache.ProcessNewsMessage(security, message)
Обработка новостного сообщения.
- security
- финансовый инструмент.
- message
- Сообщение.
Возвращает: Новости и новый флаг.
public IEnumerable<ValueTuple<OrderFail, OrderOperations>> ProcessOrderFailMessage(Order order, Security security, ExecutionMessage message)
result = entityCache.ProcessOrderFailMessage(order, security, message)
Сообщение об ошибке обработки заказа.
- order
- Заказ.
- security
- финансовый инструмент.
- message
- Сообщение.
Возвращает: Заказ не выполняется с операциями.
public IEnumerable<OrderChangeInfo> ProcessOrderMessage(Order order, Security security, ExecutionMessage message, long transactionId, Func<string, Portfolio> getPortfolio)
result = entityCache.ProcessOrderMessage(order, security, message, transactionId, getPortfolio)
Обработать сообщение о заказе.
- order
- Заказ.
- security
- финансовый инструмент.
- message
- Сообщение.
- transactionId
- Идентификатор транзакции.
- getPortfolio
- Функция получения портфолио.
Возвращает: Информация об изменении заказа.
public ValueTuple<MyTrade, bool> ProcessOwnTradeMessage(Order order, Security security, ExecutionMessage message, long transactionId)
result = entityCache.ProcessOwnTradeMessage(order, security, message, transactionId)
Обработка собственного торгового сообщения.
- order
- Заказ.
- security
- финансовый инструмент.
- message
- Сообщение.
- transactionId
- Идентификатор транзакции.
Возвращает: Торговля и новый флаг.
public void RemoveOrderStatusTransactionId(long transactionId)
entityCache.RemoveOrderStatusTransactionId(transactionId)
Удалить идентификатор транзакции статуса заказа.
- transactionId
- Идентификатор транзакции.
public void TryAddMassCancelationId(long transactionId)
entityCache.TryAddMassCancelationId(transactionId)
Попробуйте добавить идентификатор транзакции массового отмены.
- transactionId
- Идентификатор транзакции.
public IMessageAdapter TryGetAdapter(Order order)
result = entityCache.TryGetAdapter(order)
Попробуйте получить адаптер сообщений для заказа.
- order
- Заказ.
Возвращает: Адаптер или .
public Order TryGetOrder(long? orderId, string orderStringId)
result = entityCache.TryGetOrder(orderId, orderStringId)
Попробуйте получить заказ по идентификатору.
- orderId
- Идентификатор заказа.
- orderStringId
- Идентификатор строки заказа.
Возвращает: Заказать или .
public Order TryGetOrder(long transactionId, OrderOperations operation)
result = entityCache.TryGetOrder(transactionId, operation)
Попробуйте получить заказ по идентификатору транзакции и операции.
- transactionId
- Идентификатор транзакции.
- operation
- Операция.
Возвращает: Заказать или .
public void TrySetAdapter(Order order, IMessageAdapter adapter)
entityCache.TrySetAdapter(order, adapter)
Попробуйте установить адаптер сообщений для заказа.
- order
- Заказ.
- adapter
- Адаптер.
public void UpdateOrderBookSnapshot(QuoteChangeMessage message)
entityCache.UpdateOrderBookSnapshot(message)
Обновить кэшированный снимок книги заказов для финансового инструмента.
- message
- Сообщение в книге заказов.