diff --git a/.env.example b/.env.example index 665cc36..b9fc201 100644 --- a/.env.example +++ b/.env.example @@ -31,7 +31,6 @@ MAX_CLOSE_SLIPPAGE_PCT=0.05 # Max allowed deviation vs mark when clo # Maker-only settings MAKER_LOSS_LIMIT=0.03 # Maker loss cap (USDT). Defaults to LOSS_LIMIT if unset -MAKER_PRICE_CHASE=0.3 # Price chase threshold (USDT) MAKER_BID_OFFSET=0 # Bid quote offset from top bid (USDT) MAKER_ASK_OFFSET=0 # Ask quote offset from top ask (USDT) MAKER_REFRESH_INTERVAL_MS=1500 # Maker refresh cadence (ms) diff --git a/setup.sh b/setup.sh index c7cbeeb..68167a8 100644 --- a/setup.sh +++ b/setup.sh @@ -140,7 +140,6 @@ KLINE_INTERVAL=${KLINE_INTERVAL} # Optional maker params (uncomment and tune as needed) # MAKER_LOSS_LIMIT=0.03 -# MAKER_PRICE_CHASE=0.3 # MAKER_BID_OFFSET=0 # MAKER_ASK_OFFSET=0 # MAKER_REFRESH_INTERVAL_MS=1500 diff --git a/src/config.ts b/src/config.ts index 8eaa51f..f1a20ce 100644 --- a/src/config.ts +++ b/src/config.ts @@ -46,7 +46,6 @@ export interface MakerConfig { symbol: string; tradeAmount: number; lossLimit: number; - priceChaseThreshold: number; bidOffset: number; askOffset: number; refreshIntervalMs: number; @@ -59,7 +58,6 @@ export const makerConfig: MakerConfig = { symbol: process.env.TRADE_SYMBOL ?? "BTCUSDT", tradeAmount: parseNumber(process.env.TRADE_AMOUNT, 0.001), lossLimit: parseNumber(process.env.MAKER_LOSS_LIMIT, parseNumber(process.env.LOSS_LIMIT, 0.03)), - priceChaseThreshold: parseNumber(process.env.MAKER_PRICE_CHASE, 0.3), bidOffset: parseNumber(process.env.MAKER_BID_OFFSET, 0), askOffset: parseNumber(process.env.MAKER_ASK_OFFSET, 0), refreshIntervalMs: parseNumber(process.env.MAKER_REFRESH_INTERVAL_MS, 1500), diff --git a/src/core/lib/order-plan.ts b/src/core/lib/order-plan.ts index 5bc8869..18712a1 100644 --- a/src/core/lib/order-plan.ts +++ b/src/core/lib/order-plan.ts @@ -9,8 +9,7 @@ export interface OrderTarget { export function makeOrderPlan( openOrders: AsterOrder[], - targets: OrderTarget[], - tolerance: number + targets: OrderTarget[] ): { toCancel: AsterOrder[]; toPlace: OrderTarget[] } { const unmatched = new Set(targets.map((_, idx) => idx)); const toCancel: AsterOrder[] = []; @@ -27,7 +26,7 @@ export function makeOrderPlan( unmatched.has(index) && target.side === order.side && target.reduceOnly === reduceOnly && - Math.abs(price - target.price) <= tolerance + price === target.price ); }); if (matchedIndex >= 0) { diff --git a/src/strategy/maker-engine.ts b/src/strategy/maker-engine.ts index 4c61746..7916a0c 100644 --- a/src/strategy/maker-engine.ts +++ b/src/strategy/maker-engine.ts @@ -327,9 +327,8 @@ export class MakerEngine { } private async syncOrders(targets: DesiredOrder[]): Promise { - const tolerance = this.config.priceChaseThreshold; const availableOrders = this.openOrders.filter((o) => !this.pendingCancelOrders.has(String(o.orderId))); - const { toCancel, toPlace } = makeOrderPlan(availableOrders, targets, tolerance); + const { toCancel, toPlace } = makeOrderPlan(availableOrders, targets); for (const order of toCancel) { if (this.pendingCancelOrders.has(String(order.orderId))) continue; diff --git a/src/strategy/offset-maker-engine.ts b/src/strategy/offset-maker-engine.ts index 46e8506..5075660 100644 --- a/src/strategy/offset-maker-engine.ts +++ b/src/strategy/offset-maker-engine.ts @@ -428,9 +428,8 @@ export class OffsetMakerEngine { } private async syncOrders(targets: DesiredOrder[]): Promise { - const tolerance = this.config.priceChaseThreshold; const availableOrders = this.openOrders.filter((o) => !this.pendingCancelOrders.has(String(o.orderId))); - const { toCancel, toPlace } = makeOrderPlan(availableOrders, targets, tolerance); + const { toCancel, toPlace } = makeOrderPlan(availableOrders, targets); for (const order of toCancel) { if (this.pendingCancelOrders.has(String(order.orderId))) continue;