package org.knowm.xchange.okcoin.service; import java.io.IOException; import org.knowm.xchange.Exchange; import org.knowm.xchange.okcoin.FuturesContract; import org.knowm.xchange.okcoin.dto.trade.OkCoinFuturesOrderResult; import org.knowm.xchange.okcoin.dto.trade.OkCoinFuturesTradeHistoryResult; import org.knowm.xchange.okcoin.dto.trade.OkCoinOrderResult; import org.knowm.xchange.okcoin.dto.trade.OkCoinPositionResult; import org.knowm.xchange.okcoin.dto.trade.OkCoinTradeResult; public class OkCoinTradeServiceRaw extends OKCoinBaseTradeService { /** * Constructor * * @param exchange */ protected OkCoinTradeServiceRaw(Exchange exchange) { super(exchange); } public OkCoinTradeResult trade(String symbol, String type, String rate, String amount) throws IOException { OkCoinTradeResult tradeResult = okCoin.trade(apikey, symbol, type, rate, amount, signatureCreator); return returnOrThrow(tradeResult); } public OkCoinTradeResult cancelOrder(long orderId, String symbol) throws IOException { OkCoinTradeResult tradeResult = okCoin.cancelOrder(apikey, orderId, symbol, signatureCreator); return returnOrThrow(tradeResult); } public OkCoinOrderResult getOrder(long orderId, String symbol) throws IOException { OkCoinOrderResult orderResult = okCoin.getOrder(apikey, orderId, symbol, signatureCreator); return returnOrThrow(orderResult); } public OkCoinOrderResult getOrderHistory(String symbol, String status, String currentPage, String pageLength) throws IOException { OkCoinOrderResult orderResult = okCoin.getOrderHistory(apikey, symbol, status, currentPage, pageLength, signatureCreator); return returnOrThrow(orderResult); } /** OkCoin.com Futures API **/ public OkCoinTradeResult futuresTrade(String symbol, String type, String price, String amount, FuturesContract contract, int matchPrice, int leverRate) throws IOException { OkCoinTradeResult tradeResult = okCoin.futuresTrade(apikey, symbol, contract.getName(), type, price, amount, matchPrice, leverRate, signatureCreator); return returnOrThrow(tradeResult); } public OkCoinTradeResult futuresCancelOrder(long orderId, String symbol, FuturesContract contract) throws IOException { OkCoinTradeResult tradeResult = okCoin.futuresCancelOrder(apikey, orderId, symbol, contract.getName(), signatureCreator); return returnOrThrow(tradeResult); } public OkCoinFuturesOrderResult getFuturesOrder(long orderId, String symbol, String currentPage, String pageLength, FuturesContract contract) throws IOException { OkCoinFuturesOrderResult futuresOrder = okCoin.getFuturesOrder(apikey, orderId, symbol, "1", currentPage, pageLength, contract.getName(), signatureCreator); return returnOrThrow(futuresOrder); } public OkCoinFuturesOrderResult getFuturesFilledOrder(long orderId, String symbol, String currentPage, String pageLength, FuturesContract contract) throws IOException { OkCoinFuturesOrderResult futuresOrder = okCoin.getFuturesOrder(apikey, orderId, symbol, "2", currentPage, pageLength, contract.getName(), signatureCreator); return returnOrThrow(futuresOrder); } public OkCoinFuturesOrderResult getFuturesOrders(String orderIds, String symbol, FuturesContract contract) throws IOException { OkCoinFuturesOrderResult futuresOrder = okCoin.getFuturesOrders(apikey, orderIds, symbol, contract.getName(), signatureCreator); return returnOrThrow(futuresOrder); } public OkCoinFuturesTradeHistoryResult[] getFuturesTradesHistory(String symbol, long since, String date) throws IOException { OkCoinFuturesTradeHistoryResult[] futuresHistory = okCoin.getFuturesTradeHistory(apikey, since, symbol, date, signatureCreator); return (futuresHistory); } public OkCoinPositionResult getFuturesPosition(String symbol, FuturesContract contract) throws IOException { OkCoinPositionResult futuresPositionsCross = okCoin.getFuturesPositionsCross(apikey, symbol, contract.getName(), signatureCreator); return returnOrThrow(futuresPositionsCross); } }