处理时间差,统一UTC时间
This commit is contained in:
15
ccxt/mt5.py
15
ccxt/mt5.py
@@ -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'))
|
||||
|
||||
Reference in New Issue
Block a user