基于easyTrader部署自动化交易(一)

本文介绍:旨在帮助已经有交易策略的朋友能自己完成实盘的自动交易。

写这篇文章之前先要感谢开源项目easyTrader的作者食灯鬼。我在部署项目的过程中也踩了不少坑,记录于此希望能帮遇到这些问题的朋友或者不清楚部署过程的朋友节约时间。

1.项目中需要用到的软件,工具,文档链接: 参考文档:使用 - easytrader

同花顺ths_v8.60.64(正常安装即可):百度网盘 请输入提取码 提取码: 7788 ,easyTrader项目源码:https://gitee.com/zhb233/easytrader

使用Anaconda3搭建python运行环境(正常安装即可):Windows系统:https://repo.anaconda.com/archive/Anaconda3-2020.07-Windows-x86_64.exe

苹果系统:https://repo.anaconda.com/archive/Anaconda3-2020.07-MacOSX-x86_64.pkg

下载完成后在Anaconda Navigator中打开Spyder,建立新项目,然后包含前面下好的easyTrader项目源码,根据文档进行测试。

2.具体测试过程不多做说明,此链接已经足够详述使用 - easytrader

3.简要代码如下,

import easytrader#登录自动交易模块
if __name__ == "__main__":user = easytrader.use('universal_client') # 同花顺客户端user.prepare(user='券商账号', password='', comm_password='', exe_path='C:\\同花顺软件\\同花顺\\xiadan.exe')#user.enable_type_keys_for_editor()#修改字体编码格式,有的不加会出问题/有的加了会出问题#跟踪joinQuantfollower = easytrader.follower('jq')follower.login(user='聚宽账号', password='聚宽密码')follower.follow(user, '模拟交易url')#例如:https://www.joinquant.com/algorithm/live/index?backtestId=xxx

其他测试:


#测试
follower.follow(user, 'https://www.joinquant.com/algorithm/live/index?backtestId=dc55932e5dd44ef6d7e2a3e012b08bf9',trade_cmd_expire_seconds=100000000000, cmd_cache=False)
#1.刷新数据
user.refresh()
#2.获取持仓
user.enable_type_keys_for_editor()
#print(user.position)
#3.获取资金情况
print(user.balance)
#4.一键打新
user.auto_ipo()
#5.查询当日成交 
#print(user.today_trades)
#6.查询当日委托
print(user.today_entrusts)
#7.买入
#buy_no = user.buy('510500', price=8.63, amount=100)
#print(buy_no)
#8.卖出
sell_no = user.sell('159840', price=1.8, amount=1000)
print(sell_no)
#9.撤单
#user.cancel_entrust(235)
#10.退出客户端
#user.exit()

 

有两点需要强调:

        (1)joinquant的模拟url需要先有策略生成了模拟交易,在交易界面才能拿到这个url,而不是分享链接的URL,如图红框才是所需url

        (2)关于注释的那一行用于修改编码格式,输入格式没问题不要加。适用于某些无法输入文本的券商使用。user.enable_type_keys_for_editor() 

        解决办法:无法输入时,可添加修改格式的这行代码。本人可成功执行!

4.我使用的是通用客户端,遇到了如下问题,以及解决:

  (1)TypeError:can't multiply sequence by non-int of type 'float'

解决方案:进入文件修改对应行数的price,转化成float格式

 (2)joinquant链接获取失败的问题,强调的是下图红色箭头,务必确定链接填写正确

(3)未知错误打断,调整了交易间隔0s->1s即可,

顺便设置了滑点为5%,即0.05 。在follower.py里面设置也可

follower.follow(***, send_interval=1) # 设置下单间隔为 1 s
follower.follow(***, slippage=0.05) # 设置滑点为 5%

 

(4)非交易时间,获取到下单信号,出现价格'--'的data,无法转化为实际下单价格 

(5)返回成功,实际未下单成功。

解决:添加了user.enable_type_keys_for_editor(),解决了输入为空的问题;又出现了输入都没有问题,但是最后确定无法点击成功。解决:使用指令pip install easytrader -U,进行升级,重启内核再次运行。

推测原因:时序逻辑有问题,执行了一个交易后队列堵塞。

(6)InvalidWindowHandle: Handle 4393826 is not a vaild window handle,

错误原因:通用同花顺客户端未提前打开

(7)非交易时间测试下单:出现"当前时间不允许此类证券交易"

(8)跟踪雪球组合,非交易时间触发循环tips,修改easytrader消除

(9)转债的数据最小10股,和普通一手100股进行区分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/70487.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最近频繁出现的AIGC、AIGC技术、AIGC概念股是什么

AIGC,全名“AI generated content”,又称生成式AI,意为人工智能生成内容。例如AI文本续写,文字转图像的AI图、AI主持人等,都属于AIGC的应用。互联网内容的演变过程:PGC——UGC——AIGC 什么是AIGC AIGC是人…

跨国药企在中国 | BioNTech、阿斯利康、富士医疗、卫材等公司新动态

一周热点 :复星医药将与BioNTech组建合资公司。绿叶制药与阿斯利康推进心血管及肿瘤领域深度合作。卫材旗下卫克泰纳入医保目录。Abcam与数问生物扩大合作。Immedica Pharma AB维健医药、再鼎医药和Cullinan Oncology达成合作。 | 投资、合作 BioNTech 复星医药将与…

2020年全球及中国体外诊断行业现状及竞争格局分析,新冠带来全球体外诊断市场的扩容「图」

一、体外诊断综述 体外诊断,即IVD(In Vitro Diagnosis),是指在人体之外,通过对人体血液、体液、组织等样本进行检测而获取临床诊断信息,进而判断疾病或机体功能的诊断服务。根据临床医学检验项目所用技术原…

全球医疗器械研发投入前十,这家中国公司领跑榜单

2023年,《医疗设计》杂志公布了最新一期百强榜,评选出了2022全球医疗器械行业最高研发支出和项目的十家公司。这些公司的每年研发支出超过收入的15%。尽管经济面临逆风,医疗器械行业的销售额却创下了新的历史高点,研发支出也加速增…

研究04丨波动率与CTA盈利关键

大家好,今天我们来聊一聊CTA盈利与波动率两者的关系。众所周知,CTA其实是靠beta吃饭的家伙,不光是宽幅震荡,插针,暴涨暴跌AV来回反转,还是暴涨暴跌的行情。这其实都是波动率的体现。从“有行情”这三个字简…

2015-2023年全球医疗器械公司100强(附细分领域排行)

目录 2023全球医疗器械企业100强榜单,12家中国企业上榜 2022年度全球医疗器械公司100强排行榜 2021年全球医疗器械百强排行榜 2020年全球医疗器械企业100强公布(年份待定) 2020全球医疗器械100强 2019年度全球医疗器械企业100强排行 2…

2021全球医疗健康及各医疗细分领域融资情况分析:中国医疗健康进入高发期,逐渐成为投资热点[图]

一、全球医疗健康融资情况 健康管理不同于传统医疗,以疾病预防干预代替疾病治疗,防病于先。通过定期的全身筛查,提前进行疾病的预防。并采取积极地干预康复手段,保持身体始终处于一个健康状态。从而降低患病的几率。 2021年全球医…

CDMO医药行业龙头企业有哪些?如何系统的分析查看?

CDMO医药行业龙头有哪些?如何系统的分析查看?这是许多医药企业与医药投资者关心的问题。本文将从多个角度去探寻该行业的信息,老规矩先上目录。 1.对CDMO医药行业的龙头企业、行业市场介绍、优势、人才、研发、细分领域、技术、政策、市场、…

2023 年值得关注的 7 大人工智能 (AI) 技术趋势

💂 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 人工智能 (AI) 已经接…

端午节使用Threejs实现数字人3D粽子

个人主页: 左本Web3D,更多案例预览请点击》 在线案例 个人简介:专注Web3D使用ThreeJS实现3D效果技巧和学习案例 💕 💕积跬步以至千里,致敬每个爱学习的你。喜欢的话请三连,有问题请私信或者加微…

企业微信自动添加手机好友工具

分享一个企业微信批量根据手机号加好友的神器,导入手机号一键添加

pywinauto+pytesseract实现企业微信客户端自动化批量添加好友

1.项目介绍 本项目主要是利用 pywinauto 自动化操作和 pytesseract OCR图片识别技术,实现了企业微信的批量添加好友操作,解放双手,摆脱重复的工作,减轻工作压力。 目前市面上还是有很多软件都是客户端形式的,比如说 Q…

微信自动加好友可以使用python实现

一、 现在电脑上安装python环境(可以自行百度) 二、安装python的虚拟环境 pip3 install virtualenv 三、创建一个虚拟环境 virtualenv venv -p python 四、在安装的虚拟环境中找到script文件夹 五、将以下的auto压缩包解压,放到script下 六…

Python 企业微信自动批量添加好友

**使用说明****1、**此应用由四个文件组成(1个主运行程序、2个文本存储档、1个图片识别文件夹。) 1.1、imgs_all文件夹中存放的5张格式为jpg的图片是用来捕捉屏幕桌面是否存在图片,不同电脑时大多数通用,反之要进行重新截图获取&a…

微信自动批量添加好友,可以这样实现?

一、 现在电脑上安装python环境(可以自行百度) 二、安装python的虚拟环境 pip3 install virtualenv 三、创建一个虚拟环境 virtualenv venv -p python 四、在安装的虚拟环境中找到script文件夹 五、将以下的auto压缩包解压,放到script下 六…

传统巨头进驻Web3云计算会是下一个大趋势吗?

2023年的科技圈风起云涌,科技巨头纷纷围绕AI吹响了军杯赛的号角,以ChatGPT为代表的AI技术预示着第四次工业革命已经到来,而当前恰处于关键时期。 几十年的积淀与数月的“狂飙”,证明了AI绝不是一次短暂的技术泡沫,其将…

推特账户设置推文保护

1.点击头像,进入设置页 2.选择安全与隐私 3. 勾选“protect your Tweets”并保存即可 4. 其他账号的查看效果

推特开发者账号 获取推文的视频链接

关于如何获得一个推特开发者账号请看此贴: 推特开发者账号的申请 或 搜索微信公众号 twitterDeveloper 获得帮助 在爬取推文的时候,会碰到一些带有视频的推文 可以通过 extended_entities参数来获取视频的url 代码如下: 在对上面的推文调…

推特开发者账号申请 elevated 高级 academic 学术 权限 2021年11月

主要用来介绍推特开发者账号的 elevated academic 权限如何申请 推特开发者v2接口已经开放1年了,申请流程也有了较大的变动。 先去推特开发者官网申请开发者账号,官网地址如下: https://developer.twitter.com/en/portal/dashboard 首先是…

推特开发者 推特 oauth1.0a 授权【推特开发者文档系列12】

关于推特开发者账号 elevated academic 请看此贴: 推特开发者账号申请权限 或 搜索微信公众号 twitterDeveloper 获得帮助 推特授权使用的还是oauth1.0的模式,官网介绍比较麻烦,也很不友好,所以下面将介绍一种简单的授权方法。…