Show semi risk-based open size from ask and unit ratio.

Semi sizing uses market ask with semi units; Plan panel previews option/perp qty under the form.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-08-08 14:27:19 +08:00
parent 7db8b724ac
commit b09d1b0886
9 changed files with 343 additions and 44 deletions
+7
View File
@@ -83,10 +83,15 @@ def size_and_gate(
led = Ledger(database)
semi_perp = None
semi_opt = None
semi_exit = None
semi_basis = None
if is_semi_auto(led):
sp = read_semi_params(led)
semi_perp = float(sp["perp_unit"])
semi_opt = float(sp["option_unit"])
semi_exit = float(sp["perp_exit_unit"])
# 半自动以损定仓:按盘口卖一推期权量,再按配比乘 k 得永续量
semi_basis = "actual"
if not is_risk_based(led):
# 手动仓:半自动直接写入 永续:期权 配比名义
database.set_setting("perp_qty_eth", f"{semi_perp:.4f}")
@@ -97,6 +102,8 @@ def size_and_gate(
db=database,
perp_unit=semi_perp,
option_unit=semi_opt,
exit_unit=semi_exit,
leverage_basis=semi_basis,
)
if not rs.ok:
return OpenPrepResult(ok=False, detail=rs.detail, sizing_detail=rs.detail)