Search in sources :

Example 1 with LivecoinUserOrder

use of org.knowm.xchange.livecoin.dto.marketdata.LivecoinUserOrder in project XChange by knowm.

the class LivecoinTradeService method getOpenOrders.

@Override
public OpenOrders getOpenOrders(OpenOrdersParams params) throws IOException {
    try {
        CurrencyPair pair = null;
        if (params instanceof OpenOrdersParamCurrencyPair) {
            pair = ((OpenOrdersParamCurrencyPair) params).getCurrencyPair();
        }
        LivecoinPaginatedResponse<LivecoinUserOrder> response = clientOrders(pair, "OPEN", null, null, null, null);
        if (response.getData() == null) {
            return new OpenOrders(Collections.emptyList());
        }
        return new OpenOrders(response.getData().stream().filter(this::isOrderOpen).map(LivecoinAdapters::adaptUserOrder).filter(order -> order instanceof LimitOrder).map(order -> (LimitOrder) order).collect(Collectors.toList()));
    } catch (LivecoinException e) {
        throw LivecoinErrorAdapter.adapt(e);
    }
}
Also used : LivecoinErrorAdapter(org.knowm.xchange.livecoin.LivecoinErrorAdapter) TradeHistoryParams(org.knowm.xchange.service.trade.params.TradeHistoryParams) Date(java.util.Date) CancelOrderByCurrencyPair(org.knowm.xchange.service.trade.params.CancelOrderByCurrencyPair) TradeHistoryParamOffset(org.knowm.xchange.service.trade.params.TradeHistoryParamOffset) NotAvailableFromExchangeException(org.knowm.xchange.exceptions.NotAvailableFromExchangeException) ArrayList(java.util.ArrayList) Order(org.knowm.xchange.dto.Order) LivecoinException(org.knowm.xchange.livecoin.dto.LivecoinException) LivecoinExchange(org.knowm.xchange.livecoin.LivecoinExchange) Livecoin(org.knowm.xchange.livecoin.Livecoin) CancelOrderByIdParams(org.knowm.xchange.service.trade.params.CancelOrderByIdParams) TradeHistoryParamLimit(org.knowm.xchange.service.trade.params.TradeHistoryParamLimit) OpenOrders(org.knowm.xchange.dto.trade.OpenOrders) OpenOrdersParamCurrencyPair(org.knowm.xchange.service.trade.params.orders.OpenOrdersParamCurrencyPair) OrderQueryParams(org.knowm.xchange.service.trade.params.orders.OrderQueryParams) LimitOrder(org.knowm.xchange.dto.trade.LimitOrder) ResilienceRegistries(org.knowm.xchange.client.ResilienceRegistries) LivecoinUserOrder(org.knowm.xchange.livecoin.dto.marketdata.LivecoinUserOrder) Collection(java.util.Collection) IOException(java.io.IOException) UserTrades(org.knowm.xchange.dto.trade.UserTrades) LivecoinAdapters(org.knowm.xchange.livecoin.LivecoinAdapters) Collectors(java.util.stream.Collectors) Trades(org.knowm.xchange.dto.marketdata.Trades) ExchangeException(org.knowm.xchange.exceptions.ExchangeException) List(java.util.List) TradeService(org.knowm.xchange.service.trade.TradeService) TradeHistoryParamsTimeSpan(org.knowm.xchange.service.trade.params.TradeHistoryParamsTimeSpan) LivecoinPaginatedResponse(org.knowm.xchange.livecoin.dto.LivecoinPaginatedResponse) OrderQueryParamCurrencyPair(org.knowm.xchange.service.trade.params.orders.OrderQueryParamCurrencyPair) OpenOrdersParams(org.knowm.xchange.service.trade.params.orders.OpenOrdersParams) MarketOrder(org.knowm.xchange.dto.trade.MarketOrder) CancelOrderParams(org.knowm.xchange.service.trade.params.CancelOrderParams) Collections(java.util.Collections) CurrencyPair(org.knowm.xchange.currency.CurrencyPair) LivecoinUserOrder(org.knowm.xchange.livecoin.dto.marketdata.LivecoinUserOrder) LivecoinException(org.knowm.xchange.livecoin.dto.LivecoinException) OpenOrders(org.knowm.xchange.dto.trade.OpenOrders) LimitOrder(org.knowm.xchange.dto.trade.LimitOrder) CancelOrderByCurrencyPair(org.knowm.xchange.service.trade.params.CancelOrderByCurrencyPair) OpenOrdersParamCurrencyPair(org.knowm.xchange.service.trade.params.orders.OpenOrdersParamCurrencyPair) OrderQueryParamCurrencyPair(org.knowm.xchange.service.trade.params.orders.OrderQueryParamCurrencyPair) CurrencyPair(org.knowm.xchange.currency.CurrencyPair) OpenOrdersParamCurrencyPair(org.knowm.xchange.service.trade.params.orders.OpenOrdersParamCurrencyPair) LivecoinAdapters(org.knowm.xchange.livecoin.LivecoinAdapters)

Example 2 with LivecoinUserOrder

use of org.knowm.xchange.livecoin.dto.marketdata.LivecoinUserOrder in project XChange by knowm.

the class LivecoinAdapters method adaptUserOrder.

public static Order adaptUserOrder(LivecoinUserOrder order) {
    OrderType type;
    boolean limit;
    switch(order.getType()) {
        case "MARKET_SELL":
            type = OrderType.ASK;
            limit = false;
            break;
        case "LIMIT_SELL":
            type = OrderType.ASK;
            limit = true;
            break;
        case "LIMIT_BUY":
            type = OrderType.BID;
            limit = true;
            break;
        case "MARKET_BUY":
            type = OrderType.BID;
            limit = false;
            break;
        default:
            throw new ExchangeException("Order id=" + order.getId() + " has unknown type " + order.getType());
    }
    CurrencyPair pair = new CurrencyPair(order.getCurrencyPair());
    Order.OrderStatus status;
    if (order.getRemainingQuantity().compareTo(BigDecimal.ZERO) == 0) {
        status = Order.OrderStatus.FILLED;
    } else {
        status = order.getRemainingQuantity().compareTo(order.getQuantity()) < 0 ? Order.OrderStatus.PARTIALLY_FILLED : Order.OrderStatus.PENDING_NEW;
    }
    Order.Builder builder;
    if (limit) {
        builder = new LimitOrder.Builder(type, pair).limitPrice(order.getPrice()).remainingAmount(order.getRemainingQuantity());
    } else {
        builder = new MarketOrder.Builder(type, pair).averagePrice(order.getPrice());
    }
    return builder.originalAmount(order.getQuantity()).id(order.getId().toString()).timestamp(DateUtils.fromUnixTime(order.getIssueTime())).orderStatus(status).build();
}
Also used : Order(org.knowm.xchange.dto.Order) LimitOrder(org.knowm.xchange.dto.trade.LimitOrder) LivecoinUserOrder(org.knowm.xchange.livecoin.dto.marketdata.LivecoinUserOrder) LivecoinOrder(org.knowm.xchange.livecoin.dto.marketdata.LivecoinOrder) MarketOrder(org.knowm.xchange.dto.trade.MarketOrder) OrderType(org.knowm.xchange.dto.Order.OrderType) ExchangeException(org.knowm.xchange.exceptions.ExchangeException) LimitOrder(org.knowm.xchange.dto.trade.LimitOrder) CurrencyPair(org.knowm.xchange.currency.CurrencyPair)

Example 3 with LivecoinUserOrder

use of org.knowm.xchange.livecoin.dto.marketdata.LivecoinUserOrder in project XChange by knowm.

the class LivecoinTradeService method getOrder.

@Override
public Collection<Order> getOrder(OrderQueryParams... params) throws IOException {
    try {
        if (params == null || params.length == 0) {
            LivecoinPaginatedResponse<LivecoinUserOrder> response = clientOrders(null, null, null, null, null, null);
            return LivecoinAdapters.adaptUserOrders(response.getData());
        }
        List<Order> result = new ArrayList<>();
        for (OrderQueryParams param : params) {
            CurrencyPair pair = null;
            if (param instanceof OrderQueryParamCurrencyPair) {
                pair = ((OrderQueryParamCurrencyPair) param).getCurrencyPair();
            }
            LivecoinPaginatedResponse<LivecoinUserOrder> response = clientOrders(pair, null, null, null, null, null);
            if (param.getOrderId() == null) {
                result.addAll(LivecoinAdapters.adaptUserOrders(response.getData()));
            } else {
                response.getData().stream().filter(order -> order.getId().toString().equals(param.getOrderId())).findAny().map(LivecoinAdapters::adaptUserOrder).ifPresent(result::add);
            }
        }
        return result;
    } catch (LivecoinException e) {
        throw LivecoinErrorAdapter.adapt(e);
    }
}
Also used : Order(org.knowm.xchange.dto.Order) LimitOrder(org.knowm.xchange.dto.trade.LimitOrder) LivecoinUserOrder(org.knowm.xchange.livecoin.dto.marketdata.LivecoinUserOrder) MarketOrder(org.knowm.xchange.dto.trade.MarketOrder) LivecoinErrorAdapter(org.knowm.xchange.livecoin.LivecoinErrorAdapter) TradeHistoryParams(org.knowm.xchange.service.trade.params.TradeHistoryParams) Date(java.util.Date) CancelOrderByCurrencyPair(org.knowm.xchange.service.trade.params.CancelOrderByCurrencyPair) TradeHistoryParamOffset(org.knowm.xchange.service.trade.params.TradeHistoryParamOffset) NotAvailableFromExchangeException(org.knowm.xchange.exceptions.NotAvailableFromExchangeException) ArrayList(java.util.ArrayList) Order(org.knowm.xchange.dto.Order) LivecoinException(org.knowm.xchange.livecoin.dto.LivecoinException) LivecoinExchange(org.knowm.xchange.livecoin.LivecoinExchange) Livecoin(org.knowm.xchange.livecoin.Livecoin) CancelOrderByIdParams(org.knowm.xchange.service.trade.params.CancelOrderByIdParams) TradeHistoryParamLimit(org.knowm.xchange.service.trade.params.TradeHistoryParamLimit) OpenOrders(org.knowm.xchange.dto.trade.OpenOrders) OpenOrdersParamCurrencyPair(org.knowm.xchange.service.trade.params.orders.OpenOrdersParamCurrencyPair) OrderQueryParams(org.knowm.xchange.service.trade.params.orders.OrderQueryParams) LimitOrder(org.knowm.xchange.dto.trade.LimitOrder) ResilienceRegistries(org.knowm.xchange.client.ResilienceRegistries) LivecoinUserOrder(org.knowm.xchange.livecoin.dto.marketdata.LivecoinUserOrder) Collection(java.util.Collection) IOException(java.io.IOException) UserTrades(org.knowm.xchange.dto.trade.UserTrades) LivecoinAdapters(org.knowm.xchange.livecoin.LivecoinAdapters) Collectors(java.util.stream.Collectors) Trades(org.knowm.xchange.dto.marketdata.Trades) ExchangeException(org.knowm.xchange.exceptions.ExchangeException) List(java.util.List) TradeService(org.knowm.xchange.service.trade.TradeService) TradeHistoryParamsTimeSpan(org.knowm.xchange.service.trade.params.TradeHistoryParamsTimeSpan) LivecoinPaginatedResponse(org.knowm.xchange.livecoin.dto.LivecoinPaginatedResponse) OrderQueryParamCurrencyPair(org.knowm.xchange.service.trade.params.orders.OrderQueryParamCurrencyPair) OpenOrdersParams(org.knowm.xchange.service.trade.params.orders.OpenOrdersParams) MarketOrder(org.knowm.xchange.dto.trade.MarketOrder) CancelOrderParams(org.knowm.xchange.service.trade.params.CancelOrderParams) Collections(java.util.Collections) CurrencyPair(org.knowm.xchange.currency.CurrencyPair) LivecoinUserOrder(org.knowm.xchange.livecoin.dto.marketdata.LivecoinUserOrder) OrderQueryParamCurrencyPair(org.knowm.xchange.service.trade.params.orders.OrderQueryParamCurrencyPair) LivecoinException(org.knowm.xchange.livecoin.dto.LivecoinException) ArrayList(java.util.ArrayList) OrderQueryParams(org.knowm.xchange.service.trade.params.orders.OrderQueryParams) CancelOrderByCurrencyPair(org.knowm.xchange.service.trade.params.CancelOrderByCurrencyPair) OpenOrdersParamCurrencyPair(org.knowm.xchange.service.trade.params.orders.OpenOrdersParamCurrencyPair) OrderQueryParamCurrencyPair(org.knowm.xchange.service.trade.params.orders.OrderQueryParamCurrencyPair) CurrencyPair(org.knowm.xchange.currency.CurrencyPair)

Aggregations

CurrencyPair (org.knowm.xchange.currency.CurrencyPair)3 Order (org.knowm.xchange.dto.Order)3 LimitOrder (org.knowm.xchange.dto.trade.LimitOrder)3 MarketOrder (org.knowm.xchange.dto.trade.MarketOrder)3 ExchangeException (org.knowm.xchange.exceptions.ExchangeException)3 LivecoinUserOrder (org.knowm.xchange.livecoin.dto.marketdata.LivecoinUserOrder)3 IOException (java.io.IOException)2 ArrayList (java.util.ArrayList)2 Collection (java.util.Collection)2 Collections (java.util.Collections)2 Date (java.util.Date)2 List (java.util.List)2 Collectors (java.util.stream.Collectors)2 ResilienceRegistries (org.knowm.xchange.client.ResilienceRegistries)2 Trades (org.knowm.xchange.dto.marketdata.Trades)2 OpenOrders (org.knowm.xchange.dto.trade.OpenOrders)2 UserTrades (org.knowm.xchange.dto.trade.UserTrades)2 NotAvailableFromExchangeException (org.knowm.xchange.exceptions.NotAvailableFromExchangeException)2 Livecoin (org.knowm.xchange.livecoin.Livecoin)2 LivecoinAdapters (org.knowm.xchange.livecoin.LivecoinAdapters)2