From 74e24e6249d3886f50b0db7010c01684fbfe5aa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20S=C3=A1nchez?= Date: Mon, 18 Aug 2025 10:19:33 -0300 Subject: [PATCH] bugfix --- exchange_wrapper.py | 2 +- main.py | 1 - trader.py | 4 +++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/exchange_wrapper.py b/exchange_wrapper.py index 41e5b37..9d341df 100755 --- a/exchange_wrapper.py +++ b/exchange_wrapper.py @@ -403,7 +403,7 @@ class Broker: retries = self.retries while retries>0: try: - self.last_price = self.exchange.fetch_ticker(symbol) + self.last_price = self.exchange.fetch_ticker(symbol)["close"] return self.last_price except Exception as e: self.logger.log_this(f"Exception in get_ticker_price: {e}",1) diff --git a/main.py b/main.py index 5a99c9a..4db6157 100644 --- a/main.py +++ b/main.py @@ -1432,7 +1432,6 @@ def unwrapped_add_pair(base,quote): broker.logger.log_this(f"Initializing trader",2,symbol) add_instance(base,quote) - broker.add_pair_to_config(f"{base}{quote}") broker.rewrite_config_file(backup=True) diff --git a/trader.py b/trader.py index 2e8c90d..180c2f7 100755 --- a/trader.py +++ b/trader.py @@ -440,6 +440,7 @@ class trader: if self.config.get_is_short(): #Short traders do not need cleanup return 0 + balance_to_clean = self.fetch_free_base() if balance_to_clean is None: self.broker.logger.log_this("Can't fetch free base",1,self.config.get_pair()) @@ -447,10 +448,11 @@ class trader: #balance_to_clean /= 2 #Maybe it's a good idea, sort of DCAing the dust. min_base_size = self.broker.get_min_base_size(self.config.get_pair()) minimum_cleanup_size = self.status.get_safety_order()["amount"]*2 # type: ignore + if balance_to_clean-minimum_cleanup_size >= min_base_size: self.broker.logger.log_this(f"Balance to clean: {balance_to_clean-minimum_cleanup_size} {self.base}",2,self.config.get_pair()) self.broker.logger.log_this("Sending cleanup order...",2,self.config.get_pair()) - cleanup_order = self.broker.new_limit_order(self.config.get_pair(),balance_to_clean-minimum_cleanup_size,"sell",self.status.get_take_profit_price()) + cleanup_order = self.broker.new_limit_order(self.config.get_pair(),balance_to_clean-minimum_cleanup_size,"sell",self.status.get_take_profit_price()) if cleanup_order not in [None,self.broker.get_empty_order()]: self.broker.logger.log_this("Cleanup successful",2,self.config.get_pair()) return 0