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

小额资金实盘测试,策略设置的fixed_size是0.005,空了一单后按理说self.pos应该<0, 不会再开空,现在界面显示的是持仓0,还是会继续开空。

if self.pos > 0:

            if self.isShort():
                self.short_entry_price = bar.close_price-0.02
                self.sell(self.short_entry_price,self.fixed_size)
                self.short(self.short_entry_price,self.fixed_size)

        elif self.pos == 0:   
            if self.isLong():
                self.long_entry_price = bar.close_price+0.02
                self.buy(self.long_entry_price, self.fixed_size)
            elif self.isShort():
                self.short_entry_price = bar.close_price-0.02
                self.short(self.short_entry_price,self.fixed_size)

        elif self.pos <0:

            if self.isLong():
                self.long_entry_price = bar.close_price+0.02
                self.cover(self.long_entry_price,self.fixed_size)
                self.buy(self.long_entry_price,self.fixed_size)
Administrator
avatar
加入于:
帖子: 4607
声望: 264

请检查你的委托是否实际成交了,以及贴一下主界面和策略解面的持仓部分截图

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

用Python的交易员 wrote:

请检查你的委托是否实际成交了,以及贴一下主界面和策略解面的持仓部分截图

我把binances_gateway.py里on_query_position函数里的这一行int()去掉就好了,不知道是不是这个原因?
volume=int(float(d["positionAmt"])),

Administrator
avatar
加入于:
帖子: 4607
声望: 264

应该不会,这里的int操作有任何异常信息抛出吗?

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

用Python的交易员 wrote:

应该不会,这里的int操作有任何异常信息抛出吗?

没有异常,但是猜测会把小于1的转为0,导致界面上显示的是0,不懂pos是float类型这里为什么要转int呢?

Administrator
avatar
加入于:
帖子: 4607
声望: 264

因为衍生品是围绕合约展开交易的,合约最小单位应该是1张

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

沪公网安备 31011502017034号