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')
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

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()
# logger.info(f"✅ 连接成功,余额: {balance}")
# positions = await exchange.fetch_positions()
# logger.info(f"✅ 连接成功,信息: {positions}")
positions = await exchange.fetch_positions()
logger.info(f"✅ 连接成功,信息: {positions}")
# 获取市场信息
# markets = await exchange.fetch_markets()
@@ -99,8 +99,11 @@ async def quick_order_test():
# logger.info(f"✅ 当前开单数量: {len(open_orders)}")
# 获取订单
closed_orders = await exchange.fetch_closed_orders()
logger.info(f"✅ 当前订单: {closed_orders}")
# closed_orders = await exchange.fetch_closed_orders()
# for order in closed_orders:
# # del order['info']
# logger.info(f"✅ 历史订单: {order}")
# logger.info(f"✅ 当前订单: {closed_orders}")
# for order in open_orders:
# 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:
del order['info']
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():
# balance = await exchange.watch_balance()
@@ -152,8 +162,9 @@ async def websocket_quick_test():
# 运行监听器
await asyncio.gather(
order_listener(),
# positions_listener(),
# balance_listener(),
# return_exceptions=True
return_exceptions=True
)
except Exception as e:
@@ -165,5 +176,5 @@ async def websocket_quick_test():
if __name__ == "__main__":
# 运行快速测试
# asyncio.run(quick_order_test())
asyncio.run(websocket_quick_test())
asyncio.run(quick_order_test())
# asyncio.run(websocket_quick_test())