赞
踩
记录每日收盘信息,也可以用Excel替代
用来自动执行Python脚本,因为Windows计划任务不好用,寻找了多个软件,这是个人认为最满意的一个,价格36元,但只能注册一个电脑。
1、本人每天从tushare下载股票行情数据,指标数据等,写入MySQL;
2、下载完毕后根据Python写好的策略轮询每支股票,输出买入信号股票,发送到本人邮箱;
3、每晚查看邮箱接收的建议买入股票信息,人工二次判断并选择一个待买入的股票,写入Excel;
4、第二天开盘,Python交易代码唤起股票交易系统5.0,按照Excel的股票进行自动执行买入;
5、买入成功后等待当天市场收盘,把该股票买入信息和收盘信息写入MySQL,为后续卖出做数据准备;
6、第三天开盘,Python交易代码唤起股票交易系统5.0,并跟踪腾讯或新浪的该股实时数据,按照自己的代码策略自动进行股票交易,一旦卖出成功,退出代码监控,完成操作。
以上1、2、4、5、6都是代码自动执行,无需人工介入;
数据库访问的代码为了安全和统一管理,我放在了其他目录;
- import easyquotation as eq
- import pandas as pd
- import easytrader,pymysql,datetime,time,sys
-
- talib_path = 'c:/***/Pytools'
- sys.path.append(talib_path)
- import mysql_conn as conn
- # 登陆交易软件
- user = easytrader.use('ths')
- user.connect(r'c:\同花顺软件\同花顺\xiadan.exe')
注意:结合同花顺自动执行交易,必须手动现登入同花顺交易系统,保持交易系统在线状态
获取资金状况:user.balance
获取持仓:user.position
买入:user.buy('162411', price=0.55, amount=100)
卖出:user.sell('162411', price=0.55, amount=100)
一键打新:user.auto_ipo()
撤单:user.cancel_entrust('buy/sell 获取的 entrust_no')
查询当日成交:user.today_trades
查询当日委托:user.today_entrusts
刷新数据 :user.refresh()
需要对同花顺客户端按以下设置,不然会导致下单时价格出错以及客户端超时锁定:
注意,需要设置客户端的编辑模式 才能够成功输入数据:
- # 设置客户端编辑文本形式:type_keys
- user.enable_type_keys_for_editor()
小贴士:
同花顺交易客户端为防止外部命令执行的安全性,加了验证码功能,每次调取资金状况或持仓情况等,都会要求输入验证码,不过easytrader也已支持了验证码自动加载的功能,具体用法请网上百度,这里不再细说,主要就是需要安装pytessercat模块,安装tesseract程序,配置环境变量。
但是pytessercat模块内的代码和python3.11版本有冲突,需要微调才能正常执行,修改Python311\Lib\site-packages\easytrader\grid_strategies.py文件
a、大概是在115行开始需要修改:
- if len(captcha_num) == 4:
- # self._trader.app.top_window().window(
- # control_id=0x964, class_name="Edit"
- # ).set_text(
- # captcha_num
- # ) # 模拟输入验证码
-
- captcha_input = self._trader.app.top_window().window(control_id=0x964, class_name="Edit")
- captcha_input.set_focus() # 确保验证码输入框获得焦点
- captcha_input.type_keys(captcha_num, with_spaces=True) # 输入验证码
- time.sleep(1)
- self._trader.app.top_window().set_focus()
- pywinaut
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。