简述
一篮子订单是三个订单组合起来的,其中一个是主订单,另外两个一个是针对 主订单的止损保护单(止损单),二是针对主订单的获利了结单(止盈单)
主买单:
默认是限价单Limit,要设置主限制价 price,相当于进入市场的价格
止损单:
默认是止损单Stop,用于限制损失,要设置止损价 stopprice
止盈单
默认是限价单Limit,要设置限制价(止盈价)limitprice
将这3个订单一起提交,主订单执行后,两个子订单才激活。若主单取消,则子单自动取消。激活的子单中任意一个执行或取消将导致另一个自动取消。
做多场景
主单是买单,两个子单是卖单
以上三个价格的关系是:stopprice(止损价) < price(进入价) < limitprice(止盈价)
brackets = self.buy_bracket(limitprice=14.00, price=13.50, stopprice=13.00)
做空场景
主单是卖单,两个子单是买单
以上三个价格的关系是:stopprice(止损价) > price(进入价) > limitprice(止盈价)
brackets = self.sell_bracket(limitprice=12.00, price=13.50, stopprice=18.00)
返回值 backets 是一个列表 [main, stop, limit]
, 记录了三个订单的引用
OCO订单,关联取消订单
简述
OCO全称是 One Cancel Others。就是一个订单的执行,取消或到期,自动取消其他关联的订单。
def next(self):
o1 = self.buy()
o2 = self.buy(oco=o1)
o3 = self.buy(oco=o1)
多层级关系
def next(self):
o1 = self.buy()
o2 = self.buy(oco=o1)
o3 = self.buy(oco=o2)