目前不支持
参照get_pricetick写一个策略里调用即可
那是夜盘的数据吧,请升级至最新版再试试看吧
可以自己把相关代码注释掉
发布于vn.py社区公众号【vnpy-community】
原文作者:用Python的交易员 | 发布时间:2021-10-30
2021的最后一场(第三期)vn.py小班课开始报名,老规矩还是放几张之前课程的照片:
准备完毕,静候同学们到达
学习量化,先从掌握核心框架
深入代码,分析策略逻辑细节
小班课时间还是都会定在周末两天,一共包含周六周日两个下午共计10小时的课程,以及后续三个月的助教跟踪辅导。线下课程的地点在上海浦东,考虑到新冠以来大家对于坐火车飞机的健康风险顾虑,不想来上海的同学也可以选择远程线上听课。
本期(总计第14期)课程的主题是【CTA策略交易】,目前剩余名额还有6位,感兴趣的同学请抓紧,课程大纲如下:
日期:2021年12月4日(周六)和12月5日(周日)
时间:两天下午1点-6点,共计10小时
大纲:
1 . CTA策略开发
a. 历史数据完整解决方案,多种数据库配置、历史行情记录、异常数据清洗
b. 基于模板开发CTA策略,参数变量设计,回调函数处理,交易函数详解
c. 深入K线时间序列:自定义K线合成,技术指标定制,时间序列统计分析
2 . 策略回测优化
a. 回测引擎核心业务逻辑流、委托撮合规则(停止单、限价单)、策略状态控制
b. 回测图表的分析方法,统计数据分析中的误区
c. 优化算法详解:多进程穷举算法、单进程遗传算法
3 . 实盘交易运维
a. 策略每日盘中的生命周期管理
b. 历史数据初始化、策略运行状态同步管理
c. 盘中交易异常处理方案
4 . CTA进阶深入
a. 股指期货策略源代码分享:SuperCombo、Cuatro
b. 商品期货策略源代码分享:MoneyFlow、OscillatorDrive
c. CTA策略中的交易算法实现:委托细粒度状态机管理
针对股指日内的SuperCombo策略:
针对焦炭趋势的OscillatorDrive策略:
针对海外市场趋势的SuperTurtle策略:
价格:10999元
报名请发送邮件到event@mail.vnpy.com,注明想参加的课程、姓名、手机、公司、职位即可。
课程对于之前参加过小班课的学员优先开放,同时提供9折的价格优惠。
请删除C:\users\administrator.vntrader文件夹里的cta_strategy_data.json。
注意,这里的administrator应该是你的Windows操作系统用户名。删除后重启VN Trader即可。
如果后续再次出现该错误,请检查策略代码中,是否有把str、bool、int、float类型以外的变量名称写到了parameters列表中,这四种类型以外的变量由于无法通过json序列化会导致保存策略状态出错(损坏json文件)
可以在接口的onRtnDepthMarketData函数中加上turnover=data["Turnover"],获取
你整个启动脚本都没有缩进,请参照run.py
可以过滤掉非交易时间段的脏数据再试试看
position = self.main_engine.get_position(vt_positionid=f"{self.vt_symbol}.{Direction.SHORT.value}")
pnl = position.pnl
vol = position.volume
不就可以了吗
报None是get_position获取到None了吧
这个理论上可以一直跑,因为只有在你设定的交易时间段才会启动子进程
请问你的simnow账号是111111吗?
不适用交互式环境,用脚本跑就好了
现在tickdata和bardata已经添加了turnover字段,如果底层接口有获取的话,tick上会带的。如果没有请自行查看对应接口是否提供了
建议自己过滤掉非交易时段的垃圾数据
write_log
小刘小刘 wrote:
xiaohe wrote:
那可以收到平仓成交回报之后再开仓
小何老师你好,那是在on_bar函数的内部,在发出平仓指令之后,获得这个vt_orderids,写一个循环,一直等待这个条件vt_orderids in self.active_orderids不成立,才进行下一步?下面这个简化的代码应该就可以了对吧?
short_vt_orderids = self.short(vt_symbol_0, price, volume) while short_vt_orderids in self.active_orderids: time.sleep(0.02) self.buy(vt_symbol_1, price, volume) # 因为我这个是用多品种模块的,所以是不同的vt_symbol
成交以后会有成交推送on_trade
那可以自己去vnpy_ctastrategy.engine里面打印排查看看