CURATOR USER MANUAL

1. About This Manual

This manual describes Level-II-Level (L2L) — a TradingView PineScript v6 overlay indicator that draws horizontal reference lines at key price levels from higher timeframes directly on the chart. It shows the Open, High, and Low of both the current and previous period for five timeframes simultaneously — Daily, Weekly, Monthly, Quarterly, and Yearly — plus optional boxes that trace the developing high/low range of the current 4H, Daily, Weekly, or Monthly session in real time.

L2L is a visual reference tool, not an analytical engine. It has no oscillators, no composites, no divergence detection. Its job is to paint the higher-timeframe price structure onto whatever chart the trader is using, so that structure is always visible without switching between charts.

The manual is organized in the order most users will need information:

  • Section 2 explains what L2L draws and why these levels matter.
  • Section 3 covers the Boxing feature — the dynamic range boxes.
  • Section 4 walks through setup and reading the output.
  • Section 5 is the complete settings reference.
  • Sections 6–8 cover practical workflows, troubleshooting, and design notes.

Quick Start

  1. Apply L2L to any TradingView chart. It overlays directly on the price chart — no separate pane.
  2. On first load, no levels are drawn: every level toggle defaults to off. Enable whichever levels you need from the Daily, Weekly, Monthly, Quarterly, or Yearly settings groups.
  3. For the boxing feature, the TimeKeeper (Auto-Select) is on by default — it automatically shows the most relevant box timeframes based on the chart’s current period without any manual configuration.
  4. Configure line style, display direction, label position, and the level-merge threshold from the Levels Settings group at the top.

 

2. What Level-II-Level Draws

L2L draws horizontal lines on the chart at OHLC prices sourced from higher timeframes via PineScript’s request.security. Lines are drawn at the last bar of the chart so they always appear at the current time edge, with configurable label placement and extension direction.

The Thirty Levels

Five timeframes × current and previous × Open, High, Low = 30 possible lines. Each is independently toggleable:

  • Daily — current session’s Open/High/Low, and previous session’s Open/High/Low.
  • Weekly — current week’s Open/High/Low, and previous week’s Open/High/Low.
  • Monthly — current month’s Open/High/Low, and previous month’s Open/High/Low.
  • Quarterly — current quarter’s Open/High/Low (3-month period), and previous quarter’s.
  • Yearly — current year’s Open/High/Low, and previous year’s Open/High/Low.

Closes are intentionally not included. The Open is where the period started from; the High and Low are the extremes it has reached or reached in the prior period. The Close of a finished period (previous High/Low’s companion) is implicitly the next period’s Open, which is already covered. This avoids redundancy while preserving all structurally meaningful reference prices.

Why These Levels Matter

Higher-timeframe opens, highs, and lows are among the most widely-watched price references in technical analysis. They’re used by institutional and retail traders alike as decision points — places where large participants commonly add to positions, close positions, or reverse.

  • Previous period’s High and Low: define the range of the prior session. Breakouts above prev. High or below prev. Low are viewed as potential continuation or breakout signals. Rejections at these levels are viewed as potential reversals back into the prior range.
  • Previous period’s Open: marks where the prior session’s participants entered the market. A return to this level often sees the prior session’s participants reacting — it’s a reference for “where did yesterday’s (or last week’s) crowd start?”
  • Current period’s Open: the origin price of the current session. Price returning to the current session’s Open (“gap fill”) is a commonly-watched event, particularly in equity markets at the day session open.
  • Current period’s High and Low: the ongoing extremes of the current session. These update as the session develops; the current High and Low define the intraday (or intraweek, intramonth) range. Breaks of the current High or Low during an active session are significant range-extension events.

Per-Timeframe Color Coding

Each timeframe has its own default color scheme — lighter or more saturated as you move up the timeframe hierarchy, so the chart’s layer of references is visually organized:

  • Daily — soft green (current and previous share one color, configurable independently).
  • Weekly — soft blue.
  • Monthly — soft purple.
  • Quarterly — soft pink.
  • Yearly — white.

Each timeframe has two independent color pickers — one for the current-period lines and one for the previous-period lines. By default both are the same color per timeframe, but they can be differentiated (e.g., current period slightly brighter, previous period slightly dimmer) for faster visual identification.

Level Merge

Multiple levels from different timeframes can land at or near the same price. When they do, their separate labels would stack on top of each other, making the chart illegible. The Level-Merge Threshold automatically handles this: when two enabled levels fall within the configured percentage of each other, their labels merge into one combined label.

Example: if D High is at 45,000 and W Open is at 44,980, and the threshold is 0.1%, the difference is 0.044% — within threshold. The two labels merge into one that reads “D High / W Open” at the price midpoint. Two levels, one clean label.

The merge applies to any pair of active levels, regardless of timeframe. Labels within threshold merge cascading — if three levels are all within threshold of each other, all three names appear in one combined label.

 

3. The Boxing Feature

In addition to the horizontal level lines, L2L draws optional outline boxes on the chart that trace the developing high/low range of the current period for four timeframes: 4H, Daily, Weekly, and Monthly.

What a Box Shows

Each box spans horizontally from the first bar of the current period to the current bar, and vertically from the period’s lowest low to its highest high so far. As the session progresses and new extremes are set, the box top and bottom update in real time.

When a period ends, the current box is finalized (top and bottom locked at the period’s final extremes) and a new box begins for the new period. Completed boxes persist visually — each period’s range is preserved as a closed rectangle behind the current developing box.

The box uses no background fill (purely outline, bgcolor = na). It’s a range indicator, not a shaded zone — the outline marks the extremes without obscuring the price action inside.

When Are Boxes Useful

Boxes give immediate visual context for range expansion and contraction within a period:

  • A narrow box early in a session that rapidly expands indicates a trending, directional session.
  • A wide box from the start that stays wide indicates a volatile, choppy session.
  • The current bar’s position relative to the box top/bottom tells you whether the session is pushing new extremes or consolidating within the established range.
  • Comparing boxes across sessions shows whether volatility is expanding (boxes getting taller) or contracting (boxes getting shorter).

TimeKeeper — Auto-Select

The TimeKeeper setting (on by default) automatically decides which box timeframes to display based on the chart’s current period:

  • 5m or 15m charts: 4H boxes and Daily boxes auto-enabled.
  • 1H charts: Daily boxes auto-enabled.
  • 4H or 6H charts: Weekly boxes auto-enabled.
  • 4H, 6H, 12H, or Daily charts: Monthly boxes auto-enabled.

The logic ensures the box timeframe is always larger than the chart’s bars, so each box spans multiple chart bars and the range development is visible. TimeKeeper turns off the auto-selection for box timeframes that are too small relative to the chart — showing a 4H box on a 4H chart (where each bar IS a 4H period) would mean every box is exactly one bar wide, which is useless.

When TimeKeeper is on and a specific box toggle is also on, both apply: the manual toggle overrides TimeKeeper’s auto-off behavior for that timeframe. To use only TimeKeeper’s automatic selection, leave all four box toggles off.

 

4. Setup and Reading the Output

Installation

Level-II-Level is a TradingView PineScript v6 indicator. Install via TradingView’s standard indicator-management workflow — copy the source into the Pine Editor and click “Add to Chart”.

Chart Compatibility

Works on any TradingView chart and any timeframe. The indicator reads higher-timeframe data via request.security — it doesn’t depend on the chart’s native timeframe for the level calculations. The boxing feature uses ta.change(time(“240”)), ta.change(time(“D”)), etc. to detect period boundaries, which works correctly on all standard chart types.

Overlay

L2L is an overlay indicator — everything draws directly on the price chart. No separate pane needed or used.

Reading Level Lines

Enabled level lines appear as horizontal lines at fixed prices on the chart. Each line carries a text label identifying it (e.g., “D High”, “W Prev. Open”, “Q Low”, “Y Prev. High”). When multiple labels would stack because the levels are close in price, the merge logic combines them into one label (e.g., “D High / W Open”).

Line behavior is controlled by the Display/Line Style pair in Levels Settings:

  • Standard — line runs from the level’s origin time to bar_offset bars past the current bar. Anchored to the period’s start, extends right a configurable distance.
  • Right — line extends indefinitely to the right from the current bar. No left anchor visible.
  • Both — line extends indefinitely in both directions across the full chart.
  • Left — line extends to the left only.

Labels appear at the right end of the line (bar_offset position). When Label Position is Middle, the text is center-padded with spaces so it reads centered on the label body. When set to Top, no floating label displays — only the line itself.

Reading Boxes

Boxes appear as outline rectangles on the price chart, colored per their timeframe: white/grey for 4H, teal for Daily, gold for Weekly, pink/magenta for Monthly. The left edge of each box marks the period’s start bar; the right edge marks the current bar for the developing box, or the period’s end bar for completed boxes. Top and bottom edges track the period’s high/low extremes.

The developing (current) box updates every bar. Previous periods’ boxes are static outlines. Completed boxes respect the max_boxes_count = 50 limit — TradingView will automatically remove the oldest boxes when this limit is reached, keeping the most recent history visible.

 

5. Settings Reference

Settings are organized into seven groups: Levels Settings (global display options), Boxing (box configuration), and one group each for Daily, Weekly, Monthly, Quarterly, and Yearly levels.

Levels Settings

Styles: Display / Line   Default: Standard / Solid

Two inline dropdowns controlling how lines are drawn.

Display style: Standard (line runs from the period’s origin time to bar_offset bars past the current bar), Right (line extends indefinitely to the right), Both (extends both directions across the full chart), Left (extends left only).

Line style: Solid, Dashed, or Dotted. Applies to all level lines globally.

Labels: Position / Offset   Default: Middle / 30

Two inline settings controlling label placement.

Position: Middle places a centered text label at the right end of the line. Top uses label.style_none — no floating label body, just the line itself (the text is placed but invisible).

Offset: number of bars past the current bar where labels and line right-ends are placed. Range 0-450. Larger values push the label further to the right of the current price, giving more visual separation from live action.

Level-Merge Threshold %   Default: 0.1

When two enabled levels are within this percentage of each other, their labels merge into one combined label reading “Level A / Level B”.

0.1% means levels within 0.1% of each other merge. At a price of 50,000, that’s levels within 50 units of each other. Raise the threshold to merge levels that are further apart; lower it to only merge levels that are nearly identical in price.

Set to 0 to disable merging entirely — every enabled level gets its own independent label regardless of proximity.

Boxing

4H Boxes (border color toggle)   Default: Off, White semi-transparent

Toggle for manual 4H box display plus the 4H box border color. When on, 4H boxes always display regardless of chart timeframe.

When off, TimeKeeper may still show 4H boxes automatically on 5m and 15m charts.

Daily Boxes (border color toggle)   Default: Off, Teal semi-transparent

Toggle for manual Daily box display plus color. When on, Daily boxes always display. When off, TimeKeeper auto-enables on 5m, 15m, and 1H charts.

Weekly Boxes (border color toggle)   Default: Off, Gold semi-transparent

Toggle for manual Weekly box display plus color. When off, TimeKeeper auto-enables on 4H and 6H charts.

Monthly Boxes (border color toggle)   Default: Off, Pink semi-transparent

Toggle for manual Monthly box display plus color. When off, TimeKeeper auto-enables on 4H, 6H, 12H, and Daily charts.

Auto-Select Timeframes To Display 4H/D/W/M Boxes   Default: On

Master toggle for the TimeKeeper auto-selection logic. When on, L2L automatically shows the most relevant box timeframes based on the chart’s current period.

When off, only the manually-enabled box toggles above determine which boxes display.

Recommended to leave on for typical use — auto-selection ensures boxes are always at a higher timeframe than the chart’s bars, making the range development visible.

Daily / Weekly / Monthly / Quarterly / Yearly (Five Identical Groups)

Each of the five timeframe groups has the same structure: two color pickers followed by six level toggles. The reference below covers one group; all five are mechanically identical.

Current Period Color   Default: Varies per TF (green / blue / purple / pink / white)

Color applied to all current-period lines and labels for this timeframe (Open, High, Low).

Defaults by timeframe: Daily = soft green (#D0F4DE), Weekly = soft blue (#A9DEF9), Monthly = soft purple (#E4C1F9), Quarterly = soft pink (#FF99C8), Yearly = white (#ffffff).

Previous Period Color   Default: Same as current by default

Color applied to all previous-period lines and labels for this timeframe (Prev. Open, Prev. High, Prev. Low).

Defaults to the same color as the current period. Differentiate to visually distinguish “this session’s levels” from “last session’s levels” at a glance.

Open / High / Low (current period)   Default: Off / Off / Off

Three toggles — one per OHLC component — for the current period’s levels. Each is independently enabled.

Toggling one on draws the corresponding horizontal line at the current period’s price.

Example: enabling just ‘High’ for Daily shows only the current session’s high — the running intraday high that updates as the session progresses.

Prev. Open / Prev. High / Prev. Low (previous period)   Default: Off / Off / Off

Three toggles for the previous period’s levels. Previous period data is fixed (the prior session is complete) so these lines are static — they don’t change during the current session.

Prev. High and Prev. Low are among the most-used levels in technical analysis, marking the prior session’s extremes that the current session is measured against.

 

6. Practical Workflow

Minimal Useful Starting Point

Enabling everything produces a cluttered chart. A practical starting configuration for most traders:

  • Daily group: Prev. High and Prev. Low on. Current High and Low on. Current Open optional (depends on whether gap fills are part of the analysis framework).
  • Weekly group: Prev. High and Prev. Low on.
  • Leave Monthly, Quarterly, Yearly off initially — add them only if the analysis horizon requires it.
  • Boxing: leave TimeKeeper on. It will auto-show Daily boxes on intraday charts without manual configuration.
  • Keep Level-Merge Threshold at 0.1% — the default is sensible for most instruments.

Building a Level Stack

Once the minimal configuration is working, layer in timeframes proportional to the trading horizon:

  • Intraday traders (scalping, day trading) — Daily and Weekly levels are typically sufficient. Monthly adds structural context for bigger moves.
  • Swing traders (multi-day to multi-week) — Weekly and Monthly levels are primary. Quarterly adds medium-horizon structure.
  • Position traders (multi-week to multi-month) — Monthly, Quarterly, and Yearly. Daily is likely too granular to matter.

The rule of thumb: levels from timeframes more than two or three steps above the chart’s timeframe tend to be too sparse to be useful in real time. A 5-minute chart benefits from Daily and Weekly levels; Quarterly levels on a 5-minute chart may not be hit at all during a session.

Reading Boxes Alongside Levels

Boxes and levels complement each other directly. A Daily box growing upward through Prev. High shows the current session extending beyond yesterday’s range — a range expansion event. A Daily box stalling below Prev. High shows containment — the current session is failing to extend.

When the box top aligns visually with a Daily or Weekly level line, the level acts as resistance/support and the box’s behavior at that price tells the story — does it break through (box top extends past the level) or does it stop (box top flattens at the level)?

Level Merge in Practice

When multiple level labels merge into one (e.g., “D High / W Prev. Open / M Low”), that’s analytically significant — three timeframes agree on roughly the same price as a reference point. Confluence across timeframes is generally more significant than any single level in isolation. Treat merged labels as higher-conviction zones rather than random coincidences.

If merging produces labels with too many items for comfortable reading, raise the chart’s font size for label text in TradingView’s chart settings, or lower the merge threshold to only merge levels that are extremely close.

Combining With Other Indicators

L2L provides structural context — where the higher-timeframe reference prices are. It doesn’t tell you what to do at those prices. Practical use combines L2L with:

  • Momentum oscillators (Oracle, Omnia, Fluctus) to see the oscillator state as price approaches or breaks a level.
  • CVD Pro to see whether volume-delta supports or contradicts a move toward a key level.
  • ZZ Div + ST to see whether a divergence is forming as price approaches a prior period’s extreme.
  • Dominium (ATAS) for order-flow-based imbalance context at the higher-timeframe levels.

L2L’s role in this combination is to answer “where are we?” — which higher-timeframe structure the current price is interacting with. The other indicators answer “what is happening there?”

 

7. Troubleshooting & FAQ

No lines appear when I apply the indicator

Every level defaults to off. Open the settings and enable the levels you want — toggle on individual Open/High/Low items within each timeframe group. The Boxing feature (via TimeKeeper) displays automatically on appropriate chart timeframes without manual toggles, but level lines require explicit enabling.

Two levels that should be close aren’t merging their labels

Level merge fires only when the difference is strictly less than (threshold/100) × price. If the threshold is 0.1% and the two levels are exactly 0.1% apart, they won’t merge (the condition is strict less-than). Raise the threshold slightly, or confirm the actual price difference is within the configured percent.

Merged label shows the wrong levels

The merge loop runs through all active levels in a fixed order and merges any pair within the threshold. If three levels are all within threshold of each other, the first and second merge, then the second (now merged) and third merge — the final label includes all three names. The visual result is always a combined label listing all contributing levels. This is the correct behavior.

Boxes aren’t showing on my chart

Either TimeKeeper’s auto-selection isn’t active for your chart’s timeframe, or the chart’s timeframe is the same as or larger than the box timeframe (which would produce boxes that are only one bar wide — useless). Check your chart’s period against the TimeKeeper auto-selection rules in Section 3. For timeframes not covered by TimeKeeper (e.g., a 2H chart where TimeKeeper doesn’t trigger any auto-box), enable the desired box manually via its toggle.

Boxes cut off early / only a few historical boxes visible

TradingView limits boxes to 50 total (max_boxes_count = 50 in the indicator declaration). Each completed period adds a permanent box; as new periods complete, the oldest boxes fall off. This is a platform limitation. On short-period boxes (4H) with a long chart history, 50 boxes covers roughly 200 hours of history. On Monthly boxes, 50 boxes covers over 4 years.

Current period’s High/Low changes as the session progresses

Expected. The current period’s High and Low are live values from the current session via request.security with lookahead_on. As new intraday highs or lows are set, the level lines move to the new extreme. This is correct — the current session’s high is a running maximum, not a fixed value. The previous period’s levels are fixed and don’t change.

Level lines appear at the wrong price after a timeframe switch

The indicator recomputes on chart reload. When the chart’s timeframe changes, TradingView re-runs the indicator from scratch with the new bar structure. Levels may briefly appear incorrect during the reload; they stabilize once the full history is processed. If they remain wrong after the chart settles, reload the page.

The label text is off-center or in an unexpected position

Label centering is achieved by padding the text with spaces using the repeat() function. The amount of padding depends on the text length (number of items in a merged label). On high-DPI or zoomed charts, the exact centering may appear slightly off — this is a rendering artifact from font metrics, not a bug.

 

8. Limitations and Design Notes

What L2L Does Not Do

  • It does not identify support/resistance dynamically. L2L draws specific, pre-defined OHLC levels from fixed timeframes. It doesn’t scan for horizontal consolidation areas, volume-at-price clusters, or any other pattern-based level identification.
  • It does not generate signals. Level lines are reference prices — the trader decides how to act when price interacts with them.
  • It does not draw levels for intraday timeframes (e.g., 1H open, 4H high). The minimum timeframe for level lines is Daily. For sub-daily levels, the Boxing feature provides the current 4H range but not a dedicated 4H “Open” line.

Why Closes Are Absent

Each timeframe’s Close is excluded deliberately. The previous period’s Close equals the current period’s Open (they’re the same price event — the handoff between sessions). Including both would be redundant. The current period’s Close is always the most recent price, which is already visible as the live candle’s close. No additional line adds information.

Lookahead Flag

The getprice() function uses barmerge.lookahead_on when calling request.security. In PineScript v6, lookahead_on is required to access the current period’s Open (which is set at the period’s start and must be read before the period closes). Without it, the current period’s Open would only be available after the period ends — too late to be useful. TradingView’s strategy tester may flag this as a potential repainting source; for an overlay indicator displaying reference levels, it’s the appropriate behavior.

Maximum 50 Boxes

TradingView limits the number of simultaneously-displayed boxes per script. L2L sets max_boxes_count = 50. On short-period box timeframes (4H) over long chart histories, older boxes eventually drop off. On longer-period box timeframes (Monthly), 50 boxes covers many years. The limit is a platform constraint, not a design choice.

Original Indicator Credit

Level-II-Level is based on the AIO Key Levels indicator by HALDRO. The core architecture — level drawing, label management, merge logic, boxing — derives from that work. L2L extends and refactors the original with additional timeframes (Quarterly, Yearly), box auto-selection via TimeKeeper, bug fixes, and code simplifications.

Closing Note

Level-II-Level does one thing well: it keeps the higher-timeframe price structure permanently visible on whatever chart the trader is using. The 30 configurable level lines and four box timeframes cover the full range of reference prices most traders care about, from intraday (4H box) to multi-year (Yearly High/Low). Combined with momentum and order-flow indicators from the same family, it provides the structural context that makes those indicators’ readings meaningful.