STEADYTRADE
Strategy backtests · past-window simulation, not investment advice

Method

Every number on this site comes from the same pipeline. It runs offline, the results are fixed, and each page carries the hash of the inputs that produced it.

Only 1 of 12 strategies beat buy & hold in all 3 markets.

A rule that wins on BTC and loses on gold did not find an edge; it found a rising asset. The markets below start at different dates because gold data begins later — each strategy is compared only against buying and holding that same market over that same period.

Over 2018-01-01 → 2026-09-23, buying BTC once and never selling returned 530%. Most of the rules below did worse than that while trading hundreds of times and spending years under water. The column that matters is vs B&H, not the headline return.

Gold is the test that matters here. 5 of the 12 strategies beat simply holding BTC or ETH, but only 1 beat simply holding gold. Trend rules did not stop working — they were never the reason those returns existed.
PAXG is a token redeemable for physical gold, so its price tracks spot gold. It is used here because it trades on the same venue as the crypto data, which keeps fees, slippage and candle construction identical across markets.
Return alone is the least informative number here. Martingale on BTC closed 459 trades at a 100% win rate and finished at 87% — while buying a fixed amount every week and never selling returned 1059%. A perfect win rate and a good headline number can both sit on top of a strategy that lost to doing nothing.

How to read the columns

ReturnOne run over the whole period, from the first bar to the last.
vs B&HHow far the strategy finished above or below simply buying on the first day and holding. Negative means the trading was worse than doing nothing.
Grid beatShare of that strategy's parameter settings that beat buy & hold. A single good result with 0% here means the default was lucky, not that the rule works.
All marketsHow many of the tested markets this strategy beat buy & hold in. This is the column that separates a rule from a lucky asset.
UnderwaterLongest unbroken stretch spent below the previous equity high, in days. This is what makes people quit, not the depth.
MedianThe middle result once the start date is shifted forward 30 days at a time. Usually far below the headline.
RuinShare of runs where the account fell to 10% of its starting capital. On spot without leverage this is rare — the usual failure is capital locked up, not wiped out.
Win rateShare of closed trades in profit. Systems that only close winners report 100% and still lose money. ? means the 95% confidence interval for that win rate spans 50% — at that sample size the figure cannot be told apart from chance. Hover for the interval.

Data

SourceBinance public market data mirror (spot, daily candles)
BTC/USDT3188 bars · 2018-01-01 → 2026-09-23 · 0 gaps
ETH/USDT3188 bars · 2018-01-01 → 2026-09-23 · 0 gaps
Gold (PAXG)2214 bars · 2020-09-01 → 2026-09-23 · 0 gaps
GapsNot interpolated. Filling them would invent prices that never traded.

Execution

Fees0.10% taker on both legs
Slippage0.05% against the fill, every fill
Starting capital10,000 USDT
InstrumentLong-only spot. No leverage, no shorting.
Signal timingSignals read the close and fill at the next open. Filling on the same close would be reading the future.
Intrabar orderWhen a bar could trigger both a favourable and an unfavourable event, the unfavourable one fills first.
Ruin thresholdAccount equity at or below 10% of starting capital.

Why the window is 365 bars

A single backtest is one sample. The rolling window has to be long enough that what comes out reflects the rules rather than one market phase — so every strategy here is run over 365 daily bars, shifted forward 30 days at a time, giving 95 start dates.

A short window is not a trend, and statistical agencies say so explicitly about their own data. The U.S. Census Bureau states that “it may take three months to establish an underlying trend for building permit authorizations, six months for total starts, and six months for total completions.” Crypto is not housing and this is not a derivation — but the principle is the same one, and it is why nothing on this site is reported over a one-month window.

Sample size, not just direction

Win rates are reported with a 95% Wilson confidence interval. Where that interval spans 50%, the figure cannot be told apart from chance and the page says so rather than dropping the number.

More trades does not automatically make a figure readable. Parabolic SAR on BTC closes 128 trades — and its interval still reaches 50.8%. Interval width depends on how far the rate sits from a coin flip, not on sample count alone. Eleven of the twenty-four strategy/market pairs on this site fall in that category.

What is deliberately not offered

There is no button to re-run a backtest with your own parameters. That is not a missing feature.

An interactive backtester invites you to hunt for the parameters that look best in the past. That is curve fitting, and it is the fastest way to build confidence in a strategy that will not survive contact with the future. The parameter grid on each page exists to show the opposite: how unstable those choices are.

Indicators

Indicator maths is shared between the chart you see and the backtest that produced the numbers — one implementation, not two. A 188-case test suite pins the conventions (warm-up handling, seeding, population standard deviation) and a golden snapshot fails the build if any output value moves.

Which indicators depend on how much history you load

Some indicators use a fixed window — only the last n bars matter, and nothing before them can change the value. Others use smoothing, where every earlier bar still carries a decaying weight. The second kind gives a different reading depending on how much history was loaded before it, which matters here because each rolling window is computed inside itself.

IndicatorsTypeDeviation at 30 barsEntry decision flips
SMA · Bollinger · Stochastic · DonchianFixed window0.000%
EMASmoothing0.024%
Supertrend (ATR)Smoothing0.099%2.43%
MACDSmoothing0.327%
RSI (Wilder)Smoothing0.947%0.22%
Parabolic SARSmoothing3.317%
ADX (Wilder)Smoothing3.578%

Measured on BTC daily at one point for the deviation column, and across all 365-bar rolling windows for the flip column. Blank means not measured.

Deviation size does not predict how much the decision changes. Supertrend deviates ten times less than RSI at a single point, yet flips the entry decision ten times more often — its band tracks price closely, so a small shift crosses the comparison. The decay constant bounds the weight of old data; it says nothing about the size of the resulting difference. Only measurement does.

When an indicator is added to this site, this is the first thing checked about it.

Reproducibility

Each result page carries an input hash over the symbol, period, parameters, assumption set and engine version. Same hash, same numbers.

Enginev0.4.0
Built2026-09-23T17:18Z
Assumption seta1-taker10-slip05

Known limits