| | |
| | | tryGenerateQueues(); |
| | | }else { |
| | | longPositionSize = size; |
| | | //取消多仓位线以上的开空仓挂单 |
| | | //取消多仓位线以上的开多仓挂单 |
| | | List<GridElement> allShortOrders = GridElement.findAllShortOrders(longEntryPrice); |
| | | if (CollUtil.isNotEmpty(allShortOrders)){ |
| | | for (GridElement e : allShortOrders) { |
| | | executor.cancelConditionalOrder( |
| | | e.getShortOrderId(), |
| | | e.getLongOrderId(), |
| | | orderId -> { |
| | | shortEntryTraderIdParam( |
| | | longEntryTraderIdParam( |
| | | e, |
| | | null, |
| | | false |
| | |
| | | } |
| | | ); |
| | | |
| | | if (e.getShortTakeProfitOrderId() != null){ |
| | | if (e.getLongTakeProfitOrderId() != null){ |
| | | executor.cancelConditionalOrder( |
| | | e.getShortTakeProfitOrderId(), |
| | | e.getLongTakeProfitOrderId(), |
| | | orderId -> { |
| | | shortTakeProfitTraderIdParam( |
| | | longTakeProfitTraderIdParam( |
| | | e, |
| | | null, |
| | | false |
| | |
| | | tryGenerateQueues(); |
| | | }else { |
| | | shortPositionSize = size.abs(); |
| | | //取消空仓仓位线以下的开多仓挂单 |
| | | //取消空仓仓位线以下的开空仓挂单 |
| | | List<GridElement> allLongOrders = GridElement.findAllLongOrders(shortEntryPrice); |
| | | if (CollUtil.isNotEmpty(allLongOrders)){ |
| | | for (GridElement e : allLongOrders) { |
| | | executor.cancelConditionalOrder( |
| | | e.getLongOrderId(), |
| | | e.getShortOrderId(), |
| | | orderId -> { |
| | | longEntryTraderIdParam( |
| | | shortEntryTraderIdParam( |
| | | e, |
| | | null, |
| | | false |
| | | ); |
| | | } |
| | | ); |
| | | if (e.getLongTakeProfitOrderId() != null){ |
| | | if (e.getShortTakeProfitOrderId() != null){ |
| | | executor.cancelConditionalOrder( |
| | | e.getLongTakeProfitOrderId(), |
| | | e.getShortTakeProfitOrderId(), |
| | | orderId -> { |
| | | longTakeProfitTraderIdParam( |
| | | shortTakeProfitTraderIdParam( |
| | | e, |
| | | null, |
| | | false |