private static void raw(DVChainMarketDataServiceRaw marketDataService) throws IOException { // Get the latest order book data for BTC/CAD DVChainMarketResponse orderBook = marketDataService.getMarketData(); DVChainMarketData btcMarketData = orderBook.getMarketData().get("BTC"); System.out.println( "Current Order Book size for BTC / USD: " + (btcMarketData.getLevels().size())); System.out.println("First Ask: " + btcMarketData.getLevels().get(0).getBuyPrice().toString()); System.out.println("First Bid: " + btcMarketData.getLevels().get(0).getSellPrice().toString()); System.out.println(orderBook.toString()); } }
@Override public OrderBook getOrderBook(CurrencyPair currencyPair, Object... args) throws IOException, RateLimitExceededException { DVChainMarketResponse marketResponse = getMarketData(); DVChainMarketData marketData = marketResponse.getMarketData().get(currencyPair.base.getSymbol()); return DVChainAdapters.adaptOrderBook(marketData, marketData.getExpiresAt(), currencyPair); } }
@Override public String placeMarketOrder(MarketOrder marketOrder) throws IOException { DVChainMarketResponse marketResponse = marketDataService.getMarketData(); DVChainMarketData marketData = marketResponse.getMarketData().get(marketOrder.getCurrencyPair().base.getSymbol()); List<DVChainLevel> levels = marketData.getLevels(); String side = marketOrder.getType() == Order.OrderType.BID ? "Buy" : "Sell"; DVChainNewMarketOrder dvChainNewMarketOrder = new DVChainNewMarketOrder( side, getPriceForMarketOrder(levels, marketOrder), marketOrder.getOriginalAmount(), marketOrder.getCurrencyPair().base.getSymbol()); return newDVChainMarketOrder(dvChainNewMarketOrder).toString(); }