OrderBook
Aplicação do livro de encomendas.
Implementa: IOrderBook
Construtores
public OrderBook(SecurityId securityId)
orderBook = OrderBook(securityId)
Aplicação do livro de encomendas.
Propriedades
public ValueTuple<decimal, decimal>? BestAsk { get; }
value = orderBook.BestAsk
Faça o melhor preço e volume de pedidos.
public ValueTuple<decimal, decimal>? BestBid { get; }
value = orderBook.BestBid
Obter melhor preço de oferta e volume.
public decimal TotalAskVolume { get; }
value = orderBook.TotalAskVolume
Volume total de todas as perguntas.
public decimal TotalBidVolume { get; }
value = orderBook.TotalBidVolume
Volume total de todas as propostas.
Métodos
public void AddQuote(EmulatorOrder order)
orderBook.AddQuote(order)
Adicione uma citação ao livro de pedidos.
- order
- Ordem ou cotação de mercado a adicionar. Se TransactionId for padrão, é tratado como uma cotação de mercado.
public void Clear(Sides side)
orderBook.Clear(side)
Limpar todas as citações para um lado específico.
- side
- Lado a lado.
public void Clear()
orderBook.Clear()
Limpa todos os estados do adaptador e repõe o estado atual para Desligado.
public IEnumerable<ValueTuple<decimal, decimal, IReadOnlyList<EmulatorOrder>>> ConsumeVolume(Sides side, decimal? maxPrice, decimal volume)
result = orderBook.ConsumeVolume(side, maxPrice, volume)
Consuma o volume dos melhores níveis (para correspondência).
- side
- Lado a consumir de (oposto para o lado da ordem).
- maxPrice
- Preço máximo para comprar / mínimo para vender.
- volume
- Volume a consumir.
Retorna: Execução (preço, volume, ordens afetadas).
public IEnumerable<OrderBookLevel> GetLevels(Sides side)
result = orderBook.GetLevels(side)
Obter aspas para um lado, ordenado pelo preço (melhor primeiro).
- side
- Lado para recuperar níveis.
public IEnumerable<EmulatorOrder> GetOrdersAtPrice(Sides side, decimal price)
result = orderBook.GetOrdersAtPrice(side, price)
Obter todas as ordens de usuário em um nível de preço específico.
- side
- Lado a lado para a consulta.
- price
- Nível de preço para consulta.
public decimal GetTotalVolume(Sides side)
result = orderBook.GetTotalVolume(side)
Obter volume total para um lado.
- side
- Lado para obter volume total para.
public decimal GetVolumeAtPrice(Sides side, decimal price)
result = orderBook.GetVolumeAtPrice(side, price)
Obter volume em um nível de preço específico.
- side
- Lado a lado para a consulta.
- price
- Nível de preço para consulta.
public ValueTuple<decimal, decimal>? GetWorstAsk()
result = orderBook.GetWorstAsk()
Obter pior (mais alto) nível de pedir.
public ValueTuple<decimal, decimal>? GetWorstBid()
result = orderBook.GetWorstBid()
Obter o pior (o mais baixo) nível de lance.
public bool HasLevel(Sides side, decimal price)
result = orderBook.HasLevel(side, price)
Verifique se há uma citação ao preço especificado.
- side
- Lado a lado para verificar.
- price
- Nível de preço a verificar.
public IEnumerable<EmulatorOrder> RemoveLevel(Sides side, decimal price)
result = orderBook.RemoveLevel(side, price)
Remova todo o nível ao preço.
- side
- Lado para remover o nível.
- price
- Nível de preço a remover.
Retorna: Ordens retiradas que estavam presentes a esse nível.
public bool RemoveQuote(long transactionId, Sides side, decimal price)
result = orderBook.RemoveQuote(transactionId, side, price)
Remova uma citação do livro de pedidos.
- transactionId
- ID de transação da ordem a remover.
- side
- Lado (compra/venda) onde a ordem é colocada.
- price
- Nível de preço da ordem.
Retorna: Verdadeiro se removido, falso se não encontrado.
public void SetSnapshot(IEnumerable<QuoteChange> bids, IEnumerable<QuoteChange> asks)
orderBook.SetSnapshot(bids, asks)
Defina o livro de pedidos a partir de um instantâneo (substitui todas as citações não- utilizador).
- bids
- Sequência das alterações das cotações de lances a definir.
- asks
- Sequência de ask quote alterações para definir.
public QuoteChangeMessage ToMessage(DateTime localTime, DateTime serverTime)
result = orderBook.ToMessage(localTime, serverTime)
Criar um QuoteChangeMessage a partir do estado atual.
- localTime
- Hora local para definir a mensagem gerada.
- serverTime
- Tempo do servidor para definir a mensagem gerada.
public IEnumerable<EmulatorOrder> TrimToDepth(Sides side, int maxDepth)
result = orderBook.TrimToDepth(side, maxDepth)
Remova os piores níveis que excedam a profundidade máxima.
- side
- Lado a lado.
- maxDepth
- Profundidade máxima permitida a manter.
Retorna: Ordens retiradas dos níveis aparados.
public bool TryRemoveOrder(long transactionId, Sides side, EmulatorOrder order)
result = orderBook.TryRemoveOrder(transactionId, side, order)
Encontrar e remover ordem por ID de transação de qualquer nível.
public void UpdateLevel(Sides side, decimal price, decimal volume)
orderBook.UpdateLevel(side, price, volume)
Actualizar o volume a um nível de preços (para as cotações de mercado).
- side
- Lado a lado para atualizar.
- price
- Nível de preço a atualizar.
- volume
- Novo volume de mercado a nível.