一篮子订单并非一个单一订单,而是三个订单组合起来的,其中一个是主订单,另外两个一是针对主订单的止损保护单,二是针对主订单的获利了结单。
我们考虑一个做多的场景:这种场景下,我们想买入股票(创建买单),但是又希望在股价下跌时通过止损卖单限制损失,并且希望股价上升到目标价后卖出股票获利了结。因此,当下达一个主买单后,同时下达一个止损卖单保护自己,再同时下达一个获利了结卖单保护利润,说明如下:
- 一个主买单buy,默认是限价单Limit,要设置主限制价price(相当于进入市场价格)。此单称为main单。
- 一个子卖单sell,默认为停损单Stop,限制损失,要设置子停损价stopprice。此单称为stop单。
- 再一个子卖单sell,默认为限价单Limit,以获利离场,要设置子限制价(即获利了结价)limitprice。此单称为limit单。
以上三个价格的关系是:stopprice(止损价)<price(进入价)<limitprice(获利了结价)。
这3个订单一起提交,主订单执行后,两个子订单才激活(激活前不执行)。若主单取消,则子单自动取消。激活的子单中任意一个执行或取消将导致另一个自动取消。
以下是代码例子:
brackets = self.buy_bracke