in orderbook-sample/src/main/java/com/epam/deltix/orderbook/sample/OrderBook_01_L1_SingleExchangeOrderBook.java [42:126]
public static void main(final String[] args) {
final String symbol = "BTC/USD";
final long exchangeId = AlphanumericUtils.toAlphanumericUInt64("COINBASE");
final int marketDepth = 1;
// Step 1: create order book
final OrderBookOptions opt = new OrderBookOptionsBuilder()
.symbol(symbol)
.orderBookType(OrderBookType.SINGLE_EXCHANGE)
.quoteLevels(DataModelType.LEVEL_ONE)
.updateMode(UpdateMode.WAITING_FOR_SNAPSHOT)
.build();
final OrderBook<OrderBookQuote> orderBook = OrderBookFactory.create(opt);
// Step 2: feed it with updates
orderBook.update(createL1VendorUpdate(marketDepth, exchangeId, symbol));
// Step 4: inspect order book state by iterator
System.out.println(System.lineSeparator());
Iterator<OrderBookQuote> iterator = orderBook.getMarketSide(QuoteSide.ASK).iterator();
while (iterator.hasNext()) {
final OrderBookQuote quote = iterator.next();
System.out.println(quote);
}
// Step 4.1: inspect order book state by iterator
System.out.println(System.lineSeparator());
iterator = orderBook
.getExchanges()
.getById(exchangeId).get()
.getMarketSide(QuoteSide.ASK)
.iterator();
while (iterator.hasNext()) {
final OrderBookQuote quote = iterator.next();
System.out.println(quote);
}
// Step 4.2: inspect order book state by iterator
System.out.println(System.lineSeparator());
iterator = orderBook
.getExchanges()
.getById(exchangeId).get()
.getMarketSide(QuoteSide.ASK)
.iterator((short) 5);
while (iterator.hasNext()) {
final OrderBookQuote quote = iterator.next();
System.out.println(quote);
}
// Step 4.3: inspect order book state by iterator
System.out.println(System.lineSeparator());
System.out.println(System.lineSeparator());
iterator = orderBook
.getExchanges()
.getById(exchangeId).get()
.getMarketSide(QuoteSide.ASK)
.iterator((short) 3, (short) 5);
while (iterator.hasNext()) {
final OrderBookQuote quote = iterator.next();
System.out.println(quote);
}
// Step 5: inspect order book state by for each
System.out.println(System.lineSeparator());
orderBook.getMarketSide(QuoteSide.ASK).forEach((Predicate<OrderBookQuote>) OrderBook_01_L1_SingleExchangeOrderBook::printOrderBookLevel);
System.out.println(System.lineSeparator());
for (final OrderBookQuote quote : orderBook.getMarketSide(QuoteSide.ASK)) {
System.out.println(quote);
}
orderBook.getMarketSide(QuoteSide.ASK)
.stream(false)
.map(OrderBookQuote::hasPrice)
.forEach(System.out::println);
// Step 5.1: inspect order book state by for each with cookie
System.out.println(System.lineSeparator());
final PriceAccumulator priceAccumulator = new PriceAccumulator();
orderBook.getMarketSide(QuoteSide.ASK)
.forEach(OrderBook_01_L1_SingleExchangeOrderBook::quoteViewAccumulatorAction, priceAccumulator);
}