public List<UserTrade> trades( Integer limit, Long offset, Collection<CurrencyPair> currencyPairs) { List<String> markets = new ArrayList<>(); for (CurrencyPair currencyPair : currencyPairs) { markets.add(ExmoAdapters.format(currencyPair)); } Map<String, List<Map<String, String>>> map = exmo.userTrades( signatureCreator, apiKey, exchange.getNonceFactory(), join(markets, ","), offset, limit); List<UserTrade> trades = new ArrayList<>(); for (String market : map.keySet()) { for (Map<String, String> tradeDatum : map.get(market)) { trades.add(ExmoAdapters.adaptTrade(tradeDatum, adaptMarket(market))); } } Collections.sort(trades, (o1, o2) -> o2.getTimestamp().compareTo(o1.getTimestamp())); return trades; } }
id = userTrade.getOrderId(); if (timestamp == null) timestamp = userTrade.getTimestamp(); .getTimestamp() timestamp = userTrade.getTimestamp();
public static Builder from(UserTrade trade) { return new Builder() .type(trade.getType()) .originalAmount(trade.getOriginalAmount()) .currencyPair(trade.getCurrencyPair()) .price(trade.getPrice()) .timestamp(trade.getTimestamp()) .id(trade.getId()) .orderId(trade.getOrderId()) .feeAmount(trade.getFeeAmount()) .feeCurrency(trade.getFeeCurrency()); }
@Override public int compare(UserTrade event, UserTrade event2) { int sComp = event.getTimestamp().compareTo(event2.getTimestamp()); if (sComp != 0) { return sComp; } else { return (event.getId().compareTo(event2.getId())); } } };
public void demoGetTradeHistory() throws IOException { OKCoinTradeHistoryParams params = (OKCoinTradeHistoryParams) tradeService.createTradeHistoryParams(); params.setCurrencyPair(CurrencyPair.BTC_CNY); params.setPageNumber(1); params.setPageLength(10); UserTrades userTrades = tradeService.getTradeHistory(params); userTrades.getUserTrades().forEach( userTrade -> log.info("ID: {}, OrderID: {}, {} {} {}@{}", userTrade.getId(), userTrade.getOrderId(), userTrade.getTimestamp(), userTrade.getType(), userTrade.getTradableAmount(), userTrade.getPrice())); }
public static Builder from(UserTrade trade) { return new Builder() .type(trade.getType()) .originalAmount(trade.getOriginalAmount()) .currencyPair(trade.getCurrencyPair()) .price(trade.getPrice()) .timestamp(trade.getTimestamp()) .id(trade.getId()) .orderId(trade.getOrderId()) .feeAmount(trade.getFeeAmount()) .feeCurrency(trade.getFeeCurrency()); }