multi_signal_strategy的前3个信号生成类很容易明白,但最后那个MultiSignalStrategy没看懂下单逻辑,
我估计是三个set_signal_pos都为1的时候下单,但看TargetPosTemplate的源码真的很蒙圈。。。。。
谢谢
multi_signal_strategy的前3个信号生成类很容易明白,但最后那个MultiSignalStrategy没看懂下单逻辑,
我估计是三个set_signal_pos都为1的时候下单,但看TargetPosTemplate的源码真的很蒙圈。。。。。
谢谢
希望可以讲讲TargetPosTemplate 这个模板的用法, 基础CtaTemplate算是了解了, 不过一换模板,又有点晕
这里主要用到了一个策略信号(Signal)和交易执行(Execution)隔离的模式,TargetPosTemplate就是通过找个目标仓位的差分值来执行交易。
用Python的交易员 wrote:
这里主要用到了一个策略信号(Signal)和交易执行(Execution)隔离的模式,TargetPosTemplate就是通过找个目标仓位的差分值来执行交易。
是不是意味着TargetPosTemplate 可以用来调整仓位到需要的水平?这样的话,如果实现网格策略,第n个网格,跳转到第n+2个网格,直接调用TargetPosTemplate的set_target_pos就可以实现仓位变动?
TargetPosTemplate 就是根据设定的target_pos和策略持仓的差值进行下单来使仓位达到target_pos的。可以自己试试看
xiaohe wrote:
TargetPosTemplate 就是根据设定的target_pos和策略持仓的差值进行下单来使仓位达到target_pos的。可以自己试试看
建了一个类 TestGrid(TargetPosTemplate),然后在on_tick 里面写网格策略,只成交了首次减仓;分别在on_tick 里面super(TestGrid,self).on_tick(tick),on_bar里面 super(TestGrid,self).on_bar(bar),这样能实现tick数据更新吗,还是需要在TestGrid里面在价格Bargenerater更新tick,bar数据?如果不能实现,怎么写才能获取推送的数据呢?
tick应用可参考https://www.vnpy.com/forum/topic/86-shi-yong-targetpostemplatemo-ban-hui-ce-hui-ce-ji-lu-li-zhi-you-kai-cang-mei-you-ping-cang
要想知道数据有没有更新,print一下就知道了
xiaohe wrote:
print看着在tick里面有不断更新数据,但仓位不更新;然后把策略写入 on_bar 测试setTargetPos 依然改变不了仓位,在settargetpos里面打印,是有接受新仓位的,但仓位最终没变;然后新建class newtargetPosTemplate,重新定义settargetpos 的sendneworder,全部改成stop单依然没有改变仓位;网格搞定了,最后就差这个仓位变动实现不了
1.set_singal_pos(),跑回测时候,都是开仓,实盘里面,如果仓位为1,set_singal_pos(0),应该是平仓吧?
第一条K线吧。如果要知道开盘高开不就得走完第一根K线吗?
不需要啊,只需要获取开盘价就可以判断高开了;感觉只能是在tick里面获取第一个tickopen,然后在on——tick里面成交
对呀,on_tick就是下一个tick,on_bar就是下一个bar呀