Appearance
Personalize your experience
Staircase Martingale
MartingaleBump size every N levels.
At a glance
marti_grid_stepsize(i) = base · (1 + ⌊i/N⌋) (N = 2)What this curve is for
A : size holds flat for N levels, then steps up by one base unit. It is the for operators who think in structure rather than in formulas — you can align each step with a support shelf, a low, or a volatility , and the capital profile stays piecewise-linear and easy to cap mentally.
How the sizing rule works
Size at level i is 1 + ((i − 1)/N), with N defaulting to 2. Within a step the ladder is flat; at each boundary it gains one unit. N approaches ; N = 1 reproduces linear with a single order per level.
| 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 | 2.00× | 1 | 2.00× | 4.00× | 97.00 | 97.97 |
| L4 | 2.00× | 1 | 2.00× | 6.00× | 96.00 | 96.96 |
| L5 | 3.00× | 1 | 3.00× | 9.00× | 95.00 | 95.95 |
| L6 | 3.00× | 1 | 3.00× | 12.0× | 94.00 | 94.94 |
| L7 | 4.00× | 1 | 4.00× | 16.0× | 93.00 | 93.93 |
| L8 | 4.00× | 1 | 4.00× | 20.0× | 92.00 | 92.92 |
| L9 | 5.00× | 1 | 5.00× | 25.0× | 91.00 | 91.91 |
| L10 | 5.00× | 1 | 5.00× | 30.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 — Staircase Martingale
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 | 20% | 99.00 | 99.99 | 1.00% | 1.00× | 1 | 100 | 100 | 300 | 1 |
| L2 | 20% | 98.00 | 98.98 | 2.00% | 1.00× | 1 | 100 | 100 | 400 | 1 |
| L3 | 40% | 97.00 | 97.97 | 3.00% | 2.00× | 1 | 200 | 200 | 600 | 2 |
| L4 | 40% | 96.00 | 96.96 | 4.00% | 2.00× | 1 | 200 | 200 | 800 | 2 |
| L5 | 60% | 95.00 | 95.95 | 5.00% | 3.00× | 1 | 300 | 300 | 1,100 | 3 |
| L6 | 60% | 94.00 | 94.94 | 6.00% | 3.00× | 1 | 300 | 300 | 1,400 | 3 |
| L7 | 80% | 93.00 | 93.93 | 7.00% | 4.00× | 1 | 400 | 400 | 1,800 | 4 |
| L8 | 80% | 92.00 | 92.92 | 8.00% | 4.00× | 1 | 400 | 400 | 2,200 | 4 |
| L9 | 100% | 91.00 | 91.91 | 9.00% | 5.00× | 1 | 500 | 500 | 2,700 | 5 |
| L10 | 100% | 90.00 | 90.90 | 10.00% | 5.00× | 1 | 500 | 500 | 3,200 | 5 |
What depth costs
Piecewise-linear and among the easiest to reason about: the cost of a ladder is the sum of a few flat blocks. That makes worst-case estimation a mental exercise rather than a one.
| Levels | Ladder cost | Deepest rung | Entry orders | Cost vs 5 levels | Coverage |
|---|---|---|---|---|---|
| 5 levels | 9.00× | 3.00× | 5 | 1.00× | 5% |
| 10 levels | 30.0× | 5.00× | 10 | 3.33× | 10% |
| 20 levels | 110× | 10.0× | 20 | 12.2× | 20% |
| 40 levels | 420× | 20.0× | 40 | 46.7× | 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 | 5 levels | 5.0% |
| 25× base | 9 levels | 9.0% |
| 50× base | 13 levels | 13.0% |
| 100× base | 19 levels | 19.0% |
| 250× base | 30 levels | 30.0% |
Averaging and recovery
With every rung , the volume-weighted average entry is 93.17 against a base of 100 and a deepest rung of 90.00 — so the average sits 68% of the way down the covered range. Getting back to flat from the bottom therefore needs a 3.52% , against 5.00% for a flat ladder of the same depth — 1.48% less work.
| Excursion | Levels filled | Deployed | Average entry | Mark | Unrealised | Bounce to flat |
|---|---|---|---|---|---|---|
| Shallow dip | L1–L3 | 4.00× | 97.75 | 97.00 | -0.03× | 0.77% |
| Half the ladder fills | L1–L5 | 9.00× | 96.44 | 95.00 | -0.13× | 1.52% |
| Full ladder | L1–L10 | 30.0× | 93.17 | 90.00 | -1.00× | 3.52% |
Size holds flat for N levels then steps up one base unit, giving a . Capital is piecewise-linear and very easy to cap mentally.
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 30.0× base to collect 3.3 bps of it when the first rung completes.
Which market pays this curve
Instruments with visible structural levels, and any situation where you want size changes to be and explainable rather than continuous.
Holds size flat for N levels, then steps up by one base unit. Creates a profile that averages down periodically without per-level growth — easy to reason about and cap.
The shape of the risk
Between and linear depending on N. There is no convexity, so the tail is proportional and the failure is coverage exhaustion with mild escalation.
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
Staircase Martingale · 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 |
|---|---|---|---|---|---|
| Staircase Martingale (this mode) | 30.0× | 5.00× | 3.52% | 10 | 3.3 bps |
| Fixed | 10.0× | 1.00× | 5.00% | 10 | 10.0 bps |
| Capped Linear | 40.0× | 5.00× | 4.03% | 10 | 2.5 bps |
| Linear Martingale | 55.0× | 10.0× | 2.38% | 55 | 1.8 bps |
| Exponential Martingale | 2046× | 1024× | 1.10% | 10 | 0.1 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
- You want , predictable size jumps rather than growth.
- You are matching size changes to chart structure — a bump below each support shelf.
- You want a a non-technical reviewer can verify by eye.
When to avoid it
- You need averaging; the flat stretches mean the average entry moves in bursts.
- You want multi-order partial exits — this is single-order.
Tuning
- N is the dial. N (6–10) is effectively with an occasional bump; N = 1 is linear .
- Choose N from the 's structure, then verify the resulting cost in the capital rather than assuming it.
This is parametric. The and the settings show only the dial(s) it actually uses, and changing one is a structural — the resting ladder is cancelled and re-placed at the new sizes.
Running it in production
- which step the deepest fill sits in; step boundaries are where exposure changes character.
- peak committed against the account, weekly. A growth that has never been deep has never been tested.
- Treat every level increase as a capital : adding levels to a growth is not a linear cost.
How it fails
- 1Step misalignmentIf the steps do not line up with the structure you chose them for, the is just a coarse linear with extra explanation attached.
- 2Coverage exhaustionSame as the other mild curves: the range ends before the move does.
Claims worth correcting
“Stepping is a risk control.”
It controls how size changes, not how it becomes. A step ladder with many steps still ends up heavy at depth.
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
- 1What N should I use?Start from the structure: the number of rungs between the levels you actually care about. If there is no structural reason, N = 2–3 keeps the close to a gentle linear ramp.
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.Martingale family — What every curve in this family has in common
- 3.Capital Allocation — Sizing an account to a Staircase Martingale 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 Staircase Martingale
- Additive Martingale
Automation / Grid Modes / Martingale
Additive Martingale explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Martingale reference.
- Half-Slope Linear
Automation / Grid Modes / Martingale
Half-Slope Linear explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Martingale reference.
- Square-Root Martingale
Automation / Grid Modes / Martingale
Square-Root Martingale explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Martingale reference.
- Exponential Martingale
Automation / Grid Modes / Martingale
Exponential Martingale explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Martingale reference.
- Fibonacci Martingale
Automation / Grid Modes / Martingale
Fibonacci Martingale explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Martingale reference.
- Geometric Martingale
Automation / Grid Modes / Martingale
Geometric Martingale explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Martingale reference.
- Linear Martingale
Automation / Grid Modes / Martingale
Linear Martingale explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Martingale reference.
- Logarithmic Martingale
Automation / Grid Modes / Martingale
Logarithmic Martingale explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Martingale reference.
- Martingale (default)
Automation / Grid Modes / Martingale
Martingale (default) explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Martingale reference.