DCA bot price tick collisions occur when two or more calculated safety-order prices map to the same valid exchange price. Inspect the complete ladder after applying the venue's tick rule, group equal executable prices and count their combined possible exposure. Then explicitly retain, combine or redesign those instructions; silently removing duplicates changes the trading plan.
A ladder can contain five different percentages and only two usable prices. That discrepancy exists before a market gap, a rejected request or a fill. It is a property of translating the plan onto the exchange's available price grid.
The exchange sees price increments, not your percentages
For Binance Spot, the enabled PRICE_FILTER requires prices to satisfy its minimum, maximum and tick-size rules, including price % tickSize == 0. A valid decimal representation alone does not establish a valid order price. Binance also documents separate quantity and notional filters. Binance Spot symbol-filter specification.
Bybit publishes priceFilter.tickSize as the price increment in its instrument information and distinguishes product categories such as spot, linear and inverse. Obtain the rules for the exact market rather than borrowing another pair's displayed decimal places. Bybit instrument-information reference.
Those sources establish venue constraints. They do not prescribe how a DCA strategy should resolve collisions. In particular, rounding down, rounding up and rounding to nearest are different strategy decisions. A long buy rounded down waits at a lower limit; rounding up can make it eligible at a higher price than the original proposal.
First calculate the intended ladder using its chosen anchor. The safety-order spacing guide covers that calculation. The additional task here is checking whether the resulting levels remain distinct after normalization.
Five planned additions become two price buckets
Consider an invented, unleveraged ABC/USDT spot deal with a base-entry reference of 0.01200 USDT per ABC. Five additions are planned at cumulative deviations of 0.2%, 0.4%, 0.6%, 0.8% and 1.0% below that reference. Each addition buys a fixed 1,000 ABC. Assume quantities and notionals satisfy all other rules, and omit fees.
For this illustration only, the price grid starts at zero, its tick is 0.00010, and the selected policy rounds each buy limit downward:
Executable price = tick × floor(raw price / tick)
| Addition | Intended deviation | Raw price, USDT/ABC | Executable price | Integer tick index | Limit notional, USDT |
|---|---|---|---|---|---|
| 1 | 0.2% | 0.011976 | 0.01190 | 119 | 11.90 |
| 2 | 0.4% | 0.011952 | 0.01190 | 119 | 11.90 |
| 3 | 0.6% | 0.011928 | 0.01190 | 119 | 11.90 |
| 4 | 0.8% | 0.011904 | 0.01190 | 119 | 11.90 |
| 5 | 1.0% | 0.011880 | 0.01180 | 118 | 11.80 |
The raw distance between adjacent levels is 0.000024, smaller than the 0.00010 tick. One tick is about 0.83% of the base-entry price. Under this particular rounding policy, the first four additions share 0.01190; the fifth maps to 0.01180.
If all four shared-price instructions are authorized and accepted, they can purchase 4,000 ABC for up to 47.60 USDT before fees. Calling 0.01190 “one level” must not hide that quantity. The complete normalized additions total 5,000 ABC and 59.40 USDT at their limits, compared with 59.64 USDT at the raw calculated prices. These totals exclude the base purchase.
The table does not assume that any order fills. It shows a possible commitment. A buy limit may fill at a better price, partly fill or remain open.
Resolve the collision without losing the original instruction
There is no universally correct collision policy. Choose according to the intended exposure and activation rules, then expose the change for review.
| Policy | What happens to the four additions at 0.01190? | What must be checked? |
|---|---|---|
| Retain separate instructions | Four logical additions remain at the same price | Combined 4,000 ABC exposure, activation conditions, order identities and remaining quantities |
| Combine equivalent instructions | One 4,000 ABC limit represents the group | Identical authorization and timing, order-size limits, allocation of partial fills and cancellation rules |
| Reject and revise the ladder | No colliding candidate is submitted until reviewed | Revised executable prices, quantities, funding and the strategy's new conditions |
| Keep only one addition | Three additions are removed | An explicit reduction to 1,000 ABC and 11.90 USDT at that price |
Combining orders is equivalent only under specified assumptions. An addition permitted after the previous order fills is not automatically authorized now. If only one instruction can be active at a time, placing a combined 4,000 ABC order would accelerate exposure. Conversely, sequentially sending the next addition at the same price may allow another purchase without a further decline. The state transition needs a rule even though the prices match.
Forcing each duplicate one tick farther down also rewrites the plan. It changes when later purchases become possible and may move the final level substantially. Recalculate and review the revised ladder rather than describing that operation as harmless formatting.
Keep a collision worksheet at the submission boundary
For every candidate addition, retain its logical ID, raw price, normalized price, quantity, rounding policy and instrument-rule snapshot. Group candidates by account, environment, venue, exact instrument, side, instruction role and normalized price. Equal numbers on different contracts are not the same executable level.
Within each group, record:
- Which additions are currently authorized and which depend on later events.
- Total requested quantity and possible quote commitment at the limits.
- Existing accepted order IDs, cumulative filled amounts and remaining amounts.
- The approved collision policy and the mapping from logical additions to exchange orders.
Use exact decimal arithmetic or integer tick indices for equality. The API decimal-precision guide explains why displaying two equal prices and comparing two binary floating-point values can give different answers. Check positive price bounds after normalization: flooring a very small candidate can produce zero. If a venue explicitly disables its tick rule with a zero value, the formula above cannot be applied by dividing by zero.
Passing the collision check does not establish minimum-notional compliance or adequate funds. Recheck dependent constraints using normalized prices and quantities; the exchange order-minimums worksheet handles feasibility separately.
Existing fills make a live repair more demanding
Suppose two additions in a shared-price group already have exchange orders and one is partially filled. Rebuilding the entire group as a fresh order can buy the filled quantity again while the original remainder remains active. Reconcile accepted orders, fills and unresolved requests before replacing anything.
Bybit states that its placement acknowledgement is asynchronous and directs clients to confirm order status through its WebSocket. Acceptance is therefore not evidence that the planned quantity was acquired. Bybit order-placement and acknowledgement documentation.
Update deal cost and inventory from executions, not the number of logical safety steps marked complete. The worked table uses spot units; the inverse-contract average-entry guide explains why applying the same arithmetic to inverse contract quantities would be a separate error.
Changed inventory also affects the exit. If a take-profit order has partly executed while additions are being reconciled, preserve the sold quantity and remaining holdings; the partial take-profit fills guide follows that transition. A revised entry group cannot erase an earlier sale.
Inspect the ladder that can actually be submitted
A useful acceptance rule is specific: every collision group has an approved exposure, activation policy and order mapping, and the final prices meet the current instrument rules. Recheck after a changed base-entry anchor, a configuration edit or a refreshed rule snapshot. Do not infer that the original worksheet still describes the current proposal.
A market move crossing several distinct valid prices raises a different timing question. The DCA price-gap guide examines that case. A collision can happen in a perfectly continuous market because the proposed steps were never separate executable prices.
For KLINEO configuration and supported execution paths, use the current DCA setup guide. This worksheet is an educational review method, not a claim that KLINEO automatically detects or combines colliding orders.
Prepared with AI assistance on 23 October 2026 under the editorial policy. Official venue documentation supports the exchange-rule claims; the hypothetical ladder and exposure totals were checked with decimal arithmetic. No live order was placed.
