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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user