2025.10.04
This commit is contained in:
parent
2823dff56a
commit
8f3b0eb186
|
|
@ -1,3 +1,7 @@
|
|||
2025.10.04:
|
||||
. Fixed error while logging orders in new_simulated_market_order.
|
||||
. renew_tp_and_so_routine now send the take profit order first, and then the safety orders.
|
||||
|
||||
2025.10.03:
|
||||
. New broker config option: log_orders. If set to True, the orders will be logged in orders.log under logs directory.
|
||||
. New API endpoint: /toggle_log_orders.
|
||||
|
|
|
|||
|
|
@ -694,6 +694,8 @@ class Broker:
|
|||
try:
|
||||
if self.get_exchange_name()=="gateio" and side=="buy" and not amount_in_base:
|
||||
new_order = self.exchange.create_market_buy_order_with_cost(symbol, size)
|
||||
if self.log_orders:
|
||||
self.logger.log_order(f"New simulated market order: Symbol: {symbol} - Side: {side} - Size: {size} - ID: {new_order['id']} - Origin: {log}")
|
||||
else:
|
||||
order_book = self.get_order_book(symbol)
|
||||
if order_book=={}:
|
||||
|
|
|
|||
2
main.py
2
main.py
|
|
@ -18,7 +18,7 @@ import exchange_wrapper
|
|||
import trader
|
||||
|
||||
|
||||
version = "2025.10.03"
|
||||
version = "2025.10.04"
|
||||
|
||||
'''
|
||||
Color definitions. If you want to change them, check the reference at https://en.wikipedia.org/wiki/ANSI_escape_code#Colors
|
||||
|
|
|
|||
21
trader.py
21
trader.py
|
|
@ -1019,16 +1019,6 @@ class trader:
|
|||
#Cooldown
|
||||
time.sleep(self.broker.get_wait_before_new_safety_order())
|
||||
|
||||
#Send new SO(s)
|
||||
#Do not send new orders if the max amount is reached or surpassed.
|
||||
#It can happen if the max amount of concurrent orders is modified through an API call.
|
||||
max_orders = self.config.get_concurrent_safety_orders() if not self.status.get_is_boosted() else self.config.get_boosted_concurrent_safety_orders()
|
||||
if len(self.status.get_safety_orders())<max_orders:
|
||||
self.send_new_safety_order_batch(max_orders-len(self.status.get_safety_orders()))
|
||||
|
||||
#Cooldown
|
||||
time.sleep(self.broker.get_wait_before_new_safety_order())
|
||||
|
||||
#Send new TP order
|
||||
if self.send_new_tp_order()==1:
|
||||
error_string = "Problems sending the new take profit order"
|
||||
|
|
@ -1036,6 +1026,15 @@ class trader:
|
|||
self.status.set_pause_reason(error_string)
|
||||
return 4
|
||||
|
||||
#Cooldown
|
||||
time.sleep(self.broker.get_wait_before_new_safety_order())
|
||||
|
||||
#Send new safety order(s)
|
||||
#Do not send new orders if the max amount is reached or surpassed.
|
||||
max_orders = self.config.get_concurrent_safety_orders() if not self.status.get_is_boosted() else self.config.get_boosted_concurrent_safety_orders()
|
||||
if len(self.status.get_safety_orders())<max_orders:
|
||||
self.send_new_safety_order_batch(max_orders-len(self.status.get_safety_orders()))
|
||||
|
||||
#Update status dict
|
||||
self.update_status(True)
|
||||
|
||||
|
|
@ -1196,9 +1195,9 @@ class trader:
|
|||
filled_orders = []
|
||||
for id in filled_ids:
|
||||
order = self.broker.get_order(id, self.status.get_pair())
|
||||
time.sleep(self.broker.get_wait_time())
|
||||
if order["status"]=="closed":
|
||||
filled_orders.append(order)
|
||||
time.sleep(self.broker.get_wait_time())
|
||||
if len(filled_orders)>0: #To make sure that the safety orders are actually filled (Kucoin sometimes sends incomplete order lists)
|
||||
self.status.set_safety_orders_filled(self.status.get_safety_orders_filled()+len(filled_orders))
|
||||
renew_outcome = self.renew_tp_and_so_routine(filled_orders)
|
||||
|
|
|
|||
Loading…
Reference in New Issue