Read risk_loss_pct exit base and option lev from strategy settings.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -199,6 +199,23 @@ async def fleet_status(_tok: Annotated[str, Depends(require_fleet_token)]) -> di
|
||||
"upl": pos.get("option_upl"),
|
||||
}
|
||||
)
|
||||
|
||||
# 风控展示字段以引擎 state 为准;缺省时回落 settings 表(避免旧进程漏字段)
|
||||
db = get_db()
|
||||
|
||||
def _sf(key: str, default: float) -> float:
|
||||
try:
|
||||
return float(db.get_setting(key, str(default)) or default)
|
||||
except Exception:
|
||||
return float(default)
|
||||
|
||||
def _pick(key: str, default: float | None = None):
|
||||
if key in st and st.get(key) is not None:
|
||||
return st.get(key)
|
||||
if default is None:
|
||||
return None
|
||||
return _sf(key, default)
|
||||
|
||||
return {
|
||||
"ok": True,
|
||||
"mode": settings.mode,
|
||||
@@ -223,19 +240,21 @@ async def fleet_status(_tok: Annotated[str, Depends(require_fleet_token)]) -> di
|
||||
"exit_mode": st.get("exit_mode"),
|
||||
"exit_target_usdt": st.get("exit_target_usdt"),
|
||||
"net_profit_target": st.get("net_profit_target"),
|
||||
"premium_exit_multiple": st.get("premium_exit_multiple"),
|
||||
"leverage": st.get("leverage"),
|
||||
"min_option_leverage": st.get("min_option_leverage"),
|
||||
"premium_exit_multiple": _pick("premium_exit_multiple"),
|
||||
"leverage": _pick("leverage", float(settings.leverage)),
|
||||
"min_option_leverage": _pick(
|
||||
"min_option_leverage", float(settings.min_option_leverage)
|
||||
),
|
||||
"perp_margin_mode": st.get("perp_margin_mode"),
|
||||
"perp_qty_eth": st.get("perp_qty_eth"),
|
||||
"option_qty_eth": st.get("option_qty_eth"),
|
||||
"sizing_mode": st.get("sizing_mode"),
|
||||
"risk_last_k": st.get("risk_last_k"),
|
||||
"risk_sizing_locked": st.get("risk_sizing_locked"),
|
||||
"risk_loss_pct": st.get("risk_loss_pct"),
|
||||
"risk_perp_unit": st.get("risk_perp_unit"),
|
||||
"risk_option_unit": st.get("risk_option_unit"),
|
||||
"risk_exit_unit": st.get("risk_exit_unit"),
|
||||
"risk_loss_pct": _pick("risk_loss_pct", 1.0),
|
||||
"risk_perp_unit": _pick("risk_perp_unit", 1.0),
|
||||
"risk_option_unit": _pick("risk_option_unit", 2.0),
|
||||
"risk_exit_unit": _pick("risk_exit_unit", 15.0),
|
||||
},
|
||||
"position": {
|
||||
"status": pos.get("status") or ("open" if pos.get("has_position") else "flat"),
|
||||
|
||||
Reference in New Issue
Block a user