fix币本位下单保留按可用余额打满,不再被归一成指定张数。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -387,7 +387,7 @@ def calc_order_size(
|
|||||||
ct_mult: float,
|
ct_mult: float,
|
||||||
min_sz: int,
|
min_sz: int,
|
||||||
budget_usdc: float | None = None,
|
budget_usdc: float | None = None,
|
||||||
budget_buffer: float = 0.95,
|
budget_buffer: float = 1.0,
|
||||||
eth_amount: float | None = None,
|
eth_amount: float | None = None,
|
||||||
sheets: int | None = None,
|
sheets: int | None = None,
|
||||||
budget_cap: float | None = None,
|
budget_cap: float | None = None,
|
||||||
|
|||||||
@@ -250,9 +250,22 @@ def _compound_full_enabled() -> bool:
|
|||||||
|
|
||||||
|
|
||||||
def _normalize_size_mode(mode: str) -> tuple[str, str | None]:
|
def _normalize_size_mode(mode: str) -> tuple[str, str | None]:
|
||||||
"""USDC 预算/全仓模式已下线;统一落到指定张数."""
|
"""币本位保留打满/复利;USDC 预算模式已下线,落到指定张数."""
|
||||||
m = (mode or "sheets").strip() or "sheets"
|
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 m in ("compound_full", "budget_full"):
|
||||||
|
if coin:
|
||||||
|
return m, None
|
||||||
return "sheets", "USDC 期权模式已下线,已改用指定张数"
|
return "sheets", "USDC 期权模式已下线,已改用指定张数"
|
||||||
return m, None
|
return m, None
|
||||||
|
|
||||||
@@ -587,7 +600,7 @@ def register_options_routes(app: Flask, cfg: dict[str, Any]) -> None:
|
|||||||
ask = q.get("ask")
|
ask = q.get("ask")
|
||||||
ct_mult = q.get("ct_mult") or 0.01
|
ct_mult = q.get("ct_mult") or 0.01
|
||||||
min_sz = q.get("min_sz") or 1
|
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
|
sheet_count = None
|
||||||
try:
|
try:
|
||||||
if request.args.get("sheets"):
|
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})
|
return jsonify({"ok": False, "msg": f"交易模式校验失败: {e}", "can_open": False})
|
||||||
data = request.get_json(silent=True) or {}
|
data = request.get_json(silent=True) or {}
|
||||||
inst_id = (data.get("inst_id") or "").strip()
|
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)
|
mode, mode_note = _normalize_size_mode(mode)
|
||||||
signal_note = (data.get("signal_note") or "").strip()
|
signal_note = (data.get("signal_note") or "").strip()
|
||||||
# 中控条件单占用时禁止手动开仓
|
# 中控条件单占用时禁止手动开仓
|
||||||
|
|||||||
Reference in New Issue
Block a user