Administrator
2026-05-18 74a275cb88dfb60eb5f14b16bf4dced3753619ed
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -740,7 +740,7 @@
     */
    private void generateShortQueue() {
        shortPriceQueue.clear();
        int prec = config.getPricePrecision();
        int prec = config.getPriceScale();
        BigDecimal step = shortBaseEntryPrice.multiply(config.getGridRate()).setScale(prec, RoundingMode.HALF_UP);
        config.setStep(step);
        BigDecimal elem = shortBaseEntryPrice.subtract(step).setScale(prec, RoundingMode.HALF_UP);
@@ -762,7 +762,7 @@
     */
    private void generateLongQueue() {
        longPriceQueue.clear();
        int prec = config.getPricePrecision();
        int prec = config.getPriceScale();
        BigDecimal step = config.getStep();
        BigDecimal elem = shortBaseEntryPrice.add(step).setScale(prec, RoundingMode.HALF_UP);
        for (int i = 0; i < config.getGridQueueSize(); i++) {
@@ -791,9 +791,11 @@
        List<GridElement> elements = new ArrayList<>();
        int shortSize = shortPriceQueue.size();
        int longSize = longPriceQueue.size();
        BigDecimal step = config.getStep().subtract(config.getContractMultiplier());
        //根据精度转换成小数
        int prec = config.getPriceScale();
        BigDecimal minTick = BigDecimal.ONE.scaleByPowerOfTen(-prec);
        BigDecimal step = config.getStep().subtract(minTick);
        String qty = config.getQuantity();
        int prec = config.getPricePrecision();
        // 空仓队列:id 从 -1 自减, shortPriceQueue[i] → id=-(i+1)
        for (int i = 0; i < shortSize; i++) {
@@ -905,7 +907,7 @@
     * @param currentPrice 当前 K 线收盘价(最新成交价)
     */
    private void processShortGrid(BigDecimal currentPrice) {
        int prec = config.getPricePrecision();
        int prec = config.getPriceScale();
        List<BigDecimal> matched = new ArrayList<>();
        synchronized (shortPriceQueue) {
            for (BigDecimal p : shortPriceQueue) {
@@ -1062,7 +1064,7 @@
     * @param currentPrice 当前 K 线收盘价(最新成交价)
     */
    private void processLongGrid(BigDecimal currentPrice) {
        int prec = config.getPricePrecision();
        int prec = config.getPriceScale();
        List<BigDecimal> matched = new ArrayList<>();
        synchronized (longPriceQueue) {
            for (BigDecimal p : longPriceQueue) {