vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 25
声望: 0

(1)止盈止损
我在onTrade成交回报中添加止损单,再提前挂止盈单,如果先到达止损,是否能生效,是否应该特别把止损单接口里面先cancel掉先前止盈单才行?

(2)K提前走完
文华财经里面有个功能是K线提前几秒信号出来(利用K的即时close当作它的close),某些场景下取得先机,vnpy中怎样实现这种功能?bar没走完的情况下是不会进入onBar的吧?

(3)记录tick数据
怎样记录tick数据到数据库?

Administrator
avatar
加入于:
帖子: 2152
声望: 99
  1. 两者都会被触发,vn.py中挂出的是委托,委托不管你仓位的情况都会被执行,这点不是外汇里那种和仓位绑定的止损
  2. 自己改写BarGenerator的合成逻辑,在我们vnpy-community微信公众号的进阶课程中有讲到
  3. 用DataRecorder模块
Member
avatar
加入于:
帖子: 25
声望: 0

1.但是止盈单提前挂出委托,可用仓位为0,止损单就算被触发了,也无法实际执行吧?

Administrator
avatar
加入于:
帖子: 2152
声望: 99

国内期货市场,委托分开平的情况下,可用仓位为0确实就没法执行了。

但是海外期货市场、数字货币市场,是采用净仓交易,直接就给你开反向仓位了。

Member
avatar
加入于:
帖子: 25
声望: 0

再请教下:

  1. 正常止盈平仓后,先前下发的止损单还需要专门取消掉吗?
  2. 下了止损单后,移动调整止损位,重新下止损单,先前的止损单还管吗?
Administrator
avatar
加入于:
帖子: 2152
声望: 99
  1. 需要的,止损单不是绑定仓位的,需要你自己撤销(和外汇市场不同)
  2. 需要你自己撤销,原理同上
Member
avatar
加入于:
帖子: 25
声望: 0

继续问个止盈的问题:
我在ontick中设置止盈逻辑,遇到某些回报特别慢,pos还未刷新的情况下,下一个tick又来了,会再走一次止盈逻辑,报“可平持仓不足”!
这种情况有什么好办法处理吗?

Administrator
avatar
加入于:
帖子: 2152
声望: 99

所以可以吧止盈止损的设置,写在on_trade回调函数里,实际收到成交回报后再去下

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3