新版仿ok交易所-后端
1
zyy
2025-10-10 579e9032affa3493587533fcc1425e2858239696
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineServiceImpl.java
@@ -37,6 +37,12 @@
    @Autowired
    private NamedParameterJdbcOperations namedParameterJdbcTemplate;
/*    public static void main(String[] args) {
        BigDecimal a = BigDecimal.valueOf(0.006);
        BigDecimal b = BigDecimal.valueOf(3600);
        BigDecimal c = a.divide(b, 6, BigDecimal.ROUND_HALF_UP);
        System.out.println(c);
    }*/
    @Override
    public void initBySql(String symbol) {
        this.bulidBySql(symbol, Kline.PERIOD_1MIN);
@@ -188,6 +194,20 @@
                kline.setLow(kline.getLow().add(currentValue));
                kline.setHigh(kline.getHigh().add(currentValue));
                kline.setAdjusted(true);
                BigDecimal last = AdjustmentValueCache.getLastValue().get(symbol);
                if (last != null && last.compareTo(BigDecimal.ZERO) > 0) {
                    BigDecimal adj = currentValue.subtract(last);
                    if (adj.compareTo(BigDecimal.ZERO) > 0) { //递增
                        kline.setOpen(kline.getOpen().subtract(adj));
                        kline.setLow(kline.getLow().subtract(adj));
                    } else if(adj.compareTo(BigDecimal.ZERO) < 0){ //递减
                        kline.setOpen(kline.getOpen().subtract(adj));
                        kline.setHigh(kline.getHigh().subtract(adj));
                    }
                } else {
                    AdjustmentValueCache.getLastValue().put(symbol, currentValue);
                }
            }
        }
        klineDBService.save(kline);