EasyTrader踩坑之旅(三)

​ 用THSTrader 调试同花顺自动下单的过程 。 主要原理是利用python函数pywinauto 自动获取同花顺上相应控件的值,进行模拟自动化的操作,不得不说python函数库的强大,其它语言非常也能做到。但是复杂度远远高于python,这个也是python变的越来流行的原因了。 所以现在数学专业抢码农的工作是挺好抢的。 利用esseract ocr进行券商验证码的识别,不过没有正式用起来,今天 没有碰到验证码出现的现象 。

1.今天跌的坑如下

第一坑:

​ 查看持仓数据的时候 ,一直没能得到返回结果,发现原码是是有验证码,当前是没有验证码的, 所以把验证码的先去掉,可能以后高频交易会再出现,现在先不管他。 不过源码中应该也判断下。

第二坑:

​ 查看持仓数据得不到结果,经查发现当前版本比原来的右键多了一人选面,复制功能已经排到第四了。原来是第三,所以在操作复制不到数据, 增加源码中向下移动的代码就可以了。

第三坑:

​ 联调的时候,源代码时间间隔太短,会导致失败,可以相应的把时间加长。 默认0.2 我改为了1,

第四坑:

​ 卖出股票的时候 ,最后有一个默认的弹出框,但是可以勾选不再出现, 代码里没有做应的检测,每次都是找,找不到的时候会报错,所以需要把他调过来。或者把代码放在try 里,直接认为是成功的就可以了。

2.卖出股票 print(trader.sell(stock_no="162411", amount=100, price=0.51)) # 卖出股票

EasyTrader踩坑之旅(三)

因为我持仓中没有这个股票 ,所以提示证券可用数量不足,卖个自已有持仓的。

print(trader.sell(stock_no="601288", amount=100, price=4)) # 卖出股票

EasyTrader踩坑之旅(三)

查看委托记录

我连着运行了两笔

EasyTrader踩坑之旅(三)

3.esseract -ocr的安装和配置

目前最新版是v5.0

EasyTrader踩坑之旅(三)

下载好以后,把安装的目录 添加到环境变量中。

d:\Program Files\Tesseract-OCR

按win+Pause=》高级系统设置-环境变量=在path加上tesseract 的安装路径

EasyTrader踩坑之旅(三)

3.1查看当前tesseract的版本,看是否安装好。 tesseract -v

EasyTrader踩坑之旅(三)

3.2进行图像测试

在目录E:\opensource\THSTrader\THS 下默认有一个tmp.png的测试图像,我们拿这个来测试

E:\opensource\THSTrader\THS>tesseract tmp.png output_1 -l eng Tesseract Open Source OCR Engine v5.0.0.20190623 with Leptonica Warning: Invalid resolution 0 dpi. Using 70 instead. Estimating resolution as 163

定位到目录 ,输入图像名称 和输出的文件名称以后,并指定是英文字体。

图片和运行结果如下:可以看到识别速度还是很快的。

1561785556900

【语法】: tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile…]

imagename=》目标图片文件名,需加格式后缀;outputbase=》转换结果文件名;

lang是语言名称(在Tesseract-OCR中tessdata文件夹可看到以eng开头的语言文件eng.traineddata),如不标-l eng则默认为eng

4.查询持仓数据 print(trader.get_position())

如果运行以后,有下面的错误发生,去原代码中把验证码识别的先注释掉,这个可能 是因为没有高频调用 ,所以现在复制持仓数据的时候,是没有让输入验证码的。

1561786459150

看下面的注释代码:

在THStrader.py中的132行注册掉。 就可以了

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpsfd.html