处理时间差,统一UTC时间
This commit is contained in:
@@ -156,6 +156,10 @@ class mt5(Exchange, ImplicitAPI):
|
||||
response = await self.private_get_connect(request)
|
||||
|
||||
self.token = response
|
||||
self.diff_milliseconds = 0 # 重置时间差
|
||||
|
||||
# 获取服务器时区
|
||||
await self.server_timezone()
|
||||
return self.token
|
||||
|
||||
async def check_connect(self):
|
||||
@@ -367,6 +371,7 @@ class mt5(Exchange, ImplicitAPI):
|
||||
}
|
||||
response = await self.private_get_servertimezone(request)
|
||||
self.timezone = int(float(response))
|
||||
self.diff_milliseconds = self.timezone * 3600 * 1000
|
||||
return self.timezone
|
||||
|
||||
async def fetch_balance(self, params={}):
|
||||
@@ -567,7 +572,7 @@ class mt5(Exchange, ImplicitAPI):
|
||||
"""异步获取持仓信息"""
|
||||
if not hasattr(self, 'token') or not self.token:
|
||||
await self.get_token()
|
||||
|
||||
await self.server_timezone()
|
||||
request = {
|
||||
'id': self.token,
|
||||
}
|
||||
@@ -602,8 +607,8 @@ class mt5(Exchange, ImplicitAPI):
|
||||
close_lots = self.safe_number(position, 'closeLots', 0)
|
||||
|
||||
# 解析时间戳
|
||||
timestamp = self.parse8601(self.safe_string(position, 'openTime'))
|
||||
open_timestamp_utc = self.safe_integer(position, 'openTimestampUTC')
|
||||
timestamp = self.parse8601(self.safe_string(position, 'openTime')) - self.diff_milliseconds
|
||||
open_timestamp_utc = self.safe_integer(position, 'openTimestampUTC') - self.diff_milliseconds
|
||||
if open_timestamp_utc:
|
||||
timestamp = open_timestamp_utc
|
||||
|
||||
@@ -692,10 +697,12 @@ class mt5(Exchange, ImplicitAPI):
|
||||
"""异步获取未平仓订单 - 修复版本"""
|
||||
if not hasattr(self, 'token') or not self.token:
|
||||
await self.get_token()
|
||||
|
||||
|
||||
request = {
|
||||
'id': self.token,
|
||||
}
|
||||
|
||||
await self.server_timezone()
|
||||
|
||||
response = await self.private_get_openedorders(self.extend(request, params))
|
||||
|
||||
@@ -714,7 +721,9 @@ class mt5(Exchange, ImplicitAPI):
|
||||
"""异步获取已平仓订单 - 修复版本"""
|
||||
if not hasattr(self, 'token') or not self.token:
|
||||
await self.get_token()
|
||||
|
||||
|
||||
await self.server_timezone()
|
||||
|
||||
if params.get('from') is None or params.get('to') is None:
|
||||
yesterday = datetime.now() - timedelta(days=3)
|
||||
params['from'] = yesterday.strftime('%Y-%m-%d') + 'T00:00:00'
|
||||
@@ -764,8 +773,8 @@ class mt5(Exchange, ImplicitAPI):
|
||||
# 如果无法解析,使用原始 market_id
|
||||
symbol = market_id
|
||||
|
||||
timestamp = self.parse8601(self.safe_string(order, 'openTime'))
|
||||
last_trade_timestamp = self.parse8601(self.safe_string(order, 'closeTime'))
|
||||
timestamp = self.parse8601(self.safe_string(order, 'openTime')) - self.diff_milliseconds
|
||||
last_trade_timestamp = self.parse8601(self.safe_string(order, 'closeTime')) - self.diff_milliseconds
|
||||
if last_trade_timestamp is None:
|
||||
last_trade_timestamp = timestamp
|
||||
|
||||
|
||||
Reference in New Issue
Block a user