Administrator
2026-06-10 65068e1ac598872a4a7ab5b80934f21f35a2f62b
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -14,11 +14,7 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import com.xcong.excoin.modules.gateApi.wsHandler.handler.CandlestickChannelHandler;
import com.xcong.excoin.modules.gateApi.wsHandler.handler.PositionClosesChannelHandler;
@@ -858,13 +854,13 @@
        log.info("[Gate] 网格元素列表已构建, 共{}个元素 (空仓:{} 位置:0 多仓:{})", elements.size(), shortSize, longSize);
    }
    private void processShortGrid(BigDecimal currentPrice) {
        BigDecimal matched = BigDecimal.ZERO;
        synchronized (totalLongPriceQueue) {
            for (BigDecimal p : totalLongPriceQueue) {
                if (p.compareTo(currentPrice) >= 0) {
                    matched =  p;
                } else {
                    break;
                }
            }
@@ -895,8 +891,8 @@
                        GridElement cancelGridElement = GridElement.findById(newEntryGrid.getUpId());
                        if (cancelGridElement != null && cancelGridElement.isHasLongOrder()) {
                            String longOrderId = cancelGridElement.getLongOrderId();
                            longEntryTraderIdParam(cancelGridElement, null, false);
                            executor.cancelConditionalOrder(longOrderId, oid -> {
                                longEntryTraderIdParam(cancelGridElement, null, false);
                                log.info("[Gate] 多仓仓位归零, 取消gridId:{}的多单,{}", cancelGridElement.getId(),longOrderId);
                            });
                        }
@@ -913,7 +909,6 @@
            for (BigDecimal p : totalShortPriceQueue) {
                if (p.compareTo(currentPrice) <= 0) {
                    matched = p;
                } else {
                    break;
                }
            }
@@ -946,8 +941,8 @@
                         */
                        if (cancelGridElement != null && cancelGridElement.isHasShortOrder()) {
                            String shortOrderId = cancelGridElement.getShortOrderId();
                            shortEntryTraderIdParam(cancelGridElement, null, false);
                            executor.cancelConditionalOrder(shortOrderId, oid -> {
                                shortEntryTraderIdParam(cancelGridElement, null, false);
                                log.info("[Gate] 空仓仓位归零, 取消gridId:{}的多单{}", cancelGridElement.getId(),shortOrderId);
                            });
                        }