new LimitOrder.Builder(Order.OrderType.BID, CURRENCY_PAIR) .originalAmount(BigDecimal.valueOf(10)) .limitPrice(BigDecimal.valueOf(100)) .build(); log.debug("{}", tradeService.placeLimitOrder(limitOrderBuy)); new LimitOrder.Builder(Order.OrderType.ASK, CURRENCY_PAIR) .originalAmount(BigDecimal.valueOf(10)) .limitPrice(BigDecimal.valueOf(600)) .build(); log.debug("{}", tradeService.placeLimitOrder(limitOrderSell));
public static OpenOrders adaptOpenOrders( CurrencyPair currencyPair, Bl3pOpenOrders.Bl3pOpenOrder[] bl3pOrders) { List<LimitOrder> result = new ArrayList<>(bl3pOrders.length); for (Bl3pOpenOrders.Bl3pOpenOrder bl3pOrder : bl3pOrders) { Order.OrderType orderType = Bl3pUtils.fromBl3pOrderType(bl3pOrder.getStatus()); BigDecimal limitPrice = bl3pOrder.getPrice().value; BigDecimal originalAmount = bl3pOrder.getAmountFunds().value; BigDecimal executedAmount = bl3pOrder.getAmountExecuted().value; BigDecimal remainingAmount = originalAmount.subtract(executedAmount); result.add( new LimitOrder.Builder(orderType, currencyPair) .cumulativeAmount(executedAmount) .id("" + bl3pOrder.getOrderId()) .limitPrice(limitPrice) .originalAmount(originalAmount) .remainingAmount(remainingAmount) .timestamp(bl3pOrder.getTimestamp()) .build()); } return new OpenOrders(result); }
public static Order adaptLiquiOrderInfo(final LiquiOrderInfo orderInfo) { final OrderType type = adaptOrderType(orderInfo.getType()); final Optional<BigDecimal> originalAmount = Optional.ofNullable(orderInfo.getStartAmount()); final Optional<BigDecimal> cumulativeAmount = originalAmount.map(startAmount -> startAmount.subtract(orderInfo.getAmount())); final Date timestamp = new Date(orderInfo.getTimestampCreated() * 1000L); final Order.OrderStatus status = adaptOrderStatus(orderInfo.getStatus()); return new LimitOrder.Builder(type, orderInfo.getPair()) .originalAmount(originalAmount.orElse(orderInfo.getAmount())) .timestamp(timestamp) .limitPrice(orderInfo.getRate()) .cumulativeAmount(cumulativeAmount.orElse(null)) .orderStatus(status) .build(); }
bids.add(new LimitOrder.Builder(OrderType.BID, currencyPair).limitPrice(px).tradableAmount(size).timestamp(origTime).build()); break; case MDEntryType.OFFER: asks.add(new LimitOrder.Builder(OrderType.ASK, currencyPair).limitPrice(px).tradableAmount(size).timestamp(origTime).build()); break; case MDEntryType.TRADE:
limitOrder = new LimitOrder.Builder(OrderType.BID, currencyPair).limitPrice(px).tradableAmount(size).timestamp(date).build(); break; case MDEntryType.OFFER: limitOrder = new LimitOrder.Builder(OrderType.ASK, currencyPair).limitPrice(px).tradableAmount(size).timestamp(date).build(); break; default:
public static OpenOrders adaptOpenOrdersFromChildOrderResults( List<BitflyerQueryChildOrderResult> queryResults) { return new OpenOrders( queryResults.stream() .map( result -> new LimitOrder.Builder( adaptSide(result.getSide()), new CurrencyPair(result.getProductCode().replace("_", "/"))) .id(result.getChildOrderId()) .orderStatus(adaptOrderStatus(result.getChildOrderState())) .timestamp(BitflyerUtils.parseShortDate(result.getChildOrderDate())) .limitPrice(result.getPrice()) .averagePrice(result.getAveragePrice()) .originalAmount(result.getSize()) .remainingAmount(result.getOutstandingSize()) .cumulativeAmount(result.getExecutedSize()) .fee(result.getTotalCommission()) .build()) .collect(Collectors.toList())); }
public static List<LimitOrder> adaptPoloniexPublicOrders( List<List<BigDecimal>> rawLevels, OrderType orderType, CurrencyPair currencyPair) { List<PoloniexLevel> levels = new ArrayList<>(); for (List<BigDecimal> rawLevel : rawLevels) { levels.add(adaptRawPoloniexLevel(rawLevel)); } List<LimitOrder> orders = new ArrayList<>(); for (PoloniexLevel level : levels) { LimitOrder limitOrder = new LimitOrder.Builder(orderType, currencyPair) .originalAmount(level.getAmount()) .limitPrice(level.getLimit()) .build(); orders.add(limitOrder); } return orders; }
public static Builder from(Order order) { Builder builder = (Builder) new Builder(order.getType(), order.getCurrencyPair()) .originalAmount(order.getOriginalAmount()) .cumulativeAmount(order.getCumulativeAmount()) .timestamp(order.getTimestamp()) .id(order.getId()) .flags(order.getOrderFlags()) .orderStatus(order.getStatus()) .averagePrice(order.getAveragePrice()); if (order instanceof LimitOrder) { LimitOrder limitOrder = (LimitOrder) order; builder.limitPrice(limitOrder.getLimitPrice()); } return builder; }
public void demoLimitOrder() throws OKCoinException, IOException { LimitOrder order = new LimitOrder .Builder(OrderType.BID, CurrencyPair.BTC_CNY) .tradableAmount(new BigDecimal("1")) .limitPrice(new BigDecimal("0.01")) .build(); // place a limit order 1@0.01 String orderId = tradeService.placeLimitOrder(order); log.info("placed a limit order: {}", orderId); // cancel the above order boolean cancelled = tradeService.cancelOrder(orderId); log.info("order {} cancellation result: {}", orderId, cancelled); }
public static LimitOrder createLimitOrder(MarketOrder marketOrder, BTCEExchangeInfo btceExchangeInfo) { BTCEPairInfo btcePairInfo = btceExchangeInfo.getPairs().get(getPair(marketOrder.getCurrencyPair())); BigDecimal limitPrice = marketOrder.getType() == OrderType.BID ? btcePairInfo.getMaxPrice() : btcePairInfo.getMinPrice(); return LimitOrder.Builder.from(marketOrder).limitPrice(limitPrice).build(); } }
public static LimitOrder adaptLimitOrder(BTCChinaMarketDepthOrder order, OrderType orderType, CurrencyPair currencyPair) { return new LimitOrder.Builder(orderType, currencyPair).limitPrice(order.getPrice()).originalAmount(order.getAmount()).build(); }
public static LimitOrder createLimitOrder( MarketOrder marketOrder, WexExchangeInfo wexExchangeInfo) { WexPairInfo wexPairInfo = wexExchangeInfo.getPairs().get(getPair(marketOrder.getCurrencyPair())); BigDecimal limitPrice = marketOrder.getType() == OrderType.BID ? wexPairInfo.getMaxPrice() : wexPairInfo.getMinPrice(); return LimitOrder.Builder.from(marketOrder).limitPrice(limitPrice).build(); }
public static LimitOrder adaptPoloniexOpenOrder( PoloniexOpenOrder openOrder, CurrencyPair currencyPair) { OrderType type = openOrder.getType().equals("buy") ? OrderType.BID : OrderType.ASK; Date timestamp = PoloniexUtils.stringToDate(openOrder.getDate()); return new LimitOrder.Builder(type, currencyPair) .limitPrice(openOrder.getRate()) .originalAmount(openOrder.getStartingAmount()) .cumulativeAmount(openOrder.getStartingAmount().subtract(openOrder.getAmount())) .id(openOrder.getOrderNumber()) .timestamp(timestamp) .build(); }
.counterCounterparty(counterAmount.getCounterparty()) .id(Long.toString(order.getSequence())) .limitPrice(price) .timestamp(null) .originalAmount(baseAmount.getValue()) .build(); list.add(xchangeOrder);
new LimitOrder.Builder(Order.OrderType.BID, CURRENCY_PAIR) .originalAmount(BigDecimal.valueOf(10)) .limitPrice(BigDecimal.valueOf(100)) .build(); log.debug("{}", tradeServiceRaw.placeBithumbLimitOrder(limitOrderBuy)); new LimitOrder.Builder(Order.OrderType.ASK, CURRENCY_PAIR) .originalAmount(BigDecimal.valueOf(10)) .limitPrice(BigDecimal.valueOf(600)) .build(); log.debug("{}", tradeServiceRaw.placeBithumbLimitOrder(limitOrderSell));
new LimitOrder.Builder(OrderType.BID, currencyPair) .originalAmount(new BigDecimal("1")) .limitPrice(xmrBuyRate) .build(); String orderId = tradeService.buy(order).getOrderNumber().toString(); System.out.println("Placed order #" + orderId);
IdexExchange.Companion.safeParse(ask.getAmount()); String orderHash = ask.getOrderHash(); return new LimitOrder.Builder(Order.OrderType.ASK, currencyPair) .limitPrice(limitPrice) .originalAmount(originalAmount) .id(orderHash) .build(); }), returnOrderBookResponse IdexExchange.Companion.safeParse(bid.getAmount()); String orderHash = bid.getOrderHash(); return new LimitOrder.Builder(Order.OrderType.ASK, currencyPair) .limitPrice(limitPrice) .originalAmount(originalAmount) .id(orderHash) .build(); })); } catch (Exception e) {
private static void raw(KucoinTradeServiceRaw tradeService) throws IOException { new LimitOrder.Builder(ORDER_TYPE, PAIR) .limitPrice(new BigDecimal("100")) .originalAmount(new BigDecimal("1")) .build();
private static void generic(TradeService tradeService) throws IOException { LimitOrder limitOrder = new LimitOrder.Builder(ORDER_TYPE, PAIR) .limitPrice(new BigDecimal("100.0")) .originalAmount(new BigDecimal("1")) .build(); try { String uuid = tradeService.placeLimitOrder(limitOrder); System.out.println("Order successfully placed. ID=" + uuid); Thread.sleep(7000); // wait for order to propagate System.out.println(); DefaultOpenOrdersParamCurrencyPair orderParams = (DefaultOpenOrdersParamCurrencyPair) tradeService.createOpenOrdersParams(); orderParams.setCurrencyPair(PAIR); System.out.println(tradeService.getOpenOrders(orderParams)); System.out.println("Attempting to cancel order " + uuid); CancelOrderParams cancelParams = new KucoinCancelOrderParams(PAIR, uuid, ORDER_TYPE); boolean cancelled = tradeService.cancelOrder(cancelParams); if (cancelled) { System.out.println("Order successfully canceled."); } else { System.out.println("Order not successfully canceled."); } Thread.sleep(7000); // wait for cancellation to propagate System.out.println(); System.out.println(tradeService.getOpenOrders(orderParams)); } catch (Exception e) { e.printStackTrace(); } }