package org.knowm.xchange.examples.bitfinex.trade; import java.io.IOException; import java.math.BigDecimal; import java.util.Arrays; import org.knowm.xchange.Exchange; import org.knowm.xchange.bitfinex.v1.BitfinexOrderType; import org.knowm.xchange.bitfinex.v1.dto.trade.BitfinexCreditResponse; import org.knowm.xchange.bitfinex.v1.dto.trade.BitfinexOfferStatusResponse; import org.knowm.xchange.bitfinex.v1.service.BitfinexTradeServiceRaw; import org.knowm.xchange.dto.Order.OrderType; import org.knowm.xchange.dto.trade.FixedRateLoanOrder; import org.knowm.xchange.dto.trade.FloatingRateLoanOrder; import org.knowm.xchange.examples.bitfinex.BitfinexDemoUtils; public class BitfinexOfferDemo { public static void main(String[] args) throws IOException { Exchange bfx = BitfinexDemoUtils.createExchange(); raw(bfx); } private static void raw(Exchange bfx) throws IOException { BitfinexTradeServiceRaw tradeService = (BitfinexTradeServiceRaw) bfx.getTradeService(); BitfinexOfferStatusResponse fixedRateResponse = tradeService.placeBitfinexFixedRateLoanOrder( new FixedRateLoanOrder(OrderType.BID, "USD", new BigDecimal("0.01"), 2, "", null, new BigDecimal("0.01")), BitfinexOrderType.LIMIT); System.out.println("Fixed rate order response: " + fixedRateResponse); BitfinexOfferStatusResponse floatingRateResponse = tradeService.placeBitfinexFloatingRateLoanOrder( new FloatingRateLoanOrder(OrderType.BID, "USD", new BigDecimal("0.01"), 2, "", null, BigDecimal.ZERO), BitfinexOrderType.MARKET); System.out.println("Floating rate order response: " + floatingRateResponse); BitfinexCreditResponse[] activeCredits = tradeService.getBitfinexActiveCredits(); System.out.println("Active credits: " + Arrays.toString(activeCredits)); BitfinexOfferStatusResponse[] openOffers = tradeService.getBitfinexOpenOffers(); System.out.println("Open offers response: " + Arrays.toString(openOffers)); for (BitfinexOfferStatusResponse offer : openOffers) { BitfinexOfferStatusResponse cancelResponse = tradeService.cancelBitfinexOffer(Integer.toString(offer.getId())); System.out.println("Cancel offer response: " + cancelResponse); } } }