EntityCache
Cache de entidade para armazenar ordens, transações, notícias e outras entidades de negociação.
Implementa: ISnapshotHolder
Construtores
public EntityCache(ILogReceiver logReceiver, Func<SecurityId?, Security> tryGetSecurity, IExchangeInfoProvider exchangeInfoProvider, IPositionProvider positionProvider)
entityCache = EntityCache(logReceiver, tryGetSecurity, exchangeInfoProvider, positionProvider)
Cache de entidade para armazenar ordens, transações, notícias e outras entidades de negociação.
- logReceiver
- Receptor de registro para registro de mensagens.
- tryGetSecurity
- Função para obter instrumento financeiro por ID.
- exchangeInfoProvider
- Trocar informações.
- positionProvider
- Provedor de posição.
Propriedades
public IExchangeInfoProvider ExchangeInfoProvider { get; }
value = entityCache.ExchangeInfoProvider
Trocar informações.
public IEnumerable<MyTrade> MyTrades { get; }
value = entityCache.MyTrades
Todos os seus negócios.
public IEnumerable<OrderFail> OrderCancelFails { get; }
value = entityCache.OrderCancelFails
Falhas de cancelamento de pedidos.
public IEnumerable<OrderFail> OrderEditFails { get; }
value = entityCache.OrderEditFails
Falhas na modificação de pedidos.
public IEnumerable<OrderFail> OrderRegisterFails { get; }
value = entityCache.OrderRegisterFails
Falhas no registo de pedidos.
public int OrdersKeepCount { get; set; }
value = entityCache.OrdersKeepCount
entityCache.OrdersKeepCount = value
Número máximo de ordens a manter em 'cache'. O padrão é 1000.
Métodos
public void AddFail(OrderOperations operation, OrderFail fail)
entityCache.AddFail(operation, fail)
A ordem de adição falhou.
- operation
- Operação.
- fail
- Falha.
public void AddOrderByCancelationId(Order order, long transactionId)
entityCache.AddOrderByCancelationId(order, transactionId)
Adicionar ordem por cancelamento de ID de transação.
- order
- Ordem.
- transactionId
- ID da transação.
public void AddOrderByEditionId(Order order, long transactionId)
entityCache.AddOrderByEditionId(order, transactionId)
Adicionar ordem por edição ID de transação.
- order
- Ordem.
- transactionId
- ID da transação.
public void AddOrderByRegistrationId(Order order)
entityCache.AddOrderByRegistrationId(order)
Adicionar ordem por ID de transação de registro.
- order
- Ordem.
public void AddOrderFailById(OrderFail fail, OrderOperations operation, long transactionId)
entityCache.AddOrderFailById(fail, operation, transactionId)
Adicionar a ordem falha pelo ID da transação.
- fail
- Falha na ordem.
- operation
- Ordem de operação.
- transactionId
- ID da transação.
public void AddOrderStatusTransactionId(long transactionId)
entityCache.AddOrderStatusTransactionId(transactionId)
Adicionar ID da transação de status de ordem.
- transactionId
- ID da transação.
public IEnumerable<Level1Fields> GetLevel1Fields(Security security)
result = entityCache.GetLevel1Fields(security)
Obter campos de Nível 1 disponíveis para instrumento financeiro.
- security
- Instrumento financeiro.
Retorna: Campos.
public IEnumerable<Order> GetOrders(Security security, OrderStates state)
result = entityCache.GetOrders(security, state)
Obter ordens por instrumento financeiro e estado.
- security
- Instrumento financeiro.
- state
- Ordem, estado.
Retorna: Ordens.
public object GetSecurityValue(Security security, Level1Fields field)
result = entityCache.GetSecurityValue(security, field)
Obter instrumento financeiro Nível 1 valor de campo.
- security
- Instrumento financeiro.
- field
- Campo.
Retorna: Valor.
public Level1Info GetSecurityValues(Security security, DateTime serverTime)
result = entityCache.GetSecurityValues(security, serverTime)
Obter ou criar informações de nível 1 para instrumento financeiro.
- security
- Instrumento financeiro.
- serverTime
- Hora do servidor.
Retorna: Informação de nível 1.
public bool HasLevel1Info(Security security)
result = entityCache.HasLevel1Info(security)
Verificar se o instrumento financeiro tem informações de Nível 1.
- security
- Instrumento financeiro.
Retorna: se tiver informações.
public bool IsMassCancelation(long transactionId)
result = entityCache.IsMassCancelation(transactionId)
Verifique se a transação é cancelamento em massa.
- transactionId
- ID da transação.
Retorna: Se a anulação em massa.
public bool IsOrderStatusRequest(long transactionId)
result = entityCache.IsOrderStatusRequest(transactionId)
Verifique se a transação é uma solicitação de status de ordem.
- transactionId
- ID da transação.
Retorna: Se o pedido de estatuto da ordem for solicitado.
public ValueTuple<News, bool> ProcessNewsMessage(Security security, NewsMessage message)
result = entityCache.ProcessNewsMessage(security, message)
Processar a mensagem de notícias.
- security
- Instrumento financeiro.
- message
- Mensagem.
Retorna: Notícias e é uma nova bandeira.
public IEnumerable<ValueTuple<OrderFail, OrderOperations>> ProcessOrderFailMessage(Order order, Security security, ExecutionMessage message)
result = entityCache.ProcessOrderFailMessage(order, security, message)
A ordem do processo falhou.
- order
- Ordem.
- security
- Instrumento financeiro.
- message
- Mensagem.
Retorna: A ordem falha com as operações.
public IEnumerable<OrderChangeInfo> ProcessOrderMessage(Order order, Security security, ExecutionMessage message, long transactionId, Func<string, Portfolio> getPortfolio)
result = entityCache.ProcessOrderMessage(order, security, message, transactionId, getPortfolio)
Mensagem de ordem do processo.
- order
- Ordem.
- security
- Instrumento financeiro.
- message
- Mensagem.
- transactionId
- ID da transação.
- getPortfolio
- Função para obter portfólio.
Retorna: Pedido de informações de mudança.
public ValueTuple<MyTrade, bool> ProcessOwnTradeMessage(Order order, Security security, ExecutionMessage message, long transactionId)
result = entityCache.ProcessOwnTradeMessage(order, security, message, transactionId)
Processar mensagem comercial própria.
- order
- Ordem.
- security
- Instrumento financeiro.
- message
- Mensagem.
- transactionId
- ID da transação.
Retorna: Comércio e é bandeira nova.
public void RemoveOrderStatusTransactionId(long transactionId)
entityCache.RemoveOrderStatusTransactionId(transactionId)
Remover o ID da transação de estado da ordem.
- transactionId
- ID da transação.
public void TryAddMassCancelationId(long transactionId)
entityCache.TryAddMassCancelationId(transactionId)
Tente adicionar o ID da transação de cancelamento em massa.
- transactionId
- ID da transação.
public IMessageAdapter TryGetAdapter(Order order)
result = entityCache.TryGetAdapter(order)
Tente obter adaptador de mensagem para a ordem.
- order
- Ordem.
Retorna: Adaptador ou .
public Order TryGetOrder(long? orderId, string orderStringId)
result = entityCache.TryGetOrder(orderId, orderStringId)
Tente obter ordem por identificação.
- orderId
- Identifique-se.
- orderStringId
- Ordem de identificação de cadeias de caracteres.
Retorna: Ordem ou .
public Order TryGetOrder(long transactionId, OrderOperations operation)
result = entityCache.TryGetOrder(transactionId, operation)
Tente obter ordem por ID de transação e operação.
- transactionId
- ID da transação.
- operation
- Operação.
Retorna: Ordem ou .
public void TrySetAdapter(Order order, IMessageAdapter adapter)
entityCache.TrySetAdapter(order, adapter)
Tente definir o adaptador de mensagem para a ordem.
- order
- Ordem.
- adapter
- Adaptador.
public void UpdateOrderBookSnapshot(QuoteChangeMessage message)
entityCache.UpdateOrderBookSnapshot(message)
Atualizar o instantâneo do livro de pedidos em cache para um instrumento financeiro.
- message
- Encomendar mensagem do livro.