IOrderBook
Интерфейс для управления книгой заказов.
Свойства
public ValueTuple<decimal, decimal>? BestAsk { get; }
value = iOrderBook.BestAsk
Лучше всего спросить цену и объем.
public ValueTuple<decimal, decimal>? BestBid { get; }
value = iOrderBook.BestBid
Получите лучшую цену и объем предложения.
public SecurityId SecurityId { get; }
value = iOrderBook.SecurityId
идентификатор финансового инструмента.
public decimal TotalAskVolume { get; }
value = iOrderBook.TotalAskVolume
Общий объем всех запросов.
public decimal TotalBidVolume { get; }
value = iOrderBook.TotalBidVolume
Общий объем всех заявок.
Методы
public void AddQuote(EmulatorOrder order)
iOrderBook.AddQuote(order)
Добавьте котировку в книгу заказов.
- order
- Ордер или рыночная котировка для добавления. Если TransactionId установлено по умолчанию, оно рассматривается как рыночная котировка.
public void Clear(Sides side)
iOrderBook.Clear(side)
Очистить все кавычки для конкретной стороны.
- side
- Сторону очистить.
public IEnumerable<OrderBookLevel> GetLevels(Sides side)
result = iOrderBook.GetLevels(side)
Получите расценки на сторону, упорядоченные по цене (лучшее в первую очередь).
- side
- Сторона, для которой нужно получить уровни.
public IEnumerable<EmulatorOrder> GetOrdersAtPrice(Sides side, decimal price)
result = iOrderBook.GetOrdersAtPrice(side, price)
Получите все заказы пользователей на определенном уровне цен.
- side
- Сторона для запроса.
- price
- Уровень цен для запроса.
public decimal GetTotalVolume(Sides side)
result = iOrderBook.GetTotalVolume(side)
Получите общий объем для стороны.
- side
- Сторона, для которой требуется получить общий объем.
public decimal GetVolumeAtPrice(Sides side, decimal price)
result = iOrderBook.GetVolumeAtPrice(side, price)
Получите объем на определенном ценовом уровне.
- side
- Сторона для запроса.
- price
- Уровень цен для запроса.
public bool HasLevel(Sides side, decimal price)
result = iOrderBook.HasLevel(side, price)
Проверьте, есть ли предложение по указанной цене.
- side
- Сторона для проверки.
- price
- Уровень цен, который нужно проверить.
public IEnumerable<EmulatorOrder> RemoveLevel(Sides side, decimal price)
result = iOrderBook.RemoveLevel(side, price)
Удалить весь уровень по цене.
- side
- Сторона, с которой нужно удалить уровень.
- price
- Уровень цен, который нужно удалить.
Возвращает: Удалены ордера, которые присутствовали на этом уровне.
public bool RemoveQuote(long transactionId, Sides side, decimal price)
result = iOrderBook.RemoveQuote(transactionId, side, price)
Удалить котировку из стакана заявок.
- transactionId
- Идентификатор транзакции удаляемого заказа.
- side
- Сторона (покупка/продажа), где размещен ордер.
- price
- Уровень цены заказа.
Возвращает: True, если удалено, false, если не найдено.
public void SetSnapshot(IEnumerable<QuoteChange> bids, IEnumerable<QuoteChange> asks)
iOrderBook.SetSnapshot(bids, asks)
Установить стакан ордеров из снимка (заменяет все непользовательские котировки).
- bids
- Установить последовательность изменений котировок ставок.
- asks
- Последовательность запроса котировок изменяется для установки.
public QuoteChangeMessage ToMessage(DateTime localTime, DateTime serverTime)
result = iOrderBook.ToMessage(localTime, serverTime)
Создайте QuoteChangeMessage из текущего состояния.
- localTime
- Местное время, которое будет установлено в сгенерированном сообщении.
- serverTime
- Время сервера, которое необходимо установить для сгенерированного сообщения.
public IEnumerable<EmulatorOrder> TrimToDepth(Sides side, int maxDepth)
result = iOrderBook.TrimToDepth(side, maxDepth)
Удалите худшие уровни, превышающие максимальную глубину.
- side
- Сторона для обрезки.
- maxDepth
- Максимально допустимая глубина.
Возвращает: Удалены заказы из урезанных уровней.
public void UpdateLevel(Sides side, decimal price, decimal volume)
iOrderBook.UpdateLevel(side, price, volume)
Обновление объема на уровне цены (для рыночных котировок).
- side
- Сторона для обновления.
- price
- Уровень цен для обновления.
- volume
- Новый объем рынка на уровне.