From c9f186e760c4d9a7be9c4c24a1a8bca82c347a67 Mon Sep 17 00:00:00 2001 From: Sourcery AI <> Date: Sat, 21 Jan 2023 05:06:00 +0000 Subject: [PATCH] 'Refactored by Sourcery' --- thewife/__main__.py | 2 - thewife/indicator.py | 11 +--- thewife/trade.py | 134 ++++++++++++++++++++++++++++++++++--------- 3 files changed, 110 insertions(+), 37 deletions(-) diff --git a/thewife/__main__.py b/thewife/__main__.py index 92586ad..d5d35c1 100644 --- a/thewife/__main__.py +++ b/thewife/__main__.py @@ -87,8 +87,6 @@ def main(): parameter['upper']): trade.sell() break - else: - pass except KeyboardInterrupt: quit() diff --git a/thewife/indicator.py b/thewife/indicator.py index 18c070c..3f557e6 100644 --- a/thewife/indicator.py +++ b/thewife/indicator.py @@ -89,9 +89,6 @@ def compute_profit(params): logger.info('\tPeriod: ' + str(params['period'])) logger.info('\tLower threshold: ' + str(params['lower'])) logger.info('\tUpper threshold: ' + str(params['upper'])) - else: - pass - data = self.__compute_indicator( period=params['period'], lower=params['lower'], @@ -185,10 +182,8 @@ def indicator(self): # refresh candlestick self.ohlcv = self.__fetch_ohlcv() - # compute signal with best parameter - data = self.__compute_indicator( + return self.__compute_indicator( period=self.setting['parameter']['period'], lower=self.setting['parameter']['lower'], - upper=self.setting['parameter']['upper']) - - return data + upper=self.setting['parameter']['upper'], + ) diff --git a/thewife/trade.py b/thewife/trade.py index 5423f58..8006dab 100644 --- a/thewife/trade.py +++ b/thewife/trade.py @@ -62,11 +62,31 @@ def amount(x): price = self.__buy_price try: - logger.info('Attempt to buy ' + target + ' @ ' + - '{0:.8f}'.format(price) + ' ' + base) - - self.__notify('Attempt to BUY ' + target + ' @ ' + - '{0:.8f}'.format(price) + ' ' + base) + logger.info( + ( + ( + ( + f'Attempt to buy {target} @ ' + + '{0:.8f}'.format(price) + ) + + ' ' + ) + + base + ) + ) + + self.__notify( + ( + ( + ( + f'Attempt to BUY {target} @ ' + + '{0:.8f}'.format(price) + ) + + ' ' + ) + + base + ) + ) left = self.funds order = auth.create_limit_buy_order(self.pair, @@ -81,7 +101,7 @@ def amount(x): remaining = order_status['remaining'] left = abs(left - order_status['cost']) - logger.info('Remaining: ' + str(remaining)) + logger.info(f'Remaining: {str(remaining)}') if (remaining != 0.0 or remaining != 0): logger.info('Buy order was partially filled') @@ -93,22 +113,42 @@ def amount(x): price = self.__buy_price - logger.info('Attempt to buy ' + target + ' @ ' + - '{0:.8f}'.format(price) + ' ' + base) + logger.info( + ( + ( + ( + f'Attempt to buy {target} @ ' + + '{0:.8f}'.format(price) + ) + + ' ' + ) + + base + ) + ) order = auth.create_limit_buy_order( order_status['symbol'], amount(left), price) - elif (remaining == 0.0 or remaining == 0): - logger.info('Successfully bought ' + target) - self.__notify('Successfully bought ' + target + ' @ ' + - '{0:.8f}'.format(price) + ' ' + base) + elif remaining in [0.0, 0]: + logger.info(f'Successfully bought {target}') + self.__notify( + ( + ( + ( + f'Successfully bought {target} @ ' + + '{0:.8f}'.format(price) + ) + + ' ' + ) + + base + ) + ) break sleep(self.refreshrate) except (ccxt.InvalidOrder, ccxt.InsufficientFunds): logger.info('Invalid order or quantity') - logger.info('Funds: ' + str(self.funds)) - logger.info('Amount: ' + str(amount(self.funds))) + logger.info(f'Funds: {str(self.funds)}') + logger.info(f'Amount: {str(amount(self.funds))}') except Exception as e: logger.exception(e) @@ -132,11 +172,31 @@ def balance(): price = self.__sell_price try: - logger.info('Attempt to sell ' + target + ' @ ' + - '{0:.8f}'.format(price) + ' ' + base) - - self.__notify('Attempt to SELL ' + target + ' @ ' + - '{0:.8f}'.format(price) + ' ' + base) + logger.info( + ( + ( + ( + f'Attempt to sell {target} @ ' + + '{0:.8f}'.format(price) + ) + + ' ' + ) + + base + ) + ) + + self.__notify( + ( + ( + ( + f'Attempt to SELL {target} @ ' + + '{0:.8f}'.format(price) + ) + + ' ' + ) + + base + ) + ) order = auth.create_limit_sell_order(self.pair, balance(), price) @@ -150,7 +210,7 @@ def balance(): id=order_id, symbol=self.pair) remaining = order_status['remaining'] - logger.info('Remaining: ' + str(remaining)) + logger.info(f'Remaining: {str(remaining)}') if remaining != 0.0 or remaining != 0: logger.info('Sell order was partially filled') @@ -159,20 +219,40 @@ def balance(): price = self.__sell_price - logger.info('Attempt to sell ' + target + ' @ ' + - '{0:.8f}'.format(price) + ' ' + base) + logger.info( + ( + ( + ( + f'Attempt to sell {target} @ ' + + '{0:.8f}'.format(price) + ) + + ' ' + ) + + base + ) + ) order = auth.create_limit_sell_order( self.pair, balance(), price) - elif remaining == 0.0 or remaining == 0: - logger.info('Successfully sold ' + target) - self.__notify('Successfully sold ' + target + ' @ ' + - '{0:.8f}'.format(price) + ' ' + base) + elif remaining in [0.0, 0]: + logger.info(f'Successfully sold {target}') + self.__notify( + ( + ( + ( + f'Successfully sold {target} @ ' + + '{0:.8f}'.format(price) + ) + + ' ' + ) + + base + ) + ) break sleep(self.refreshrate) except (ccxt.InvalidOrder, ccxt.InsufficientFunds): logger.info('Invalid order or quantity') - logger.info('Balance: ' + str(balance())) + logger.info(f'Balance: {str(balance())}') except Exception as e: logger.exception(e)