Appearance
Personalize your experience
Fixed DCA
DCAConstant deployment, investing style.
At a glance
dca_fixedsize(i) = basefixedfixed. The engine computes identical sizes for both; the separate entry exists so and mandates can label the in their own vocabulary.What this curve is for
framed as accumulation. Identical math to `fixed`; the distinction is intent — a DCA ladder is deployed to build a position at an average price you are content to hold, not to harvest a range and flatten.
How the sizing rule works
One base lot at every level, with the same rung geometry and take-profit behaviour as . The engine cannot tell the two apart; the difference is in how the operator treats the resulting inventory.
| Level | Per-order size | Orders | Level total | Cumulative | Entry price | Take-profit |
|---|---|---|---|---|---|---|
| L1 | 1.00× | 1 | 1.00× | 1.00× | 99.00 | 99.99 |
| L2 | 1.00× | 1 | 1.00× | 2.00× | 98.00 | 98.98 |
| L3 | 1.00× | 1 | 1.00× | 3.00× | 97.00 | 97.97 |
| L4 | 1.00× | 1 | 1.00× | 4.00× | 96.00 | 96.96 |
| L5 | 1.00× | 1 | 1.00× | 5.00× | 95.00 | 95.95 |
| L6 | 1.00× | 1 | 1.00× | 6.00× | 94.00 | 94.94 |
| L7 | 1.00× | 1 | 1.00× | 7.00× | 93.00 | 93.93 |
| L8 | 1.00× | 1 | 1.00× | 8.00× | 92.00 | 92.92 |
| L9 | 1.00× | 1 | 1.00× | 9.00× | 91.00 | 91.91 |
| L10 | 1.00× | 1 | 1.00× | 10.0× | 90.00 | 90.90 |
The ladder, as the engine builds it
Below is the 's own ladder and the trading terminal's chart engine, both driven by buildLadderPlan for this . Change the level count, spread or target and the rung prices, sizes, and chart lines recompute exactly as they would in the .
Ladder shape — Fixed DCA
LONG · base 100.00 (illustrative) · 10 levels stepping down · 1% apart
Targets are stacked above the opening buy because a long grid exits higher than it enters.
Entry ladder
Limit buys below the base · L1 nearest, L10 deepest · every amount in USDT
| Level | Size curve | Entry buyUSDT | Exit sellUSDT | From base% | Sizebase lots | Orders | NotionalUSDT | MarginUSDT | Cum. capitalUSDT | Profit at exitUSDT |
|---|---|---|---|---|---|---|---|---|---|---|
| L1 | 100% | 99.00 | 99.99 | 1.00% | 1.00× | 1 | 100 | 100 | 300 | 1 |
| L2 | 100% | 98.00 | 98.98 | 2.00% | 1.00× | 1 | 100 | 100 | 400 | 1 |
| L3 | 100% | 97.00 | 97.97 | 3.00% | 1.00× | 1 | 100 | 100 | 500 | 1 |
| L4 | 100% | 96.00 | 96.96 | 4.00% | 1.00× | 1 | 100 | 100 | 600 | 1 |
| L5 | 100% | 95.00 | 95.95 | 5.00% | 1.00× | 1 | 100 | 100 | 700 | 1 |
| L6 | 100% | 94.00 | 94.94 | 6.00% | 1.00× | 1 | 100 | 100 | 800 | 1 |
| L7 | 100% | 93.00 | 93.93 | 7.00% | 1.00× | 1 | 100 | 100 | 900 | 1 |
| L8 | 100% | 92.00 | 92.92 | 8.00% | 1.00× | 1 | 100 | 100 | 1,000 | 1 |
| L9 | 100% | 91.00 | 91.91 | 9.00% | 1.00× | 1 | 100 | 100 | 1,100 | 1 |
| L10 | 100% | 90.00 | 90.90 | 10.00% | 1.00× | 1 | 100 | 100 | 1,200 | 1 |
What depth costs
Exactly linear in depth. Reserve levels × and the is fully funded.
| Levels | Ladder cost | Deepest rung | Entry orders | Cost vs 5 levels | Coverage |
|---|---|---|---|---|---|
| 5 levels | 5.00× | 1.00× | 5 | 1.00× | 5% |
| 10 levels | 10.0× | 1.00× | 10 | 2.00× | 10% |
| 20 levels | 20.0× | 1.00× | 20 | 4.00× | 20% |
| 40 levels | 40.0× | 1.00× | 40 | 8.00× | 40% |
Read the cost vs 5 levels column as the escalation test. A flat ladder doubles when the depth doubles; anything materially above that is a whose coverage has to be bought rather than simply configured.
| Capital budget | Levels affordable | Adverse move covered |
|---|---|---|
| 10× base | 10 levels | 10.0% |
| 25× base | 25 levels | 25.0% |
| 50× base | 50 levels | 50.0% |
| 100× base | 100 levels | 100.0% |
| 250× base | 200 levels | 200.0% |
Averaging and recovery
With every rung , the volume-weighted average entry is 94.50 against a base of 100 and a deepest rung of 90.00 — so the average sits 55% of the way down the covered range. Getting back to flat from the bottom therefore needs a 5.00% , against 5.00% for a flat ladder of the same depth — effectively identical.
| Excursion | Levels filled | Deployed | Average entry | Mark | Unrealised | Bounce to flat |
|---|---|---|---|---|---|---|
| Shallow dip | L1–L3 | 3.00× | 98.00 | 97.00 | -0.03× | 1.03% |
| Half the ladder fills | L1–L5 | 5.00× | 97.00 | 95.00 | -0.10× | 2.11% |
| Full ladder | L1–L10 | 10.0× | 94.50 | 90.00 | -0.47× | 5.00% |
Identical at every level, framed as accumulation rather than active . Capital is exactly linear in depth.
Where the exposure sits
The last row is the metric that separates modes. Profit for a full cycle is the target of deployed capital in every , so it cannot discriminate. What differs is how much capital has to sit reserved to earn one shallow cycle: this mode 10.0× base to collect 10.0 bps of it when the first rung completes.
Which market pays this curve
Long-horizon accumulation on instruments you want to own, especially spot ladders where the position is the and the cycles are a bonus.
Deploys the same size at each level like , but framed as dollar-cost-averaging accumulation rather than active . Predictable, steady, low-stress.
The shape of the risk
Coverage exhaustion, and the behavioural risk specific to accumulation: a to hold can quietly become an inability to exit.
Run it over real history
This is the product's grid backtester, not a summary of one. It fetches public candles for the you pick, rebuilds the ladder on the first candle of the , then applies the engine's own fill, take-profit, and stop-loss rules bar by bar. The caveat block inside the is part of the output — read it before trusting a number.
Instrument
BTCUSD
delta-india
Fixed DCA · 10 levels @ 1% · target 1% · 100 USDT / level · 1× · long · no stop
What this does not model
- Exact intrabar ticks. Bullish/doji candles use open → low → high → close; bearish candles use open → high → low → close. Finer timeframes reduce sensitivity to this deterministic assumption.
- Queue position. Limit orders are assumed filled when touched, which flatters a maker grid in fast markets.
- Margin rejection and liquidation. Deep rungs fill here even if the account could not fund them — check the capital requirement.
- Slippage and funding. Only the fee you set above is charged; funding, borrow and slippage are absent.
Run the ladder over real history
The grid is rebuilt anchored on the first candle of the window, then the engine's own fill, exit, refill and stop-loss rules are applied bar by bar. You get the real fill sequence for this configuration on this instrument.
Measured against other modes
First the arithmetic, then the market. The below is computed from the size curves alone; the underneath replays every one of those ladders over the same real candle , with grid_mode as the only variable.
| Mode | Ladder cost | Deepest rung | Break-even bounce | Entry orders | Shallow cycle |
|---|---|---|---|---|---|
| Fixed DCA (this mode) | 10.0× | 1.00× | 5.00% | 10 | 10.0 bps |
| Fixed | 10.0× | 1.00× | 5.00% | 10 | 10.0 bps |
| Square-Root Decay | 4.32× | 0.30× | 5.85% | 10 | 16.4 bps |
| Exponential Decay | 1.00× | 0.00× | 8.90% | 10 | 50.0 bps |
| Linear Martingale | 55.0× | 10.0× | 2.38% | 55 | 1.8 bps |
Nothing is precomputed here. Press run and the backtester fetches one candle window and replays 5 ladders across it — identical settings, identical bars, grid_mode as the only difference.
When to use it
- Long-term accumulation with a defined average .
- Spot ladders where you intend to hold the inventory.
- Low-stress, predictable schedules.
When to avoid it
- You are trying to harvest a range — use `` so the reporting matches the intent.
Tuning
- Spread and depth define the accumulation range; choose them from where you want the average price to land.
- Target defines how much of the inventory recycles; a wide target keeps more of the position.
Running it in production
- Track average entry as the primary metric — for an accumulation ladder it is the outcome, not a diagnostic.
- Watch how much inventory the take-profits are recycling; if it is most of it, this is a grid, not accumulation.
How it fails
- 1Accidental tradingA tight target recycles the inventory you meant to accumulate. Widen the target or reduce init targets if the position keeps flattening.
- 2Coverage exhaustionThe accumulation range ends before the decline does, leaving a full position and no further rungs.
Claims worth correcting
“DCA is safer than .”
The is identical to . What differs is the exit intent, and intent does not change the -to-market.
Interaction with the rest of the configuration
- Spread sets how fast the ladder consumes depth. Widening it buys coverage for the same level count at the cost of fewer .
- Target sets what each cycle books. Below -trip fees plus slippage, a grid is a fee generator regardless of the .
- The is the only bound on the tail. Without it, the 's worst case is whatever the market does, not what you planned.
Questions this mode raises
- 1Why have a separate value at all?So reporting and reviews can distinguish accumulation mandates from range-harvesting ones without inspecting every parameter.
Where these numbers come from
- Sizes and capital:
levelMultiplier/gridModeCurveinlib/grid/gridModes.ts, fromgrid_modes.hppand the Python engine's lot calculator. - Rung and exit prices, , init targets and the stop line:
buildLadderPlan— the same builder the and use. - Backtest , cycles and P&L:
runBacktest/runBacktestSweepover public broker candles, applying the engine's fill, exit, and stop rules. - Price charts: the trading terminal's chart engine, with the ladder drawn through its own price-line API.
Related
- 1.Grid Modes — Overview — The full taxonomy and how to choose
- 2.DCA family — What every curve in this family has in common
- 3.Capital Allocation — Sizing an account to a Fixed DCA ladder
- 4.Stop Loss — Bounding this curve's tail
- 5.Reading the Ladder Plan — Verifying the curve before deploying
- 6.Grid Structure — Levels, init batch and base size
Related articles
Related to Fixed DCA
- Ramped DCA
Automation / Grid Modes / DCA
Ramped DCA explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / DCA reference.
- DCA family
Automation / Grid Modes / Families
Accumulation-style deployment rather than active range harvesting.
- Fixed
Automation / Grid Modes / Basic
Fixed explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Basic reference.
- Harmonic
Automation / Grid Modes / Harmonic
Harmonic explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Harmonic reference.
- Anti-Martingale
Automation / Grid Modes / Anti-Martingale
Anti-Martingale explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Anti-Martingale reference.
- Capped Linear
Automation / Grid Modes / Capped
Capped Linear explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Capped reference.
- Exponential Decay
Automation / Grid Modes / Anti-Martingale
Exponential Decay explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Anti-Martingale reference.
- Geometric Decay
Automation / Grid Modes / Anti-Martingale
Geometric Decay explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Anti-Martingale reference.
- Geometric Ratio
Automation / Grid Modes / Geometric
Geometric Ratio explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Geometric reference.