From aaf3f5bad309a43997b6b03dc2c5f034cf2247a5 Mon Sep 17 00:00:00 2001 From: b00lean Date: Wed, 6 Sep 2017 15:47:34 +0200 Subject: [PATCH] Added limit rating for bitfinex --- .../exchanges/bitfinex/BitfinexExchange.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/server_extensions_extra/src/main/java/com/generalbytes/batm/server/extensions/extra/bitcoin/exchanges/bitfinex/BitfinexExchange.java b/server_extensions_extra/src/main/java/com/generalbytes/batm/server/extensions/extra/bitcoin/exchanges/bitfinex/BitfinexExchange.java index 81a099a..6e0dc22 100644 --- a/server_extensions_extra/src/main/java/com/generalbytes/batm/server/extensions/extra/bitcoin/exchanges/bitfinex/BitfinexExchange.java +++ b/server_extensions_extra/src/main/java/com/generalbytes/batm/server/extensions/extra/bitcoin/exchanges/bitfinex/BitfinexExchange.java @@ -123,6 +123,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced private BigDecimal getExchangeRateLastSync(String cryptoCurrency, String cashCurrency) { MarketDataService marketDataService = getExchange().getMarketDataService(); try { + waitForPossibleCall(); Ticker ticker = marketDataService.getTicker(new CurrencyPair(cryptoCurrency,cashCurrency)); return ticker.getLast(); } catch (IOException e) { @@ -139,6 +140,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced log.debug("Calling Bitfinex exchange (getBalance)"); try { + waitForPossibleCall(); return getExchange().getAccountService().getAccountInfo().getWallet().getBalance(Currency.getInstance(cryptoCurrency)).getAvailable(); } catch (IOException e) { e.printStackTrace(); @@ -154,6 +156,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced log.debug("Calling Bitfinex exchange (getBalance)"); try { + waitForPossibleCall(); return getExchange().getAccountService().getAccountInfo().getWallet().getBalance(Currency.getInstance(fiatCurrency)).getAvailable(); } catch (IOException e) { e.printStackTrace(); @@ -172,6 +175,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced AccountService accountService = getExchange().getAccountService(); try { + waitForPossibleCall(); String result = accountService.withdrawFunds(Currency.getInstance(cryptoCurrency), amount, destinationAddress); if (result == null) { log.warn("Bitfinex exchange (withdrawFunds) failed with null"); @@ -211,7 +215,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced MarketOrder order = new MarketOrder(Order.OrderType.BID, amount, currencyPair); log.debug("marketOrder = " + order); - + waitForPossibleCall(); String orderId = tradeService.placeMarketOrder(order); log.debug("orderId = " + orderId + " " + order); @@ -228,6 +232,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced while (!orderProcessed && numberOfChecks < 10) { boolean orderFound = false; OpenOrders openOrders = tradeService.getOpenOrders(); + waitForPossibleCall(); for (LimitOrder openOrder : openOrders.getOpenOrders()) { log.debug("openOrder = " + openOrder); if (orderId.equals(openOrder.getId())) { @@ -278,6 +283,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced } AccountService accountService = getExchange().getAccountService(); try { + waitForPossibleCall(); return accountService.requestDepositAddress(Currency.getInstance(cryptoCurrency)); } catch (IOException e) { e.printStackTrace(); @@ -307,7 +313,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced MarketOrder order = new MarketOrder(Order.OrderType.ASK, cryptoAmount, currencyPair); log.debug("marketOrder = " + order); - + waitForPossibleCall(); String orderId = tradeService.placeMarketOrder(order); log.debug("orderId = " + orderId + " " + order); @@ -323,6 +329,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced int numberOfChecks = 0; while (!orderProcessed && numberOfChecks < 10) { boolean orderFound = false; + waitForPossibleCall(); OpenOrders openOrders = tradeService.getOpenOrders(); for (LimitOrder openOrder : openOrders.getOpenOrders()) { log.debug("openOrder = " + openOrder); @@ -398,7 +405,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced MarketOrder order = new MarketOrder(Order.OrderType.BID, amount, currencyPair); log.debug("marketOrder = " + order); - + waitForPossibleCall(); orderId = tradeService.placeMarketOrder(order); log.debug("orderId = " + orderId + " " + order); @@ -437,6 +444,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced log.debug("Open orders:"); boolean orderFound = false; try { + waitForPossibleCall(); OpenOrders openOrders = tradeService.getOpenOrders(); for (LimitOrder openOrder : openOrders.getOpenOrders()) { log.debug("openOrder = " + openOrder); @@ -521,7 +529,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced MarketOrder order = new MarketOrder(Order.OrderType.ASK, cryptoAmount, currencyPair); log.debug("marketOrder = " + order); - + waitForPossibleCall(); orderId = tradeService.placeMarketOrder(order); log.debug("orderId = " + orderId + " " + order); @@ -560,6 +568,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced log.debug("Open orders:"); boolean orderFound = false; try { + waitForPossibleCall(); OpenOrders openOrders = tradeService.getOpenOrders(); for (LimitOrder openOrder : openOrders.getOpenOrders()) { log.debug("openOrder = " + openOrder); @@ -641,6 +650,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced MarketDataService marketDataService = getExchange().getMarketDataService(); try { CurrencyPair currencyPair = new CurrencyPair(cryptoCurrency, fiatCurrency); + waitForPossibleCall(); OrderBook orderBook = marketDataService.getOrderBook(currencyPair); List asks = orderBook.getAsks(); BigDecimal targetAmount = cryptoAmount; @@ -700,7 +710,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced MarketDataService marketDataService = getExchange().getMarketDataService(); try { CurrencyPair currencyPair = new CurrencyPair(cryptoCurrency, fiatCurrency); - + waitForPossibleCall(); OrderBook orderBook = marketDataService.getOrderBook(currencyPair); List bids = orderBook.getBids();