处理时间差,统一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

@@ -170,6 +170,8 @@ class mt5(Exchange, ImplicitAPI):
response = self.private_get_connect(params)
self.token = response
self.diff_milliseconds = 0 # 服务器时区差异,默认设置为 0
self.server_timezone()
return self.token
def check_connect(self):
@@ -208,6 +210,7 @@ class mt5(Exchange, ImplicitAPI):
}
response = self.private_get_servertimezone(request)
self.timezone = int(float(response))
self.diff_milliseconds = self.timezone * 3600 * 1000
return self.timezone
def fetch_markets(self, params={}):
@@ -588,7 +591,7 @@ class mt5(Exchange, ImplicitAPI):
"""异步获取持仓信息"""
if not hasattr(self, 'token') or not self.token:
self.get_token()
self.server_timezone()
request = {
'id': self.token,
}
@@ -623,8 +626,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
@@ -715,6 +718,7 @@ class mt5(Exchange, ImplicitAPI):
def fetch_open_orders(self, symbol=None, since=None, limit=None, params={}):
"""获取未平仓订单"""
self.load_token()
self.server_timezone()
request = {
'id': self.token,
}
@@ -734,6 +738,7 @@ class mt5(Exchange, ImplicitAPI):
def fetch_closed_orders(self, symbol=None, since=None, limit=None, params={}):
"""获取已平仓订单"""
self.load_token()
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'
@@ -777,8 +782,8 @@ class mt5(Exchange, ImplicitAPI):
else:
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
status = self.parse_order_status(self.safe_string(order, 'state'))
side = self.parse_order_side(self.safe_string(order, 'orderType'))