no_of_safety_orders bug
This commit is contained in:
parent
b594bd2007
commit
2e35ea9c13
|
|
@ -1,8 +1,8 @@
|
|||
next:
|
||||
. Default wait time now 0.5 seconds.
|
||||
. Now the trader supports multiple safety orders at the same time.
|
||||
. Removed endpoint /reload_safety_orders.
|
||||
. Removed forcing orders when importing a trader. Maybe it will be reinstated at a later date.
|
||||
. Removed endpoint /reload_safety_orders.
|
||||
. New endpoints: /mod_concurrent_safety orders and /mod_boosted_concurrent_safety_orders.
|
||||
|
||||
2025.08.19:
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ class Broker:
|
|||
self.broker_config = broker_config
|
||||
self.exchange = exchange
|
||||
self.last_price = 0
|
||||
self.wait_time = .5 #Default wait time for API breathing room
|
||||
self.wait_time = .5 #Default wait time for API breathing room
|
||||
self.cooldown_multiplier = 2 #Default cooldown multiplier value
|
||||
if "cooldown_multiplier" in self.broker_config:
|
||||
self.cooldown_multiplier = self.broker_config["cooldown_multiplier"]
|
||||
|
|
@ -881,12 +881,6 @@ class Broker:
|
|||
order_to_send = self.exchange.create_order(symbol,"limit",side,self.amount_to_precision(symbol,size),price)
|
||||
time.sleep(self.wait_time)
|
||||
return self.get_order(order_to_send["id"],symbol)
|
||||
#if order_to_send["amount"] is not None: # Because Kucoin etc etc
|
||||
# return self.get_order(order_to_send["id"],pair) #
|
||||
#self.logger.log_this(f"Error sending order: Null order returned",2,pair) #
|
||||
#self.cancel_order(order_to_send["id"],symbol,no_retries=True) #
|
||||
#retries-=1
|
||||
|
||||
except Exception as e:
|
||||
self.logger.log_this(f"Exception in new_limit_order - Side: {side} - Size: {size} - {self.amount_to_precision(symbol,size)} - Exception: {e}",1,symbol)
|
||||
if self.not_enough_balance_error(e):
|
||||
|
|
@ -1025,8 +1019,8 @@ class Broker:
|
|||
|
||||
:param pair: pair
|
||||
:return: step size
|
||||
|
||||
'''
|
||||
|
||||
market = self.fetch_market(pair)
|
||||
if market is None:
|
||||
return None
|
||||
|
|
@ -1126,14 +1120,9 @@ class Logger:
|
|||
|
||||
#Append to log list
|
||||
self.log_list.append(text)
|
||||
|
||||
#Trim log list
|
||||
#self.log_list = self.log_list[-self.log_list_max_length:]
|
||||
|
||||
except Exception as e:
|
||||
print("Can't write log file")
|
||||
print(e)
|
||||
|
||||
if level<1:
|
||||
self.send_tg_message(f"{self.broker_config['exchange'].capitalize()} | {pair_data}{message}",ignore_config=level==-1)
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class StatusHandler:
|
|||
"quote_spent": 0.0,
|
||||
"base_bought": 0.0,
|
||||
"so_amount": 0,
|
||||
"no_of_safety_orders": "",
|
||||
"no_of_safety_orders": 0,
|
||||
"safety_price_table": [],
|
||||
"deal_uptime": 0.0,
|
||||
"total_uptime": 0.0,
|
||||
|
|
|
|||
|
|
@ -116,6 +116,7 @@ class trader:
|
|||
self.status.set_take_profit_order(self.broker.get_empty_order())
|
||||
self.status.set_safety_orders([])
|
||||
self.status.set_safety_orders_filled(0)
|
||||
self.status.set_no_of_safety_orders(self.config.get_no_of_safety_orders())
|
||||
|
||||
#Reloads the market
|
||||
new_market_data = self.broker.fetch_market(self.status.get_pair())
|
||||
|
|
@ -1185,7 +1186,7 @@ class trader:
|
|||
tp_level = self.config.get_tp_table()[-1]
|
||||
tp_level = self.config.get_tp_level()
|
||||
elif self.config.get_tp_mode()==3: #Linear percentage table
|
||||
profit_table = self.linear_space(self.config.get_tp_level()+0.005,self.config.get_tp_level()-0.005,self.status.get_no_of_safety_orders())
|
||||
profit_table = self.linear_space(self.config.get_tp_level()+0.005,self.config.get_tp_level()-0.005,self.config.get_no_of_safety_orders())
|
||||
tp_level = profit_table[-1]
|
||||
if order_index<len(profit_table): #If more safety orders were added, instead of recalculating the whole table
|
||||
tp_level = profit_table[order_index] #it just returns the last value. Otherwise, the percentage gets very small.
|
||||
|
|
|
|||
Loading…
Reference in New Issue