Skip to main content

which ORB report should I use?

a quick reference for all 9 ORB report variants — what each one measures, when to use it, and how to combine them.

Written by Brad

summary: the ORB report has 9 variants. each slices the data by a different dimension. here's what each one measures, when to use it, how to read it, and how to layer them for a sharper read.

what the ORB report measures

the ORB report measures how price behaves after breaking outside the opening range. the standard view gives you the breakout-type breakdown — breakout, breakdown, double break, or no break. the 8 subreports slice that same data by a different dimension — time of day, range size, weekday, and more.

whatever variant you read, the number to check first is the rate it's built around, and edgeful's rule of thumb is ~65%. above that, you've got a data-backed edge worth building a plan around; below it, you're closer to a coin flip. read the rate, check it against the 65% line, then decide how to trade it.

if you're new to subreports, read the full subreports reference first. this article is specifically about how to use each one on ORB.

set your chart up to match the report

before you read any of these, make your chart agree with edgeful. this is the number one reason the report and your own chart show different numbers.

set your TradingView timezone to EST. click the clock at the bottom right of your chart and select New York. edgeful measures the opening range on EST. if your chart is on local or exchange time, your ORB lands on the wrong candles and every number looks off.

then match the rest of your setup:

  • the session. the opening range is the start of the session you pick — a NY ORB and a London ORB are different ranges.

  • the ORB window. you're not limited to the preset intervals. if you want a 5-minute ORB or an open at 9:35, type the time straight into the ORB time field instead of picking from the dropdown.

  • the contract. compare the same contract, and make sure your lookback doesn't straddle a futures rollover.

one thing to know: your ORB timeframe drives every subreport. a 5-minute ORB and a 15-minute ORB show different data across all 9 variants, because the range itself is different. fix the timezone and lock your window first.

start with your goal

every ORB subreport answers a different question. instead of opening 9 reports and trying to make sense of them, start with what you're actually trying to figure out, then pull up the subreports that answer it, in the order shown.

your goal

start here

then layer in

getting your first read on ORB behavior for a new ticker

standard

by-weekday, by-time

taking a quick scalp on the breakout

standard, by-time

by-size, by-weekday

swinging into the close

by-close

standard, by-levels

setting a take-profit target

by-levels

by-performance

entering on a pullback after the breakout

by-retracement

by-levels

getting a directional bias before the breakout fires

by-rejection

standard

filtering by market conditions (volatility, day, time)

by-size, by-weekday

by-time

setting up or tuning the ORB algo

by-size, by-time, by-levels

by-weekday, by-performance

the at-a-glance table below covers the same 9 subreports from the opposite angle: variant first, then the question it answers. use whichever entry point matches how you think.

which variant to use — at a glance

variant

what it measures

use this when you want to know

standard

how the breakout resolved — breakout, breakdown, double break, or no break

"does price break the opening range, in which direction, and how often does it take out both sides?"

by close

where the day closed relative to the ORB level

"does price sustain the breakout into the close, or does it fade back?"

by levels

how often price reaches specific extension targets (multiples of the range)

"if price breaks out, how far does it typically go?"

by performance

the max and average extension of the first breakout, up and down

"how big is the typical breakout — and the best case?"

by retracement

how often and how deeply price pulls back after a clean breakout

"after a breakout, does price come back to retest the range?"

by rejection

which side of the range forms first vs. which side breaks first

"which side is more likely to break, based on which side formed first?"

by size

breakout behavior filtered by the size of the opening range

"do small ORBs behave differently from large ORBs?"

by time

when during the session the breakout occurred

"do early breaks play out differently from late breaks?"

by weekday

breakout behavior by day of week (Monday–Friday)

"is the ORB more reliable on certain days?"

standard

the base view. shows how the opening-range breakout resolved across four outcomes: breakout (price broke only the top of the range), breakdown (price broke only the bottom), double break (both sides broke during the session), and no break (price stayed inside the range all day).

this is your starting point. every other ORB subreport slices this same data by a different dimension. standard gives you the unfiltered picture first.

when to use it: you're getting your first read on ORB behavior for a specific ticker, session, and date range. you want to answer: does this instrument break its opening range consistently, in which direction, and how often does it take out both sides?

how to read it: start with breakout vs. breakdown for the directional lean. then look at the double-break rate. a high double-break rate means price often takes out both sides, which favors fade/reversal trades after the first break rather than chasing continuation. a near-zero no-break rate is normal for ORB: the opening range is small enough that price almost always breaks one side.

tip: ORB defaults to a by close breakout criteria (a candle has to close beyond the range), which is stricter than "by wick." the double break measure setting controls how a double break is counted. note both when comparing the report to your own chart. if you're unsure what "by close" vs "by wick" actually counts as a break, wick vs close — and what "broken" means across reports spells it out.

by close

shows where the day's close landed relative to the ORB breakout level. did price close above the range high, inside the range, or below the range low?

a breakout that fades back into the range by the close is a very different trade than one that holds. this subreport separates those outcomes.

when to use it: you're trading ORB breakouts and want to know if the move is likely to sustain through the session close. this matters most if you're holding positions into the end of day rather than taking quick scalps.

how to read it: a high percentage of closes above the ORB high on bullish breakout days means the move tends to stick. a high percentage of closes back inside the range means breakouts tend to fail or reverse by end of day. this directly shapes your exit strategy. if 70% of breakouts close back inside the range, holding to end of day is fighting the data.

tip: use the breakout type setting to look at breakout days and breakdown days separately. the close behavior often isn't symmetrical. and pair with standard: if standard shows a strong breakout rate but by-close shows most fade back, the setup is better suited for quick scalps than swing holds.

by levels

shows how often price reaches specific extension targets beyond the opening range, measured as multiples of the range — 0.1×, 0.2× and up through 0.5×, 1×, 1.5×, 2×, and out to 4×, in both the breakout and breakdown directions.

this is the most directly actionable subreport for setting take-profit targets. instead of guessing where to exit, you're using historical data to see how far price has actually gone after breaking out.

when to use it: you're setting a take-profit target and want to know the historical odds of price reaching that level. also where algo traders validate their TP settings. if you're running an ORB algo with a TP at 1.5x, pull up by-levels and see how often that target gets hit.

the break type setting: this subreport has a key setting most others don't. all breaks counts every breakout instance during the session, including re-breaks. first break counts only the first break, giving you the cleanest read on the initial move. use "first break" for initial breakout trades; "all breaks" for a broader picture.

the day filter: toggle between all days, breakout days, breakdown days, and double break days to see the fill rates for just the type of day you care about.

how to read it: each extension level shows a fill rate that naturally decreases as you move higher. look for the point where the fill rate drops off sharply. that's where the move typically stalls. set your primary TP before that cliff.

tip: compare "first break" vs "all breaks." if "all breaks" shows a much higher fill rate at 1× than "first break," many of those extensions happen on the second or third attempt, not the initial one.

by performance

shows how far price traveled beyond the opening range after breaking out — both the maximum extension and the average extension, in each direction (breakout and breakdown). it measures the first breakout of the day only, and the extension is how far price ran before coming back inside the range.

where by-levels asks "did price reach a specific target?", by-performance gives you the raw size of the move: how far the typical breakout runs, and how far the best ones go.

when to use it: you want to set realistic, data-driven profit targets. if the average move after a breakout is only 0.3%, that's your baseline. not every breakout delivers a 1–2% run. use this to calibrate expectations before setting specific targets with by-levels.

by-performance vs. by-levels: this trips a lot of people up. by-levels asks "did price reach 50%?" — a hit rate at specific targets. by-performance shows the magnitude — the max and average extension. use by-performance to understand the size of the move, then by-levels to evaluate specific targets.

how to read it: compare the average extension to the max. if the average is small but the max is large, the instrument produces mostly modest moves with occasional outsized runs. those big sessions are what make the setup profitable over time. compare breakout vs. breakdown to see if one direction extends further than the other.

tip: the edgeful TradingView indicator can plot the average and max extension levels straight onto your chart, so you can see exactly where to scale out or tighten stops.

by retracement

shows how often price pulls back toward the broken level after a clean single-direction breakout — and how deep those pullbacks typically go. the breakout and breakdown directions are shown separately, with retracement levels at 25%, 50%, and 75% of the range.

important: by-retracement only includes days with a single clean break. days where both sides of the range broke (double-break days) are excluded, since a double break changes the context entirely.

when to use it: you're looking to enter on a pullback after the initial breakout rather than chasing the move. this shows how often that re-test happens and how deep it goes, so you can decide where to place a limit order.

this is not fading the ORB. by-retracement shows pullbacks after a successful breakout. you're entering with the breakout direction on a pullback. fading the ORB (betting it fails) is a completely different thesis.

how to read it: if 70% of breakouts retrace to 25% but only 30% retrace to 50%, you're better off entering at the 25% level. waiting for 50% means missing most of the trades.

tip: pair with by-levels. by-retracement tells you where to enter on the pullback, by-levels tells you where to set your take-profit once you're in.

by rejection

shows the relationship between which side of the opening range forms first and which side breaks first. typically the side that forms first is not the side that breaks, so knowing how the range formed gives you a directional read before the break happens.

when the ORB is forming, one side prints first — either the high or the low. by-rejection tracks how often the side that formed first ends up holding (getting rejected) while the opposite side is the one that breaks. it's a formation-order pattern.

when to use it: you want a directional read on the breakout while the range is still forming. by the time the ORB closes, you already know which side formed first, so you can lean toward fading that side and trading the break of the opposite side.

how to read it: look at how often the first-formed side gets rejected vs. broken. a high rejection rate on the first-formed side means the pattern holds. bias your trades toward breaks of the opposite side. a low rejection rate means there's no edge from formation order on this instrument.

the ORB ending zone filter: by-rejection also lets you filter by where price sat at the end of the opening-range period, measured as a % of the ORB range. the zone direction flips based on which side of the range formed first — so 0–25% always represents the side opposite the one that formed first (the rejection side). on days where the ORB low formed first, 0–25% = the top of the range and 75–100% = the bottom. on days where the ORB high formed first, 0–25% = the bottom and 75–100% = the top. because the scale is always anchored to the rejection side, a low ending zone (0–25%) means price finished the opening range sitting on the rejection side, lined up to break the opposite side. use it to narrow the sample to the formation + ending-zone combinations that lead to the cleanest breaks; leave it on "all days" for the unfiltered picture.

tip: this is one of the few subreports that gives you actionable signal in real-time, before the breakout happens. by the end of the ORB, you already know which side formed first and where price ended up in the range, which means you can set up a directional bias before the breakout fires.

by size

shows how breakout behavior changes based on the physical size of the opening range itself.

a 5-point ORB on NQ is a very different setup than a 50-point ORB. the breakout rate, extension, and follow-through can all shift dramatically depending on range size.

when to use it: you're filtering ORB setups by volatility conditions. also directly useful for setting max/min ORB size thresholds in your algo. if the data shows ORBs above a certain size tend to fail, set your max threshold there.

how to read it: the report groups ORBs into size buckets and shows the breakout rate, direction, and extension for each. look for size ranges that consistently outperform. those are your sweet spots. check the sample size in each bucket. a 90% breakout rate with only 5 occurrences isn't reliable.

tip: use this data to set your algo's min and max ORB size filters. instead of guessing what range size works, you're using the actual data for your instrument and session.

by time

shows when during the session the breakout occurred — not whether it happened, but when.

a breakout at 9:45 AM often plays out very differently from one at 2:00 PM. early breaks tend to have more follow-through; late breaks can behave differently depending on end-of-day dynamics.

when to use it: you're optimizing entry timing. if 90% of ORB breakouts happen in the first hour and late-session breaks have poor follow-through, you know your window and don't need to sit in front of the screen all day.

how to read it: look for concentration. if most breakouts cluster in a specific time window, that's your highest-probability trading window. also look at follow-through by time — an early breakout might have a 70% continuation rate, while late-session might only continue 45%.

tip: combine with your algo's trading hours parameter. if breakouts after 2:00 PM tend to fail, set your algo to stop trading by 2:00 PM. you're filtering out bad setups, not missing good ones.

by weekday

shows ORB breakout behavior broken down by day of week — Monday through Friday.

some instruments show meaningful differences by weekday. the ORB breakout rate on a Monday might look very different from a Friday, especially around regular economic releases or end-of-week flows.

timezone: weekdays are always determined by ET (Eastern Time), regardless of your location or the asset's primary trading timezone.

when to use it: you're day-of-week filtering your setups. if you can only trade 3 days a week and want to pick the best 3, by-weekday tells you which days historically produce the strongest breakouts on your instrument.

how to read it: each day shows its own breakout rate, direction lean, and sample size. a common pattern: Mondays and Fridays show weaker breakout rates, while midweek tends to produce cleaner moves. but this varies by instrument. the data will tell you.

tip: combine with by-time. if a specific day tends to break later in the session, that's a different setup than one that breaks early. layering weekday + time gives you a sharper picture.

customizing an ORB report

every ORB variant shares a few core settings under customize report:

  • ORB timeframe: the length of the opening range (default 15 minutes from the session open). you're not limited to the presets. type a custom time straight into the field.

  • breakout criteria: what counts as a break: by close (a candle has to close beyond the level) or by wick (price only has to trade through it). ORB defaults to by close, which is stricter and filters out fakeouts. for the full picture of how each option changes what counts as "broken," see wick vs close — and what "broken" means across reports.

  • candle timeframe: the candle size used to run the report. this matters most when breakout criteria is set to "by close."

on standard, a double break measure setting controls how double breaks are counted. most other variants add their own filters: ORB size and weekdays to use are common — plus a few report-specific ones: break type (all breaks vs. first break) on by-levels, the ORB ending zone on by-rejection, and a break-back-in criteria on by-performance.

how to combine variants

you don't have to pick just one. most traders build their ORB process by layering multiple subreports:

  1. start with standard: get the breakout-type baseline (breakout, breakdown, double break, no break) for your ticker, session, and date range

  2. check by-size: filter out range sizes that historically underperform

  3. check by-weekday: see if certain days are stronger than others

  4. use by-rejection: get a directional bias from how the range formed before the breakout fires

  5. use by-levels: set your take-profit target based on historical extension data

  6. use by-time: calibrate when to expect the breakout

that's not the only order. adjust based on what matters most to your process. the point is that each subreport answers a different question, and combining them builds a sharper picture than any single view.

IB vs. ORB — what's the difference?

both measure range breakouts, but the range is different:

  • IB — the first 60 minutes of the session (customizable)

  • ORB — the first 15 minutes of the session (customizable)

because the IB range is wider, it breaks less often. but when it does, the move tends to carry more weight. ORB breaks happen more frequently but with smaller initial ranges.

many traders use both. ORB gives you an earlier signal; IB gives you a more established one. if the ORB breaks and then the IB breaks in the same direction, that's confluence: both timeframes agreeing.

the wider IB range also makes breakout-type analysis carry more weight — which is why the standard IB view leads with the single / double / no-break split, and by-double-break drills into what happens after both sides get hit.

common questions

what's the difference between by-performance and by-levels?

by-performance shows the magnitude of the move — the maximum and average extension of the first breakout, up and down. by-levels asks a specific question: how often did price reach a particular extension target? use by-performance to understand the size of the typical move, then use by-levels to evaluate specific price targets.

how does the ORB ending zone filter work in by-rejection?

it filters days by where price sat at the end of the opening-range period, as a % of the ORB range. the zone always anchors to the rejection side, so 0–25% is the side opposite the one that formed first. if the ORB low formed first, 0–25% is the top of the range; if the ORB high formed first, 0–25% is the bottom. that keeps a "low ending zone" meaning the same thing: price finished on the rejection side, no matter how the range formed.

what's the difference between by-retracement and fading the ORB?

by-retracement shows pullbacks after a successful breakout — price broke out, then came back to retest the range. it's for entering with the breakout direction on a pullback. fading the ORB (betting it fails) is a different thesis entirely.

why does by-retracement exclude double-break days?

on a double-break day, price broke both sides of the range. that changes the context so much that including those days would distort the pullback data. by-retracement isolates clean single-direction breakouts for a cleaner read.

does the ORB timeframe affect subreport data?

yes. your ORB timeframe setting affects every subreport. a 5-minute ORB and a 15-minute ORB will show different data across all variants because the range itself is different.

what does "first break" vs "all breaks" mean on by-levels?

"first break" counts only the first time price broke the range in the session. "all breaks" includes every breakout instance during the day. use "first break" for initial breakout trades; "all breaks" for a broader picture.

limits — when not to lean on it

a breakout rate is only as good as the sample behind it.

the sliced subreports — by-size, by-weekday, by-time — split your data into smaller buckets, and small buckets get noisy fast. a 90% breakout rate on 5 occurrences isn't a 90% edge. check the count in the bucket before you trade it.

a rate that's held across 1 year, 6 months, and 3 months is far more reliable than one that only shows up on the long lookback and has faded recently. use the date range to confirm the edge is still there.

when the bucket's thin or the recent data has drifted, that's the time to stand down rather than force the trade.

why doesn't my number match?

if what you measured on your own chart doesn't match the report, you're almost never looking at a bug. you're looking at two charts set up differently. work through these in order:

  1. timezone: is TradingView set to EST?

  2. session: same session? it sets where the opening range begins

  3. ORB window: same ORB timeframe and open time? a 5-min and a 15-min ORB are different ranges

  4. breakout criteria: by close or by wick? ORB defaults to by close, and the two give different rates

  5. first break vs all breaks: on by-levels, are you counting the first break or every break? they give different rates

  6. lookback period: same date range? a 6-month number and a 3-month number aren't the same sample

if they all line up and the number still disagrees, that's worth reporting. reach out through the chat bubble with the ticker, session, and what you measured vs what edgeful showed.

related articles

Did this answer your question?