← Alle papers
Research-verhaal

Van een boek uit 1990 naar een live algo in 36 uur

21 augustus 2026 · het volledige proces achter paper #16 (Crabel ORB Nasdaq) — inclusief alles wat faalde

De meeste trading-content laat je alleen de winnaar zien. Dit artikel laat het hele proces zien: 298 pagina's uit 1990, elf backtests, zeven afwijzingen, twee bugs die onze eigen audit vond — en waarom er uiteindelijk precies één strategie overbleef.

1 · Het boek

Toby Crabels Day Trading with Short Term Price Patterns and Opening Range Breakout is een klassieker die al decennia in vrijwel elke serieuze quant-leeslijst staat. Zijn centrale idee: de markt wisselt continu tussen rust en beweging, en de dag ná een ongewoon rustige dag (een "contractie") heeft een sterk verhoogde kans op een gerichte uitbraak — waarvan de richting zich vroeg in de sessie toont via de eerste beweging vanaf de open. Crabel onderbouwde dat in 1990 met handmatige computertests op futures-data van 1978–1988.

De vraag die ons interesseerde: staat die edge er 36 jaar later nog? Alles aan de markt is sindsdien veranderd — elektronische executie, HFT, 24-uurs handel. Als een publiek boek uit 1990 nog steeds werkt, zegt dat iets fundamenteels over marktstructuur. Als het niet werkt, is dat ook een antwoord.

2 · Van tekst naar code — zonder te sjoemelen

We hebben het boek integraal doorgenomen en de exacte definities overgenomen: de Stretch (voortschrijdend gemiddelde van de afstand open→dichtstbijzijnde extreme; het exacte venster zit in de community-setup) als uitbraakdrempel, NR4/NR7/inside-day/doji als contractiefilters, en zijn waarschuwing om nooit daags na een expansiedag te handelen. Dat werd één EA met de filterkeuze als instelling.

De belangrijkste keuze: nul parameter-tuning. Alle waarden komen letterlijk uit het boek. Er is geen "beste versie uit honderd pogingen" geselecteerd — wat je hieronder ziet is poging één. Dit is de sterkste bescherming tegen curve-fitting die er bestaat: de parameters zijn 36 jaar geleden vastgelegd door iemand anders, op andere markten, met andere data.

3 · De eerste testnacht: elf runs, zeven afwijzingen

Elke variant ging door dezelfde pijplijn als al ons werk: backtest over 7,5 jaar (2019–medio 2026) op M15-data, en voor de kandidaten daarna walk-forward-validatie, spread-stress, regime-analyse en Monte Carlo. Dit was de oogst:

RunMarkt · filterVerdictSharpePFTrades/mnd
1Nasdaq · NR4-filterPASS — volledige pipeline4.341.354.7
2Nasdaq · NR4, onafhankelijke data (Dukascopy)PASS6.331.584.4
3Nasdaq · Doji-filterPASS — volledige pipeline4.941.453.5
4Nasdaq · NR7-filterPASS3.471.272.8
5Nasdaq · inside-day + NR4positief, te zeldzaam4.461.371.2
6S&P 500 · NR4PASS (zwakker)2.181.174.6
7Nasdaq · geen filter (controlegroep)referentie1.651.1319.3
8Nasdaq · gap-continueringFAIL (nipt)1.271.093.7
9DAX · NR4FAIL-0.670.954.3
10Goud · NR4FAIL-0.760.954.9
11Nasdaq daily mean-reversion (backlog-item)te dun0.421.350.7

Twee dingen vallen op. Ten eerste: Crabels these repliceert. Elke contractiefilter verslaat de controlegroep ruim — de NR4-filter verdubbelt de Sharpe (4.34 tegen 1.65) op een kwart van de trades. Exact het patroon dat hij in 1990 rapporteerde. Ten tweede: de edge is marktspecifiek. Op de DAX en op goud werkt hetzelfde recept aantoonbaar niet. Goud is zelfs consistent met Crabels eigen observatie van destijds: gold fadet zijn gaps. We publiceren die fails net zo prominent als de passes — wie alleen winnaars laat zien, heeft iets te verbergen.

4 · De dubbelcheck die twee bugs vond

Mooie cijfers zijn het gevaarlijkste moment in research: precies dan wil je ze geloven. Dus volgde een volledige audit: trade-voor-trade-controles op het sessievenster, de richtingsbalans, de entry-tijden en de houdtijden. De cijfers waren grotendeels schoon — maar de audit vond twee echte implementatiebugs.

Bug 1: op feestdagen zonder slotbar (kerst, Thanksgiving) bleef een positie een nacht doorlopen in plaats van op sessie-einde te sluiten — 9 trades, netto −$3.3k. Bug 2: als entry en stop-out binnen dezelfde 15-minuten-bar vielen, kon het tegenoverliggende order één bar overleven en een ongewenste tweede trade openen — 8 keer gebeurd. Beide gefixt en alles opnieuw gedraaid. Interessant detail: op de onafhankelijke datafeed daalde het resultaat licht door de fix — de overnight-posities wonnen daar toevallig. Dat was geen edge maar feestdag-gokken, en het is er terecht uitgehaald.

Na de fixes werd het hoofdresultaat beter (de bugs kostten geld): Sharpe van 3.66 naar 4.34, en een lagere drawdown. Maar belangrijker dan de cijfers: dit is waarom we elke strategie dubbelchecken voordat er ook maar iets mee gebeurt.

5 · De lakmoesproef: andermans data en echte kosten

Twee laatste horden. Eén: dezelfde regels op een volledig onafhankelijke datafeed (Dukascopy in plaats van onze broker-data). Resultaat: PF 1.58, Sharpe 6.33 — de edge is geen artefact van één datapakket. Twee: echte kosten. Backtests zijn gratis; live betaal je spread en slippage, en bij stop-entries betaal je die op het slechtst denkbare moment. Met onze gemeten round-trip-kosten als overlay blijft er afhankelijk van de datafeed een netto profit factor tussen 1.10 en 1.33 over. Dat is de eerlijke marge: positief, maar de executie bepaalt hoeveel.

Daarom draait de strategie nu eerst in een meetfase op klein formaat in ons eigen portfolio, met vooraf vastgelegde criteria: bij welk verlies hij er definitief uitgaat, en aan welke voorwaarden hij moet voldoen voordat hij meer gewicht krijgt. Geen enkele backtest — hoe mooi ook — slaat die stap over.

6 · Wat dit zegt over onze methode

Dit hele traject — boek lezen, coderen, elf runs, audit, cross-validatie, kosten-analyse — besloeg 36 uur, omdat vrijwel elke stap door onze AI-pipeline wordt uitgevoerd. Maar de volgorde is belangrijker dan de snelheid: eerst de regels vastleggen, dan testen, dan pas geloven. En hardop opschrijven wat faalde. De cijfers van deze strategie worden vanaf nu dagelijks bijgewerkt in paper #16, naast al onze andere strategieën — de goede en de afgewezen.

Zelf met dit soort research aan de slag?
De tools waarmee dit getest is — en alle goedgekeurde strategieën om zelf te traden — staan gratis in de community.
Join de Discord — gratis

De tabel hierboven toont de ruwe testcijfers (bruto, zoals de validatie-pipeline ze rapporteert). Paper #16 toont dezelfde strategie volgens onze site-standaard: netto na commissie en swap — daardoor conservatiever. Beide zijn juist; ze meten met een andere lat. Alle cijfers uit onze eigen backtest- en validatiedata; bruto tenzij anders vermeld. Educatie en research — geen financieel advies. Trading in leveraged producten brengt een hoog risico op verlies met zich mee; handel alleen met geld dat je kunt missen. Resultaten uit het verleden bieden geen garantie voor de toekomst.