Documentation Index
Fetch the complete documentation index at: https://uncoded.ch/docs/llms.txt
Use this file to discover all available pages before exploring further.
Backtesting is the cheapest way to learn what doesn’t work. A 10-second backtest can save you a 3-month live operation that goes nowhere. Operators who skip backtesting end up paying tuition through real losses; operators who backtest first pay tuition through virtual ones.
The single most important reason to backtest
What backtesting tells you
Total return
Cumulative percentage gain or loss over the historical window. The headline number — but never sufficient alone.
Max drawdown
The worst peak-to-trough decline during the window. The single most important risk metric. Caps your worst-case felt experience.
Win rate and average winner/loser ratio
What percentage of trades closed profitably, and how big were winners vs losers. Tells you the trade-distribution shape.
Number of trades
How many round-trips occurred. Sample size matters —
5 trades over a year is too few; 100+ is solid; 1000+ may indicate overtrading.Sharpe ratio
Risk-adjusted return. Total return divided by return volatility.
>1 is decent for crypto; >2 is excellent.Average trade duration
Mean time between entry and exit. Tells you whether the mode operates on the timescale you expect.
What backtesting does NOT tell you
Backtest before live, always
Before deploying a new mode
Before deploying a new mode
Even pre-built modes (BasicMode, FullBullMarket, etc.) should be backtested against your specific symbol and the regime window you expect to operate in.“BasicMode is generally good” doesn’t mean “BasicMode on
XRPUSDT for the next 6 months is good.” Validate the specific combination.Before adding a new symbol
Before adding a new symbol
Adding
SOLUSDT to your existing BasicMode setup? Backtest BasicMode on SOLUSDT against the window you expect. Symbol behavior varies — what works on BTCUSDT may not work on SOLUSDT.Before authoring a custom strategy
Before authoring a custom strategy
Before tuning mode parameters
Before tuning mode parameters
“I want to change BasicMode’s sell ladder from
[0.25, 0.5, 1, 2, 3, 4, 5] to [0.5, 1, 2, 3, 5, 7, 10].” Backtest the new configuration on your symbol and regime window before applying live.Tuning without backtesting is gambling on the change.Before scaling up capital
Before scaling up capital
“I want to go from
$20,000 BasicMode to $50,000.” Backtest doesn’t directly test capital scaling (the strategy logic is capital-agnostic), but it validates that the underlying strategy is sound. If backtest shows poor performance, scaling up amplifies the underperformance.The minimum-viable backtest
For any new mode/symbol combination, run at least:A bear-window test
Pick a known bear-market window (e.g., 2022). See how the strategy survived bad regimes.
A chop-window test
Pick a known sideways window (e.g., mid-2023). See how the strategy performs without trends.
A bull-window test
Pick a known up-trending window (e.g., late 2020 or early 2021). See how the strategy captures uptrends.
Note: do not optimize parameters per window
The temptation is to tune the strategy until it works on each window. Don’t. Curve-fitting in this way means your “optimized” strategy is overfit to history. Use the same parameters across all windows; observe how the strategy performs without per-window tuning.
Backtest as a learning tool
Beyond go/no-go validation, backtests teach:What does normal mode behavior look like?
What does normal mode behavior look like?
Backtest output shows you the typical trade frequency, hold duration, P&L distribution. When you go live, you compare actual behavior to backtest expectations. Match = confidence; mismatch = investigate.
When does the mode struggle?
When does the mode struggle?
Backtest output shows specific bad weeks/months and why. “BasicMode lost
-12% during week 32 of 2022 due to a sustained downtrend that fully invested the buy ladder.”Knowing the failure modes helps you spot them in real time.What does drawdown actually feel like?
What does drawdown actually feel like?
The equity curve shows the shape of drawdowns. A
-15% max drawdown that resolves in a week is different from a -15% drawdown that takes 3 months to recover.The shape matters for operator stomach. Sustained slow drawdowns are harder to hold through than sharp-and-recover drawdowns.What's the trade-frequency rhythm?
What's the trade-frequency rhythm?
2 trades/day? 5 trades/week? 1 trade/month? Backtest tells you the natural rhythm — useful for setting your own monitoring expectations.How seriously to take backtest results
Strong validation criteria
Strong validation criteria
A backtest result you can trust:
- Multiple windows tested (bear, chop, bull, recent).
- Same parameters across all windows (no per-window tuning).
- Realistic fees (
0.075%Binance with BNB; venue-specific otherwise). - Realistic slippage (
0.05%on majors at moderate size). - Sample size >
100trades for statistical meaning. - Drawdown within your tolerance.
- Equity curve shape acceptable (not “huge gain followed by drawback”).
Weak validation — don't trust
Weak validation — don't trust
A backtest result you should NOT trust:
- Single window tested.
- Parameters were swept until best result was found (curve-fit).
- Default fees / no slippage assumed.
- Sample size
<20trades. - Drawdown beyond your stomach.
- Equity curve depends on a single anomalous month.
Backtest then forward-test
What’s next
Reading Results
What each backtest metric means and how to interpret it.
Walk-forward
The technique that catches curve-fitting before live deployment.
Shadow mode
Forward-testing without committing real capital.
Common mistakes
The pitfalls that turn good backtests into bad live performance.
Backtester module
The module that runs your backtests.
Risk Overview
Risk management as the partner discipline to backtesting.