Added limit rating for bitfinex

This commit is contained in:
b00lean 2017-09-06 15:47:34 +02:00
parent 057c246cfd
commit aaf3f5bad3
1 changed files with 15 additions and 5 deletions

View File

@ -123,6 +123,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
private BigDecimal getExchangeRateLastSync(String cryptoCurrency, String cashCurrency) { private BigDecimal getExchangeRateLastSync(String cryptoCurrency, String cashCurrency) {
MarketDataService marketDataService = getExchange().getMarketDataService(); MarketDataService marketDataService = getExchange().getMarketDataService();
try { try {
waitForPossibleCall();
Ticker ticker = marketDataService.getTicker(new CurrencyPair(cryptoCurrency,cashCurrency)); Ticker ticker = marketDataService.getTicker(new CurrencyPair(cryptoCurrency,cashCurrency));
return ticker.getLast(); return ticker.getLast();
} catch (IOException e) { } catch (IOException e) {
@ -139,6 +140,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
log.debug("Calling Bitfinex exchange (getBalance)"); log.debug("Calling Bitfinex exchange (getBalance)");
try { try {
waitForPossibleCall();
return getExchange().getAccountService().getAccountInfo().getWallet().getBalance(Currency.getInstance(cryptoCurrency)).getAvailable(); return getExchange().getAccountService().getAccountInfo().getWallet().getBalance(Currency.getInstance(cryptoCurrency)).getAvailable();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
@ -154,6 +156,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
log.debug("Calling Bitfinex exchange (getBalance)"); log.debug("Calling Bitfinex exchange (getBalance)");
try { try {
waitForPossibleCall();
return getExchange().getAccountService().getAccountInfo().getWallet().getBalance(Currency.getInstance(fiatCurrency)).getAvailable(); return getExchange().getAccountService().getAccountInfo().getWallet().getBalance(Currency.getInstance(fiatCurrency)).getAvailable();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
@ -172,6 +175,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
AccountService accountService = getExchange().getAccountService(); AccountService accountService = getExchange().getAccountService();
try { try {
waitForPossibleCall();
String result = accountService.withdrawFunds(Currency.getInstance(cryptoCurrency), amount, destinationAddress); String result = accountService.withdrawFunds(Currency.getInstance(cryptoCurrency), amount, destinationAddress);
if (result == null) { if (result == null) {
log.warn("Bitfinex exchange (withdrawFunds) failed with 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); MarketOrder order = new MarketOrder(Order.OrderType.BID, amount, currencyPair);
log.debug("marketOrder = " + order); log.debug("marketOrder = " + order);
waitForPossibleCall();
String orderId = tradeService.placeMarketOrder(order); String orderId = tradeService.placeMarketOrder(order);
log.debug("orderId = " + orderId + " " + order); log.debug("orderId = " + orderId + " " + order);
@ -228,6 +232,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
while (!orderProcessed && numberOfChecks < 10) { while (!orderProcessed && numberOfChecks < 10) {
boolean orderFound = false; boolean orderFound = false;
OpenOrders openOrders = tradeService.getOpenOrders(); OpenOrders openOrders = tradeService.getOpenOrders();
waitForPossibleCall();
for (LimitOrder openOrder : openOrders.getOpenOrders()) { for (LimitOrder openOrder : openOrders.getOpenOrders()) {
log.debug("openOrder = " + openOrder); log.debug("openOrder = " + openOrder);
if (orderId.equals(openOrder.getId())) { if (orderId.equals(openOrder.getId())) {
@ -278,6 +283,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
} }
AccountService accountService = getExchange().getAccountService(); AccountService accountService = getExchange().getAccountService();
try { try {
waitForPossibleCall();
return accountService.requestDepositAddress(Currency.getInstance(cryptoCurrency)); return accountService.requestDepositAddress(Currency.getInstance(cryptoCurrency));
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
@ -307,7 +313,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
MarketOrder order = new MarketOrder(Order.OrderType.ASK, cryptoAmount, currencyPair); MarketOrder order = new MarketOrder(Order.OrderType.ASK, cryptoAmount, currencyPair);
log.debug("marketOrder = " + order); log.debug("marketOrder = " + order);
waitForPossibleCall();
String orderId = tradeService.placeMarketOrder(order); String orderId = tradeService.placeMarketOrder(order);
log.debug("orderId = " + orderId + " " + order); log.debug("orderId = " + orderId + " " + order);
@ -323,6 +329,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
int numberOfChecks = 0; int numberOfChecks = 0;
while (!orderProcessed && numberOfChecks < 10) { while (!orderProcessed && numberOfChecks < 10) {
boolean orderFound = false; boolean orderFound = false;
waitForPossibleCall();
OpenOrders openOrders = tradeService.getOpenOrders(); OpenOrders openOrders = tradeService.getOpenOrders();
for (LimitOrder openOrder : openOrders.getOpenOrders()) { for (LimitOrder openOrder : openOrders.getOpenOrders()) {
log.debug("openOrder = " + openOrder); log.debug("openOrder = " + openOrder);
@ -398,7 +405,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
MarketOrder order = new MarketOrder(Order.OrderType.BID, amount, currencyPair); MarketOrder order = new MarketOrder(Order.OrderType.BID, amount, currencyPair);
log.debug("marketOrder = " + order); log.debug("marketOrder = " + order);
waitForPossibleCall();
orderId = tradeService.placeMarketOrder(order); orderId = tradeService.placeMarketOrder(order);
log.debug("orderId = " + orderId + " " + order); log.debug("orderId = " + orderId + " " + order);
@ -437,6 +444,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
log.debug("Open orders:"); log.debug("Open orders:");
boolean orderFound = false; boolean orderFound = false;
try { try {
waitForPossibleCall();
OpenOrders openOrders = tradeService.getOpenOrders(); OpenOrders openOrders = tradeService.getOpenOrders();
for (LimitOrder openOrder : openOrders.getOpenOrders()) { for (LimitOrder openOrder : openOrders.getOpenOrders()) {
log.debug("openOrder = " + openOrder); log.debug("openOrder = " + openOrder);
@ -521,7 +529,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
MarketOrder order = new MarketOrder(Order.OrderType.ASK, cryptoAmount, currencyPair); MarketOrder order = new MarketOrder(Order.OrderType.ASK, cryptoAmount, currencyPair);
log.debug("marketOrder = " + order); log.debug("marketOrder = " + order);
waitForPossibleCall();
orderId = tradeService.placeMarketOrder(order); orderId = tradeService.placeMarketOrder(order);
log.debug("orderId = " + orderId + " " + order); log.debug("orderId = " + orderId + " " + order);
@ -560,6 +568,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
log.debug("Open orders:"); log.debug("Open orders:");
boolean orderFound = false; boolean orderFound = false;
try { try {
waitForPossibleCall();
OpenOrders openOrders = tradeService.getOpenOrders(); OpenOrders openOrders = tradeService.getOpenOrders();
for (LimitOrder openOrder : openOrders.getOpenOrders()) { for (LimitOrder openOrder : openOrders.getOpenOrders()) {
log.debug("openOrder = " + openOrder); log.debug("openOrder = " + openOrder);
@ -641,6 +650,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
MarketDataService marketDataService = getExchange().getMarketDataService(); MarketDataService marketDataService = getExchange().getMarketDataService();
try { try {
CurrencyPair currencyPair = new CurrencyPair(cryptoCurrency, fiatCurrency); CurrencyPair currencyPair = new CurrencyPair(cryptoCurrency, fiatCurrency);
waitForPossibleCall();
OrderBook orderBook = marketDataService.getOrderBook(currencyPair); OrderBook orderBook = marketDataService.getOrderBook(currencyPair);
List<LimitOrder> asks = orderBook.getAsks(); List<LimitOrder> asks = orderBook.getAsks();
BigDecimal targetAmount = cryptoAmount; BigDecimal targetAmount = cryptoAmount;
@ -700,7 +710,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
MarketDataService marketDataService = getExchange().getMarketDataService(); MarketDataService marketDataService = getExchange().getMarketDataService();
try { try {
CurrencyPair currencyPair = new CurrencyPair(cryptoCurrency, fiatCurrency); CurrencyPair currencyPair = new CurrencyPair(cryptoCurrency, fiatCurrency);
waitForPossibleCall();
OrderBook orderBook = marketDataService.getOrderBook(currencyPair); OrderBook orderBook = marketDataService.getOrderBook(currencyPair);
List<LimitOrder> bids = orderBook.getBids(); List<LimitOrder> bids = orderBook.getBids();