This commit is contained in:
lz_db
2025-11-30 14:47:29 +08:00
parent a630c42ddd
commit 2f34f56527
3 changed files with 4744 additions and 10 deletions

View File

@@ -630,7 +630,10 @@ class mt5(Exchange, ImplicitAPI):
# 确定持仓方向 # 确定持仓方向
order_type = self.safe_string(position, 'orderType') order_type = self.safe_string(position, 'orderType')
side = 'long' if order_type == 'Buy' else 'short' if order_type in ['Buy','Sell']:
side = 'long' if order_type == 'Buy' else 'short'
else:
side = order_type
# 获取持仓数量 (未平仓数量) # 获取持仓数量 (未平仓数量)
contracts = lots - close_lots contracts = lots - close_lots

4720
test/data.md Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -79,8 +79,8 @@ async def quick_order_test():
# balance = await exchange.fetch_balance() # balance = await exchange.fetch_balance()
# logger.info(f"✅ 连接成功,余额: {balance}") # logger.info(f"✅ 连接成功,余额: {balance}")
# positions = await exchange.fetch_positions() positions = await exchange.fetch_positions()
# logger.info(f"✅ 连接成功,信息: {positions}") logger.info(f"✅ 连接成功,信息: {positions}")
# 获取市场信息 # 获取市场信息
# markets = await exchange.fetch_markets() # markets = await exchange.fetch_markets()
@@ -99,8 +99,11 @@ async def quick_order_test():
# logger.info(f"✅ 当前开单数量: {len(open_orders)}") # logger.info(f"✅ 当前开单数量: {len(open_orders)}")
# 获取订单 # 获取订单
closed_orders = await exchange.fetch_closed_orders() # closed_orders = await exchange.fetch_closed_orders()
logger.info(f"✅ 当前订单: {closed_orders}") # for order in closed_orders:
# # del order['info']
# logger.info(f"✅ 历史订单: {order}")
# logger.info(f"✅ 当前订单: {closed_orders}")
# for order in open_orders: # for order in open_orders:
# logger.info(f" 订单 {order['id']}: {order['symbol']} {order['side']} {order['type']} {order['status']}") # logger.info(f" 订单 {order['id']}: {order['symbol']} {order['side']} {order['type']} {order['status']}")
@@ -140,9 +143,16 @@ async def websocket_quick_test():
for order in res: for order in res:
del order['info'] del order['info']
logger.info(f"📦 订单更新: {order}") logger.info(f"📦 订单更新: {order}")
# for order in res:
# logger.info(f"📦 订单更新: {order}")
# 监听持仓更新
async def positions_listener():
while True:
res = await exchange.watch_positions()
print("===========================收到信息")
print(len(res))
for position in res:
# del position['info']
logger.info(f"📦 持仓更新: {position}")
# 监听余额更新 # 监听余额更新
# async def balance_listener(): # async def balance_listener():
# balance = await exchange.watch_balance() # balance = await exchange.watch_balance()
@@ -152,8 +162,9 @@ async def websocket_quick_test():
# 运行监听器 # 运行监听器
await asyncio.gather( await asyncio.gather(
order_listener(), order_listener(),
# positions_listener(),
# balance_listener(), # balance_listener(),
# return_exceptions=True return_exceptions=True
) )
except Exception as e: except Exception as e:
@@ -165,5 +176,5 @@ async def websocket_quick_test():
if __name__ == "__main__": if __name__ == "__main__":
# 运行快速测试 # 运行快速测试
# asyncio.run(quick_order_test()) asyncio.run(quick_order_test())
asyncio.run(websocket_quick_test()) # asyncio.run(websocket_quick_test())