| | |
| | | } |
| | | |
| | | GridElement longStopLossElem = GridElement.findByLongStopLossOrderId(orderId); |
| | | if (longStopLossElem != null && longPositionSize.compareTo(BigDecimal.ZERO) > 0) { |
| | | if (longStopLossElem != null && longPositionSize.compareTo(BigDecimal.ZERO) > 0 && StrUtil.isNotEmpty(tradeId) && !tradeId.equals("0")) { |
| | | handleLongStopLossTriggered(longStopLossElem); |
| | | return; |
| | | } |
| | | GridElement shortStopLossElem = GridElement.findByShortStopLossOrderId(orderId); |
| | | if (shortStopLossElem != null && shortPositionSize.compareTo(BigDecimal.ZERO) > 0) { |
| | | if (shortStopLossElem != null && shortPositionSize.compareTo(BigDecimal.ZERO) > 0 && StrUtil.isNotEmpty(tradeId) && !tradeId.equals("0")) { |
| | | handleShortStopLossTriggered(shortStopLossElem); |
| | | return; |
| | | } |
| | |
| | | if (cancelGridElement != null && cancelGridElement.isHasLongOrder()) { |
| | | longEntryTraderIdParam(cancelGridElement, null, false); |
| | | executor.cancelConditionalOrder(cancelGridElement.getLongOrderId(), oid -> { |
| | | log.info("[Gate] 多仓仓位归零, 取消gridId:{}的多单", cancelGridElement); |
| | | log.info("[Gate] 多仓仓位归零, 取消gridId:{}的多单", cancelGridElement.getId()); |
| | | }); |
| | | } |
| | | } |
| | |
| | | if (cancelGridElement != null && cancelGridElement.isHasShortOrder()) { |
| | | shortEntryTraderIdParam(cancelGridElement, null, false); |
| | | executor.cancelConditionalOrder(cancelGridElement.getShortOrderId(), oid -> { |
| | | log.info("[Gate] 空仓仓位归零, 取消gridId:{}的多单", cancelGridElement); |
| | | log.info("[Gate] 空仓仓位归零, 取消gridId:{}的多单", cancelGridElement.getId()); |
| | | }); |
| | | } |
| | | |