请教一下各位大佬,昨天我的策略发出信号后 导致我的持仓为 一手买开 和 一手卖开,但是我今天重新启动之后,我的资金界面和持仓界面都没有显示,重新启动多次之后,我的资金界面有显示,但是昨持仓界面还是空的,这个是为什么呢?另外请问持仓数据是保存在那里的?
请教一下各位大佬,昨天我的策略发出信号后 导致我的持仓为 一手买开 和 一手卖开,但是我今天重新启动之后,我的资金界面和持仓界面都没有显示,重新启动多次之后,我的资金界面有显示,但是昨持仓界面还是空的,这个是为什么呢?另外请问持仓数据是保存在那里的?
合约查询成功信息还没输出,再等等吧
这个持仓的查询信息是直接从交易所获取的吗? 不会保存在本地? 我看本地似乎只保存了 pos 这个信息? 换句话说 如果我是锁仓的话 pos=0 但是其实我是双边持仓这个信息并没有保存在本地?
在VeighNa中,持仓信息的查询和存储方式如下:
pos
变量),而不是账户的实际持仓。pos
变量会显示为0
,因为pos
是净持仓(多仓 - 空仓)。你可以通过以下方法查询账户的实际持仓(包括多仓和空仓):
positions = self.cta_engine.main_engine.get_all_positions()
for position in positions:
print(f"合约: {position.vt_symbol}, 方向: {position.direction}, 数量: {position.volume}")
这段代码会返回账户的所有持仓信息,包括多仓和空仓。
pos
变量只保存策略的逻辑净持仓,锁仓时pos=0
。get_all_positions()
方法可以查询账户的实际持仓。希望这些信息能帮到你!如果还有其他疑问,欢迎继续提问。