This commit is contained in:
maxinxin 2025-07-11 17:18:09 +08:00
commit f711286bff
3 changed files with 40 additions and 23 deletions

View File

@ -201,7 +201,7 @@ class HLClientTrader:
#设置主窗口及菜单窗口
self.main_wnd = self._app.window(title_re='通达信网上交易*')
self.main_wnd = self._app.window(title_re='通达信网上交易.*')
self.left_wnd = self.main_wnd.window(class_name='SysTreeView32', control_id=0xE900)
@ -423,8 +423,9 @@ class HLClientTrader:
time.sleep(1)
self._output_data()
date = str(datetime.date.today()).replace('-', '')
balance = pd.read_csv(fr'C:\Users\EDY\Documents\{date} 资金股份查询.xls', encoding='gbk', sep='\t', nrows=2,
error_bad_lines=False)
filename = f'C:\\Users\\EDY\\Documents\\{str(datetime.date.today()).replace("-","")}{self.account_name}.xls'
balance = pd.read_csv(filename, encoding='gbk', sep='\t', engine='python', error_bad_lines=False)
os.remove(filename)
result = balance[['="参考市值"', '="可用"', '="资产"']]
balance['Position_amount'] = float(result['="参考市值"'].values[0].replace('"', '').replace('=', ''))
balance['Cash'] = float(result['="可用"'].values[0].replace('"', '').replace('=', ''))
@ -436,22 +437,24 @@ class HLClientTrader:
print(df_every_money)
return df_every_money
def _output_data(self):
self._app.top_window().set_focus()
time.sleep(1)
time.sleep(2)
# try:
# time.sleep(1)
self.main_wnd.window(control_id=0x0, class_name='#32770',found_index = 0).window(control_id=0x47F, class_name='Button').click()
print("5")
self._app.top_window().set_focus()
# while True:
# try:
# self._app.top_window().window(title='确认另存为').wait("ready")
# break
# except RuntimeError:
# pass
self._app.top_window().window(control_id=0xE9, class_name='Button',found_index = 0).click()
self._app.top_window().window(control_id=0x1, class_name='Button', found_index=0).click()
self._app['输出'].window(control_id=0xE9, class_name='Button').click()
self._app['输出'].window(control_id=0xEB, class_name='Button').click()
self._app.window(title_re='另存为').window(control_id=0x480, class_name='Edit', found_index=0).type_keys(
str(datetime.date.today()).replace("-", "") + self.account_name)
self._app.window(title_re='另存为').set_focus()
self._app.window(title_re='另存为').window(control_id=0x1, class_name='Button', found_index=0).click()
# except Exception:
# print('无输出的数据!')
self._app['输出'].window(control_id=0x1, class_name='Button').click()
try:
self._app['确认另存为'].window(control_id=0x0, class_name='#32770').click()
except:
pass
# self._app.top_window().window(control_id=0x2, class_name='Button', found_index=0).click()
time.sleep(2)
# self._app.top_window().set_focus()
@ -479,9 +482,13 @@ class HLClientTrader:
time.sleep(1)
self._output_data()
date = str(datetime.date.today()).replace('-','')
position = pd.read_csv(fr'C:\Users\EDY\Documents\{date} 资金股份查询.xls', encoding='gbk', sep='\t',
skiprows=3, error_bad_lines=False).applymap(
filename = f'C:\\Users\\EDY\\Documents\\{str(datetime.date.today()).replace("-", "")}{self.account_name}.xls'
position = pd.read_csv(filename, encoding='gbk', sep='\t', engine='python', error_bad_lines=False,skiprows=3).applymap(
lambda x: x.replace('"', '').replace('=', '') if isinstance(x, str) else x)
os.remove(filename)
# position = pd.read_csv(fr'C:\Users\EDY\Documents\{date} 资金股份查询.xls', encoding='gbk', sep='\t',
# skiprows=3, error_bad_lines=False).applymap(
# lambda x: x.replace('"', '').replace('=', '') if isinstance(x, str) else x)
position.columns = [i.replace('"', '').replace('=', '') for i in list(position.columns)]
# 检查是否有持仓数据
@ -547,9 +554,13 @@ class HLClientTrader:
time.sleep(1)
self._output_data()
date = str(datetime.date.today()).replace('-','')
trades = pd.read_csv(fr'C:\Users\EDY\Documents\{date} 当日成交查询.xls', encoding='gbk', sep='\t',
error_bad_lines=False).applymap(
# trades = pd.read_csv(fr'C:\Users\EDY\Documents\{date} 当日成交查询.xls', encoding='gbk', sep='\t',
# error_bad_lines=False).applymap(
# lambda x: x.replace('"', '').replace('=', '') if isinstance(x, str) else x)
filename = f'C:\\Users\\EDY\\Documents\\{str(datetime.date.today()).replace("-", "")}{self.account_name}.xls'
trades = pd.read_csv(filename, encoding='gbk', sep='\t', engine='python', error_bad_lines=False).applymap(
lambda x: x.replace('"', '').replace('=', '') if isinstance(x, str) else x)
os.remove(filename)
trades.columns = [i.replace('"', '').replace('=', '') for i in list(trades.columns)]
# 检查是否有成交数据
@ -739,7 +750,7 @@ class HLClientTrader:
self._app.window(control_id=0x0, class_name='#32770').window(control_id=0x1B67, class_name='Button').click()
if __name__ == '__main__':
account_name = str('13753170507')
account_name = str('15935756162')
a = HLClientTrader(account_name)
a.login()

View File

@ -188,6 +188,12 @@ class Trade:
elif self.broker == '国盛' or self.broker == '国盛证券':
from autobasic import guosheng_clienttrader
user = guosheng_clienttrader.GuoShengClientTrader(self.user)
elif self.broker == '长江' or self.broker == '长江证券':
from autobasic import cj_clienttrader
user = cj_clienttrader.ChangJiangClientTrader(self.user)
elif self.broker == '江海' or self.broker == '江海证券':
from autobasic import jh_clienttrader
user = jh_clienttrader.JHClientTrader(self.user)
else:
self.log.error('暂不支持该券商')
return user

View File

@ -181,7 +181,7 @@ if __name__ == '__main__':
#
# userlist = ['13708491492','138187729
userlist = [ '13653488300']
userlist = [ '18636191815']
print(userlist)
for user in userlist:
SCRIPT_PATH = os.path.dirname(os.path.realpath(__file__))