force_restart_if_retries_exhausted
This commit is contained in:
parent
f802ddccc7
commit
a0c6f8c584
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024.11.30:
|
||||||
|
. Added "forced_restart_if_retries_exhasted" option to the config file of a trader. If set to true, the trader will always restart if the first order of the deal
|
||||||
|
does not fill. Default behavior is one restart only.
|
||||||
|
|
||||||
2024.11.26:
|
2024.11.26:
|
||||||
. Implemented deals cache to reduce db load until the new database service is implemented.
|
. Implemented deals cache to reduce db load until the new database service is implemented.
|
||||||
. Added a new API endpoint: /get_deals_cache.
|
. Added a new API endpoint: /get_deals_cache.
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,27 @@
|
||||||
{
|
{
|
||||||
"pair": "BCC/USDT", #Symbol of the market to trade.
|
"pair": "BCC/USDT", #Symbol of the market to trade.
|
||||||
"order_size": 15, #Order size of the trader.
|
"order_size": 15, #Order size of the trader.
|
||||||
"tp_level": 1.02, #Take profit percentage. (check strategy documentation for more details)
|
"tp_level": 1.02, #Take profit percentage. (check strategy documentation for more details)
|
||||||
"no_of_safety_orders": 23, #Amount of safety orders. (check strategy documentation for more details)
|
"no_of_safety_orders": 23, #Amount of safety orders. (check strategy documentation for more details)
|
||||||
"safety_order_deviance": 2, #Deviance of safety orders. (check strategy documentation for more details)
|
"safety_order_deviance": 2, #Deviance of safety orders. (check strategy documentation for more details)
|
||||||
"safety_order_scale": 0.0105, #Size multiplier of every subsequent safety order. (check strategy documentation for more details)
|
"safety_order_scale": 0.0105, #Size multiplier of every subsequent safety order. (check strategy documentation for more details)
|
||||||
"write_logs": false, #Write logs to file.
|
"write_logs": false, #Write logs to file.
|
||||||
"calculate_fees": true, #Take into account the fees when calculating profits.
|
"calculate_fees": true, #Take into account the fees when calculating profits.
|
||||||
"check_slippage": true, #Slippage checks before sending orders.
|
"check_slippage": true, #Slippage checks before sending orders.
|
||||||
"slippage_default_threshold": .03 #Default threshold.
|
"slippage_default_threshold": .03 #Default threshold.
|
||||||
"cleanup": true, #Execute the cleanup routine every trader (re)start.
|
"cleanup": true, #Execute the cleanup routine every trader (re)start.
|
||||||
"telegram": true, #Send Telegram notifications.
|
"telegram": true, #Send Telegram notifications.
|
||||||
"tp_mode": 3, #Take profit mode. (check strategy documentation for more details)
|
"tp_mode": 3, #Take profit mode. (check strategy documentation for more details)
|
||||||
"tp_table": [], #Profit percentage table. (check strategy documentation for more details)
|
"tp_table": [], #Profit percentage table. (check strategy documentation for more details)
|
||||||
"is_short": true, #Signals the trader mode (true if short, false if long)
|
"is_short": true, #Signals the trader mode (true if short, false if long)
|
||||||
"autoswitch": true, #If the trader is operating in short mode, switches to long mode if certain conditions are met. (check strategy documentation for more details)
|
"autoswitch": true, #If the trader is operating in short mode, switches to long mode if certain conditions are met. (check strategy documentation for more details)
|
||||||
"attempt_restart": true, #Attempts to restart the trader if there is an error.
|
"attempt_restart": true, #Attempts to restart the trader if there is an error.
|
||||||
"check_old_long_price": true, #Compares the current price with the old_long price. (check strategy documentation for more details)
|
"forced_restart_if_retries_exhasted": false, #Forces restart every time the initial order does not get filled. Default behavior is only one restart.
|
||||||
"dynamic_so_deviance": true, #Uses a non-linear safety order deviance algorithm. (check strategy documentation for more details)
|
"check_old_long_price": true, #Compares the current price with the old_long price. (check strategy documentation for more details)
|
||||||
"dsd_range": 1, #Range of the dynamic deviance algorithm. (check strategy documentation for more details)
|
"dynamic_so_deviance": true, #Uses a non-linear safety order deviance algorithm. (check strategy documentation for more details)
|
||||||
"bias": -0.5, #Bias of the dynamic deviance algorithm. (check strategy documentation for more details)
|
"dsd_range": 1, #Range of the dynamic deviance algorithm. (check strategy documentation for more details)
|
||||||
"boosted_deals_range": 4, #Amount of deals within a timespan to trigger the boost algorithm.
|
"bias": -0.5, #Bias of the dynamic deviance algorithm. (check strategy documentation for more details)
|
||||||
"boosted_time_range": 3600, #Timespan in seconds to count closed trades.
|
"boosted_deals_range": 4, #Amount of deals within a timespan to trigger the boost algorithm.
|
||||||
"boosted_amount": .01 #Amount of percentage to add to the profit target if boosted.
|
"boosted_time_range": 3600, #Timespan in seconds to count closed trades.
|
||||||
|
"boosted_amount": .01 #Amount of percentage to add to the profit target if boosted.
|
||||||
}
|
}
|
||||||
|
|
|
||||||
2
main.py
2
main.py
|
|
@ -22,7 +22,7 @@ In case the permissions of the certificate changes, reset them this way:
|
||||||
# ll /etc/letsencrypt/
|
# ll /etc/letsencrypt/
|
||||||
'''
|
'''
|
||||||
|
|
||||||
version = "2024.11.26"
|
version = "2024.11.30"
|
||||||
|
|
||||||
'''
|
'''
|
||||||
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
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,11 @@ class trader:
|
||||||
elif start_result==1: #If initialization fails
|
elif start_result==1: #If initialization fails
|
||||||
self.quit = True
|
self.quit = True
|
||||||
elif start_result==2: #Retries exceeded
|
elif start_result==2: #Retries exceeded
|
||||||
self.quit = True
|
if "force_restart_if_retries_exhausted" in self.config_dict and self.config_dict["force_restart_if_retries_exhausted"]:
|
||||||
|
self.pause = False
|
||||||
|
self.restart = True
|
||||||
|
else:
|
||||||
|
self.quit = True
|
||||||
elif start_result==3: #Not enough liquidity
|
elif start_result==3: #Not enough liquidity
|
||||||
self.pause = False
|
self.pause = False
|
||||||
self.restart = True
|
self.restart = True
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue