本地监控止盈止损、盘前自动连CTP,并完善保证金与推荐手数。

- 止盈止损改为程序本地监控,触发后市价平仓(含跳空)
- 交易前30分钟后台自动连接 CTP
- 保证金占用上限默认30%,可在系统设置修改
- K线标准蜡烛图红跌绿涨,费率表全宽固定表头
- 品种推荐按保证金比例×总资金计算推荐手数

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-25 12:18:18 +08:00
parent fe1b651900
commit 9875ee6d44
15 changed files with 467 additions and 256 deletions
+9
View File
@@ -369,6 +369,8 @@ def init_db():
set_setting("position_sizing_mode", "risk")
if not get_setting("risk_percent"):
set_setting("risk_percent", "1")
if not get_setting("max_margin_pct"):
set_setting("max_margin_pct", "30")
if not get_setting("fee_source_mode"):
set_setting("fee_source_mode", "ctp")
set_setting("fee_source_mode", "ctp")
@@ -1620,6 +1622,12 @@ def settings():
except ValueError:
flash("风险比例无效")
return redirect(url_for("settings"))
try:
mp = float(request.form.get("max_margin_pct", "30") or 30)
set_setting("max_margin_pct", str(max(1.0, min(100.0, mp))))
except ValueError:
flash("保证金比例无效")
return redirect(url_for("settings"))
flash("交易模式已保存")
elif action == "nav":
items = {k: request.form.get(f"nav_{k}") == "on" for k in NAV_TOGGLES}
@@ -1659,6 +1667,7 @@ def settings():
trading_mode=get_setting("trading_mode", "simulation"),
position_sizing_mode=get_setting("position_sizing_mode", "risk"),
risk_percent=get_setting("risk_percent", "1"),
max_margin_pct=get_setting("max_margin_pct", "30"),
nav_items=get_nav_items(get_setting),
nav_toggles=NAV_TOGGLES,
)