Skip to content

Opening range

Indicators

  • High
  • Low
Opening range

60 min from 12:00 AM UTC

  • High
  • Mid
  • Low
This is how the node looks on the board: inputs on the left, outputs on the right.

High and low of the day’s first minutes. High and low of the first minutes of a session, such as the first hour from midnight UTC or from the US stock market open at 9:30 AM New York time. Many day traders take this range (opening range, called initial balance in market profile) as the frame for the day: a breakout above or below often shows the direction. The values are fixed once the last candle of the range has closed and hold until the next session begins. Example: “Price crosses above opening range high” with 60 minutes from 0:00 UTC reports the breakout above the high of the first hour.

BTC/USDT price with the high and low of each day’s first three hoursThe range is fixed once the day’s third hour has closed; dots mark breakouts above its high.Price BTC/USDT84,00086,000Oct 1Oct 2Oct 3
  • Price (close of each candle)
  • opening range, 3 hours from 0:00 UTC
  • price crosses above opening range high
Three days of BTC/USDT on 1-hour candles with the opening range of the first three hours from 0:00 UTC. It appears once the day’s third candle has closed and holds until the next day. At the dots the price breaks out above its high.

The settings appear on the right under “Properties” once you click the node on the board. Below each field you find the same explanation as here.

Default: 0 · from 0 to 23, whole number

Hour the session starts, from 0 to 23 in the chosen time zone. 0 means midnight.

Default: 0 · from 0 to 59, whole number · under “More”

Minute of the hour, such as 30 for 9:30 AM. The start must fall on the beginning of a candle: with hourly candles only full hours work, with 15-minute candles 9:30 AM works too.

Default: 60 min · from 1 to 720 min, whole number

How many minutes the range lasts. 60 is usual (initial balance), 15 or 30 for a short opening range. The chain’s candles must not be longer than the range.

Default: UTC · IANA time zone such as Europe/Berlin, at most 64 characters · under “More”

The time zone in which the start applies. The default is UTC, like the exchanges’ daily candles. For the US stock market open at 9:30 AM choose America/New_York; Bellchain handles daylight saving time.

Reports the breakout above the high of the first hour after midnight UTC.

Example chain: Candle, Opening range, Compare A/B, PushConnections: Candle → Opening range, Candle → Opening range, Candle → Compare A/B, Opening range → Compare A/B, Compare A/B → Push.CandleBTC/USDT · 1hOpening range60 min from 12:00 AM UTCCompare A/BPrice crosses above openingrange highPushat most every 4 h

How to connect the nodes:

  1. Candle (High) → Opening range (High)
  2. Candle (Low) → Opening range (Low)
  3. Candle (Price) → Compare A/B (A)
  4. Opening range (High) → Compare A/B (B)
  5. Compare A/B (true/false) → Push (Trigger)

On the board it reads: 60 min from 12:00 AM UTC

Chain as JSON

To try it, copy it and paste it in the editor under “Import”. Importing creates a new chain.

opening-range.json
{
"name": "Example: Opening range",
"version": 1,
"nodes": [
{ "id": "c1", "type": "core.candle", "position": { "x": 40, "y": 40 }, "settings": { "pair": "BTC/USDT", "timeframe": "1h" } },
{ "id": "o1", "type": "core.opening-range", "position": { "x": 260, "y": 40 }, "settings": { "minutes": 60 } },
{ "id": "k1", "type": "core.compare-ab", "position": { "x": 480, "y": 40 }, "settings": { "operator": "crossesAbove" } },
{ "id": "p1", "type": "core.push", "position": { "x": 700, "y": 40 }, "settings": {} }
],
"edges": [
{ "from": "c1.high", "to": "o1.high" },
{ "from": "c1.low", "to": "o1.low" },
{ "from": "c1.close", "to": "k1.a" },
{ "from": "o1.high", "to": "k1.b" },
{ "from": "k1.out", "to": "p1.in" }
]
}

Only matching types connect: number series to number series (round pin), signal to signal (square), message to message (diamond).

Direction Pin Type Note
Input High Number series required
Input Low Number series required
Output High Number series appears in messages as a price, e.g. “$81,616”
Output Mid Number series appears in messages as a price, e.g. “$81,616”
Output Low Number series appears in messages as a price, e.g. “$81,616”
  • In messages the values are called “opening range high”, “opening range mid”, “opening range low”.
  • Warm-up with the default settings: 48 candles (this many extra candles are loaded by the replay before the value is reliable).
  • Search also finds it under: opening range, orb, initial balance, ib, breakout, first hour, session, open.

Session from the set time in the time zone, one calendar day long. High and low of all candles lying entirely between start and start + duration, middle (high + low) / 2; empty until the last of them has closed, and if no candle opens exactly at the start.

  • Type in the chain: core.opening-range · Version 1.0.0 · Category key ind
  • Settings in the chain: hour (Start (hour)), minute (Start (minute)), minutes (Duration), timezone (Time zone)
  • Pins in the chain: Input high, low · Output high, mid, low
  • Reference tests in the manifest: 1 (with fixed price data: 500 candles of 1h)
  • How a node is built

Version 2026.10.21.23 · Changelog