EntityCache

StockSharp.Algo

Кэш сущностей для хранения ордеров, сделок, новостей и других торговых объектов.

Реализует: ISnapshotHolder

Конструкторы

EntityCache
public EntityCache(ILogReceiver logReceiver, Func<SecurityId?, Security> tryGetSecurity, IExchangeInfoProvider exchangeInfoProvider, IPositionProvider positionProvider)
entityCache = EntityCache(logReceiver, tryGetSecurity, exchangeInfoProvider, positionProvider)

Кэш сущностей для хранения ордеров, сделок, новостей и других торговых объектов.

logReceiver
Приемник журнала для регистрации сообщений.
tryGetSecurity
Функция получения финансового инструмента по идентификатору.
exchangeInfoProvider
Поставщик информации об обмене.
positionProvider
Поставщик позиций.

Свойства

ExchangeInfoProvider
public IExchangeInfoProvider ExchangeInfoProvider { get; }
value = entityCache.ExchangeInfoProvider

Поставщик информации об обмене.

MyTrades
public IEnumerable<MyTrade> MyTrades { get; }
value = entityCache.MyTrades

Все свои сделки.

News
public IEnumerable<News> News { get; }
value = entityCache.News

Все новости.

OrderCancelFails
public IEnumerable<OrderFail> OrderCancelFails { get; }
value = entityCache.OrderCancelFails

Неудачи с отменой заказа.

OrderEditFails
public IEnumerable<OrderFail> OrderEditFails { get; }
value = entityCache.OrderEditFails

Неудачи в модификации заказа.

OrderRegisterFails
public IEnumerable<OrderFail> OrderRegisterFails { get; }
value = entityCache.OrderRegisterFails

Неудачи с регистрацией заказов.

Orders
public IEnumerable<Order> Orders { get; }
value = entityCache.Orders

Все заказы.

OrdersKeepCount
public int OrdersKeepCount { get; set; }
value = entityCache.OrdersKeepCount
entityCache.OrdersKeepCount = value

Максимальное количество заказов, которые нужно хранить в кэше. Дефолт 1000.

Методы

AddFail
public void AddFail(OrderOperations operation, OrderFail fail)
entityCache.AddFail(operation, fail)

Добавить заказ не удалось.

operation
Операция.
fail
Неудача.
AddOrderByCancelationId
public void AddOrderByCancelationId(Order order, long transactionId)
entityCache.AddOrderByCancelationId(order, transactionId)

Добавить заказ по идентификатору транзакции отмены.

order
Заказ.
transactionId
Идентификатор транзакции.
AddOrderByEditionId
public void AddOrderByEditionId(Order order, long transactionId)
entityCache.AddOrderByEditionId(order, transactionId)

Добавить заказ по идентификатору транзакции издания.

order
Заказ.
transactionId
Идентификатор транзакции.
AddOrderByRegistrationId
public void AddOrderByRegistrationId(Order order)
entityCache.AddOrderByRegistrationId(order)

Добавить заказ по идентификатору регистрационной транзакции.

order
Заказ.
AddOrderFailById
public void AddOrderFailById(OrderFail fail, OrderOperations operation, long transactionId)
entityCache.AddOrderFailById(fail, operation, transactionId)

Ошибка добавления заказа по идентификатору транзакции.

fail
Заказ провалился.
operation
Заказать операцию.
transactionId
Идентификатор транзакции.
AddOrderStatusTransactionId
public void AddOrderStatusTransactionId(long transactionId)
entityCache.AddOrderStatusTransactionId(transactionId)

Добавьте идентификатор транзакции статуса заказа.

transactionId
Идентификатор транзакции.
Clear
public void Clear()
entityCache.Clear()

Очистите все кэшированные данные.

GetLevel1Fields
public IEnumerable<Level1Fields> GetLevel1Fields(Security security)
result = entityCache.GetLevel1Fields(security)

Получите доступные поля Level1 для финансового инструмента.

security
финансовый инструмент.

Возвращает: Поля.

GetOrders
public IEnumerable<Order> GetOrders(Security security, OrderStates state)
result = entityCache.GetOrders(security, state)

Получайте заказы по финансовому инструменту и государству.

security
финансовый инструмент.
state
Состояние заказа.

Возвращает: Заказы.

GetSecurityValue
public object GetSecurityValue(Security security, Level1Fields field)
result = entityCache.GetSecurityValue(security, field)

Получите значение поля финансового инструмента Level1.

security
финансовый инструмент.
field
Поле.

Возвращает: Ценность.

GetSecurityValues
public Level1Info GetSecurityValues(Security security, DateTime serverTime)
result = entityCache.GetSecurityValues(security, serverTime)

Получите или создайте информацию уровня 1 для финансового инструмента.

security
финансовый инструмент.
serverTime
Время сервера.

Возвращает: Информация уровня 1.

HasLevel1Info
public bool HasLevel1Info(Security security)
result = entityCache.HasLevel1Info(security)

Проверьте, имеет ли финансовый инструмент информацию Level1.

security
финансовый инструмент.

Возвращает: если есть информация.

IsMassCancelation
public bool IsMassCancelation(long transactionId)
result = entityCache.IsMassCancelation(transactionId)

Проверьте, является ли транзакция массовой отменой.

transactionId
Идентификатор транзакции.

Возвращает: если массовая отмена.

IsOrderStatusRequest
public bool IsOrderStatusRequest(long transactionId)
result = entityCache.IsOrderStatusRequest(transactionId)

Проверьте, является ли транзакция запросом статуса заказа.

transactionId
Идентификатор транзакции.

Возвращает: если запрос статуса заказа.

ProcessNewsMessage
public ValueTuple<News, bool> ProcessNewsMessage(Security security, NewsMessage message)
result = entityCache.ProcessNewsMessage(security, message)

Обработка новостного сообщения.

security
финансовый инструмент.
message
Сообщение.

Возвращает: Новости и новый флаг.

ProcessOrderFailMessage
public IEnumerable<ValueTuple<OrderFail, OrderOperations>> ProcessOrderFailMessage(Order order, Security security, ExecutionMessage message)
result = entityCache.ProcessOrderFailMessage(order, security, message)

Сообщение об ошибке обработки заказа.

order
Заказ.
security
финансовый инструмент.
message
Сообщение.

Возвращает: Заказ не выполняется с операциями.

ProcessOrderMessage
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
Функция получения портфолио.

Возвращает: Информация об изменении заказа.

ProcessOwnTradeMessage
public ValueTuple<MyTrade, bool> ProcessOwnTradeMessage(Order order, Security security, ExecutionMessage message, long transactionId)
result = entityCache.ProcessOwnTradeMessage(order, security, message, transactionId)

Обработка собственного торгового сообщения.

order
Заказ.
security
финансовый инструмент.
message
Сообщение.
transactionId
Идентификатор транзакции.

Возвращает: Торговля и новый флаг.

RemoveOrderStatusTransactionId
public void RemoveOrderStatusTransactionId(long transactionId)
entityCache.RemoveOrderStatusTransactionId(transactionId)

Удалить идентификатор транзакции статуса заказа.

transactionId
Идентификатор транзакции.
TryAddMassCancelationId
public void TryAddMassCancelationId(long transactionId)
entityCache.TryAddMassCancelationId(transactionId)

Попробуйте добавить идентификатор транзакции массового отмены.

transactionId
Идентификатор транзакции.
TryGetAdapter
public IMessageAdapter TryGetAdapter(Order order)
result = entityCache.TryGetAdapter(order)

Попробуйте получить адаптер сообщений для заказа.

order
Заказ.

Возвращает: Адаптер или .

TryGetOrder
public Order TryGetOrder(long? orderId, string orderStringId)
result = entityCache.TryGetOrder(orderId, orderStringId)

Попробуйте получить заказ по идентификатору.

orderId
Идентификатор заказа.
orderStringId
Идентификатор строки заказа.

Возвращает: Заказать или .

TryGetOrder
public Order TryGetOrder(long transactionId, OrderOperations operation)
result = entityCache.TryGetOrder(transactionId, operation)

Попробуйте получить заказ по идентификатору транзакции и операции.

transactionId
Идентификатор транзакции.
operation
Операция.

Возвращает: Заказать или .

TrySetAdapter
public void TrySetAdapter(Order order, IMessageAdapter adapter)
entityCache.TrySetAdapter(order, adapter)

Попробуйте установить адаптер сообщений для заказа.

order
Заказ.
adapter
Адаптер.
UpdateOrderBookSnapshot
public void UpdateOrderBookSnapshot(QuoteChangeMessage message)
entityCache.UpdateOrderBookSnapshot(message)

Обновить кэшированный снимок книги заказов для финансового инструмента.

message
Сообщение в книге заказов.