org.knowm.xchange.livecoin.service.LivecoinTradeServiceRaw Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xchange-livecoin Show documentation
Show all versions of xchange-livecoin Show documentation
A convenient way to buy and sell Bitcoin
package org.knowm.xchange.livecoin.service;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.knowm.xchange.currency.CurrencyPair;
import org.knowm.xchange.dto.Order;
import org.knowm.xchange.dto.trade.LimitOrder;
import org.knowm.xchange.dto.trade.MarketOrder;
import org.knowm.xchange.dto.trade.UserTrade;
import org.knowm.xchange.exceptions.ExchangeException;
import org.knowm.xchange.livecoin.Livecoin;
import org.knowm.xchange.livecoin.LivecoinAdapters;
import org.knowm.xchange.livecoin.LivecoinExchange;
import org.knowm.xchange.livecoin.dto.LivecoinPaginatedResponse;
import org.knowm.xchange.livecoin.dto.trade.LivecoinCancelResponse;
import org.knowm.xchange.livecoin.dto.trade.LivecoinOrderResponse;
import org.knowm.xchange.service.trade.params.CancelOrderByCurrencyPair;
import org.knowm.xchange.service.trade.params.CancelOrderByIdParams;
import org.knowm.xchange.service.trade.params.CancelOrderParams;
import org.knowm.xchange.utils.DateUtils;
public class LivecoinTradeServiceRaw extends LivecoinBaseService {
private static final long THIRTY_DAYS_MILLISECONDS = 2_592_000_000L;
public LivecoinTradeServiceRaw(LivecoinExchange exchange) {
super(Livecoin.class, exchange);
}
public List getAllOpenOrders() throws IOException {
LivecoinPaginatedResponse response = service.allClientOrders(apiKey, signatureCreator, "OPEN");
List resp = new ArrayList<>();
if (response.getData() == null) return resp;
for (Map map : response.getData()) {
Object statusRaw = map.get("orderStatus");
if (statusRaw != null
&& (statusRaw.toString().equals("OPEN")
|| statusRaw.toString().equals("PARTIALLY_FILLED"))) {
resp.add(LivecoinAdapters.adaptOpenOrder(map));
}
}
return resp;
}
public List tradeHistory(Date startTime, Date endTime, Integer limit, Long offset)
throws IOException {
long end = DateUtils.toMillisNullSafe(endTime);
// Livecoin API limitation: 30 days max period
long start = Math.max(DateUtils.toMillisNullSafe(startTime), end - THIRTY_DAYS_MILLISECONDS);
List
© 2015 - 2024 Weber Informatics LLC | Privacy Policy