Polish risk sizing: 2dp money preview, editable ratio/exit, plan badge.
Exit unit and perp/option units scale with k; plan page shows 以损定仓. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -54,6 +54,9 @@ KEYS = (
|
||||
"risk_loss_usdt",
|
||||
"risk_capital_source",
|
||||
"risk_manual_capital_usdt",
|
||||
"risk_perp_unit",
|
||||
"risk_option_unit",
|
||||
"risk_exit_unit",
|
||||
)
|
||||
|
||||
|
||||
@@ -88,6 +91,9 @@ class StrategySettingsBody(BaseModel):
|
||||
default=None, pattern="^(trading_account|manual)$"
|
||||
)
|
||||
risk_manual_capital_usdt: float | None = Field(default=None, ge=1, le=100_000_000)
|
||||
risk_perp_unit: float | None = Field(default=None, ge=0.01, le=100)
|
||||
risk_option_unit: float | None = Field(default=None, ge=0.01, le=100)
|
||||
risk_exit_unit: float | None = Field(default=None, ge=0.1, le=1_000_000)
|
||||
|
||||
|
||||
def _as_bool(raw: str | None, default: bool) -> bool:
|
||||
@@ -244,6 +250,9 @@ def _read_settings() -> dict:
|
||||
"risk_manual_capital_usdt": float(
|
||||
db.get_setting("risk_manual_capital_usdt", "10000") or 10000
|
||||
),
|
||||
"risk_perp_unit": float(db.get_setting("risk_perp_unit", "1") or 1),
|
||||
"risk_option_unit": float(db.get_setting("risk_option_unit", "2") or 2),
|
||||
"risk_exit_unit": float(db.get_setting("risk_exit_unit", "15") or 15),
|
||||
"risk_sizing_preview": _risk_preview_safe(),
|
||||
"exchange": rt.exchange,
|
||||
"perp_inst_id": rt.perp_inst_id,
|
||||
|
||||
Reference in New Issue
Block a user