@Override public String placeLimitOrder(LimitOrder lo) throws IOException { TimeInForce tif = TimeInForce.GTC; OrderType type; if (lo.hasFlag(org.knowm.xchange.binance.dto.trade.BinanceOrderFlags.LIMIT_MAKER)) { type = OrderType.LIMIT_MAKER; tif = null; } else { type = OrderType.LIMIT; Set<IOrderFlags> orderFlags = lo.getOrderFlags(); Iterator<IOrderFlags> orderFlagsIterator = orderFlags.iterator(); while (orderFlagsIterator.hasNext()) { IOrderFlags orderFlag = orderFlagsIterator.next(); if (orderFlag instanceof TimeInForce) { tif = (TimeInForce) orderFlag; } } } return placeOrder(type, lo, lo.getLimitPrice(), null, tif); }
@Override public String placeLimitOrder(LimitOrder limitOrder) throws IOException { try { BitfinexOrderType type = BitfinexAdapters.adaptOrderFlagsToType(limitOrder.getOrderFlags()); BitfinexOrderStatusResponse newOrder = placeBitfinexLimitOrder(limitOrder, type); return String.valueOf(newOrder.getId()); } catch (BitfinexException e) { throw BitfinexErrorAdapter.adapt(e); } }
public static CoinbaseProPlaceLimitOrder adaptCoinbaseProPlaceLimitOrder(LimitOrder limitOrder) { CoinbaseProPlaceLimitOrder.Builder builder = new CoinbaseProPlaceLimitOrder.Builder() .price(limitOrder.getLimitPrice()) .type(CoinbaseProPlaceOrder.Type.limit) .productId(adaptProductID(limitOrder.getCurrencyPair())) .side(adaptSide(limitOrder.getType())) .size(limitOrder.getOriginalAmount()); if (limitOrder.getOrderFlags().contains(CoinbaseProOrderFlags.POST_ONLY)) builder.postOnly(true); if (limitOrder.getOrderFlags().contains(CoinbaseProOrderFlags.FILL_OR_KILL)) builder.timeInForce(CoinbaseProPlaceLimitOrder.TimeInForce.FOK); if (limitOrder.getOrderFlags().contains(CoinbaseProOrderFlags.IMMEDIATE_OR_CANCEL)) builder.timeInForce(CoinbaseProPlaceLimitOrder.TimeInForce.IOC); return builder.build(); }
String orderType = GeminiOrderType.toString(); Set<IOrderFlags> flags = limitOrder.getOrderFlags(); Object[] options; if (flags.isEmpty()) {
public KrakenOrderResponse placeKrakenLimitOrder(LimitOrder limitOrder) throws IOException { KrakenType type = KrakenType.fromOrderType(limitOrder.getType()); KrakenOrderBuilder krakenOrderBuilder = KrakenStandardOrder.getLimitOrderBuilder( limitOrder.getCurrencyPair(), type, limitOrder.getLimitPrice().toPlainString(), limitOrder.getOriginalAmount()) .withOrderFlags(limitOrder.getOrderFlags()) .withLeverage(limitOrder.getLeverage()); return placeKrakenOrder(krakenOrderBuilder.buildOrder()); }
@Override public String placeLimitOrder(LimitOrder lo) throws IOException { TimeInForce tif = TimeInForce.GTC; OrderType type; if (lo.hasFlag(org.knowm.xchange.binance.dto.trade.BinanceOrderFlags.LIMIT_MAKER)) { type = OrderType.LIMIT_MAKER; tif = null; } else { type = OrderType.LIMIT; Set<IOrderFlags> orderFlags = lo.getOrderFlags(); Iterator<IOrderFlags> orderFlagsIterator = orderFlags.iterator(); while (orderFlagsIterator.hasNext()) { IOrderFlags orderFlag = orderFlagsIterator.next(); if (orderFlag instanceof TimeInForce) { tif = (TimeInForce) orderFlag; } } } return placeOrder(type, lo, lo.getLimitPrice(), null, tif); }
@Override public String placeLimitOrder(LimitOrder limitOrder) throws IOException { try { BitfinexOrderType type = BitfinexAdapters.adaptOrderFlagsToType(limitOrder.getOrderFlags()); BitfinexOrderStatusResponse newOrder = placeBitfinexLimitOrder(limitOrder, type); return String.valueOf(newOrder.getId()); } catch (BitfinexException e) { throw BitfinexErrorAdapter.adapt(e); } }
public static GDAXPlaceLimitOrder adaptGDAXPlaceLimitOrder(LimitOrder limitOrder) { GDAXPlaceLimitOrder.Builder builder = new GDAXPlaceLimitOrder.Builder() .price(limitOrder.getLimitPrice()) .type(GDAXPlaceOrder.Type.limit) .productId(adaptProductID(limitOrder.getCurrencyPair())) .side(adaptSide(limitOrder.getType())) .size(limitOrder.getOriginalAmount()); if (limitOrder.getOrderFlags().contains(GDAXOrderFlags.POST_ONLY)) builder.postOnly(true); if (limitOrder.getOrderFlags().contains(GDAXOrderFlags.FILL_OR_KILL)) builder.timeInForce(GDAXPlaceLimitOrder.TimeInForce.FOK); if (limitOrder.getOrderFlags().contains(GDAXOrderFlags.IMMEDIATE_OR_CANCEL)) builder.timeInForce(GDAXPlaceLimitOrder.TimeInForce.IOC); return builder.build(); }
String orderType = GeminiOrderType.toString(); Set<IOrderFlags> flags = limitOrder.getOrderFlags(); Object[] options; if (flags.isEmpty()) {
public KrakenOrderResponse placeKrakenLimitOrder(LimitOrder limitOrder) throws IOException { KrakenType type = KrakenType.fromOrderType(limitOrder.getType()); KrakenOrderBuilder krakenOrderBuilder = KrakenStandardOrder.getLimitOrderBuilder( limitOrder.getCurrencyPair(), type, limitOrder.getLimitPrice().toPlainString(), limitOrder.getOriginalAmount()) .withOrderFlags(limitOrder.getOrderFlags()) .withLeverage(limitOrder.getLeverage()); return placeKrakenOrder(krakenOrderBuilder.buildOrder()); }