Appearance
Personalize your experience
Triangular Martingale
MartingaleTriangular numbers — rapidly rising cumulative exposure.
At a glance
marti_grid_triangularsize(i) = base · i(i+1)/2What this curve is for
Size follows the triangular numbers — 1, 3, 6, 10, 15 — so each level adds one more unit than the level before it. It is routinely mistaken for a moderate because it is not exponential, but the capital grows roughly with the cube of depth, which makes it one of the most expensive curves in the at any realistic depth.
How the sizing rule works
Size at level i is i(i+1)/2. The per-level increment itself grows linearly, so the ladder total grows cubically. Ten levels are already an order of magnitude more expensive than .
| 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 | 3.00× | 1 | 3.00× | 4.00× | 98.00 | 98.98 |
| L3 | 6.00× | 1 | 6.00× | 10.0× | 97.00 | 97.97 |
| L4 | 10.0× | 1 | 10.0× | 20.0× | 96.00 | 96.96 |
| L5 | 15.0× | 1 | 15.0× | 35.0× | 95.00 | 95.95 |
| L6 | 21.0× | 1 | 21.0× | 56.0× | 94.00 | 94.94 |
| L7 | 28.0× | 1 | 28.0× | 84.0× | 93.00 | 93.93 |
| L8 | 36.0× | 1 | 36.0× | 120× | 92.00 | 92.92 |
| L9 | 45.0× | 1 | 45.0× | 165× | 91.00 | 91.91 |
| L10 | 55.0× | 1 | 55.0× | 220× | 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 — Triangular 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 | 2% | 99.00 | 99.99 | 1.00% | 1.00× | 1 | 100 | 100 | 300 | 1 |
| L2 | 5% | 98.00 | 98.98 | 2.00% | 3.00× | 1 | 300 | 300 | 600 | 3 |
| L3 | 11% | 97.00 | 97.97 | 3.00% | 6.00× | 1 | 600 | 600 | 1,200 | 6 |
| L4 | 18% | 96.00 | 96.96 | 4.00% | 10.0× | 1 | 1,000 | 1,000 | 2,200 | 10 |
| L5 | 27% | 95.00 | 95.95 | 5.00% | 15.0× | 1 | 1,500 | 1,500 | 3,700 | 15 |
| L6 | 38% | 94.00 | 94.94 | 6.00% | 21.0× | 1 | 2,100 | 2,100 | 5,800 | 21 |
| L7 | 51% | 93.00 | 93.93 | 7.00% | 28.0× | 1 | 2,800 | 2,800 | 8,600 | 28 |
| L8 | 65% | 92.00 | 92.92 | 8.00% | 36.0× | 1 | 3,600 | 3,600 | 12,200 | 36 |
| L9 | 82% | 91.00 | 91.91 | 9.00% | 45.0× | 1 | 4,500 | 4,500 | 16,700 | 45 |
| L10 | 100% | 90.00 | 90.90 | 10.00% | 55.0× | 1 | 5,500 | 5,500 | 22,200 | 55 |
What depth costs
cost grows approximately as n³/6. Every level is dramatically more expensive than the last, so depth must be chosen from the capital rather than from a coverage target.
| Levels | Ladder cost | Deepest rung | Entry orders | Cost vs 5 levels | Coverage |
|---|---|---|---|---|---|
| 5 levels | 35.0× | 15.0× | 5 | 1.00× | 5% |
| 10 levels | 220× | 55.0× | 10 | 6.29× | 10% |
| 20 levels | 1540× | 210× | 20 | 44.0× | 20% |
| 40 levels | 11480× | 820× | 40 | 328× | 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 | 3 levels | 3.0% |
| 25× base | 4 levels | 4.0% |
| 50× base | 5 levels | 5.0% |
| 100× base | 7 levels | 7.0% |
| 250× base | 10 levels | 10.0% |
Averaging and recovery
With every rung , the volume-weighted average entry is 92.25 against a base of 100 and a deepest rung of 90.00 — so the average sits 78% of the way down the covered range. Getting back to flat from the bottom therefore needs a 2.50% , against 5.00% for a flat ladder of the same depth — 2.50% less work.
| Excursion | Levels filled | Deployed | Average entry | Mark | Unrealised | Bounce to flat |
|---|---|---|---|---|---|---|
| Shallow dip | L1–L3 | 10.0× | 97.50 | 97.00 | -0.05× | 0.52% |
| Half the ladder fills | L1–L5 | 35.0× | 96.00 | 95.00 | -0.36× | 1.05% |
| Full ladder | L1–L10 | 220× | 92.25 | 90.00 | -5.26× | 2.50% |
Size equals the i-th triangular number (1, 3, 6, 10, 15…). capital grows roughly with n³, so it escalates faster than most people expect from a polynomial .
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 220× base to collect 0.5 bps of it when the first rung completes.
Which market pays this curve
High-conviction snap-back reversals with a hard level cap, actively supervised. There is no regime where a cubic is a sensible default.
Size equals the i-th triangular number (1, 3, 6, 10, 15, …). : grows faster than quadratic-, so recovery is quick but capital demand escalates sharply.
The shape of the risk
Convex and easy to underestimate. The specific danger is category error: operators file it mentally next to "polynomial, therefore moderate" when its cost profile is closer to Fibonacci and geometric.
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
Triangular 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 |
|---|---|---|---|---|---|
| Triangular Martingale (this mode) | 220× | 55.0× | 2.50% | 10 | 0.5 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
- High-conviction snap-back reversals with a hard level cap and active supervision.
- You have measured the requirement in the backtester and funded it explicitly.
When to avoid it
- Anything unattended.
- Deep ladders — the cost is punitive past about ten levels.
- Any account where the full ladder is not comfortably fundable.
Tuning
- Depth is the only meaningful dial, and it should be . If you want this with a ceiling, use .
- Power with p between 1.5 and 2 gives a similar family of shapes with a continuous control instead of a sequence.
Running it in production
- early on depth: by the time half the ladder has , the remaining half costs several times as much as everything spent so far.
- Watch the deepest level, not the P&L. Depth is the leading indicator; P&L is the lagging one.
- 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
- 1Cubic surpriseDepth increases as incremental turn out to multiply the requirement. Always re-read the capital .
- 2Funding wallAs with exponential, a deep order stops the averaging exactly when it was supposed to matter.
Claims worth correcting
“It is polynomial, so it is safer than geometric.”
Asymptotically yes; at the depths people actually run, triangular is comparable to Fibonacci and far above linear.
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
- 1Where does the shape come from?It is the running sum of a linear increment — the same sequence as the cost of , used here as the per-level size. That is precisely why the totals become cubic.
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 Triangular 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 Triangular Martingale
- 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.
- Power-Law Martingale
Automation / Grid Modes / Martingale
Power-Law Martingale explained: how it works in QuaTick, settings and worked examples. Part of the Automation / Grid Modes / Martingale reference.
- 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.
- 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.
- 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.
- 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.