Dynamic Momentum Index (14/5/10, 30/70)
A fixed-period oscillator always measures the same number of days, whether the market is still or convulsing — and so it arrives late when volatility spikes and fidgets for nothing when volatility falls. Swinging the number of calculation days around a pivot period, according to how current volatility compares with its own recent average, means the overbought and oversold reading is taken over the horizon the moment calls for. And the same mechanism serves to change the period of any technique.
Measured in crypto — Binance spot · 540 pairs, delisted ones included · 0.2% per round trip
- ✓invariance
- ✗costs
- ✗placebo
- ✗benchmark
- ✗out of sample
- ✓multiple testing
At its worst the account was worth 100% less than its own best previous moment, and it spent 2,275 days below that peak.
What was measured
How many of those trades actually count
What it paid, before any deductions
Why it did not pass — it died here · the broker's fee
What would have happened to the money
The account would not fit every signal
What this result does NOT say
- One market, one universe
- Measured on 539 spot cryptocurrency pairs, delisted ones included. It says nothing about futures, equities or indices, nor about how the same technique behaves in another market.
- One window of time, not every window
- The measured period runs from 2017-08-17 to 2026-07-28. A market moves through regimes, and a technique can work in one and fail in another — the card measures the regimes that fit inside this window, not the ones still to come.
- One cost structure
- The cost charged is 0.10% per leg, in and out. Anyone paying more than that gets a worse result, and anyone paying less gets a better one — the verdict holds for this fee.
- One exit rule
- The trade was closed by: the technique itself (held until the opposite signal). The same entry measured with a different exit is a different strategy, and can earn a different verdict — it happens in this archive.
- The number of trades is not the sample size
- There are 8,886 trades, but only 51 independent market episodes: a single move fires the technique across dozens of assets at once, and counting those as separate observations inflates any result. It is the smaller number that governs the arithmetic. With 51 episodes, what the data supports is a range from -30.29% to +6.19% per trade — the published average is the centre of it, not the exact measurement.
- Daily bars
- Measured at the daily close. Nothing here measures what happens inside the day, and an intraday technique is not auditable with this data.
Numbers and reproducibility
The six controls
| control | status | t | threshold | episodes |
|---|---|---|---|---|
| invariance | passed | — | — | — |
| costs | failed | -1.35 | 2.01 | 51 |
| placebo | failed | -1.14 | 2.01 | 51 |
| benchmark | failed | — | — | — |
| out of sample | failed | — | — | — |
| multiple testing | passed | — | — | — |
- invariance8886 signals across 750934 bars
- costsgross -12.050% · cost 0.200% · net -12.250% (t=-1.35)
- placeboactual -12.250% · placebo -1.856% · excess -10.394% ± 9.133% (t=-1.14 against a threshold of 2.01, 51 real groups, 444,300 sham dates, draw error ±0.172%)
- benchmarktechnique -12.25% · buy and hold (same horizon) +7.06% · excess -19.31%
- out of sampleasset half A: -14.336% (t=-1.22, 51 episodes) · asset half B: -10.069% (t=-1.29, 51 episodes) · liquid half (>= US$ 2,069,553/day): -16.140% (t=-1.74, 51 episodes) · illiquid half: -8.039% (t=-0.82, 48 episodes) · period 1/4 (2017-09-02 a 2022-02-11): -46.520% (t=-2.76, 26 episodes) · period 3/4 (2023-07-30 a 2025-01-28): -10.366% (t=-1.46, 10 episodes) · period 2/4 (2022-02-13 a 2023-07-29): +2.023% (9 episodes — too small, does not count) · period 4/4 (2025-01-29 a 2026-07-04): +5.782% (9 episodes — too small, does not count)
- multiple testing1 variation(s) tested · t=-1.35 across 51 episodes (equivalent to t=-1.32) · p≈0.1881 · false positives expected by chance ≈ 0.19
Equity — outside the six controls, and here is why
The t of the trade series is invariant to bet size: 0.5%, 1% and 3% agree to the sixth decimal. Nothing here moves the verdict — it moves what the account would have lived through.
- risking 1.0% per trade
- ×0.00
- worst drawdown from the peak
- −100%
- days below the previous peak
- 2,275
- signals refused for lack of capital
- 93%
- paths where the account halved (out of 12)
- 12
Reproducibility
- period
- 2017-08-17 to 2026-07-28
- assets that traded
- 539
- variations tested before this one
- 1
- gross per trade
- −12.05%
- net per trade
- −12.25%
- exit rule
- the technique itself (held until the opposite signal)
- median duration bars
- 64
- mean duration bars
- 78.9
- max duration bars
- 838
- fee per leg
- 0.001
- episode days
- 64
- seed
- 20260728
- DMI pivot
- 14
- DMI short deviation
- 5
- DMI long deviation
- 10
- oversold
- 30.0
- overbought
- 70.0
Binance spot klines (delisted pairs included) · collected from 2026-07-27 23:31 to 2026-07-28 14:29 · 540 assets · 750,934 bars · 2017-08-17 to 2026-07-28
Hypothesis, filed before the result
Specified (14-period pivot, 5-day deviation over the 10-day average). Two holes the chapter does not close and that the invariant control will report: with low volatility the period tends to infinity, and with high volatility int(14/V) can reach zero — no floor or ceiling is declared. The frequency of each case goes on the card. Family prediction, filed before measuring: (1) none of the adaptive averages survives the family's Benjamini-Hochberg in crypto; (2) the control that kills the most will be COST, not the benchmark — unlike the chart-pattern census, where the benchmark was the gravedigger, because these are always-in-the-market systems and they turn over a lot; (3) each adaptive average will have HIGHER turnover than its fixed-period counterpart already in the archive, and will die more at cost than it does. The mechanism is in the source itself: Table 17.1 reports a profit factor 'even before costs' and states that success is 'inversely related to the average number of trades' (KAMA 159 trades, factor 1.53; VIDYA 443, factor 1.17). That is a cost story told as a quality story. If I am wrong and one survives cost with higher turnover, the chapter's thesis gains evidence it did not present.
filed on 2026-07-29, before the number existed
The original, as it was filed
Especificado (período pivô 14, desvio de 5 dias sobre a média de 10). ⚠️ Dois buracos que o capítulo não fecha e que o controle de invariante vai reportar: com volatilidade baixa o período tende ao infinito, e com volatilidade alta int(14/V) pode chegar a zero — não há piso nem teto declarados. A frequência de cada caso vai no card. Previsão da família, registrada antes de medir: (1) nenhuma das adaptativas sobrevive ao Benjamini-Hochberg da família em cripto; (2) o controle que mais mata será o CUSTO, e não o benchmark — diferente do censo de padrões gráficos, onde o benchmark foi o coveiro, porque estas são sistemas sempre-no-mercado e giram muito; (3) cada adaptativa terá giro MAIOR que a sua contraparte de período fixo já no corpus, e morrerá mais no custo do que ela. O mecanismo está na própria fonte: a Tabela 17.1 relata fator de lucro 'even before costs' e afirma que o sucesso é 'inversely related to the average number of trades' (KAMA 159 operações, fator 1,53; VIDYA 443, fator 1,17). Isso é uma história de custo contada como história de qualidade. Se eu estiver errado e alguma sobreviver ao custo com giro maior, a tese do capítulo ganha uma evidência que ele não apresentou.
Pre-registration exists to keep prediction apart from rationalisation: written after the number, every hypothesis is right.