vn.py官网
开源量化社区
Member
avatar
加入于:
帖子: 154
声望: 0

咨询老师一下,在on_trade中使用trade.offset == Offset.CLOSE如何获取平仓手数呢?我使用如下代码获取到的结果是,平仓: 0 手

    def on_trade(self, trade: TradeData):
        if trade.offset == Offset.CLOSE:
            self.bar_counts = 0           
            print("策略名称:15号",trade.datetime,"平仓:", abs(self.pos),"手",trade.price,"备注:平仓")

打印出来的结果显示如下:平仓:0 手

策略名称:15号策略 2020-02-24 18:18:00+08:06 平仓: 0 手 13450.0 备注:平仓

望指导,万分感激!

Member
avatar
加入于:
帖子: 3115
声望: 181

不清楚你的具体代码,但是self.pos不应该是该品种此时的仓位吗?假设你多一手,然后平一手,成交了,此时仓位不就是0吗。如果此时有了TradeData,方向也是close,那这一次平仓的手数应该是trade.volume吧。

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

沪公网安备 31011502017034号