Audit #20 of 20·Strategy·@wavealgo·scored 2026-08-08

OBV MA Cross (20)

Conditionalalpha score 23 / 100

Positive risk-adjusted return in 9 of 18 cells — strongest on QQQ · 4H (Sharpe 1.02); 9 cells lose after the 0.05% per-side fee. Trails buy-and-hold by 250.2pp on average.

§ Verdict rationale

Composite Sharpe 0.05 across 18 cells. The edge concentrates in QQQ 4H (Sharpe 1.02); 9 of 18 cells are negative after the 0.05% per-side fee. Trails buy-and-hold on average. The account is wiped out entirely in 4 of 18 cells — the fee drag alone, before any question of signal quality.

§ Alpha score breakdown

Out-of-sample edge
+1 /40
Regime stability
+13 /25
Flaw penalty
0 /25
Reproduction accuracy
+9 /10

alpha = edge (0-40: clamp(compositeSharpe/2,0,1)*40) + stability (0-25: positiveCells/18*25) + flaw penalty (0 to -25: static findings, 0 across v1 catalog) + reproduction (0-10: engine oracle parity vs pine2py, 251/257 scripts = 9)

§ Equity vs buy-and-hold — fee-adjusted, per cell

strategy, fee-adjusted · ends ×3.29buy-and-hold · ends ×5.79normalized to ×1.00 at window start
Sharpe
0.05
vs B&H
-250.2pp
Max DD
-41.0%
PF
1.11
Win
29%
Trades
16265

§ All 18 cells — including the ugly ones

Market · TFSharpeReturnvs B&HMax DDWinTrades
BTCUSD 1H-2.49-100.0%-1509.0pp-100.0%26%5734
BTCUSD 4H-0.85-100.0%-1494.7pp-100.0%24%1406
BTCUSD 1D0.80+1900.8%+497.7pp-69.6%28%227
ETHUSD 1H-2.11-100.0%-635.8pp-100.0%28%5212
ETHUSD 4H-0.36-100.0%-622.6pp-100.0%26%1329
ETHUSD 1D0.75+2300.0%+1768.9pp-57.2%26%224
SPX500 1H-0.58-16.8%-89.5pp-25.4%33%356
SPX500 4H0.59+15.7%-57.0pp-14.7%38%111
SPX500 1D0.28+42.1%-547.4pp-22.7%47%292
QQQ 1H0.41+14.6%-78.4pp-20.8%37%300
QQQ 4H1.02+42.5%-50.3pp-13.2%44%111
QQQ 1D0.61+189.0%-1244.6pp-28.3%44%269
GOLD 1H-0.24-13.6%-136.7pp-28.1%36%310
GOLD 4H0.68+32.3%-90.8pp-22.6%39%112
GOLD 1D0.10+7.2%-212.9pp-34.7%39%272
EURUSD 1H0.00+0.0%-9.2pp0.0%0%0
EURUSD 4H0.00+0.0%-8.3pp0.0%0%0
EURUSD 1D0.00+0.0%+17.8pp0.0%0%0

9 of 18 cells positive · best QQQ · 4H · cells are not equal length — the composite is a median

§ The exact source that ran — Pine v5

1//@version=5
2strategy("OBV MA Cross (20)", initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
3o = ta.obv
4oma = ta.sma(o, 20)
5longSig = ta.crossover(o, oma)
6exitSig = ta.crossunder(o, oma)
7if longSig
8 strategy.entry("L", strategy.long)
9if exitSig
10 strategy.close("L")
11plot(strategy.equity, "equity")
12plot(strategy.position_size, "pos")
13plot(strategy.closedtrades, "closed")
14plot(strategy.wintrades, "wins")
15plot(strategy.grossprofit, "gp")
16plot(strategy.grossloss, "gl")

This source was executed verbatim by the wavealgo JS engine — there is no port step to drift. The engine is oracle-verified bar-by-bar (1e-9 tolerance) against an independent Python implementation on 251/257 corpus scripts.

§ Flaw checklist

Repainting
None · signals bind to confirmed bars
Look-ahead bias
None · market orders fill at the next bar open
request.security
Not used
Sizing
100% of equity per entry · long-only
Fee model
0.05% per side on every fill · no slippage model in v1
Source
Open — the exact measured source is shown below

Verdict rules: pass: composite Sharpe >= 0.9 and >= 12/18 cells positive · cond: composite Sharpe > 0 and best cell Sharpe >= 0.9 · fail: otherwise · rep: static repaint/look-ahead finding (none in the authored v1 catalog: confirmed-bar signals, next-bar-open fills)

§ What the numbers mean

Sharpe ratio
Risk-adjusted return: mean daily return divided by its standard deviation, annualized ×√252. The composite figure is the mean of the 18 cell Sharpes — one bad market drags it honestly.
Max drawdown
The worst peak-to-trough equity loss over the window, measured on the fee-adjusted curve. What you would have sat through, not what you would have ended with.
Profit factor (PF)
Gross profit divided by gross loss, with fees charged to the loss side. Above 1.0 means gross gains exceeded gross losses; 1.0–1.2 is usually noise.
Win rate
Share of closed trades that closed profitable. A high win rate with a profit factor near 1 means many small wins and a few large losses — common in mean-reversion.
vs buy-and-hold
Strategy total return minus the return of simply holding the asset over the same window — the benchmark any active strategy must beat to justify existing.
Alpha score
The desk’s 0–100 composite: out-of-sample edge (0–40), regime stability across cells (0–25), flaw penalty (0 to −25), reproduction accuracy (0–10). The exact formula ships with the data.

Bring your own. We grade it the same.

↑ Rank #19
CCI Reversion (20, ±100)
No alpha · alpha 25

Engine: pine2js (next-bar-open fills, TV rule) · scored UTC 2026-08-08 04:53 · deterministic rerun — same data, same numbers. Backtested results are measurements of the past, not investment advice; nothing here is a recommendation to trade. wavealgo is operated by Streamize LLC.