diff --git a/src/main/java/com/sample/trend/strategy/AutoGridStrategy.java b/src/main/java/com/sample/trend/strategy/AutoGridStrategy.java index c7e7961..4a2c827 100644 --- a/src/main/java/com/sample/trend/strategy/AutoGridStrategy.java +++ b/src/main/java/com/sample/trend/strategy/AutoGridStrategy.java @@ -420,29 +420,14 @@ public class AutoGridStrategy extends BaseStrategy { // ======================== 网格挂单 ======================== + /** + * 初始化仅挂下方一格买单,与运行中补单逻辑一致,避免网格间距调整后批量挂单失配。 + */ private void placeInitialBuyGrids() { if (currentPrice == null || currentGridGap == null) { fetchCurrentPriceFromRest(); } - if (currentPrice == null || currentGridGap == null) { - return; - } - - synchronized (tradeLock) { - int remainingSlots = gridCount - pendingBuyOrders.size(); - if (remainingSlots <= 0) { - return; - } - BigDecimal price = alignPriceDown(currentPrice, currentGridGap); - int placed = 0; - while (price.compareTo(lowerBound) >= 0 && placed < remainingSlots) { - if (!hasBuyOrderAt(price)) { - placeLimitBuyOrder(price); - placed++; - } - price = price.subtract(currentGridGap); - } - } + replenishBuyGrids(); } private void replenishBuyGrids() {