Add daily loss force-flatten at configurable equity limit

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-03 12:42:13 +08:00
parent b6c3266a9e
commit 2081bf2da9
17 changed files with 850 additions and 97 deletions
+14
View File
@@ -173,6 +173,18 @@ def register(deps) -> None:
except ValueError:
flash("挂单超时无效")
return redirect(url_for("settings"))
try:
dl = float(request.form.get("daily_loss_force_close_pct", "2") or 2)
set_setting("daily_loss_force_close_pct", str(max(0.1, min(50.0, dl))))
except ValueError:
flash("日亏损强平线无效")
return redirect(url_for("settings"))
try:
sb = float(request.form.get("daily_loss_slippage_buffer_pct", "1") or 1)
set_setting("daily_loss_slippage_buffer_pct", str(max(0.0, min(20.0, sb))))
except ValueError:
flash("强平滑点预留无效")
return redirect(url_for("settings"))
flash("交易模式已保存")
elif action == "ctp":
from modules.ctp.ctp_settings import save_ctp_auto_connect, is_ctp_auto_connect_enabled
@@ -293,6 +305,8 @@ def register(deps) -> None:
small_account_margin_rec=small_account_margin_recommendations(),
trailing_be_tick_buffer=get_setting("trailing_be_tick_buffer", "2"),
pending_order_timeout_min=get_setting("pending_order_timeout_min", "5"),
daily_loss_force_close_pct=get_setting("daily_loss_force_close_pct", "2"),
daily_loss_slippage_buffer_pct=get_setting("daily_loss_slippage_buffer_pct", "1"),
nav_items=get_nav_items(get_setting),
nav_toggles=NAV_TOGGLES,
backup_dir=str(backup_dir()),