# TBR / ORB Detector [34ematrader] — results Rules in `PRE-REGISTRATION.md`, committed before any test code was written. Six combinations, run once. NQ 5-minute bars built from 5,118,471 one-minute rows, 2011–2026. In-sample 2011–2020. $15 round turn on every trade. ## Headline **Zero of six survive.** The best reached profit factor 1.02 against the 1.15 the rules require. ## Run 1 — as originally specified, and why it says nothing | Window | Style | n | PF | Win | Net | Years + | |---|---|---|---|---|---|---| | NY TBR 08:12–09:12 | fade | 2,537 | 0.43 | 23.8% | −$66,062 | 0/10 | | NY TBR 08:12–09:12 | breakout | 2,537 | 0.47 | 26.3% | −$60,264 | 0/10 | | 15-min ORB | fade | 2,535 | 0.68 | 31.1% | −$44,638 | 0/10 | | 15-min ORB | breakout | 2,535 | 0.65 | 31.8% | −$50,231 | 0/10 | | Initial Balance | fade | 2,413 | 0.74 | 31.0% | −$38,682 | 0/10 | | Initial Balance | breakout | 2,413 | 0.78 | 35.2% | −$32,435 | 0/10 | This run is **uninformative and is my error**, not the indicator's. The pre-registered stop of 0.5 × ATR(14) on 5-minute bars is a median of **$30 of risk** against a **$15 cost** — costs were half the risk. In 2013 the 5-minute ATR was 1.35 points, so the stop was under a point. A test where costs are half the risk cannot tell a good strategy from a bad one. It is reported because deleting a test after seeing its result is the thing the pre-registration exists to prevent. See Amendment 1. ## Run 2 — stop 0.25 × session range, target 0.50 × range Same 2:1 ratio, scaled to the range the indicator itself draws. Median risk $90 / $135 / $220 by window; costs 17% / 11% / 7%. | Window | Style | n | PF | Win | Net | R/trade | Years + | |---|---|---|---|---|---|---|---| | NY TBR 08:12–09:12 | fade | 2,537 | 0.68 | 28.3% | −$53,574 | −0.50 | 0/10 | | NY TBR 08:12–09:12 | breakout | 2,537 | 0.66 | 30.0% | −$57,681 | −0.45 | 0/10 | | 15-min ORB | fade | 2,535 | 0.83 | 33.3% | −$38,762 | −0.22 | 0/10 | | 15-min ORB | breakout | 2,535 | 0.83 | 33.3% | −$38,734 | −0.22 | 0/10 | | Initial Balance | fade | 2,413 | 0.82 | 32.4% | −$58,892 | −0.19 | 1/10 | | **Initial Balance** | **breakout** | **2,413** | **1.02** | **38.1%** | **+$7,159** | **−0.02** | **6/10** | ## Gate 3 — against 200 random-entry runs per window Random moment, random direction, identical stop, target, costs and exit rules. | Window | Style | Real $/trade | Random median | Random 95th | Verdict | |---|---|---|---|---|---| | NY TBR | fade | −21.12 | −16.76 | −11.98 | **worse than a coin flip** | | NY TBR | breakout | −22.74 | −16.76 | −11.98 | **worse than a coin flip** | | 15-min ORB | fade | −15.29 | −15.54 | −8.11 | indistinguishable from random | | 15-min ORB | breakout | −15.28 | −15.54 | −8.11 | indistinguishable from random | | Initial Balance | fade | −24.41 | −14.41 | −1.52 | **worse than a coin flip** | | Initial Balance | breakout | **+2.97** | −14.41 | −1.52 | **beats control, 99.5th pct** | The TBR window is the notable one: trading it in **either** direction does worse than entering at a random minute in the same hours. Both styles lose, and both lose by more than chance, which means the moment of the first break of that range is actively unhelpful rather than merely uninformative. ## The one combination worth a sentence Initial Balance breakout beats its random control at roughly p = 0.005, which survives the Bonferroni threshold of 0.0083 for six tests. So the direction of the first break of the 09:30–10:30 range does carry information. It is not enough to trade: - **PF 1.02** against the 1.15 required. It fails gate 1 and therefore does not survive, whatever the control says. - **+$2.97 per trade** against a $15 cost — a gross edge of about $18 on $220 of risk, or 0.08R, of which costs take 0.07R. - **Not a long-bias artefact**: shorts PF 1.02 (+$2.14/trade), longs PF 1.03 (+$3.63/trade). Symmetric, so it is not the 2011–2020 uptrend in disguise. - **Year to year it is incoherent**: 2019 longs +$8,545, 2020 longs −$5,052; 2017 shorts −$2,851, 2020 shorts +$5,282 — swings larger than the $7,159 ten-year total. ## Out-of-sample was not run Nothing passed in-sample, so under the pre-registered rules nothing reaches the out-of-sample period. That keeps 2021–2026 genuinely unseen for this question, which is worth more than the answer would have been. If the Initial Balance breakout is worth pursuing, it needs its own pre-registration — a different exit structure, a stated reason for expecting one, and then one clean out-of-sample run. ## Note on the indicator itself The Pine is honestly built: no `lookahead`, no `request.security`, exits checked only from the bar after entry, and a bar touching both the stop and the target counted as a loss. None of the usual flattery. What it draws is what happened.