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

每次下单0.02,白天还是正常开平仓,过了一晚上早上一看策略里变成-1.7pos了,交易所里没有仓位,然后就一直在发单,不知道这个-1.7pos是怎么加上去的,火币同样策略没有问题,是单向持仓问题吗,单向持仓buy/sell/short/cover同样使用吗,还有就是每次修改js文件后初始化策略,策略里的pos不会第一时间更新,要关了再次初始化才更新,是不是跟这个POS的延迟有关系呢,还有就是界面的持仓栏那里不管有没有仓位一直是亏损的状态
description

description

description

Member
avatar
加入于:
帖子: 470
声望: 20
  1. pos不是-1.7,应该是精度显示的问题。但是我们在币安永续接口on_trade的时候用round_to函数基于最小交易量做了处理。可以自行去cta strategy.engine的process_trade_event函数里逐行打印看看。
  2. 是的。
  3. js文件更改后,策略需要重新读取js文件,因此需要重新初始化策略。
Member
avatar
加入于:
帖子: 67
声望: 0

青青子荆 wrote:

  1. pos不是-1.7,应该是精度显示的问题。但是我们在币安永续接口on_trade的时候用round_to函数基于最小交易量做了处理。可以自行去cta strategy.engine的process_trade_event函数里逐行打印看看。
  2. 是的。
  3. js文件更改后,策略需要重新读取js文件,因此需要重新初始化策略。

一共三笔交易,前面两笔正常的,第三笔空单没有打印出来,界面里pos也没有更新,然后JS文件里是POS却更新了,但是还是无法平仓。然后更改JS为0后,重新初始化,界面反而为-0.01,更改了两次界面的才变为0,搞不懂啥问题很诡异
description

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

description
然后又出现部分成交,数据未打印,POS也没更新,JS也没更新,交易所完全成交的情况

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

我用最暴力的方法开单,阳线开多,阴线开空,之前都是正常,后来行情突然不跳了,然后恢复行情跳动后,就不停提交订单,然后就报这个错
request : DELETE /fapi/v1/order?origClientOrderId=328hhn6c-210551384380767469&symbol=ETHUSDT&timestamp=1621417980910&signature=79a58d97d9a8f941d2d79a。。。7b9da failed because 400:
headers: {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': 'application/json', 'X-MBX-APIKEY': 'ERVK9j3P$JGdmWDDEN0q2JyjgfeaI18IsGOVQtmYdBWZMwZgPB8s2G', 'Connection': 'close'}
params: {}
data: {}
response:{"code":-2011,"msg":"Unknown order sent."}
request : DELETE /fapi/v1/order?origClientOrderId=328hhn6c-210551384380767476&symbol=ETHUSDT&timestamp=1621417980988&signature=ec2a0a1400。。。。。。0a53e5dd1d012318ad4b failed because 400:
headers: {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': 'application/json', 'X-MBX-APIKEY': 'ERVK9j3P$JGdmWDDEN0q2Jyjgf。。。。。。mYdBWZMwZgPB8s2G', 'Connection': 'close'}
params: {}

Member
avatar
加入于:
帖子: 470
声望: 20

这个报错应该是由于网络断开了,这笔单没发成功,但是在本地已经提交了。你用了本地的订单号去撤单 ,显示找不到此订单。

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

青青子荆 wrote:

这个报错应该是由于网络断开了,这笔单没发成功,但是在本地已经提交了。你用了本地的订单号去撤单 ,显示找不到此订单。
这种情况隔几个小时就会出现,不知道是交易所问题还是接口问题,服务器是东京腾旭云,还有我在策略并没有写任何撤销的代码啊,代码是这样的,极度简单为了测试交易是否正常
def on_tick(self, tick: TickData):
"""
Callback of new tick data update.
"""
self.bg.update_tick(tick)

    if self.pos>0 :
        if abs(tick.last_price-self.kaicangjia)>=self.zhisun:#2,止损点止损
            self.sell(tick.last_price-5.0,abs(self.pos))        

    elif self.pos<0:
            if abs(tick.last_price-self.kaicangjia)>=self.zhisun:#2,止损点止损
                self.cover(tick.last_price+5.0,abs(self.pos))


def on_bar(self, bar: BarData):
    """
    Callback of new bar data update.
    """

    am = self.am
    am.update_bar(bar)
    if not am.inited:
        return

    if bar.close_price> bar.open_price:
        if self.pos == 0:
            self.buy(bar.close_price+5.0,self.fixsize)
            self.kaicangjia=bar.close_price

    elif bar.close_price< bar.open_price:
        if self.pos == 0:
            self.short(bar.close_price-5.0,self.fixsize)
            self.kaicangjia=bar.close_price
Member
avatar
加入于:
帖子: 470
声望: 20

这个返回的报错DELETE /fapi/v1/order是撤销订单的,可以去交易所看一下文档。

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

青青子荆 wrote:

这个返回的报错DELETE /fapi/v1/order是撤销订单的,可以去交易所看一下文档。
哎,自己无法解决,放弃了,希望更新新版本,到时候再来试吧

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

沪公网安备 31011502017034号