diff --git a/backend/app/api/real_trading.py b/backend/app/api/real_trading.py index 452d294..a1fe3cb 100644 --- a/backend/app/api/real_trading.py +++ b/backend/app/api/real_trading.py @@ -7,6 +7,7 @@ from datetime import datetime from pydantic import BaseModel from app.services.real_trading_service import get_real_trading_service +from app.services.bitget_trading_api_sdk import get_bitget_trading_api from app.utils.logger import logger @@ -143,16 +144,17 @@ async def get_order(order_id: str): async def get_positions(): """获取实盘持仓(从交易所同步)""" try: - service = get_real_trading_service() + # 即使实盘交易未启用,也可以查看交易所持仓 + trading_api = get_bitget_trading_api() - if not service: + if not trading_api: return { "success": False, - "message": "实盘交易服务未启用", + "message": "Bitget API 未配置", "positions": [] } - positions = service.sync_positions_from_exchange() + positions = trading_api.get_position() return { "success": True, @@ -166,18 +168,38 @@ async def get_positions(): @router.get("/account") async def get_account_status(): - """获取实盘账户状态""" + """获取实盘账户状态(即使实盘交易未启用也可查看)""" try: - service = get_real_trading_service() + # 直接使用交易 API,不依赖实盘交易服务 + trading_api = get_bitget_trading_api() - if not service: + if not trading_api: return { "success": False, - "message": "实盘交易服务未启用", + "message": "Bitget API 未配置", "account": None } - account = service.get_account_status() + # 获取账户余额 + balance_info = trading_api.get_balance() + usdt_info = balance_info.get('USDT', {}) + + available = float(usdt_info.get('available', 0)) + frozen = float(usdt_info.get('frozen', 0)) + locked = float(usdt_info.get('locked', 0)) + + # 获取持仓价值 + positions = trading_api.get_position() + total_position_value = sum( + float(p.get('notional', 0)) for p in positions + ) + + account = { + 'current_balance': available + frozen + locked, + 'available': available, + 'used_margin': frozen + locked, + 'total_position_value': total_position_value + } return { "success": True, diff --git a/frontend/real-trading.html b/frontend/real-trading.html index 9a3054b..00e5942 100644 --- a/frontend/real-trading.html +++ b/frontend/real-trading.html @@ -372,19 +372,28 @@ - -