update
This commit is contained in:
parent
3f8b5fee23
commit
850afa1d18
@ -297,6 +297,7 @@ class PaperTradingService:
|
||||
'order_id': order.order_id,
|
||||
'symbol': order.symbol,
|
||||
'side': order.side.value,
|
||||
'entry_price': order.entry_price, # 挂单价
|
||||
'filled_price': filled_price,
|
||||
'quantity': order.quantity,
|
||||
'signal_grade': order.signal_grade.value if order.signal_grade else None,
|
||||
@ -579,12 +580,18 @@ class PaperTradingService:
|
||||
|
||||
|
||||
def get_active_orders(self, symbol: Optional[str] = None) -> List[Dict[str, Any]]:
|
||||
"""获取活跃订单"""
|
||||
orders = list(self.active_orders.values())
|
||||
"""获取活跃订单(从数据库读取,确保多进程同步)"""
|
||||
db = db_service.get_session()
|
||||
try:
|
||||
query = db.query(PaperOrder).filter(
|
||||
PaperOrder.status.in_([OrderStatus.PENDING, OrderStatus.OPEN])
|
||||
)
|
||||
if symbol:
|
||||
orders = [o for o in orders if o.symbol == symbol]
|
||||
query = query.filter(PaperOrder.symbol == symbol)
|
||||
|
||||
# 转换为字典,添加错误处理
|
||||
orders = query.all()
|
||||
|
||||
# 转换为字典
|
||||
result = []
|
||||
for order in orders:
|
||||
try:
|
||||
@ -595,6 +602,11 @@ class PaperTradingService:
|
||||
logger.error(traceback.format_exc())
|
||||
|
||||
return result
|
||||
except Exception as e:
|
||||
logger.error(f"获取活跃订单失败: {e}")
|
||||
return []
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
def get_order_by_id(self, order_id: str) -> Optional[Dict[str, Any]]:
|
||||
"""根据ID获取订单"""
|
||||
|
||||
Loading…
Reference in New Issue
Block a user