diff --git a/ccxt/async_support/mt5.py b/ccxt/async_support/mt5.py index 4a945c2..0a40b0f 100644 --- a/ccxt/async_support/mt5.py +++ b/ccxt/async_support/mt5.py @@ -714,14 +714,16 @@ class mt5(Exchange, ImplicitAPI): """异步获取已平仓订单 - 修复版本""" if not hasattr(self, 'token') or not self.token: await self.get_token() - yesterday = datetime.now() - timedelta(days=3) - from_day = yesterday.strftime('%Y-%m-%d') + 'T00:00:00' - tomorrow = datetime.now() + timedelta(days=1) - to_day = tomorrow.strftime('%Y-%m-%d') + 'T00:00:00' + + 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' + + tomorrow = datetime.now() + timedelta(days=1) + params['to'] = tomorrow.strftime('%Y-%m-%d') + 'T00:00:00' + request = { 'id': self.token, - 'from': from_day, - 'to': to_day, 'sort': 'OpenTime', 'ascending': 'true', } diff --git a/ccxt/mt5.py b/ccxt/mt5.py index 35f1bbd..19cb036 100644 --- a/ccxt/mt5.py +++ b/ccxt/mt5.py @@ -731,14 +731,15 @@ class mt5(Exchange, ImplicitAPI): def fetch_closed_orders(self, symbol=None, since=None, limit=None, params={}): """获取已平仓订单""" self.load_token() - yesterday = datetime.now() - timedelta(days=3) - from_day = yesterday.strftime('%Y-%m-%d') + 'T00:00:00' - tomorrow = datetime.now() + timedelta(days=1) - to_day = tomorrow.strftime('%Y-%m-%d') + 'T00:00:00' + 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' + + tomorrow = datetime.now() + timedelta(days=1) + params['to'] = tomorrow.strftime('%Y-%m-%d') + 'T00:00:00' + request = { 'id': self.token, - 'from': from_day, - 'to': to_day, 'sort': 'OpenTime', 'ascending': 'true', } @@ -749,12 +750,12 @@ class mt5(Exchange, ImplicitAPI): if symbol is not None: market = self.market(symbol) filtered_orders = [] - for order in response: + for order in data: if isinstance(order, dict) and order.get('symbol') == market['id']: filtered_orders.append(order) return self.parse_orders(filtered_orders, market, since, limit) else: - return self.parse_orders(response, None, since, limit) + return self.parse_orders(data, None, since, limit) def parse_order(self, order, market=None): """解析订单信息"""