fix币本位下单保留按可用余额打满,不再被归一成指定张数。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-10-09 00:48:20 +08:00
parent ed4c650e4b
commit 678833be45
2 changed files with 18 additions and 5 deletions
+1 -1
View File
@@ -387,7 +387,7 @@ def calc_order_size(
ct_mult: float,
min_sz: int,
budget_usdc: float | None = None,
budget_buffer: float = 0.95,
budget_buffer: float = 1.0,
eth_amount: float | None = None,
sheets: int | None = None,
budget_cap: float | None = None,
+17 -4
View File
@@ -250,9 +250,22 @@ def _compound_full_enabled() -> bool:
def _normalize_size_mode(mode: str) -> tuple[str, str | None]:
"""USDC 预算/全仓模式已下线;统一落到指定张数."""
m = (mode or "sheets").strip() or "sheets"
"""币本位保留打满/复利;USDC 预算模式已下线,落到指定张数."""
m = (mode or "").strip()
if m == "eth_amount":
m = "eth"
coin = False
try:
from lib.options.options_margin_mode_lib import is_coin_margin_mode
coin = bool(is_coin_margin_mode())
except Exception:
coin = False
if not m:
return ("budget_full" if coin else "sheets"), None
if m in ("compound_full", "budget_full"):
if coin:
return m, None
return "sheets", "USDC 期权模式已下线,已改用指定张数"
return m, None
@@ -587,7 +600,7 @@ def register_options_routes(app: Flask, cfg: dict[str, Any]) -> None:
ask = q.get("ask")
ct_mult = q.get("ct_mult") or 0.01
min_sz = q.get("min_sz") or 1
mode = (request.args.get("mode") or "sheets").strip()
mode = (request.args.get("mode") or "").strip()
sheet_count = None
try:
if request.args.get("sheets"):
@@ -766,7 +779,7 @@ def register_options_routes(app: Flask, cfg: dict[str, Any]) -> None:
return jsonify({"ok": False, "msg": f"交易模式校验失败: {e}", "can_open": False})
data = request.get_json(silent=True) or {}
inst_id = (data.get("inst_id") or "").strip()
mode = (data.get("mode") or "sheets").strip()
mode = (data.get("mode") or "").strip()
mode, mode_note = _normalize_size_mode(mode)
signal_note = (data.get("signal_note") or "").strip()
# 中控条件单占用时禁止手动开仓