2025.08.12

This commit is contained in:
Nicolás Sánchez 2025-08-12 11:11:50 -03:00
parent 18d2484a60
commit 912bd77589
4 changed files with 22 additions and 14 deletions

View File

@ -1,3 +1,8 @@
2025.08.12:
. Default "check_slippage" value now True.
. Removed capitalization from exchange name when sending trader quit notification.
. Exception handling when sending Telegram messages.
2025.08.10: 2025.08.10:
. Added exchange name to the trader quit notification. . Added exchange name to the trader quit notification.
. New endpoint: mod_default_order_size. It modifies the default order size of a broker. . New endpoint: mod_default_order_size. It modifies the default order size of a broker.

View File

@ -26,7 +26,7 @@ class ConfigHandler:
"tp_mode": 3, "tp_mode": 3,
"tp_level": 1.025, "tp_level": 1.025,
"tp_table": [], "tp_table": [],
"check_slippage": False, "check_slippage": True,
"programmed_stop": False, "programmed_stop": False,
"programmed_stop_time": 0, "programmed_stop_time": 0,
"boosted_deals_range": 4, "boosted_deals_range": 4,

View File

@ -1110,16 +1110,19 @@ class Logger:
''' '''
Sends a Telegram message Sends a Telegram message
''' '''
try:
tg_credentials = credentials.get_credentials("telegram") tg_credentials = credentials.get_credentials("telegram")
send_text = f"https://api.telegram.org/bot{tg_credentials['token']}/sendMessage?chat_id={tg_credentials['chatid']}&parse_mode=Markdown&text={message}" send_text = f"https://api.telegram.org/bot{tg_credentials['token']}/sendMessage?chat_id={tg_credentials['chatid']}&parse_mode=Markdown&text={message}"
output = None output = None
if self.broker_config["telegram"] or ignore_config: if self.broker_config["telegram"] or ignore_config:
output = requests.get(send_text,timeout=5).json() #5 seconds timeout. This could also be a tunable. output = requests.get(send_text,timeout=5).json() #5 seconds timeout. This could also be a tunable.
if not output["ok"]: if not output["ok"]:
self.log_this(f"Error in send_tg_message: {output}") self.log_this(f"Error in send_tg_message: {output}")
return 1 return 1
return 0 return 0
except Exception as e:
self.log_this(f"Error in send_tg_message: {e}",1)
return 1
def log_this(self,message,level=2,pair=None): def log_this(self,message,level=2,pair=None):

View File

@ -16,7 +16,7 @@ import exchange_wrapper
import trader import trader
version = "2025.08.10" version = "2025.08.12"
''' '''
Color definitions. If you want to change them, check the reference at https://en.wikipedia.org/wiki/ANSI_escape_code#Colors Color definitions. If you want to change them, check the reference at https://en.wikipedia.org/wiki/ANSI_escape_code#Colors
@ -269,8 +269,8 @@ def main_loop():
restart_pair_no_json(instance.base,instance.quote) restart_pair_no_json(instance.base,instance.quote)
if instance.quit: if instance.quit:
#Here, check if a duster is needed #Here, check if a duster is needed
broker.logger.log_this(f"{broker.get_exchange_name().capitalize()} | Quit flag raised, removing trader.",0,instance.config.get_pair()) broker.logger.log_this(f"{broker.get_exchange_name()} | Quit flag raised, removing trader.",0,instance.config.get_pair())
broker.logger.log_this(f"{broker.get_exchange_name().capitalize()} | Quit flag raised, removing trader: {instance.config.get_pair()}",-1) #Forced message to TG broker.logger.log_this(f"{broker.get_exchange_name()} | Quit flag raised, removing trader: {instance.config.get_pair()}",-1) #Forced message to TG
if f"{instance.base}{instance.quote}" in tickers: if f"{instance.base}{instance.quote}" in tickers:
tickers.remove(f"{instance.base}{instance.quote}") tickers.remove(f"{instance.base}{instance.quote}")
broker.remove_pair_from_config(f"{instance.base}{instance.quote}") broker.remove_pair_from_config(f"{instance.base}{instance.quote}")