Session opening range: a defined first hour, then a break
After the first four 15-minute bars of the UTC day freeze a range, does a later close through that high, with a stop back inside the range, define a testable breakout — or just a busy first hour? A long-only, testable rule set.
Illustrative diagram — not market prices, not a trade, and not a result.
Research status: untested hypothesis. No backtest, paper or live results exist. Every threshold, period, R value and risk fraction is an untested candidate parameter, not a recommendation. This is not the same playbook as Range mean reversion, which fades a frozen daily range back to the midpoint.
The idea
Crypto trades all day, so “the open” is a definition we have to write down, not a bell we can hear. This playbook freezes the first hour of the UTC day as an opening range, then asks whether a later completed close through that high, with a stop back inside the range, is a testable breakout. The same clock that makes the range honest also makes this a research choice: 00:00 UTC is not a New York cash open, and a different session would be a different hypothesis.
IF–THEN rules
All times are UTC. Use completed 15-minute bars only.
- Freeze at 01:00 UTC. From the four completed 15-minute bars that begin at 00:00, 00:15, 00:30 and 00:45, record high H, low D, width W = H − D (must be positive) and midpoint M. These don’t move for the rest of the UTC day.
- Width filter: W must be at least 0.8 × the 15-minute ATR(14) computed at freeze time, and no more than 3.0 × that ATR. A tiny range makes a noisy break; a huge first hour often is the move.
- Break: after 01:00, the first completed 15-minute bar whose close is above H + 0.05W is the signal bar. Do not trade inside the first hour, and do not trade a wick through H without the close.
- THEN enter at the next bar’s first executable price, if all shared checks pass.
- One attempt per UTC day. If the first signal fails the checks, or the trade exits, stop for the day. Don’t hunt a second break.
- Stop: M − max(2 ticks, 0.02W). Frozen. That sits inside the opening range, so a return to the middle invalidates the break.
- Target: H + W (the opening range’s height projected up). Frozen. Net reward must be at least 2R after costs. If the next open, or costs, remove that room, skip the day.
- Failure exit: a completed close back below H − 0.05W exits at the next open (the stop has priority).
- Time stop: the last exit opportunity is the 15-minute bar that begins at 20:00 UTC; if still open, exit at that bar’s close, or earlier if the time stop bar is still running at a scheduled event window (see shared filters).
- Size from the stop with the position-size calculator, at 0.25% of equity (untested modeling parameter). Results in R.
When NOT to trade
- The first hour is too narrow or too wide for the ATR filter, or W is not positive.
- No close through H + 0.05W before 16:00 UTC: that’s a missed day, not permission to loosen the close or chase a late spike.
- The next open gaps through the 2R target, or through the stop.
- Any shared no-trade filter fails.
- A short on a close through D is a separate hypothesis.
Common mistakes
- Trading the first-hour bars themselves. The range has to finish before it can be used.
- Entering on a wick over H and calling it a break. The rule is a close.
- Fading the same range toward M and also trading this break, then combining the records. That mixes Range mean reversion with this playbook.
- Redefining “the open” mid-test (New York, 08:00 UTC, weekend vs weekday) without calling it a new hypothesis.
- Moving the stop to D after entry “for room.” The invalidation is the midpoint, written in advance.
Hypothetical example (made-up prices)
| Item | Value |
|---|---|
| Opening range 00:00–01:00 UTC | H 80.00, D 79.20, W 0.80, M 79.60 |
| ATR(14) at freeze 0.50; 0.80 is inside 0.40–1.50 | Width ✓ |
| Signal close (10:45 bar) | 80.10 (> 80.04) ✓ |
| Entry (next open) | 80.12 |
| Stop: 79.60 − 0.02 | 79.58 |
| Risk per unit incl. 0.02 costs | 0.56 |
| Target H + W | 80.80 → net about 1.18 / 0.56 ≈ 2.1R |
If it works: price reaches 80.80 before 20:00 UTC: about +2.1R. If it fails: price trades 79.58 and fills at 79.55: a little more than −1R. Or it closes back under 79.96 and exits on the next open, wherever that is. Missed day: no close through 80.04 before 16:00. Record the miss; don’t invent a late entry.
Ratigan Capital rules in this playbook
- Early Is Wrong: buying the first poke through H, before the close, is a different strategy.
- Patience as a Position: many UTC days never produce a close through the high.
- Never Average Down: a failed break is an exit, not a second try at a “better” open.
- Price Is the Only Truth: the clock is a research choice; the stop is still a price.
Why it can fail
The first hour can be quiet, then a later break is just a mid-day drift that returns to M. The first hour can also be the day’s whole range, so a late close through H is a late, thin probe. Weekend and weekday UTC opens can behave differently; if they do, lumping them together will muddy the test. Gaps around 00:00 UTC can distort W.
Pre-trade checklist
- H, D, W and M frozen at 01:00 UTC from exactly four bars, width filter passed?
- First qualifying close after 01:00 and before 16:00, no earlier trade today?
- Shared filters clear?
- Stop, target, time of last exit and size written; net ≥ 2R after costs?
Sources
Keep going
- Core rules for every playbook: risk protocol, no-trade filters, mindset
- Risk calculator: size a position from your stop
- Lesson: Support and resistance
- Lesson: Stops, slippage, and gaps: why real losses run larger
- Lesson: Patience as a position: waiting for confirmation
- Lesson: Risk per trade, R-multiples, and expectancy
- All lessons · Research standard · Disclaimer
Education only, not financial advice. This is a personal record of one trader’s decisions, including the mistakes. Trading crypto carries a real risk of losing money. Full disclaimer.