回测时,获取的是你在回测引擎中设置的合约乘数。
实盘时,获取的是交易接口返回的合约数据中的乘数字段。
SimNow的7x24小时环境
SimNow的今昨仓位数据问题了,换个别的非上期所合约测试吧
版本太老了吧,综合升级到3.8.0试试
你前面buy的第三个参数为True,此时是用的停止单,要价格突破你的buy_price才会实际发单去成交。
如果要查看csv文件的原始字符串,推荐用vscode、记事本之类的文本编辑器。Excel会在打开时自动转换格式
photophoto wrote:
左下角显示合约信息查询成功,,日志输出是怎么操作?我看使用文档没有写,要日志输出后才能选择期权组合配置吗?怎么操作,谢谢!
是的,看到【合约信息查询成功】后,再去点开OptionMaster
ibapi这个包需要升级了,具体可以看下仓库页面的说明:
用【平今】指令委托即可。
如果是SimNow出现上述情况,可能是仿真环境的结算问题,无法自行解决,等2天就好了。
有点类似,但是市价单在流动性不好的时候可能因为击穿市场导致成交价大幅恶化,而每次用上一个Tick盘口价格委托,出现这种可能性的概率就低多了
是的,但是订阅本身可以通过代码读取csv文件后一个循环就能解决
除非要用本地仿真交易,否则不要加载PaperAccount模块
CTP应该同样会报错的,除非你是等待初始化完成后才运行的策略脚本
开盘提交的委托类型是限价单,还是某些特殊指令?比如【收盘价成交】委托
get_trades的传参确实是vt_orderid,你代码里的调用写法没什么问题。
但是成交数据是来自于服务器推送的,因此从下单到收到成交推送会存在一个延时,你可以在engine.get_trades之前做个sleep操作等待若干秒后再查询成交即可。
x-bird wrote:
那使用Portfolio组合策略做股票的话,只能用get_pos拿持仓?
就一个持仓量,什么都没有,开仓均价这些需要自己通过交易记录本地数据库维护吗?
如果是的话这块逻辑就得自己重写覆盖一下了,还是说我理解有问题,已经有现成的可以用?
你需要的是接口层的持仓数据,可以通过main_engine.get_position()来获取PositionData对象即可
不要cancel_all即可,每次委托后会返回委托号,后续使用这些委托号进行精准撤单即可。
放置好策略后,要重启下VeighNa Trader才能扫描加载。
如果还是不行可以截图看下你的strategies文件夹所在的目录结构
因为登录初始化尚未完成,多sleep等待一会即可