Open Range Breakout Profile Engine

Define an opening range, evaluate breakouts during a controlled execution window and add contextual filters.

CATEGORY

Market & Session Structure

DIFFICULTY

Intermediate

REQUIREMENT

None

Open Range Breakout Profile Engine (ORB) defines an opening range, locks that range according to the selected method and evaluates breakout behavior during a separate execution window. Optional EMA, VWAP and volume filters help restrict signals to the context you choose.

Its purpose is not to label every move outside a range as a breakout. The range, execution window, breakout definition and filters all matter.

At a glance

What this indicator answers

  • What range did the open establish?

  • Has the opening range locked?

  • Is the range acceptable for the current configuration?

  • Did price break the range according to the selected breakout definition?

  • Does EMA, VWAP and volume context support the move?

  • Is the signal occurring inside the intended execution window?

Quick start

  1. Set the Opening Range, Execution Window and Session Timezone.

  2. Start with Fixed Window locking.

  3. Keep OR Levels, OR Boxes and Session VWAP visible.

  4. Use a Strategy Preset only on the intended market/timeframe.

  5. Do not widen breakout/retest tolerances just to create more signals.

How to read it

OR High / Low

The boundaries of the opening range.

OR Box

Visualizes the period during which the opening range is being built.

Lock

Indicates that the range is no longer expanding according to the selected lock method.

Execution Window

The period in which breakout signals are eligible.

Session VWAP

Session-average price context used visually and optionally as a filter.

Breakout signal

A confirmed event that satisfies the selected breakout definition plus active filters.

Profile gradient

Visual context around the opening-range structure; it does not change the strategy calculations.

Lock methods

Fixed Window
The opening range is built during the configured window and locks when that window ends. It is simple and reproducible.

ATR Contraction
The range can lock when the configured volatility-contraction condition is met. This is more adaptive but also more sensitive to the market’s volatility path.

Neither method is universally better. Pick the one that matches the OR methodology you want to test.

Signal modes

  • Close Breakout focuses on a confirmed close beyond the boundary.

  • Body Breakout requires a stronger body-style move through the boundary.

  • Strict Breakout demands cleaner separation beyond the opening range.

  • Breakout Retest waits for breakout context plus a later retest condition.

As the definition becomes stricter, signals generally become less frequent.

Troubleshooting

Why is there no signal after price moves outside the OR?

The range must be locked/accepted, the move must satisfy the selected Signal Mode, it must occur in the Execution Window and active filters must pass.

Why does the OR time look wrong?

Verify Session Timezone.

Why does changing Experience not change the breakout rules?

Experience is visual-only.

Why does Breakout Retest signal later?

That mode intentionally requires breakout context plus a retest condition instead of the first move through the boundary.

Works well with

  • Sessions Visualized

  • Session Auction Map

  • Adaptive Node Efficiency — ANEF

Documentation boundary

This page describes what the indicator exposes to the user and how to interpret it. It intentionally does not publish source code, proprietary formulas, hidden preset resolution, optimization search logic or enough internal logic to recreate the engine.

Settings reference

Experience

string

Selects a visual complexity preset.

Change this to simplify or expand the chart without manually toggling each supported visual.

Visual-only unless the indicator explicitly says otherwise.

Strategy Preset

string

Loads a validated configuration for a supported market/timeframe.

Use only when your chart matches the preset label.

Do not treat presets as universal settings for other symbols or timeframes.

Optimization Run

bool

Shows the indicator’s validation/optimization information panel.

Hide it when you need more chart space.

The Wiki does not publish the hidden search process behind presets.

Trade Mode

string

Controls whether native analytical labels or B/S trade-plan visuals are shown.

Use Off for pure analysis, Preset for an active preset, or Custom for supported manual risk/reward settings.

Trade Mode is a visualization/execution layer; it does not turn the indicator into guaranteed trade automation.

Custom Stop Loss

float

Sets the stop distance used by Custom Trade Mode.

Change only when you intentionally want a different risk model.

This affects trade-plan visualization/backtest behavior, not the quality of the underlying signal.

Custom Take Profit

float

Sets the reward target used by Custom Trade Mode.

Adjust when testing a different reward multiple.

A larger target generally trades frequency of wins for larger potential R.

Trade Visuals

bool

Shows entry, stop and target visuals for Trade Mode.

Hide when you want B/S labels without the full position graphics.

Visual setting only.

Trade History

int

Controls how many historical trade-plan visuals are retained.

Reduce it if the chart becomes visually crowded.

TradingView has object limits, so very large histories can displace older visuals.

Opening Range

session

Defines the time window used to build the opening range.

Change only when your OR methodology uses a different opening period.

Always verify Session Timezone.

Execution Window

session

Defines when ORB signals may be evaluated after the range forms.

Change when your strategy intentionally trades a different post-open period.

A breakout outside this window is not an eligible signal.

Session Timezone

string

Sets the timezone used to interpret configured session windows.

Change when the chart/session should follow another market timezone.

IANA timezone choices handle daylight-saving changes automatically where applicable.

Extend Levels

bool

Controls the **Extend Levels** behavior for this feature.

Change it only when you want to deliberately alter this part of the indicator.

If you are unsure, keep the current indicator setting and change one variable at a time.

Range History

int

Controls how much historical visual state is retained.

Reduce it when charts become crowded or resource limits are reached.

Primarily a display/performance setting.

Lock Method

string

Chooses how the opening range becomes fixed: by time window or adaptive volatility contraction.

Use Fixed Window for a deterministic OR; use ATR Contraction only when you want adaptive locking.

The two methods define the range differently.

ATR Length

int

Controls volatility-based context or filtering.

Adjust when the instrument/timeframe requires a different volatility regime definition.

ATR settings use the symbol’s price behavior; avoid copying values blindly between markets.

ATR Drop Percent

float

Controls volatility-based context or filtering.

Adjust when the instrument/timeframe requires a different volatility regime definition.

ATR settings use the symbol’s price behavior; avoid copying values blindly between markets.

Minimum Range

float

Controls how the opening-range/breakout structure is defined or visualized.

Adjust only when you intentionally want a different OR methodology.

Looser breakout definitions create more events; stricter definitions create fewer.

Maximum Range

float

Controls how the opening-range/breakout structure is defined or visualized.

Adjust only when you intentionally want a different OR methodology.

Looser breakout definitions create more events; stricter definitions create fewer.

Signal Mode

string

Chooses what price behavior qualifies as a breakout/retest event.

Select the definition that matches your execution methodology.

Stricter modes generally produce fewer signals.

Direction

string

Restricts eligible signal direction.

Use when your process is intentionally long-only, short-only or both.

Do not use direction filtering to hide losing historical trades after the fact.