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

我在写脚本策略的时候使用engine.get_position函数获取持仓情况,short_2 = engine.get_position(vt_positionid='au2002.SHFE.Direction.SHORT'),但是返回的都是none,无法获得持仓情况,但实际上已经开了好几手空仓,这是什么情况?

Administrator
avatar
加入于:
帖子: 3902
声望: 208

au2002.SHFE.SHORT

这么写试试

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

没有持仓返回值不应该是0吗?为什么我用au2002.SHFE.SHORT返回值还是none啊,还是说我开仓之后才返回值?

Member
avatar
加入于:
帖子: 185
声望: 21

你可以使用

engine.get_all_positions()

试试

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

这个不是所有的持仓吗,您的意思是从这里面获取我需要标的的持仓对吗?

Member
avatar
加入于:
帖子: 185
声望: 21

我的意思是,看看这样是不是也查不到

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

哈哈哈,这个函数居然好使,不过为什么啊

Administrator
avatar
加入于:
帖子: 3902
声望: 208

没有持仓返回是None对象,具体函数调用的参数和返回值,请查看文档

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

是不是这样写?

def on_init(self):
"""
Callback when strategy is inited.
"""
self.pos=self.engine.get_all_positions()
self.write_log("策略初始化")
self.load_bar(10)

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

yn-苟氏杰 wrote:

是不是这样写?

def on_init(self):
"""
Callback when strategy is inited.
"""
self.pos=self.engine.get_all_positions()
self.write_log("策略初始化")
self.load_bar(10)

请问这个在2.1.4版本里是不是self.engine 改名了,怎么我引用出错

Member
avatar
加入于:
帖子: 207
声望: 13

请问你是用的脚本模式吗?

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