use of org.knowm.xchange.dto.trade.LimitOrder in project XChange by knowm.
the class BitmexOrderReplaceTest method testOrderReplace.
@Test
@Ignore
public void testOrderReplace() throws Exception {
CertHelper.trustAllCerts();
BitmexExchange exchange = (BitmexExchange) ExchangeFactory.INSTANCE.createExchange(BitmexExchange.class);
ExchangeSpecification defaultExchangeSpecification = exchange.getDefaultExchangeSpecification();
defaultExchangeSpecification.setExchangeSpecificParametersItem("Use_Sandbox", true);
defaultExchangeSpecification.setApiKey("QW8Ao_gx38e-8KFvDkFn-Ym4");
defaultExchangeSpecification.setSecretKey("tn7rpzvOXSKThZD0f-xXehtydt4OTHZVf42gCCyxPixiiVOb");
defaultExchangeSpecification.setShouldLoadRemoteMetaData(true);
defaultExchangeSpecification.setProxyHost("localhost");
defaultExchangeSpecification.setProxyPort(9999);
exchange.applySpecification(defaultExchangeSpecification);
BitmexMarketDataService marketDataService = (BitmexMarketDataService) exchange.getMarketDataService();
OrderBook orderBook = marketDataService.getOrderBook(CurrencyPair.XBT_USD, PERPETUAL);
// OrderBook orderBook = marketDataService.getOrderBook(new CurrencyPair(Currency.ADA,
// Currency.BTC), BitmexPrompt.QUARTERLY);
// OrderBook orderBook = marketDataService.getOrderBook(new CurrencyPair(Currency.BTC,
// Currency.USD), BitmexPrompt.BIQUARTERLY);
System.out.println("orderBook = " + orderBook);
BitmexTradeService tradeService = (BitmexTradeService) exchange.getTradeService();
String nosOrdId = System.currentTimeMillis() + "";
BigDecimal originalOrderSize = new BigDecimal("30");
// BigDecimal price = new BigDecimal("10000");
BigDecimal price = orderBook.getBids().get(0).getLimitPrice().add(new BigDecimal("0.5"));
LimitOrder limitOrder = new LimitOrder(Order.OrderType.ASK, originalOrderSize, CurrencyPair.XBT_USD, nosOrdId, new Date(), price);
String orderId = tradeService.placeLimitOrder(limitOrder);
Thread.sleep(5000);
// BitmexPrivateOrder bitmexPrivateOrder =
// tradeService.replaceLimitOrder(
// "XBTUSD",
// originalOrderSize.divide(new BigDecimal("2")),
// null,
// orderId,
// // null, null,
// nosOrdId + "replace",
// nosOrdId);
// System.out.println("bitmexPrivateOrder = " + bitmexPrivateOrder);
tradeService.cancelAllOrders();
// System.out.println("cancelled = " + bitmexPrivateOrders.get(0));
// service.getTicker(Currency.XBT.getSymbol());
}
use of org.knowm.xchange.dto.trade.LimitOrder in project XChange by knowm.
the class BitsoAdapters method adaptOrderBook.
public static OrderBook adaptOrderBook(BitsoOrderBook bitsoOrderBook, CurrencyPair currencyPair, int timeScale) {
List<LimitOrder> asks = createOrders(currencyPair, Order.OrderType.ASK, bitsoOrderBook.getAsks());
List<LimitOrder> bids = createOrders(currencyPair, Order.OrderType.BID, bitsoOrderBook.getBids());
Date date = new Date(bitsoOrderBook.getTimestamp() * // polled order books provide a timestamp in seconds, stream in ms
timeScale);
return new OrderBook(date, asks, bids);
}
use of org.knowm.xchange.dto.trade.LimitOrder in project XChange by knowm.
the class BitstampTradeService method getOpenOrders.
@Override
public OpenOrders getOpenOrders(OpenOrdersParams params) throws ExchangeException, IOException {
BitstampOrder[] openOrders = getBitstampOpenOrders();
List<LimitOrder> limitOrders = new ArrayList<>(openOrders.length);
for (BitstampOrder bitstampOrder : openOrders) {
OrderType orderType = bitstampOrder.getType() == 0 ? OrderType.BID : OrderType.ASK;
String id = Long.toString(bitstampOrder.getId());
BigDecimal price = bitstampOrder.getPrice();
limitOrders.add(new LimitOrder(orderType, bitstampOrder.getAmount(), new BitstampV2.Pair(bitstampOrder.getCurrencyPair()).pair, id, bitstampOrder.getDatetime(), price, // avgPrice
null, // cumAmount
null, // fee
null, Order.OrderStatus.NEW));
}
return new OpenOrders(limitOrders);
}
use of org.knowm.xchange.dto.trade.LimitOrder in project XChange by knowm.
the class CoingiAdapters method adaptOpenOrders.
public static OpenOrders adaptOpenOrders(CoingiOrdersList orders) {
List<LimitOrder> list = new ArrayList<>();
for (CoingiOrder order : orders) {
LimitOrder limitOrder = new LimitOrder(order.getType() == 0 ? OrderType.BID : OrderType.ASK, order.getOriginalBaseAmount(), adaptCurrency(order.getCurrencyPair()), order.getId(), new Date(order.getTimestamp()), order.getPrice());
limitOrder.setOrderStatus(adaptOrderStatus(order.getStatus()));
list.add(limitOrder);
}
return new OpenOrders(list);
}
use of org.knowm.xchange.dto.trade.LimitOrder in project XChange by knowm.
the class CoinfloorCancelOrderIntegration method cancelOpenOrdersTest.
@Test
public void cancelOpenOrdersTest() throws IOException {
final ExchangeSpecification specification = new ExchangeSpecification(CoinfloorExchange.class);
String username = System.getProperty("xchange.coinfloor.username");
String password = System.getProperty("xchange.coinfloor.password");
if (username == null || password == null) {
return;
}
specification.setUserName(username);
specification.setPassword(password);
Exchange exchange = ExchangeFactory.INSTANCE.createExchange(specification);
TradeService service = exchange.getTradeService();
// fetch open orders
CoinfloorOpenOrdersParams params = (CoinfloorOpenOrdersParams) service.createOpenOrdersParams();
OpenOrders openOrders = service.getOpenOrders(params);
// cancel one order
if (openOrders.getOpenOrders().size() > 0) {
LimitOrder order = openOrders.getOpenOrders().iterator().next();
boolean success = service.cancelOrder(order.getId());
logger.info("cancel of order={} success={}", order, success);
}
}
Aggregations