Fix OKX spot swap tgtCcy and show options trading USDT in header.

OKX requires quote_ccy/base_ccy for market orders; include trading_usdt in balance display and total funds.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-12 08:42:33 +08:00
parent 04fd84757c
commit 551c86264a
8 changed files with 70 additions and 11 deletions
+10 -2
View File
@@ -6528,6 +6528,7 @@ def render_main_page(page="trade", embed_mode=None):
options_trading_usdc = None
options_funding_usdc = None
options_funding_usdt = None
options_trading_usdt = None
if (
OKX_OPTIONS_ENABLED
and exchange_options.apiKey
@@ -6536,13 +6537,14 @@ def render_main_page(page="trade", embed_mode=None):
try:
from lib.exchange.okx_options_lib import options_header_balances
options_trading_usdc, options_funding_usdc, options_funding_usdt = options_header_balances(
options_trading_usdc, options_funding_usdc, options_funding_usdt, options_trading_usdt = options_header_balances(
exchange_options
)
except Exception:
options_trading_usdc = None
options_funding_usdc = None
options_funding_usdt = None
options_trading_usdt = None
recommended_capital = get_recommended_capital(current_capital)
key_list = (
conn.execute("SELECT * FROM key_monitors").fetchall() if plan.key_list else []
@@ -6675,10 +6677,12 @@ def render_main_page(page="trade", embed_mode=None):
options_trading_usdc,
options_funding_usdc,
options_funding_usdt,
options_trading_usdt,
),
options_funding_usdc=options_funding_usdc,
options_funding_usdt=options_funding_usdt,
options_trading_usdc=options_trading_usdc,
options_trading_usdt=options_trading_usdt,
trading_day=trading_day,
daily_start_capital=DAILY_START_CAPITAL,
current_capital=current_capital,
@@ -6887,11 +6891,12 @@ def api_account_snapshot():
options_trading_usdc = None
options_funding_usdc = None
options_funding_usdt = None
options_trading_usdt = None
if OKX_OPTIONS_ENABLED and exchange_options.apiKey:
try:
from lib.exchange.okx_options_lib import options_header_balances
options_trading_usdc, options_funding_usdc, options_funding_usdt = options_header_balances(
options_trading_usdc, options_funding_usdc, options_funding_usdt, options_trading_usdt = options_header_balances(
exchange_options,
force=force_refresh,
)
@@ -6899,6 +6904,7 @@ def api_account_snapshot():
options_trading_usdc = None
options_funding_usdc = None
options_funding_usdt = None
options_trading_usdt = None
recommended_capital = get_recommended_capital(current_capital)
from lib.strategy.strategy_trade_labels import count_position_limit_active_monitors
@@ -6954,12 +6960,14 @@ def api_account_snapshot():
"options_funding_usdc": options_funding_usdc,
"options_funding_usdt": options_funding_usdt,
"options_trading_usdc": options_trading_usdc,
"options_trading_usdt": options_trading_usdt,
"total_funds": total_funds_usdt(
funding_usdt,
current_capital,
options_trading_usdc,
options_funding_usdc,
options_funding_usdt,
options_trading_usdt,
),
"available_trading_usdt": round(available_trading_usdt, FUNDS_DECIMALS) if available_trading_usdt is not None else None,
"unrealized_pnl": unrealized_pnl,