这个帖子里面 直接就是 self.pos=self.engine.get_all_positions()
但是 这个engine 在2.1.4里面好像没有import进来,还是我哪里没搞对。谢谢!
这个帖子里面 直接就是 self.pos=self.engine.get_all_positions()
但是 这个engine 在2.1.4里面好像没有import进来,还是我哪里没搞对。谢谢!
没有import就import试试看呗
VNPY中持仓查询的方法,可以根据以下以下原理灵活变通:
1.在CTP_gateway中定义了计时器处理函数,def process_timer_event(self, event): 它的功能是每2秒查询一次账户持仓(CTP_gateway里也有个队列)。
cc5168 wrote:
VNPY中持仓查询的方法,可以根据以下以下原理灵活变通:
1.在CTP_gateway中定义了计时器处理函数,def process_timer_event(self, event): 它的功能是每2秒查询一次账户持仓(CTP_gateway里也有个队列)。
- 在CTP_gateway中向CTP柜台请求查询账户持仓后,CTP柜台响应、用def onRspQryInvestorPosition()来处理响应,这函数调用on_position,把查询到的结果推入事件引擎队列中。
- main_engine从队列中读持仓数据,用def process_position_event()函数来处理查询到的持仓数据,在这个函数中,把查询的持仓数据缓存到了self.positions这个字典中
- 那么在CTA策略中如果想查看账户持仓数据,那就调用主引擎的get_position或者get_all_position(),就可看到持仓数据,也就实现了你想要的“调用”。
有范例没?在策略里得持仓查询。