public static LimitOrder adaptOrder( DVChainLevel level, Order.OrderType type, CurrencyPair currencyPair) { BigDecimal price = null; if (type == Order.OrderType.BID) { price = level.getBuyPrice(); } else { price = level.getSellPrice(); } return new LimitOrder(type, level.getMaxQuantity(), currencyPair, "-1", null, price); }
private BigDecimal getPriceForMarketOrder(List<DVChainLevel> levels, MarketOrder marketOrder) { BigDecimal quantity = marketOrder.getOriginalAmount(); for (DVChainLevel level : levels) { if (quantity.compareTo(level.getMaxQuantity()) <= 0) { return marketOrder.getType() == Order.OrderType.BID ? level.getBuyPrice() : level.getSellPrice(); } } throw new FundsExceededException(); }