| | |
| | | package com.xcong.excoin.modules.gateApi; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import io.gate.gateapi.ApiClient; |
| | | import io.gate.gateapi.ApiException; |
| | | import io.gate.gateapi.GateApiException; |
| | |
| | | tryGenerateQueues(); |
| | | }else { |
| | | longPositionSize = size; |
| | | //取消多仓位线以上的开空仓挂单 |
| | | List<GridElement> allShortOrders = GridElement.findAllShortOrders(longEntryPrice); |
| | | if (CollUtil.isNotEmpty(allShortOrders)){ |
| | | for (GridElement e : allShortOrders) { |
| | | executor.cancelOrder(e.getShortOrderId()); |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | longActive = false; |
| | |
| | | tryGenerateQueues(); |
| | | }else { |
| | | shortPositionSize = size.abs(); |
| | | //取消多仓位线以上的开空仓挂单 |
| | | List<GridElement> allLongOrders = GridElement.findAllLongOrders(shortEntryPrice); |
| | | if (CollUtil.isNotEmpty(allLongOrders)){ |
| | | for (GridElement e : allLongOrders) { |
| | | executor.cancelOrder(e.getShortOrderId()); |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | shortActive = false; |
| | |
| | | List<BigDecimal> matched = new ArrayList<>(); |
| | | synchronized (shortPriceQueue) { |
| | | for (BigDecimal p : shortPriceQueue) { |
| | | if (p.compareTo(currentPrice) > 0) { |
| | | if (p.compareTo(currentPrice) >= 0) { |
| | | matched.add(p); |
| | | } else { |
| | | break; |
| | |
| | | List<BigDecimal> matched = new ArrayList<>(); |
| | | synchronized (longPriceQueue) { |
| | | for (BigDecimal p : longPriceQueue) { |
| | | if (p.compareTo(currentPrice) < 0) { |
| | | if (p.compareTo(currentPrice) <= 0) { |
| | | matched.add(p); |
| | | } else { |
| | | break; |