Fix semi moneyness reset and show Call/Put ladder by view.

Use dirty ref so refresh cannot overwrite unsaved params; ladder fetches books for the selected side.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-08-08 14:13:37 +08:00
parent d98bf46549
commit 58c12aa160
4 changed files with 149 additions and 107 deletions
+4 -3
View File
@@ -21,14 +21,15 @@ async def market_snapshot(_user: Annotated[str, Depends(require_user)]) -> dict:
@router.get("/option-ladder")
async def market_option_ladder(
_user: Annotated[str, Depends(require_user)],
wings: int = Query(default=4, ge=1, le=12),
wings: int = Query(default=5, ge=1, le=12),
side: str = Query(default="call", pattern="^(call|put)$"),
) -> dict:
"""半自动页 T 型报价ATM 上下各 wings 档。"""
"""半自动页单边报价列表ATM 上下各 wings 档side=call|put"""
gw = get_gateway()
ladder = getattr(gw, "option_ladder", None)
if not callable(ladder):
raise HTTPException(status_code=501, detail="当前会话不支持 option-ladder")
return ladder(wings=wings)
return ladder(wings=wings, side=side)
@router.post("/realign")