← fxLadderMM

fxLadderMM — Performance

BLOCKEDAudited 2026-09-13· hand-written (no shared engine) engine· quantroduction· spot

Window 3.2 years (2023-07-11 → 2026-09-10, 27,760 bars of 60m) · Markets ADA, BTC, DOGE, ETH, LINK, SOL, XRP Costs 0.10% taker fee + 2 bps slippage on every fill Timeframe declares 60m — tested at its own timeframe Capital 1,052 quote — probe at 1,000 peaked at 100.0% deployed (1000 quote at risk) Sizing fixed quote per order (TRADING_LIMIT = 100)


How this was measured

Every decision is taken on a bar that has closed, and the resulting market order fills at the next bar's open plus slippage. Resting stop and target orders fill intrabar, and when one bar's range covers both the stop and the target the stop is taken first — the pessimistic reading wherever candle data cannot resolve the order of events inside a bar.

The engine is validated separately by 53 known-answer tests covering accounting, fee arithmetic, determinism and the no-look-ahead boundary. Nothing below means anything unless those pass, so the pipeline aborts if they do not.

Result by market

Market Orders Round trips Return Buy & hold Edge Max DD Sharpe Win rate Profit factor Time in market
ADA 26512 5886 -95.5% -26.6% -68.8% 96.0% -4.06 65% 0.66 86.6%
BTC 24674 5381 -96.2% 130.8% -227.0% 96.6% -6.67 57% 0.39 93.4%
DOGE 29095 6460 -96.1% 24.0% -120.1% 96.2% -3.89 65% 0.69 92.0%
ETH 23497 5187 -95.6% 39.2% -134.7% 95.9% -6.47 61% 0.43 94.0%
LINK 32659 7417 -95.9% 7.1% -103.0% 96.6% -4.28 65% 0.73 92.3%
SOL 30968 6932 -95.9% 216.7% -312.7% 96.7% -4.27 65% 0.78 92.3%
XRP 25827 5512 -96.5% 152.1% -248.6% 96.8% -4.16 60% 0.50 92.6%

Median across markets: -95.9% return, 96.6% max drawdown, Sharpe -4.27.

The median is the honest number, not the best market. Ranking a strategy on its best pair measures which pair was picked, not what the strategy does.

Reading these numbers

One year vs three

The pack was originally ranked on a single year (2025-07 → 2026-07). Three years tells a different story, and the difference is worth more than either number alone.

1 year 3 years
Median return -12.3% -95.9%
Median buy-and-hold -52.1% 39.2%
Median edge vs buy-and-hold 32.2% -134.7%
Median max drawdown 14.2% 96.6%
Profitable on 0 / 7 0 / 7
Beat buy-and-hold on 7 / 7 0 / 7

What happened. In the one-year window buy-and-hold returned a median -52.1% — every market fell. A strategy in cash 8% of the time beats that almost by construction, so the 32.2% edge was substantially a measure of absence, not skill.

Three years includes the advance as well as the fall. Buy-and-hold returns a median 39.2% over it, and the same staying-in-cash behaviour now costs the strategy instead of flattering it: the edge moves from 32.2% to -134.7%.

The strategy did not change. The window did. Note also that measured max drawdown moves from 14.2% to 96.6% — the shorter window did not contain this strategy's bad case.

Any strategy whose edge comes from not participating looks excellent in a bear window and poor across a full cycle. This is the reason the 3-year data set was built, and the reason single-window rankings in this pack should be read with the buy-and-hold column next to them.

Variant B — no stop loss, never sells below the position average

The same strategy on the same data, with one rule added: no exit may be priced below the position's average cost. That also removes every stop-loss, since a stop sits below the entry by definition. It is the "never realise a loss" version.

A — as shipped B — no-loss exits
Median return -95.9% 7.7%
Median max drawdown 96.6% 69.2%
Profitable markets 0 / 7 4 / 7
Ends still holding — 7 / 7
Exits refused by the rule 0 393,571
Market A return B return A max DD B max DD B ends holding
ADA -95.5% -14.2% 96.0% 81.9% yes
BTC -96.2% 32.6% 96.6% 46.8% yes
DOGE -96.1% -1.5% 96.2% 76.8% yes
ETH -95.6% -9.7% 95.9% 64.9% yes
LINK -95.9% 7.7% 96.6% 69.2% yes
SOL -95.9% 59.4% 96.7% 71.7% yes
XRP -96.5% 48.7% 96.8% 66.9% yes

How to read this. Variant B reports the higher return — 7.7% against -95.9% — and that is mostly not an improvement. A loss that is never closed does not disappear, it sits in inventory. That is why max drawdown moves to 69.2%, and why the strategy ends still holding on 7 of 7 markets: B's reported return leaves out the positions it never resolved. The rule refused 393,571 exits over the window.

Read the two together rather than picking one. A is what the strategy does; B is what it looks like with its losses deferred instead of taken, and the gap between them measures how much of A's result comes from cutting.

Why it exited

Every exit the engine executed, attributed to the message the strategy emitted on that bar. One bar is one decision, so an event announced on both the console and the side panel is counted once.

Exit Count Share Mean gain Worst
SELL 42,775 100.0% — —

Cost sensitivity

The strategy places the same number of orders at 0% fees as at 0.10%. That is a correctness property rather than a performance one: it proves no balance gate becomes unsatisfiable once costs leave the wallet. A strategy that fails this check stops trading silently the moment it meets a real fee schedule.

Market Orders at 0.10% fee Orders at 0% fee Ratio
ADA 20626 41470 0.50
BTC 19293 38621 0.50
DOGE 22635 41608 0.54
ETH 18310 38618 0.47
LINK 25242 43054 0.59
SOL 24036 42800 0.56
XRP 20315 41902 0.48

Correctness invariants

Invariant Result
runs clean on every market PASS
no phantom chart marks PASS
no negative balances PASS
cost independent (fees change P&L, not the ability to act) FAIL
places orders somewhere PASS

Outstanding notes

What this window cannot tell you

Three years covers a full cycle — the 2023 recovery, the 2024-25 advance and the drawdown after it. It is still one history, and a strategy tuned on it can be fitted to it.

The engine models spot, long-only, one price per bar. It carries no order book, so it cannot see spread, queue position or depth, and a strategy whose edge is the spread cannot be measured here at all.


Every number on this page is read from the run record that produced it — the audit pipeline writes the page and the record together, so the two cannot drift apart.