Gate — blocks new entries beyond Reduce and queues exits at the Exit threshold. Scale — sizes new entries between Reduce and Exit; existing BTC quantity stays fixed until exit. All orders fill at the next available close. Availability — daily MVRV is delayed by the configured UTC calendar days and expires at the maximum age. The actual publication lag must be verified against the data source. Interpretation — MVRV adds realized-cost information, but its market-value numerator also depends on price. Thresholds are research assumptions and are not calibrated automatically from BTC cycles.
RISK MANAGEMENT
%
ATR Trailing Stop — checked at each close with a stop that never loosens; exits fill at the next available close. A zero close-move estimate does not create a zero-distance stop. Recorded in the Trade Log with exit reason ATR Stop. Vol-Targeted Sizing — reduces new-entry size (and the size carried by that trade going forward) during high-volatility regimes, and can increase it during calmer regimes while keeping the cash budget within 100%. It uses completed daily return volatility, with no future-day information. Caution — both are mechanical overlays on top of the same limited BTC history as the rest of this backtest; validate out-of-sample before relying on either.
ENTRY DATE SIMULATOR
—
ENTRY PRICE—
CURRENT PRICE—
CHANGE SINCE ENTRY—
DAYS HELD—
EMA STATE AT ENTRY—
OPTIONS Δ LAB · HISTORICAL CASES
USD SPOT Δ · MODEL ESTIMATE
%
days
%
BTC
Long Call Δ · Open
—
—
Long Put Δ · Open
—
—
Long Call Δ · Checkpoint
—
—
Long Put Δ · Checkpoint
—
—
Choose a valid entry date to calculate the option path.
—
EMA ENTRY CASES
Each row applies the same option assumptions to a historical backtest entry.
#
EMA Side
Option Open
BTC Ref
Strike
Checkpoint
BTC Ref
DTE Left
Call Δ Open → Ref
Put Δ Open → Ref
ΔUSD / +1% BTC at Open
Meaning — Δ estimates the option's USD-value change for a $1 move in BTC, per 1 BTC-equivalent option. Quantity scales it: ΔUSD ≈ Δ × BTC quantity × BTC price change. Model — European Black–Scholes USD spot delta with zero yield and the global risk-free input. Long call Δ ranges from 0 to +1; long put Δ from −1 to 0. Short-option signs reverse. Checkpoint — the EMA exit (or latest close for an open trade), capped at option expiry. If expiry arrives first, the row uses the BTC close at expiry and terminal delta. Limits — constant user-entered IV, no volatility surface/skew, no historical option premium, and no exchange-recorded Greek. This is a risk lens only; it does not add an option trade, leverage, or naked exposure to the backtest.
PRICE · EMA CROSS · SIGNAL MARKERS
◀ PAN ▶
BTC / USD
EMA Fast
EMA Slow
Buy signal
Sell signal
Entry point
drag to zoom · scroll/pinch to zoom · shift+drag to pan
MVRV VALUATION
MVRV
Long Exit / Short Exit thresholds
Long Reduce / Short Reduce thresholds
Market value / realized value — on-chain cost-basis ratio
PORTFOLIO GROWTH
Strategy equity
Buy & Hold benchmark
DRAWDOWN (UNDERWATER)
Strategy drawdown from peak
Buy & Hold drawdown from peak
% below the highest equity reached so far
DRAWDOWN EPISODES
Depth vs. Duration
Recent Episodes: Drop vs. Gain Needed to Recover
Recovered episode
Ongoing (not yet recovered)
Recovery gain = drop ÷ (1 − drop) — a −50% drawdown needs +100% to break even, not +50%
TIME UNDERWATER
—
of time underwater
Days Underwater
—
Days At / Near High
—
Longest Episode
—
Current Episode
—
Measured in real elapsed calendar time, not bar count — correct at any timeframe (1h/4h/1d)
PERFORMANCE METRICS
Metric
Strategy
Buy & Hold
Detail
Return Profile
Trade Statistics
Kelly Sizing Diagnostic
Drawdown Analysis
Risk-Adjusted Return
Timing & Streaks
MVRV Filter Impact i
MONTHLY RETURNS
Strategy equity, month over month
UNDERWATER HEATMAP
Worst drawdown touched, per month
ROLLING 1Y RETURN
yr
Not enough history for a window yet — try a shorter one.
Strategy — trailing 365d return
Buy & Hold — trailing 365d return
Y-axis clipped to the 1st–99th percentile range for readability
ROLLING RISK
Rolling Max Drawdown
Rolling 180d Sharpe
Left: worst peak-to-trough decline using only the local peak within the trailing window (not the all-time high) — shows if recent risk is elevated. Right: annualized return ÷ annualized volatility over the trailing 180 days.
HOLDING VS TRADING
Net Worth — Strategy
—
—
Net Worth — Buy & Hold
—
—
BTC Amount (Then)
—
BTC bought at start with initial capital
BTC Amount (Now) vs Gain/Loss
—
—
TRADE ANALYTICS
P&L Distribution
Hold Time vs Return
Winning trades
Losing trades
Left: trade count by P&L bucket. Right: each dot is one closed trade.
REALIZED P&L BREAKDOWN
Cumulative P&L from closed trades only — excludes unrealized mark-to-market on any open position, so it won't exactly match the equity curve above.
TRADE LOG
#
Side
Entry Date
Entry Px
Option Δ @ Entry
Exit Date
Exit Px
Exit Reason
Hold (d)
Return
P&L (USD)
METHODOLOGY
Data — validated BTC/USD close observations for the selected timeframe. Use Refresh to fetch again; the page does not stream prices. Timestamp labels are normalized to UTC. Gaps are flagged, not fabricated. Signal and execution — SMA-seeded EMA periods count observed bars. A completed-close signal fills at the next available close, with configurable adverse slippage and per-fill fees. Live-aligned defaults to 0.05% fee plus 0.05% slippage per fill; presets never hide their inputs. Signals on the last bar remain unfilled. Backtests start in cash and wait for a new crossover. MVRV — observations retain their source timestamp and receive the configured calendar-day delay. Values older than the maximum age are unavailable. Gate blocks entries; Scale changes new-entry size only. Missing observations block new entries and queue an exit of an open position. Publication lag is an explicit research assumption. Sizing — all entry costs fit within the cash budget, capped at 100% after overlays. Uninvested cash earns 0%; the risk-free input is a Sharpe benchmark and option-model discount rate, not portfolio interest. Volatility sizing uses sample standard deviation of 14 completed daily returns and waits for that estimate to become available. Options delta — historical EMA entries are repriced as hypothetical European options using standard Black–Scholes USD spot delta, the entry-date BTC close, strike percentage, DTE, constant IV, and risk-free input. The reference is the EMA exit/latest close capped at expiry. These are modeled sensitivities, not observed Deribit Greeks or option returns. Shorts — fixed BTC quantity with linear USD P&L. Optional annual carry is integrated on prior-bar notional. This is not an exchange margin/liquidation simulation. If sampled portfolio value cannot cover closure, the model records a capital-exhaustion exit and stops trading; a price gap can leave a deficit. Stops — the close-to-close Wilder proxy is not true OHLC ATR. The trailing stop only tightens, ignores a zero proxy, and queues a next-close exit. Intrabar stops cannot be reconstructed from close-only prices. Returns — portfolio P&L includes both fees and all modeled costs. Calendar returns link to the previous period-end or initial capital; partial periods are marked. Mean Full-Year Return excludes partial years. CAGR uses exact elapsed time and requires 30 days, except a total loss is shown explicitly. Risk statistics — Sharpe uses sample SD (N−1) and the configured risk-free rate. Sortino uses all N returns in the downside denominator. Both use complete, consecutive UTC daily intervals and √365.25 scaling; partial/gapped daily returns are excluded. Square-root scaling does not correct serial dependence or establish significance. Drawdown — main drawdown uses every loaded bar and starts at initial capital. Rolling max drawdown retains the worst ordered peak-to-trough decline inside each window. Episode durations start at the prior peak; averages use recovered episodes. Ulcer Index uses available UTC day-end equity. Filter impact — the comparison disables only MVRV and retains all other settings, costs and dates. The buy-and-hold benchmark buys at the initial available close and remains open; neither open strategy positions nor buy-and-hold are charged a hypothetical final exit fee. Reproducibility — Run JSON records the versioned engine contract, public configuration, data-source hashes, metrics, costs, positions, trades, delta assumptions, and every historical delta case. Identical hashes identify identical fetched bytes. Validation — the Validation tab performs a chronological fixed-rule split, a common-window EMA neighborhood, and execution-cost stress. Historical parameter/start-date selection can still overfit; these diagnostics do not establish a predictive edge or statistical significance.
Computed directly from the raw price series — independent of your backtest settings on the other tab, so these always reflect the full loaded history.
RSI (14)
Momentum · overbought / oversold
RSI(14)
Dashed lines at 70 (overbought) and 30 (oversold)
MACD (12, 26, 9)
Trend momentum, confirms/leads the EMA cross
MACD line
Signal line
Histogram
TREND EFFICIENCY (Kaufman ER)
High = trending, low = choppy/ranging
Trend Efficiency (0–100)
Dashed line at 25 — illustrative efficiency threshold, not an ADX cutoff
Note: uses Kaufman's Efficiency Ratio, not textbook ADX — see note above
VOLATILITY & BANDS
Close-based ATR (14)
Bollinger Bands (20, 2σ)
ATR — avg. |close-to-close| move, not true range (no high/low in feed)
Bollinger Bands — exact, close-price based
VALIDATION LAB
Ready after data loads
QuantDinger treats a backtest as a reproducible research run, not just one attractive equity curve. This lab challenges your EMA/MVRV/risk rules with later data, nearby settings, and harsher costs. PyBroker inspires the expanding walk-forward and bootstrap research below. These run locally in JavaScript; PyBroker itself is a Python framework.
%
%
×
Later period begins
—
Chronological holdout
Later-period CAGR
—
Fixed rules, later data
Positive neighborhoods
—
Valid nearby EMA pairs
Cost-stressed CAGR change
—
Base minus stressed
1 · CHRONOLOGICAL HOLDOUT
Metric
Full period
Earlier block
Later block
Run validation to calculate.
The rule is reset to cash at the start of each block and waits for the next crossover. EMA warm-up uses only prices that existed before each bar.
2 · EMA PARAMETER NEIGHBORHOOD
—
Run validation to calculate the 3×3 neighborhood.
Each cell reports CAGR and maximum drawdown. A broad patch of similar results is healthier than one isolated winning pair. This is a sensitivity check, not proof of predictive power.
3 · EXECUTION COST STRESS
Metric
Base costs
Stressed costs
Change
Run validation to calculate.
Fee, adverse slippage, and short carry are stressed together. The test does not invent historical spreads or funding rates.
DATA & REPRODUCIBILITY
Price observations
—
—
Missing expected bars
—
Flagged, never forward-filled
MVRV available
—
After configured lag and max age
Price dataset hash
—
Identifies the fetched input bytes
MVRV dataset hash
—
Included only when available
Engine contract
—
Versioned assumptions in every JSON export
04 · Expanding walk-forward
Run validation to calculate
Each fold ranks the nearby EMA pairs on earlier data only, freezes one pair, then tests it on the next unseen block. Your configured pair remains the fixed-rule control. Initial training uses the earlier-period share above; test folds divide the remaining elapsed time.
Fold / test dates
Training through
Selected EMA
Fixed return
Selected return
Hold return
Selected DD
Closed trades
Run validation to calculate.
All folds reset to cash, wait for a new cross, and mark open positions at the last close. Results compare independent experiments, not a continuous live portfolio.
05 · Block-bootstrap uncertainty
Later-period fixed rules
Return · central 95% range
—
Over the sampled daily horizon
Sharpe · central 95% range
—
Annualized using 365.25 days
Drawdown · 95th percentile
—
Loss magnitude at daily closes
Paths beating buy & hold
—
Paired resampling of the same dates
Contiguous daily-return blocks preserve dependence within each block. Percentile resampling diagnostics differ from PyBroker's BCa intervals and do not estimate the probability of future profit.
λ
BTC EMA CROSS · BACKTEST TERMINAL
—
—
—
Strategy equity
Buy & Hold
HISTORICAL BACKTEST · NOT INVESTMENT ADVICEdata: 0xtrvkc/dynamic-btc-analytics-dashboard