update fetch_closed_orders

This commit is contained in:
lz_db
2025-11-30 08:08:29 +08:00
parent 0795f47168
commit 6bb93a3968
2 changed files with 17 additions and 14 deletions

View File

@@ -714,14 +714,16 @@ class mt5(Exchange, ImplicitAPI):
"""异步获取已平仓订单 - 修复版本""" """异步获取已平仓订单 - 修复版本"""
if not hasattr(self, 'token') or not self.token: if not hasattr(self, 'token') or not self.token:
await self.get_token() await self.get_token()
yesterday = datetime.now() - timedelta(days=3)
from_day = yesterday.strftime('%Y-%m-%d') + 'T00:00:00' if params.get('from') is None or params.get('to') is None:
tomorrow = datetime.now() + timedelta(days=1) yesterday = datetime.now() - timedelta(days=3)
to_day = tomorrow.strftime('%Y-%m-%d') + 'T00:00:00' 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 = { request = {
'id': self.token, 'id': self.token,
'from': from_day,
'to': to_day,
'sort': 'OpenTime', 'sort': 'OpenTime',
'ascending': 'true', 'ascending': 'true',
} }

View File

@@ -731,14 +731,15 @@ class mt5(Exchange, ImplicitAPI):
def fetch_closed_orders(self, symbol=None, since=None, limit=None, params={}): def fetch_closed_orders(self, symbol=None, since=None, limit=None, params={}):
"""获取已平仓订单""" """获取已平仓订单"""
self.load_token() self.load_token()
yesterday = datetime.now() - timedelta(days=3) if params.get('from') is None or params.get('to') is None:
from_day = yesterday.strftime('%Y-%m-%d') + 'T00:00:00' yesterday = datetime.now() - timedelta(days=3)
tomorrow = datetime.now() + timedelta(days=1) params['from'] = yesterday.strftime('%Y-%m-%d') + 'T00:00:00'
to_day = tomorrow.strftime('%Y-%m-%d') + 'T00:00:00'
tomorrow = datetime.now() + timedelta(days=1)
params['to'] = tomorrow.strftime('%Y-%m-%d') + 'T00:00:00'
request = { request = {
'id': self.token, 'id': self.token,
'from': from_day,
'to': to_day,
'sort': 'OpenTime', 'sort': 'OpenTime',
'ascending': 'true', 'ascending': 'true',
} }
@@ -749,12 +750,12 @@ class mt5(Exchange, ImplicitAPI):
if symbol is not None: if symbol is not None:
market = self.market(symbol) market = self.market(symbol)
filtered_orders = [] filtered_orders = []
for order in response: for order in data:
if isinstance(order, dict) and order.get('symbol') == market['id']: if isinstance(order, dict) and order.get('symbol') == market['id']:
filtered_orders.append(order) filtered_orders.append(order)
return self.parse_orders(filtered_orders, market, since, limit) return self.parse_orders(filtered_orders, market, since, limit)
else: else:
return self.parse_orders(response, None, since, limit) return self.parse_orders(data, None, since, limit)
def parse_order(self, order, market=None): def parse_order(self, order, market=None):
"""解析订单信息""" """解析订单信息"""