Search in sources :

Example 1 with LoanOrderBook

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

the class GeminiMarketDataService method getLendOrderBook.

public LoanOrderBook getLendOrderBook(String currency, Object... args) throws IOException {
    // According to API docs, default is 50
    int limitBids = 50;
    int limitAsks = 50;
    if (args != null && args.length == 2) {
        Object arg0 = args[0];
        if (!(arg0 instanceof Integer)) {
            throw new ExchangeException("Argument 0 must be an Integer!");
        } else {
            limitBids = (Integer) arg0;
        }
        Object arg1 = args[1];
        if (!(arg1 instanceof Integer)) {
            throw new ExchangeException("Argument 1 must be an Integer!");
        } else {
            limitAsks = (Integer) arg1;
        }
    }
    GeminiLendDepth GeminiLendDepth = getGeminiLendBook(currency, limitBids, limitAsks);
    List<FixedRateLoanOrder> fixedRateAsks = GeminiAdapters.adaptFixedRateLoanOrders(GeminiLendDepth.getAsks(), currency, "ask", "");
    List<FixedRateLoanOrder> fixedRateBids = GeminiAdapters.adaptFixedRateLoanOrders(GeminiLendDepth.getBids(), currency, "bid", "");
    List<FloatingRateLoanOrder> floatingRateAsks = GeminiAdapters.adaptFloatingRateLoanOrders(GeminiLendDepth.getAsks(), currency, "ask", "");
    List<FloatingRateLoanOrder> floatingRateBids = GeminiAdapters.adaptFloatingRateLoanOrders(GeminiLendDepth.getBids(), currency, "bid", "");
    return new LoanOrderBook(null, fixedRateAsks, fixedRateBids, floatingRateAsks, floatingRateBids);
}
Also used : GeminiLendDepth(org.knowm.xchange.gemini.v1.dto.marketdata.GeminiLendDepth) LoanOrderBook(org.knowm.xchange.dto.marketdata.LoanOrderBook) FixedRateLoanOrder(org.knowm.xchange.dto.trade.FixedRateLoanOrder) ExchangeException(org.knowm.xchange.exceptions.ExchangeException) FloatingRateLoanOrder(org.knowm.xchange.dto.trade.FloatingRateLoanOrder)

Example 2 with LoanOrderBook

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

the class BitfinexMarketDataService method getLendOrderBook.

public LoanOrderBook getLendOrderBook(String currency, Object... args) throws IOException {
    try {
        // According to API docs, default is 50
        int limitBids = 50;
        int limitAsks = 50;
        if (args != null && args.length == 2) {
            Object arg0 = args[0];
            if (!(arg0 instanceof Integer)) {
                throw new ExchangeException("Argument 0 must be an Integer!");
            } else {
                limitBids = (Integer) arg0;
            }
            Object arg1 = args[1];
            if (!(arg1 instanceof Integer)) {
                throw new ExchangeException("Argument 1 must be an Integer!");
            } else {
                limitAsks = (Integer) arg1;
            }
        }
        BitfinexLendDepth bitfinexLendDepth = getBitfinexLendBook(currency, limitBids, limitAsks);
        List<FixedRateLoanOrder> fixedRateAsks = BitfinexAdapters.adaptFixedRateLoanOrders(bitfinexLendDepth.getAsks(), currency, "ask", "");
        List<FixedRateLoanOrder> fixedRateBids = BitfinexAdapters.adaptFixedRateLoanOrders(bitfinexLendDepth.getBids(), currency, "bid", "");
        List<FloatingRateLoanOrder> floatingRateAsks = BitfinexAdapters.adaptFloatingRateLoanOrders(bitfinexLendDepth.getAsks(), currency, "ask", "");
        List<FloatingRateLoanOrder> floatingRateBids = BitfinexAdapters.adaptFloatingRateLoanOrders(bitfinexLendDepth.getBids(), currency, "bid", "");
        return new LoanOrderBook(null, fixedRateAsks, fixedRateBids, floatingRateAsks, floatingRateBids);
    } catch (BitfinexException e) {
        throw BitfinexErrorAdapter.adapt(e);
    }
}
Also used : LoanOrderBook(org.knowm.xchange.dto.marketdata.LoanOrderBook) FixedRateLoanOrder(org.knowm.xchange.dto.trade.FixedRateLoanOrder) BitfinexLendDepth(org.knowm.xchange.bitfinex.v1.dto.marketdata.BitfinexLendDepth) ExchangeException(org.knowm.xchange.exceptions.ExchangeException) BitfinexException(org.knowm.xchange.bitfinex.dto.BitfinexException) FloatingRateLoanOrder(org.knowm.xchange.dto.trade.FloatingRateLoanOrder)

Aggregations

LoanOrderBook (org.knowm.xchange.dto.marketdata.LoanOrderBook)2 FixedRateLoanOrder (org.knowm.xchange.dto.trade.FixedRateLoanOrder)2 FloatingRateLoanOrder (org.knowm.xchange.dto.trade.FloatingRateLoanOrder)2 ExchangeException (org.knowm.xchange.exceptions.ExchangeException)2 BitfinexException (org.knowm.xchange.bitfinex.dto.BitfinexException)1 BitfinexLendDepth (org.knowm.xchange.bitfinex.v1.dto.marketdata.BitfinexLendDepth)1 GeminiLendDepth (org.knowm.xchange.gemini.v1.dto.marketdata.GeminiLendDepth)1