EntityCache
Кэш сущностей для хранения ордеров, сделок, новостей и других торговых объектов.
Реализует: ISnapshotHolder
Конструкторы
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.
Свойства
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 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)
Удалить идентификатор транзакции статуса заказа.
- transactionId
- Идентификатор транзакции.
public void TryAddMassCancelationId(long transactionId)
entityCache.TryAddMassCancelationId(transactionId)
Попробуйте добавить идентификатор транзакции массового отмены.
- transactionId
- Идентификатор транзакции.
public IMessageAdapter TryGetAdapter(Order order)
result = entityCache.TryGetAdapter(order)
Попробуйте получить адаптер сообщений для заказа.
- order
- Заказ.
Возвращает: Адаптер или .
public Order TryGetOrder(long transactionId, OrderOperations operation)
result = entityCache.TryGetOrder(transactionId, operation)
Попробуйте получить заказ по идентификатору транзакции и операции.
- transactionId
- Идентификатор транзакции.
- operation
- Операция.
Возвращает: Заказать или .
public Order TryGetOrder(long? orderId, string orderStringId)
result = entityCache.TryGetOrder(orderId, orderStringId)
Попробуйте получить заказ по идентификатору.
- orderId
- Идентификатор заказа.
- orderStringId
- Идентификатор строки заказа.
Возвращает: Заказать или .
public void TrySetAdapter(Order order, IMessageAdapter adapter)
entityCache.TrySetAdapter(order, adapter)
Попробуйте установить адаптер сообщений для заказа.
- order
- Заказ.
- adapter
- Адаптер.
public void UpdateOrderBookSnapshot(QuoteChangeMessage message)
entityCache.UpdateOrderBookSnapshot(message)
Обновить кэшированный снимок книги заказов для финансового инструмента.
- message
- Сообщение в книге заказов.