处理时间差,统一UTC时间

This commit is contained in:
lz_db
2025-11-30 19:29:17 +08:00
parent ef0058aded
commit 502a0c49f2
3 changed files with 33 additions and 17 deletions

View File

@@ -67,6 +67,7 @@ class mt5(mt5Parent):
"""监听订单变化"""
if not hasattr(self, 'token') or not self.token:
await self.get_token()
await self.server_timezone()
ws_url = self.implode_hostname(self.urls['api']['ws'])
url = ws_url + '/OnOrderUpdate?id=' + self.token
message_hash = 'orders'
@@ -92,6 +93,7 @@ class mt5(mt5Parent):
"""监听持仓变化"""
if not hasattr(self, 'token') or not self.token:
await self.get_token()
await self.server_timezone()
ws_url = self.implode_hostname(self.urls['api']['ws'])
url = ws_url + '/OnOrderUpdate?id=' + self.token
message_hash = 'positions'
@@ -365,7 +367,7 @@ class mt5(mt5Parent):
"""处理 OrderUpdate 类型消息(包含订单、持仓、余额)"""
try:
data = self.safe_value(message, 'data', {})
timestamp = self.safe_integer(message, 'timestampUTC')
timestamp = self.safe_integer(message, 'timestampUTC') - self.diff_milliseconds
# 1. 解析余额信息
balance_data = self.parse_ws_balance_from_data(data)
@@ -427,7 +429,7 @@ class mt5(mt5Parent):
"""处理 OpenedOrders 类型消息(只包含持仓)"""
try:
data = self.safe_value(message, 'data', [])
timestamp = self.safe_integer(message, 'timestampUTC')
timestamp = self.safe_integer(message, 'timestampUTC') - self.diff_milliseconds
# 解析持仓信息
positions = self.parse_ws_positions_from_orders(data)
@@ -618,13 +620,13 @@ class mt5(mt5Parent):
close_time = self.safe_string(order_data, 'closeTime')
is_closed = close_time and close_time != "0001-01-01T00:00:00"
timestamp = self.parse8601(self.safe_string(order_data, 'openTime'))
timestamp = self.parse8601(self.safe_string(order_data, 'openTime')) - self.diff_milliseconds
if timestamp is None:
timestamp = self.milliseconds()
last_trade_timestamp = timestamp
if is_closed:
last_trade_timestamp = self.parse8601(close_time)
last_trade_timestamp = self.parse8601(close_time) - - self.diff_milliseconds
mt5_order_type = self.safe_string(order_data, 'update_type', None)
@@ -715,7 +717,7 @@ class mt5(mt5Parent):
quote = symbol[3:]
symbol = base + '/' + quote
timestamp = self.parse8601(self.safe_string(order_data, 'openTime'))
timestamp = self.parse8601(self.safe_string(order_data, 'openTime')) - self.diff_milliseconds
contracts = self.safe_number(order_data, 'lots')
entry_price = self.safe_number(order_data, 'openPrice')