如何使用pywinauto实现一个股票自动交易系统?
一般pywinauto可以这样实现出口一个股票自动交易系统,接口代码如下:
import easyocr
from PIL.ImageGrab import grab
from pywinauto.application import Application
import time
#交易软件可以电脑和手机同时登陆
#print(easyocr.model_storage_directory)
#模型保存路径Windows:C:\Users\<用户名>\.EasyOCR\model
#Linux:~/ .EasyOCR / model
class exchange():
def __init__(self):
self.reader = easyocr.Reader(["ch_sim","en"],gpu=False)
self.app = Application(backend="win32").start(r"C:\xxx\xiadan.exe").Dailog
self.jpgpath=r"C:\Users\xxx\1.jpg"
self.numindex=(xx,xx,xx,xx) #验证码的位置,可以用微信截屏来定位。
def grabnum(self):
img=grab(bbox=(self.numindex))
img.save(self.jpgpath)
def loadfirst(self):
self.grabnum()
while True: # 这个识别软件老是出错,所以只能这样了。
try:
valinum = self.reader.readtext(self.jpgpath)
valicode = int(valinum[0][1].replace(" ", "")) # 有时候识别的字符间有空格
except Exception as e:
print(e)
# app.Button10.click() #重新刷新验证码,其实这里可以不用刷新
continue
else:
break
self.app.Edit3.type_keys(valicode)
self.app.Botton.click()
def loadlast(self):
loadflag = 1
self.app.Edit2.type_keys("your_password")
while loadflag:
self.loadfirst()
time.sleep(1)
if self.app[u"验证码错误,请重新输入!"].is_visible():
self.app[u"确定"].click() # 这里会自动刷新验证码
else:
loadflag = 0
# app["Button10"].get_properties()
def load(self):
try:
self.loadlast()
except Exception as e:
pass
time.sleep(1)
# app2=Application(backend="win32").connect(process=7xx4) #通过进程连接不靠谱,重启进程就变了
# app2.top_window().print_control_identifiers()
def link_new_window(self):
app2 = Application(backend="win32").connect(title="网上股票交易系统5.0", visible_only=True) # 其实这里可以用uia的
try:
app2[u"新股申购Dialog"].is_visible()
except Exception as e:
pass
else:
app2[u"新股申购Dialog"].close()
return app2
def mybuy(self,bcode,bprice,bnum):
app2=self.link_new_window()
time.sleep(0.1)
app2.top_window().type_keys("{F1}")
time.sleep(0.1)
app2.top_window().Edit0.type_keys(bcode)
app2.top_window().Edit2.type_keys(bprice)
app2.top_window().Edit3.type_keys(bnum)
app2.top_window().set_focus() #要加这个才得
app2.top_window().type_keys('^~')
time.sleep(0.5) #这里要暂停一下
app2.top_window().Button2.click() #是的话就是Button1
def mysell(self,scode,sprice,snum):
app2 = self.link_new_window()
time.sleep(0.1)
app2.top_window().type_keys("{F2}")
time.sleep(0.1)
app2.top_window().Edit0.type_keys(scode)
app2.top_window().Edit2.type_keys(sprice)
app2.top_window().Edit3.type_keys(snum)
app2.top_window().set_focus() # 要加这个才得
app2.top_window().type_keys('^~')
time.sleep(0.5) # 这里要暂停一下
app2.top_window().Button2.click() # 是的话就是Button1,测试环境,所以点击Button1(否)
def cancel_order(self,how):
app2 = self.link_new_window()
time.sleep(0.1)
app2.top_window().type_keys("{F3}")
time.sleep(0.1)
if how=="all":
app2.top_window()[u"全撤(Z /)"].click() # 全撤
elif how=="cbuy":
app2.top_window()[u"撤买(X)"].click() # 撤买
else:
app2.top_window()[u"撤卖(C)"].click() # 撤卖
time.sleep(0.5) # 这里要暂停一下
try:
app2.top_window()[u"无可撤委托"].is_visible()
except Exception as e:
app2.top_window().Button2.click() # 是的话就是Button1
else:
app2.top_window().Button.click()
def myquery(self):
app2 = self.link_new_window()
time.sleep(0.1)
app2.top_window().type_keys("{F4}")
time.sleep(0.1)
total_assets=app2.top_window().Static12.get_properties()['texts']
useful_money=app2.top_window().Static6.get_properties()['texts']
return total_assets[0],useful_money[0]
if __name__=="__main__":
my=exchange()
my.load()
my.mybuy("0000","12","30")
my.mysell("0000","12","30")
my.cancel_order("all")
to,us=my.myquery()
print(to,us)
如何使用pywinauto实现一个股票自动交易系统?相关推荐
- 如何做一个股票自动交易系统的步骤
如何做一个股票自动交易系统的步骤 1. 数据获取 股票自动交易系统需要获取的数据非常丰富,涉及到市场价格.资金流向.基本面报告等多方面信息.这些数据对于制定交易策略和决策分析至关重要. 首先,对于股票 ...
- python股票自动交易从零开始-怎样用 Python 写一个股票自动交易的程序-数字货币代理...
1个赞 股票自动交易助手提供了一个 Python 自动下单接口,参考代码#股票自动交易助手 Python 自动下单使用 例子#把此脚本和 StockOrderApi.py Order.dll 放到你自 ...
- 怎样用 Python写一个股票自动交易接口的程序?
交易商提供基于JSON的API接口的,直接查官方文档,用python request 连接接口发送指令交易. 1:想方设法找出内部接口交易,具体方法包括但不限于:官方网页版交易系统发送接收数据的监听, ...
- 华泰证券 python 自动交易_怎样用 Python 写一个股票自动交易的程序?(不包含交易算法)?...
前言 股票或期货的价格波动,总会有一些可以规律可以遵循的.其中,"背离"也算是其中的一种,并且可以作为判断趋势结束或阶段调整的预警信号. 通常情况下,我们所说的"背离&q ...
- 怎样用 Python 写一个股票自动交易程序呢?
如果是网址都没有给出怎么测试呢? 这个应该是服务器生成的token吧,可以urllib2抓一下,如果抓不到的话那么他可能用的js动态加载,这个得分析js源码了,如果他用了flash来算出这个值的. 像 ...
- python股票自动交易从零开始-python程序化交易编程-python制作自动交易程序!
如何用python进行期货程序化交易 .程序化交易系统目前主要是通过计算机程序实现的,其实就是把交易者决策的过程用计算机语言描述出来,然后由计算机给出交易建议或直接发送交易指令到期货公司的. SDYG ...
- python控制mt4自动交易软件排名_股票自动交易软件排名
原标题:股票自动交易软件排名 提起股票自动交易软件,大家都很不陌生了,很多用户也使用过很多不同品牌的产品,那么谁比较好呢?接下来我们就为大家来总体排名一下: 第一名:智能A股管家股票自动交易系统 把它 ...
- 强化学习+神经网络来训练一个股票交易系统
简介: 本文采用强化学习+神经网络的框架,训练一个股票交易系统,并在个股上进行了测试. 下面为详细记录: 上面这个图是一个强化学习的交易模型.这个图是out sample的交易结果.2012~2015 ...
- Python项目实战学习案例--股票模拟交易系统
Python学习案例–股票模拟交易系统 源代码地址:https://gitee.com/wujize188_admin/mini_stock.git 主要技术 后台:Flask框架,sqlalchem ...
- 搭建股票量化交易系统QTYX—持续进阶之路[更新至V2.5.2]
开发者计划发布 看书学习了量化相关的知识之后,如何学会搭建自己的量化交易系统?这一步相信很多人很难跨过去. 其实边学习边实战,在实战中学习才是最有效地方式. 于是我们分享一个即可以用于学习,也可以用于 ...
最新文章
- PL/SQL开发五年工作经验精典实例
- iview地区加载_LoadingBar 加载进度条
- DeepLink唤醒App的简单实现方法
- Wireshark数据包分析之数据包信息解读
- 2021 ACDU China Tour-北京站暨数据库大咖讲坛(第3期)成功举办!(附PPT下载)
- 获取输入数组的最小值(含界面)例子详细分析
- 基于MATLAB的PID控制器设计
- linux服务器一键可视化,安装宝塔教程
- 抖音数据统计_抖音大数据,抖音最全数据分析工具,全知道算你厉害!
- github中文件夹名带数字,git下来为空文件夹
- UART协议及其Verilog实现
- 【最实用的chrome插件】CSDN 浏览器插件:CSDN 开发者助手(测评手册1)
- QCC3040---DFU(OTA)固件生成方法OTA方法
- 抖音小店营业执照怎么办理?新手做抖店营业执照范围应该怎么选?
- 使用U盘或移动硬盘制作系统盘
- 《魔兽世界》国服团队正与新合作方洽谈;爆苹果将允许第三方应用商店替代 App Store;Vite 4.0发布|极客头条
- 如何在Windows10下安装ubuntu双系统(无U盘)
- 微信小程序:音乐播放器带进度条
- udev规则以及编写
- 编写一个c语言程序 杨辉三角,杨辉三角 c语言
热门文章
- Nginx系列(5):Web服务器分析之Linux I/O(理论中)
- Understanding COM Apartments
- 常用脚本语言Perl,Python,Ruby,Javascript一 Perl,Python,Ruby,Javascript
- eclipse tomcat找不到或无法加载
- 【Codeforces 1114C】Trailing Loves (or L'oeufs?)
- nginx(三)初步搭建nginx虚拟主机
- 使用SqlBulkCopy类实现导入excel表格
- 引用一个falsh使它显示出来
- 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。
- python通过jdbc连接hive_Python使用JDBC连接Hive