case FILL_OR_KILL: limitOrder = limitOrderCreator.get(); limitOrder.addOrderFlag(BitfinexOrderFlags.FILL_OR_KILL); break; case MARGIN_FILL_OR_KILL: limitOrder = limitOrderCreator.get(); limitOrder.addOrderFlag(BitfinexOrderFlags.FILL_OR_KILL); limitOrder.addOrderFlag(BitfinexOrderFlags.MARGIN); break; case MARGIN_LIMIT: limitOrder = limitOrderCreator.get(); limitOrder.addOrderFlag(BitfinexOrderFlags.MARGIN); break; case MARGIN_STOP: case MARGIN_TRAILING_STOP: limitOrder = limitOrderCreator.get(); limitOrder.addOrderFlag(BitfinexOrderFlags.TRAILING_STOP); limitOrder.addOrderFlag(BitfinexOrderFlags.MARGIN); break; case STOP: case TRAILING_STOP: limitOrder = limitOrderCreator.get(); limitOrder.addOrderFlag(BitfinexOrderFlags.TRAILING_STOP); break; default:
@Override public String placeStopOrder(StopOrder stopOrder) throws IOException { if (stopOrder.getLimitPrice() != null) { throw new NotYetImplementedForExchangeException( "Limit stops are not supported by the Bitfinex v1 API."); } LimitOrder limitOrder = new LimitOrder( stopOrder.getType(), stopOrder.getOriginalAmount(), stopOrder.getCurrencyPair(), stopOrder.getId(), stopOrder.getTimestamp(), stopOrder.getStopPrice()); limitOrder.setOrderFlags(stopOrder.getOrderFlags()); limitOrder.setLeverage(stopOrder.getLeverage()); limitOrder.addOrderFlag(BitfinexOrderFlags.STOP); return placeLimitOrder(limitOrder); }
case FILL_OR_KILL: limitOrder = limitOrderCreator.get(); limitOrder.addOrderFlag(BitfinexOrderFlags.FILL_OR_KILL); break; case MARGIN_FILL_OR_KILL: limitOrder = limitOrderCreator.get(); limitOrder.addOrderFlag(BitfinexOrderFlags.FILL_OR_KILL); limitOrder.addOrderFlag(BitfinexOrderFlags.MARGIN); break; case MARGIN_LIMIT: limitOrder = limitOrderCreator.get(); limitOrder.addOrderFlag(BitfinexOrderFlags.MARGIN); break; case MARGIN_STOP: case MARGIN_TRAILING_STOP: limitOrder = limitOrderCreator.get(); limitOrder.addOrderFlag(BitfinexOrderFlags.TRAILING_STOP); limitOrder.addOrderFlag(BitfinexOrderFlags.MARGIN); break; case STOP: case TRAILING_STOP: limitOrder = limitOrderCreator.get(); limitOrder.addOrderFlag(BitfinexOrderFlags.TRAILING_STOP); break; default:
@Override public String placeStopOrder(StopOrder stopOrder) throws IOException { if (stopOrder.getLimitPrice() != null) { throw new NotYetImplementedForExchangeException( "Limit stops are not supported by the Bitfinex v1 API."); } LimitOrder limitOrder = new LimitOrder( stopOrder.getType(), stopOrder.getOriginalAmount(), stopOrder.getCurrencyPair(), stopOrder.getId(), stopOrder.getTimestamp(), stopOrder.getStopPrice()); limitOrder.setOrderFlags(stopOrder.getOrderFlags()); limitOrder.setLeverage(stopOrder.getLeverage()); limitOrder.addOrderFlag(BitfinexOrderFlags.STOP); return placeLimitOrder(limitOrder); }