Complete Suite: all 12 tools. 6 Premium desks inside.All 12 tools $606.98 one by one

$606.98 one by one $97 once Save $509.98Get the SuiteGet it
ProEA Lab · MT5, TradingView and trading research · Evidence standards
Systems

Best ORB Indicators on TradingView (2026), Code-Read.

We read the code of the ten most-boosted open-source opening range breakout (ORB) scripts on TradingView: which window each one measures and on whose clock, whether it decides on a closed candle, and whether it sets a stop.

PL · 10 min read
Explainer cover titled Best ORB indicators, code-read: a table of six open-source TradingView opening range breakout scripts with ticks, crosses and a half for three checks: whether the range window follows daylight saving, whether the script decides on a closed candle, and whether it sets a stop with its signal.
Links to TradingView in this article are partner links: if you open a new TradingView account through one and buy a plan, TradingView may pay ProEA a commission, at no cost to you.

Short answer: the most-boosted ORB indicator on TradingView, LuxAlgo's Opening Range with Breakouts & Targets (21,093 boosts), judges its breakouts on the live candle and has no stop and no alerts. Of the ten most-boosted open-source ORB scripts, start with ORB Algo by Flux Charts: it decides on closed candles, enters with a stop at the middle of the range and alerts on the entry, the take-profit and the stop. Read its backtest panel with care, and check every script's clock: two of the ten set their window at a fixed UTC offset that daylight saving doesn't move.

Most lists name ORB indicators.

This one reads them.

What we checked

We searched TradingView's scripts for seven terms on 27 October 2026 ("opening range breakout", "opening range", "orb", "ORB indicator", "opening range breakout strategy", "initial balance" and "first hour range"), which returned 187 scripts. We took the ten most-boosted open-source scripts built on an opening range breakout, down to 2,726 boosts, with none skipped, and read every line that decides a signal. Every script in that range is open source, so none was left out for hidden code. Five questions:

  • The range: which window, and how does the script find it?
  • The clock: the exchange's session, a named timezone such as New York, or a fixed UTC offset?
  • When it decides: on a closed candle, or on the live one?
  • The stop and targets: does it set a stop, and how are the targets set?
  • Alerts: what can it send you?

Two initial balance scripts sit in that range, Initial Balance Breakout Signals [LuxAlgo] (7,749) and noop-noop's Initial Balance (2,924). They measure an hour-long initial balance and its extensions, a different idea, so they aren't here; an initial balance roundup may follow.

None of the ten is a strategy, so none runs in TradingView's Strategy Tester with a commission or slippage. Three print their own scorecards on the chart (ORB Algo, Ultimate Opening Range Breakout and Luxy's), and none of them charges a cost.

The table

Boosts as TradingView's search showed them on 27 October 2026.

ScriptBoostsThe range, by defaultClockDecides onStop and targets
Opening Range with Breakouts & Targets [LuxAlgo]21,093The first 30 minutes of the chart's sessionThe session's first candle; the optional custom window takes a fixed UTC offsetThe live barNo stop; a target every 50% of the range
ORB Algo / Flux Charts (fluxchart)16,921The first 30 minutes of the regular sessionThe regular session's first candleClosed candlesStop at the range's middle; three take-profits on a 9-period EMA, or ATR
ORB - Opening Range Breakout (zzzcrypto123)11,87409:15–09:20Exchange timeNo signalsNo
Ultimate Opening Range Breakout [LuxAlgo]10,19809:30–10:00UTC-5, fixed: 10:30 New York in US summer timeThe live barA trailing stop, off by default; extensions at 1, 2 and 3 ranges
Opening Range Breakout with 2 Profit Targets. (ChrisMoody)10,131The first 60-minute candle of a 09:30–16:00 sessionExchange timeNo signalsNo stop; targets at 0.5 and 1 range
Luxy BIG beautiful Dynamic ORB (orenluxy)6,3035, 15, 30 and 60 minutes, stepping upThe symbol's session; New York for E-mini futuresClosed candlesYes: 1.5 ATR, scaled by price; targets labelled 1R and 2R
ORB with Price Targets (getthatcashmoney)4,45709:30–09:45 (5 or 30 minutes to choose)America/New_York, namedThe live barNo stop; targets at 50% and 100% of the range
Timely Opening Range Breakout Strategy [TORB] (Zeiierman)3,31909:00–10:00UTC+1, fixedThe live barNo
Basic ORB [MOT] (TheBigDaddyMax)3,17809:30–09:45, no inputAmerica/New_York, namedNo signalsNo
New Indicator!!! Opening Range_V1 (ChrisMoody)2,726The day's first 60-minute candle (30 optional)The session's first candleNo signalsNo
Opening Range Desk (ours)—09:30–09:45, an inputAn IANA timezone input, America/New_York by defaultClosed candlesYes: the other side of the range; TP1 at 1R, TP2 at 2R

Only two of the ten, ORB Algo and Luxy's Dynamic ORB, decide on closed candles and set a stop with the entry. Luxy's draws it as a line; ORB Algo shows it as a price in its dashboard and marks it when hit.

What the code says

LuxAlgo's Opening Range with Breakouts & Targets is the most boosted, and it has no alerts. By default its range runs from the first candle of the session the chart shows (session.isfirstbar) until the next 30-minute period begins. With extended hours on, that first candle is the pre-market's; on futures that trade overnight, it is the evening open. Its custom window, off by default, takes a fixed UTC offset (UTC-5 by default), which daylight saving doesn't move. After the range, a close crossing above it prints an up arrow, armed again only after a close back below the range's middle. It tests that on the live candle, so an arrow can print and vanish before the close. Targets are drawn every 50% of the range beyond the edge, one more each time price passes the last. There is no stop and no alert in the code. It refuses daily charts and above; on an hourly chart its 30-minute range is the session's first hourly candle. It is shared under CC BY-NC-SA 4.0.

Flux Charts' ORB Algo waits for the close, and sets a stop. Everything it decides sits inside barstate.isconfirmed. Its range is the first 30 minutes from the regular session's first candle (session.isfirstbar_regular), so extended hours don't move it; a custom session sets only the start, and the range keeps the length of its timeframe input, 30 minutes by default. A close beyond the range starts a breakout (or, as an option, its 9-period EMA of each candle's midpoint crossing the range); on the default Medium sensitivity it then needs one retest, a candle that dips back across the edge and closes beyond it again, and a close back inside sends it back to waiting. The entry is that close. The stop sits at the range's middle by default; Safer and Risky move it a quarter of the range nearer or farther, and after the first take-profit it moves to the entry. It isn't drawn as a line: the latest trade's stop is a price in the dashboard, and an "SL" cross prints when it is hit. The default take-profits come when the EMA is at least 0.20% in profit and a candle closes on the far side of it; targets at 0.75, 1.5 and 2.25 ATR are the option. It has three alerts (entry, take-profit and stop), refuses charts above 15 minutes, and is shared under MPL 2.0.

ORB Algo's backtest panel, on by default, isn't a fair record. It books each take-profit at the EMA's price on a candle that has already closed on the other side of the EMA, a better price than that close. A trade still open when the next session starts is closed at the last close and counted as a loss by its distance from the entry, even when that close was a profit. A trade counts as a win once any take-profit is hit, and no costs are charged.

zzzcrypto123's ORB is two lines and nothing else. Written in 2020 in Pine v4, it draws the high and low of 09:15 to 09:20 in the exchange's time (09:15 is when India's NSE opens) and keeps them until the next day's window. Its "ORB total time (minutes)" input, 5 by default, doesn't set the window: it only hides the lines on charts above that many minutes. For a 15-minute range at 09:30 you change the session input. No signals, stop, targets or alerts, and no licence line.

Ultimate Opening Range Breakout [LuxAlgo] runs an hour late for most of the year. Its window is 09:30 to 10:00 at "UTC-5", picked from a list of fixed offsets. New York is at UTC-4 from March to November, so in those months its range starts at 10:30 New York unless you change the input. After the range, a close crossing it prints BULL BREAK or BEAR BREAK, tagged (HV) or (LV) by volume against its 20-candle average, at most once per side per day, decided on the live candle. Its breakout alerts fire on every cross after the range, not only on the first one it labels. Extensions sit at 1, 2 and 3 range heights (or 0.382, 0.618 and 1.0), and it draws a volume profile of the range. Its "ORB Hit Rate" table counts the days price touched each extension after the range, out of all days: a touch rate, with no entry or stop, and both sides can count on the same day. A 2 ATR trailing stop and a "Stop Optimizer" that picks the most profitable of five ATR multiples on the same history are off by default, and the trailing profit books every entry at the range edge, not at the breakout's close. It is shared under CC BY-NC-SA 4.0.

ChrisMoody's Opening Range Breakout with 2 Profit Targets dates from 2014. In Pine's first version, it reads the high and low of the session's first 60-minute candle through security(), with six preset sessions (US stocks, 09:30 to 16:00, by default). Targets sit at 0.5 and 1 range beyond each edge, and a 1 or a 2 prints on a candle that reaches one after five candles that didn't, so it can print again in the same session. The lines change colour when price is beyond them, and they are drawn from the session's first candle, while that hour is still forming. No entry, stop or alerts, and no licence line.

Luxy BIG beautiful Dynamic ORB is the biggest, at over 3,200 lines. It builds four ranges from the session's first candle, 5, 15, 30 and 60 minutes, and moves the breakout level to each one as it completes. The session is the symbol's own; for the E-mini futures (ES, NQ, RTY and YM, found by ticker) it uses New York's clock and 09:30. Breakouts wait for the close (barstate.isconfirmed) and need it beyond the edge by 0.2% of the level or about a tenth of ATR, whichever is more; the entry is the next candle's open. The default stop is 1.5 ATR(14) for a long, scaled to 0.7× above a price of 1,000 and 0.5× above 5,000, while a short's is scaled by volatility instead (0.8× to 1.2×); either way it is at least 0.3% of the price outside crypto and forex. The targets are labelled TP1 (1R) and TP2 (2R), but each is the nearer of that many range heights and that many R times 1.0, 0.8 or 0.6 by price, so above 5,000 its "1R" target is at most 0.6R away. Its session tally still counts a hit as +1R or +2R. Its 0–100 "GOD MODE" quality score, printed on each breakout label, adds or takes 15 points for the daily trend, but reads that trend only on the chart's last candle, so every score in history is computed without it. It sizes for a $150 risk by default, has 13 alert conditions plus messages sent once per bar close, and carries no licence line.

ORB with Price Targets keeps New York's clock. Its window is 09:30 plus 5, 15 (the default) or 30 minutes, Monday to Friday, on "America/New_York", a named timezone that follows daylight saving, with six more zones to choose from. It draws targets at 50% and 100% of the range beyond each edge (150% to 500% optional). It marks "Breakout" and "Wait for Retest" when a candle closes through the edge and the next two hold beyond it, then "Retest" or "Failed Retest". The last candle of that pattern is judged live, and there is no stop. By default its alerts fire on any cross of the range's high or low; a setting narrows them to the breakouts. It is shared under MPL 2.0.

Zeiierman's TORB is an indicator, despite its name. Its code declares indicator(, so it doesn't run in the Strategy Tester. Its window is 09:00 to 10:00 at "UTC+1", a fixed offset, so when Europe's clocks go forward it lands an hour later on the local clock. A close crossing the range prints a triangle only when its volume line agrees: in effect, the 20-candle average volume must be at least about 63% of its highest over the last 1,000 candles and above its own recent average, and no other qualifying break may have come in the 20 candles before. It decides on the live candle and has no stop or target. Its two breakout alerts skip the 20-candle filter, so they can fire on breaks the chart doesn't mark. It is shared under CC BY-NC-SA 4.0.

Basic ORB [MOT] is the plainest. It hard-codes 09:30 to 09:45 New York time (timestamp("America/New_York", …)), with no input to change it, and draws the high, low and midpoint, keeping the last 5 ranges. It also fetches yesterday's high and low and never draws them. No signals, stop, targets or alerts. Its header carries MPL 2.0 and, beside it, "educational and personal use only".

ChrisMoody's Opening Range_V1 is older still. Pine's first version again: the high and low of the day's first 60-minute candle through security(), with a 30-minute pair off by default. Its own comments say it works on stocks, and on forex only from the New York session starting at 17:00. Circles on the chart, nothing else.

Whose clock

An opening range is a window on an exchange's clock: 09:30 to 09:45 New York, say. New York's clock moves against UTC twice a year, and a 24-hour market has more than one open. The ten tell the time in three ways:

  • The exchange's clock: LuxAlgo's Opening Range with Breakouts & Targets, Flux Charts' ORB Algo and ChrisMoody's Opening Range_V1 start from the first candle of the symbol's session; zzzcrypto123's and ChrisMoody's 2 Profit Targets read a session in exchange time. These follow daylight saving; LuxAlgo's and ChrisMoody's Opening Range_V1 also move with the session the chart shows, extended hours included.
  • A named timezone: ORB with Price Targets and Basic ORB [MOT] use "America/New_York", and Luxy's does for the E-minis. These follow daylight saving wherever the chart is.
  • A fixed offset: Ultimate Opening Range Breakout (UTC-5) and TORB (UTC+1). These don't.

The chart's candles matter too: a range is built from whole candles, so a 15-minute window on 30-minute candles is one 30-minute candle.

Ours

Opening Range Desk isn't on TradingView's search: its full Pine v6 source comes in Pine Pro Library, $49 once. Its window and its timezone are inputs, 09:30 to 09:45 on America/New_York by default, an IANA name, so daylight saving follows. The entry is the second close in a row beyond the edge by default (one to five, or a retest instead). The stop is the other side of the range plus 0.1 ATR by default (or the midpoint, or an ATR distance); TP1 at 1R moves the stop to breakeven and TP2 is at 2R, and an open trade is flat at the end of the trade window. VWAP, EMA, volume and gap filters are there, off by default. Every decision is on a closed candle, and its alerts go out once per bar close as JSON or text.

Opening Range Desk Pro, $49 one time, adds a setup grade, A, B or C from three checks (in play, size, early); key levels (yesterday's high, low and close, the overnight range and last week's high and low) with the distance to the next one in R; half off at TP1, with the stop moved to the entry; ORB Radar Pro, which runs the desk's rule on up to eight markets and lists the ones in play first; and alerts that carry the whole plan, relayed to Discord or Telegram.

We measured the desk's default rule, written down before the run, after costs: on gold it ended at −0.24R over 167 trades, and on Bitcoin and Ether it lost in every period (Opening Range Desk: what we measured). Pro's extras weren't part of that test. The rules themselves, with a drill on two real gold days, are in the opening range breakout strategy, step by step.

Check one yourself

  • The clock: find the time( or timestamp( call that sets the window and read its timezone. A name like "America/New_York" follows daylight saving; "UTC-5" doesn't; no timezone means the exchange's.
  • The start: session.isfirstbar is the first candle of whatever session the chart shows, pre-market included; session.isfirstbar_regular is the regular open.
  • The close: look for barstate.isconfirmed around the breakout, or for a strategy( call, which runs on the close by default. Without either, a signal you see live may not be there when the candle closes. More in how to tell if an indicator repaints.
  • The stop: find the line that sets it. A table of target hits with no stop makes any hit rate look better than it is.

None of the scripts here, ours included, runs on MT5, MT4 or thinkorswim: Pine Script runs only on TradingView.

Limits

One code read, on 27 October 2026, of the versions TradingView served that day. Scripts change, and boosts measure popularity, not quality. We build and sell Opening Range Desk and Opening Range Desk Pro, and we have no relationship with any author named here. Nothing here is financial advice.

Frequently asked questions

What is the best ORB indicator on TradingView?

Of the ten most-boosted open-source ORB scripts, start with ORB Algo by Flux Charts (16,921 boosts). It is one of only two that decide on closed candles and set a stop with the entry: the middle of the range by default, shown as a price in its dashboard and marked on the chart when it is hit. It alerts on the entry, the take-profit and the stop. Its backtest panel isn't a fair record, though: it books take-profits at the EMA's price, not at the close, and charges no costs.

Is there a free ORB indicator for TradingView?

Yes. All ten scripts in our read are free to add, with their code open. Three are shared under the Mozilla Public License 2.0 (ORB Algo, ORB with Price Targets and Basic ORB [MOT], whose header adds a personal-use line), three under the non-commercial CC BY-NC-SA 4.0 (both LuxAlgo scripts and Zeiierman's TORB), and four carry no licence line.

Does the LuxAlgo ORB indicator repaint?

Its levels don't move once the range is set, but its signals can: both LuxAlgo scripts here judge the breakout on the live candle, with no closed-candle check. An arrow from Opening Range with Breakouts & Targets, or a BULL BREAK label from Ultimate Opening Range Breakout, can print mid-candle and vanish if the candle closes back inside the range. Ultimate's breakout alerts also fire on every cross after the range, not only on the first one it labels.

What is the ORB Algo indicator?

ORB Algo by Flux Charts (16,921 boosts) marks the first 30 minutes of the regular session, waits for a close beyond that range and, on its default Medium sensitivity, one retest, then prints Buy or Sell with a stop at the range's middle and take-profits that follow a 9-period EMA. It decides on closed candles, has three alerts and refuses charts above 15 minutes.

Why does my ORB indicator draw the range at the wrong time?

Check its clock. Ultimate Opening Range Breakout [LuxAlgo] reads 09:30 at UTC-5, a fixed offset, so while New York is on summer time its range starts at 10:30 New York. TORB's 09:00 is at UTC+1, also fixed. Opening Range with Breakouts & Targets starts at the first candle of the session the chart shows, so with extended hours on, or on futures that trade overnight, its range isn't the 09:30 open.

What does the free Basic ORB [MOT] indicator draw?

The high, low and midpoint of 09:30 to 09:45 New York time, hard-coded with no input to change it, keeping the last 5 ranges. It has no signals, stop, targets or alerts, and it fetches yesterday's high and low without ever drawing them.

Is there an ORB indicator for MT5 or thinkorswim?

Not among these: every script here, ours included, is Pine Script, which runs only on TradingView.

Which ORB indicator does ProEA make?

Opening Range Desk, in Pine Pro Library, $49 once with its full Pine v6 source. Its window and timezone are inputs (09:30 to 09:45 New York by default), the entry is two closes beyond the edge or a retest, the stop is the other side of the range by default, with TP1 at 1R and TP2 at 2R, and every decision is on a closed candle. Opening Range Desk Pro, $49, adds a setup grade from three checks, key levels with room in R, half off at TP1, a Radar for up to eight markets and full-plan alerts relayed to Discord or Telegram.

Continue reading

Best Initial Balance Indicators on TradingView (2026), Code-Read.

We read the code of the eight most-boosted open-source initial balance (IB) scripts on TradingView: which hour each one measures and on whose clock, which extensions it draws, and whether its breakout signals wait for a closed candle.

Oct 27 · ProEA Lab

Explainer cover titled Best initial balance indicators, code-read: a table of six open-source TradingView initial balance scripts with ticks, crosses, a half and dashes for three checks: whether the IB window follows daylight saving, whether the script decides on a closed candle, and whether it draws IB extensions.

A SuperTrend-Style Trend Rule on 20 Coins, Written First. Here Is What It Made.

Drift Desk's ATR band is a SuperTrend-style trend rule. We tested it the written-first way on 20 Binance coins after costs: the both-ways rule lost, the long-only version made money, and on the untouched coins holding long made more.

Oct 27 · ProEA Lab

Cover titled A SuperTrend-style trend rule, measured: net R after costs for Drift Free and the long-only research edition on the holdout months and the untouched coins, with the research edition above zero and Drift Free below zero on the untouched coins.

Opening Range Desk: What We Measured.

The opening range breakout, tested the written-first way: Opening Range Desk 2.0's own engine on gold, Bitcoin and Ether after costs, every variant we ran, its win rate, and what is still pending.

Oct 27 · ProEA Lab

Cover titled Opening range breakout, measured: a bar chart of the default rule's R per trade before and after costs on gold, Bitcoin and Ether. Before costs every bar is close to zero; after costs Bitcoin's and Ether's fall well below it, gold's stays a sliver under zero.