
org.knowm.xchange.okex.service.OkexTradeServiceRaw Maven / Gradle / Ivy
package org.knowm.xchange.okex.service;
import static org.knowm.xchange.okex.OkexExchange.PARAM_PASSPHRASE;
import static org.knowm.xchange.okex.OkexExchange.PARAM_SIMULATED;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import org.knowm.xchange.client.ResilienceRegistries;
import org.knowm.xchange.okex.OkexAuthenticated;
import org.knowm.xchange.okex.OkexExchange;
import org.knowm.xchange.okex.dto.OkexException;
import org.knowm.xchange.okex.dto.OkexResponse;
import org.knowm.xchange.okex.dto.account.OkexPosition;
import org.knowm.xchange.okex.dto.trade.OkexAmendOrderRequest;
import org.knowm.xchange.okex.dto.trade.OkexCancelOrderRequest;
import org.knowm.xchange.okex.dto.trade.OkexOrderDetails;
import org.knowm.xchange.okex.dto.trade.OkexOrderRequest;
import org.knowm.xchange.okex.dto.trade.OkexOrderResponse;
import org.knowm.xchange.utils.DateUtils;
/** Author: Max Gao ([email protected]) Created: 08-06-2021 */
public class OkexTradeServiceRaw extends OkexBaseService {
public OkexTradeServiceRaw(OkexExchange exchange, ResilienceRegistries resilienceRegistries) {
super(exchange, resilienceRegistries);
}
public OkexResponse> getOkexPendingOrder(
String instrumentType,
String underlying,
String instrumentId,
String orderType,
String state,
String after,
String before,
String limit)
throws IOException {
try {
return decorateApiCall(
() ->
okexAuthenticated.getPendingOrders(
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
DateUtils.toUTCISODateString(new Date()),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_PASSPHRASE),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_SIMULATED),
instrumentType,
underlying,
instrumentId,
orderType,
state,
after,
before,
limit))
.call();
} catch (OkexException e) {
throw handleError(e);
}
}
public OkexResponse> getPositions(
String instrumentType, String instrumentId, String positionId)
throws OkexException, IOException {
try {
return decorateApiCall(
() ->
okexAuthenticated.getPositions(
instrumentType,
instrumentId,
positionId,
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
DateUtils.toUTCISODateString(new Date()),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_PASSPHRASE),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_SIMULATED)))
.withRateLimiter(rateLimiter(OkexAuthenticated.positionsPath))
.call();
} catch (OkexException e) {
throw handleError(e);
}
}
public OkexResponse> getOkexOrder(String instrumentId, String orderId)
throws IOException {
try {
return decorateApiCall(
() ->
okexAuthenticated.getOrderDetails(
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
DateUtils.toUTCISODateString(new Date()),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_PASSPHRASE),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_SIMULATED),
instrumentId,
orderId,
null))
.withRateLimiter((rateLimiter(OkexAuthenticated.orderDetailsPath)))
.call();
} catch (OkexException e) {
throw handleError(e);
}
}
public OkexResponse> getOrderHistory(
String instrumentType,
String instrumentId,
String orderType,
String after,
String before,
String limit)
throws IOException {
try {
return decorateApiCall(
() ->
okexAuthenticated.getOrderHistory(
instrumentType,
instrumentId,
orderType,
"filled",
after,
before,
limit,
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
DateUtils.toUTCISODateString(new Date()),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_PASSPHRASE),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_SIMULATED)))
.withRateLimiter((rateLimiter(OkexAuthenticated.orderDetailsPath)))
.call();
} catch (OkexException e) {
throw handleError(e);
}
}
/** ... */
public OkexResponse> placeOkexOrder(OkexOrderRequest order)
throws IOException {
try {
return decorateApiCall(
() ->
okexAuthenticated.placeOrder(
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
DateUtils.toUTCISODateString(new Date()),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_PASSPHRASE),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_SIMULATED),
order))
.withRateLimiter(rateLimiter(OkexAuthenticated.placeOrderPath))
.call();
} catch (OkexException e) {
throw handleError(e);
}
}
/** ... */
public OkexResponse> placeOkexOrder(List orders)
throws IOException {
try {
return decorateApiCall(
() ->
okexAuthenticated.placeBatchOrder(
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
DateUtils.toUTCISODateString(new Date()),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_PASSPHRASE),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_SIMULATED),
orders))
.withRateLimiter(rateLimiter(OkexAuthenticated.placeBatchOrderPath))
.call();
} catch (OkexException e) {
throw handleError(e);
}
}
/** ... */
public OkexResponse> cancelOkexOrder(OkexCancelOrderRequest order)
throws IOException {
try {
return decorateApiCall(
() ->
okexAuthenticated.cancelOrder(
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
DateUtils.toUTCISODateString(new Date()),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_PASSPHRASE),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_SIMULATED),
order))
.withRateLimiter(rateLimiter(OkexAuthenticated.cancelOrderPath))
.call();
} catch (OkexException e) {
throw handleError(e);
}
}
/** ... */
public OkexResponse> cancelOkexOrder(List orders)
throws IOException {
try {
return decorateApiCall(
() ->
okexAuthenticated.cancelBatchOrder(
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
DateUtils.toUTCISODateString(new Date()),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_PASSPHRASE),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_SIMULATED),
orders))
.withRateLimiter(rateLimiter(OkexAuthenticated.cancelBatchOrderPath))
.call();
} catch (OkexException e) {
throw handleError(e);
}
}
/** ... */
public OkexResponse> amendOkexOrder(OkexAmendOrderRequest order)
throws IOException {
try {
return decorateApiCall(
() ->
okexAuthenticated.amendOrder(
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
DateUtils.toUTCISODateString(new Date()),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_PASSPHRASE),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_SIMULATED),
order))
.withRateLimiter(rateLimiter(OkexAuthenticated.amendOrderPath))
.call();
} catch (OkexException e) {
throw handleError(e);
}
}
/** ... */
public OkexResponse> amendOkexOrder(List orders)
throws IOException {
try {
return decorateApiCall(
() ->
okexAuthenticated.amendBatchOrder(
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
DateUtils.toUTCISODateString(new Date()),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_PASSPHRASE),
(String)
exchange
.getExchangeSpecification()
.getExchangeSpecificParametersItem(PARAM_SIMULATED),
orders))
.withRateLimiter(rateLimiter(OkexAuthenticated.amendBatchOrderPath))
.call();
} catch (OkexException e) {
throw handleError(e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy