以自带的atr_rsi策略为例,默认参数,品种为rb2010.
vnpy 2.1.2 ctp 的simnow 模拟账户。
if self.atr_value > self.atr_ma:
if self.rsi_value > self.rsi_buy:
self.buy(bar.close_price + 5, self.fixed_size)
elif self.rsi_value < self.rsi_sell:
self.short(bar.close_price - 5, self.fixed_size)
9点开盘立即发单(我理解是上周收盘时就满足了条件)
不过对照文华的1分钟数据,看到Atr(22)与atr_ma(10)满足条件,但RSI(5)并不满足条件>66。(只对监临近的几根Bar,这里假设文华与vnpy里的行情数据一致)
【问题1】如果是这样,那天9点开盘时,不应该发出 多开指令!除非不是next bar模式。因为高开后,rsi是立即满足了。那么是否存在信号闪烁的问题?
【问题2】假设条件逻辑没问题,进场指令都是限价指令,bar.close加减5。
17日最后一个1分钟Bar,收盘价3381,那我理解发出买单应该是3386。但回测来看,不论是否设置滑点,回测里的价格都是 3387。
然后策略实际跑的情况是以3404发单,成交3401。不是应该是限价单吗?这个是我的主要困惑。
问题3,策略运行的委托结果,与回测偏很大是如何产生的,尤其是 后面的翻空操作
5_-957772934_4那个委托,是手动测试交易模块的手动下单(不知道最近老是不成功,订阅不了,下单也老是提交中)