量化系统QTYX使用攻略|“盘中战法”篇——监测交易信号触发,机器人自动下单同花顺(更新2.8.1)

图片

QTYX系统简介

图片

股票量化交易系统QTYX是一个即可以用于学习,也可以用于实战炒股分析的系统。

分享QTYX系统目的是提供给大家一个搭建量化系统的模版,最终帮助大家搭建属于自己的系统。因此我们提供源码,可以根据自己的风格二次开发。
关于QTYX的使用攻略可以查看链接:QTYX使用攻略
QTYX一直迭代更新,当前版本V2.8.1。后续升级版本会同步更新文档内容。
星球下载位置如下:
图片
图片

功能概览

图片

股票量化交易系统QTYX最终形态是一款全自动化的量化交易系统。

于是,QTYX推出了“下单机器人”功能。

在实盘时“下单机器人”会读取实盘设置参数,以及个股买入/卖出条件单,周期获取全市场最新数据,当判断到个股符合条件就触发报警并执行交易。

这样一来,我们可以把QTYX部署在云服务器上,让QTYX帮我们实时盯盘,当到达我们设定的目标时,通过邮箱、微信或者钉钉等即时聊天工具通知我们,同时也可以委托“下单机器人”自动下单。

图片

配置实盘参数

图片

点击QTYX“交易”后进入子页面。

图片

点击“查看配置参数”按钮后,左边日志栏显示当前实盘配置参数。

图片

如果要更改参数,可以打开trade_para.json文件手动更改。

图片

在实盘阶段,监测时间段在9:25–11:3112:59–15:01,如果要测试功能,可以使能“测试模式”,并且模拟当前时间为交易时间。

图片

添加交易条件单

图片

“交易条件单”中记录的是实盘中需要交易的股票信息,比如买卖的股票、数量、价格、盘中执行的策略等。如何生成“交易条件单”呢?

交易条件单分为买入(准备买入)条件单和持有(准备卖出)条件单。

点击“导入股票池”后会把自选股中的股票最新行情数据加载到界面中(用于建立条件单)

点击股票代码后会出现买入/持有单配置界面。

图片

我们根据自己策略分析的结果填写交易方向(买入)、买入的价格、买入的股票数量。如下所示填写“洪涛股份”的交易配置参数:

图片

配置完成后点击确认,就添加到了左侧的“交易股票池”中了。

图片

“持有股票池”中记录的是已持有股票的止盈止损设定值。

盘中触发到止盈止损值时会触发卖出信号。

同样,点击“导入股票池”后会把自选股中的股票最新行情数据加载到界面中。点击股票代码,然后选择“持有股票池”会出现配置界面。

图片

我们可以更改止盈止损的模式和幅度,同时配置界面也会显示买入的价格和持有后最高的价格。

目前我们支持的止盈模式是固定比例的,比如买入后涨幅达到10%止盈。止损模式是动态回撤止损,比如买入后股价从最高价下跌5%后就止损退出。

如下所示填写“福蓉科技”的止盈止损配置参数。

图片

点击确认后会添加到“持有股票池”中。

图片

如果要删除该股,更改交易参数,或者更改止盈止损参数的话,双击对应股票池中的股票代码进行选择即可。

另外,当触发“买入条件单”中的股票后,会自动更新至“持有股票池”中。

如果有单独手动下单买入的股票,也可以通过在ConfigFiles/trade_para.json中添加信息方式更新“持有股票池”

图片

启动下单机器人

图片

单独运行QTYX工程下的文件“TradeRobot.py”即可启动“下单机器人”。

图片

在下单机器人TradeRobot.py中有一个TimeTrigger类,可以在其中的trigger_run中添加自己要定时执行的任务:

def trigger_run(self):
    while True:        if self.in_trade_time(cur_time):            # 9:25--11:31 12:59--15:01 时段获取数据            print(u"当前时间{0}".format(cur_time.strftime("%Y-%m-%d_%H:%M:%S")))        elif self.before_trade_time(cur_time):            print(u"开始时间{0}--未开盘".format(self.start_time.strftime("%Y-%m-%d_%H:%M:%S")))        elif self.after_trade_time(cur_time):            print(u"结束时间{0}--已收盘".format(self.end_time.strftime("%Y-%m-%d_%H:%M:%S")))        else:            print(u"休息时间-- 11:30至13:00")        time.sleep(CONF_SCAN_TIME)  # 3秒采集一次, 执行时间在2秒内, 等待1秒

比如我们在交易时间段三秒周期调用了实时行情获取类RealTimeDataget_daily_thread()接口,也可以在收盘的时候调用这个接口,并且把数据以csv格式存储到本地,或者存到本地的数据库。

图片

远程发送分析报告

图片

实盘时发现该股已经到了买入或者卖出价位时,或者符合止盈止损交易条件时,会远程发送信息提醒。(要记得在ConfigFiles/sys_para.json中填写邮箱信息,在微信上开启QQ邮箱提醒功能,效果如同微信提醒)

图片

如何填写邮箱信息:

SMTPSimple Mail Transfer Protocol

PythonSMTPHTML

Pythonemailsmtplib

图片

MIMEText()plainhtmlHTML

FromToSubject

图片

smtplibsmtplib.SMTP()SMTP

set_debuglevel(1)SMTPlogin()SMTPsendmail()

图片

password

QQ126163POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV

QQQQ

[] > [] POP3/IMAP/SMTP

图片

16

图片

图片

了!

图片

自动交易接口

图片

在配置参数对话框中,如果勾选自动交易的话,系统会根据设置的参数自动执行买卖操作。

图片

需要注意的是,QTYX支持接入第三方库easytrader执行自动交易,使用之前在自己的环境上调试好easytrader库即可。

图片

具体可以参考以下公众号文章:

股票量化系统QTYX开启全自动实盘之路——第一弹easytrader库搭建本地自动交易环境

如果大家把自动交易调试稳定的话,可以把自动交易的函数添加到以下代码处,这样就完成了自动交易这个末端环节。

if val['auto_trade'] == True:    print("自动交易需调试交易环境,查看公众号《小散量化炒股记|要克服人性弱点?激活股票全自动化交易!》")
图片
服务器部署下单机器人
图片

我们已经准备好了下单机器人的Python脚本(QTYX目录下的TradeRobot.py),能达到定时执行Python程序的本质还是用到Windows下的任务计划,在日常工作中这个功能经常用于提高工作效率的。

接下来创建一个定时任务来执行这个脚本。

一步,右键我的电脑,点击管理。在弹出的计算机管理对话框点击任务计划程序—>创建基础任务。

图片

第二步,在弹出的创建基本任务向导输入名称和描述,然后点击下一步。

图片

第三步,在触发器页面设置脚本执行的时间计划,选择每天,点击下一步。

图片

第四步,设置每天触发的时间,点击下一步。

图片

第五步,在操作页面,选择启动程序,点击下一步。

图片

第六步,此处程序或脚本中填写的一般是编译器的名称,一般对Python来说就是Python.exe(找到你的安装路径),添加参数就是你所要执行的Python文件(完整路径),这样填写的本质其实就是在命令行中执行Python一样。

图片

第七步,设置到这里已经算是完成了,接着就是等待它自动执行了。

图片

图片

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/105921
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 5天前
下一篇 5天前

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注