New

11 tools. $557.98 if bought one by one. 5 new Premium desks inside.$557.98 one by one

$97 once$97See all 11See it
Pine Pro Library · v1.2.0

ICT Levels Desk ICT levels indicator for TradingView

It draws yesterday's high and low, the midnight open and each session's high and low, then marks each line swept or broken as price comes back.

Panel17:45
▲
NY PM high 3993.46 · 3.82 (0.05 ATR)
▼
NY PM low 3977.97 · 11.67 (0.14 ATR)
LAST
NY AM low broken
Nearest live levelsICT Levels Desk 1.2.0

Day 1 · a sweep and a break

Simulated 15-minute gold bars, not a real market, run through ICT Levels Desk's level rules, simplified for the browser: the previous day's high and low, the midnight open and the four sessions' highs and lows, drawn within 2 daily ATR of price (the script's default). The opening gaps, the first FVG, the macro windows and the 08:30 and 09:30 opens live in the script, not the film. Quiet bars run as a time-lapse; sweeps and breaks slow down. Day 1 is the first simulated day where one level is swept and another broken, so a sweep and a break both show; Another day plays the next simulated days in order, whatever they do.

Read as text
Times are bar opens on the simulated New York clock. The names and states are the script's own.
TimeEventPrices
18:00Day opensClose 4139.92 · PDH 4227.44 · PDL 4137.25
18:00NY PM low brokenNY PM low 4137.25 · close 4134.85
18:00PDL brokenPDL 4137.25 · close 4134.85
18:15PDL −1d swept ⚡PDL −1d 4129.37 · low 4129.19 · close 4132.25
20:15PDL −1d brokenPDL −1d 4129.37 · close 4127.14
00:00Asia high and low drawnHigh 4147.99 · low 4116.98
01:00Asia low swept ⚡Asia low 4116.98 · low 4112.54 · close 4118.40
01:15Asia low brokenAsia low 4116.98 · close 4106.83
01:30PDL −2d brokenPDL −2d 4103.72 · close 4101.96
05:00London high and low drawnHigh 4089.05 · low 4051.19
05:30London low swept ⚡London low 4051.19 · low 4050.80 · close 4056.29
07:00London low brokenLondon low 4051.19 · close 4041.57
11:00NY AM high and low drawnHigh 4017.70 · low 3991.88
12:00NY AM low brokenNY AM low 3991.88 · close 3990.05
17:00NY PM high and low drawnHigh 3993.46 · low 3977.97

Full Pine v6 source in Pine Pro Library. It draws on your chart; you place the trades.

Swept or broken.

A level rests until the first wick reaches it: if that bar closes back, the level is swept and stays; a close through breaks it.

BROKEN

A close below 4051.19: London low is broken. Its line ends here, dashed and faint.

  • Resting: no wick has reached the level: true, London low 4051.19 · drawn 05:00
  • Tested: the first wick through closed on the level: not yet, no: its first wick closed back inside
  • Swept: the first wick through, and the close back: true, 05:30 · ⚡
  • Broken: a close through the level: true, 07:00 · the line ends

The same simulated 15-minute gold, simplified rules, one level drawn alone. It is the first level, in the days' order, drawn in its day, swept, and broken 4 bars or more after the sweep, so each state holds on screen. The words are the script's own state words.

Resting

Untouched

Drawn when its session or day ends, the line waits for the first wick through.

Tested

Closed on it

The first wick through closes exactly on the level, and the line stays live.

Swept

Closed back

The first wick through closes back inside: marked ⚡, and the line stays live.

Broken

Closed through

A close beyond the level ends its line at that bar, dashed and faint.

Wick through. Close back.

The first wick through a level decides it: a close back is a sweep, a close exactly on it is a test, and a close through is a break.

SWEPT ⚡ The wick reached 107.50, above the high at 106.00, and the bar closed back at 104.50: swept, and the line stays.
104.50

A drawn example, the same bars each time: only the last bar's close moves, and the script's own state pass reads it (the shipped rules, simplified for the browser).

Swept

Close back

The wick goes through and the bar closes back inside: marked ⚡, and the line stays live.

Tested

Close on it

The close lands exactly on the level: the line stays live, and a later close through still breaks it.

Broken

Close through

A close beyond the level ends its line at that bar.

Once

First wick only

Only the first wick through can sweep; a later return cannot make one.

Only what is near.

The desk draws a level only while it lies within N daily ATR of the close, so far lines stay off the chart until price comes back.

23 tracked · 13 drawn · 10 hidden ± 168.54 · 2.00 daily ATR of 84.27
2.00 daily ATR

The same simulated gold, simplified rules, at day 1 at its last close, the moment the replay rests on. The script's default is 2 daily ATR; its input runs from 0.25 to 10. Hidden levels still update, and the panel's nearest rows still list them.

Default

2 daily ATR

About two typical days' range either side of the close.

Range

0.25 to 10

The input moves in quarter steps, and the band is measured from the close.

Hidden

Still tracked

A hidden level keeps updating and comes back when price nears it.

Unit

Daily ATR

The last closed daily ATR 14 sets the unit, so the band follows the market's pace.

Paste it. Run it.

One file, the complete v1.2.0, ready for TradingView's Pine Editor.

On a phone? Send this page to your desktop.

  1. Copy the indicatorThe button copies the whole file.
  2. Paste it in the Pine EditorOpen a new indicator, replace the sample, save.
  3. Match your session clockSet the timezone and the day's close and open times for your market.
ict-levels-desk.pine · 1,016 linesDownload ict-levels-desk.pine
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════//  ICT LEVELS DESK — NDOG · NWOG · midnight / 08:30 / 09:30 opens · PDH-PDL · PWH-PWL · PMH-PML · first-presented FVG · macro windows  ·  Pine Script v6  ·  v1.2.0//  Built for a r/pinescript thread reply ("Real Trader Tim's toolkit … but clean, lightweight, only what matters").//  The wishlist: NDOG / NWOG, first-presentation FVGs, the midnight open, weekly / daily highs and lows, macro//  windows, and "days back" so the chart does not drown. This desk adds what the wishlist did not ask for://     · every level knows its own state — a gap is untouched / entered / FILLED, a high or low is resting / SWEPT ///       BROKEN, an FVG is fresh / TOUCHED / INVERTED — and fades once it is used, or leaves the chart (switch)//     · a proximity filter: only levels within N × the daily ATR of price are drawn; the panel says how many are hidden//     · the panel lists the three nearest levels above and below price with the distance in points and ATR//     · a countdown to the next macro window, and what today's first-presented FVG did//     · base rates on the loaded chart: how often the NDOG filled the same day, PDH / PDL got taken, the FPFVG revisited//  Every level commits when it is born (a closed bar, a closed period); states change on closed bars only.// …// ═══════════════════════════════════════════════════════════════════════════════════════════════════════//@version=6indicator("ICT Levels Desk — NDOG · NWOG · opens · PDH/PDL · PWH/PWL · FPFVG · macros", "ICT Levels", overlay = true, max_lines_count = 400, max_boxes_count = 200, max_labels_count = 500) // ─────────────────────────────────────────────────────────────────── INPUTSgT = "Clock"inTz        = input.string("America/New_York", "Timezone (IANA)", group = gT, tooltip = "Every time below is read in this timezone. ICT times are New York.", display = display.none) gG = "Opening gaps (NDOG · NWOG)"inNdogOn    = input.bool(true, "NDOG — new-day opening gap", group = gG, tooltip = "The gap between the close at the day-close time and the open at the day-open time (16:00 → 18:00 New York for futures and most CFDs; set 16:00 → 09:30 for regular-hours stocks). Drawn as a box with its consequent encroachment (the midline).", display = display.none)inNwogOn    = input.bool(true, "NWOG — new-week opening gap", group = gG, tooltip = "The same gap across the weekend: the last close before the weekend to the first open after it. ICT keeps the last few weeks of these as reference.", display = display.none)inCloseTime = input.string("16:00", "  Day-close time (HH:MM)", group = gG, display = display.none)inOpenTime  = input.string("18:00", "  Day-open time (HH:MM)", group = gG, display = display.none)inGapMin    = input.float(0.02, "  Skip gaps smaller than N × daily ATR", minval = 0, maxval = 1, step = 0.01, group = gG, display = display.none)inNdogBack  = input.int(3, "  NDOG — days back", minval = 1, maxval = 20, group = gG, display = display.none)inNwogKeep  = input.int(5, "  NWOG — keep the last N", minval = 1, maxval = 12, group = gG, display = display.none)inGapRemove = input.bool(false, "  Remove a gap once it is filled (otherwise it fades)", group = gG, display = display.none) gO = "Opens"

No coding needed.

View the full code

01 · Library

Pine Pro Library

The full source, to read, change and keep; owners sign in to copy.

02 · Pine v6

One file

It draws on the price chart, with no extra pane.

03 · Your chart

Any market

Any symbol TradingView loads, on five- or fifteen-minute bars; the films here use simulated 15-minute gold.

04 · Alerts

Built in

Fifteen named alert conditions, from a new-day gap to a session sweep.

All eleven. Once.

Eleven things we make, one payment, and nothing that renews.

Complete Suite Everything on the list, one payment

$97, one payment.

Renews never Full source 7-day refund before download

The Suite adds no ICT Levels features; it includes Pine Pro Library, so this desk's code comes with it.

What's insideOn its own
  1. Drift Desk PremiumThe bigger trend, the pullback, size first.$49.00
  2. Opening Range Desk ProOpening ranges graded A to C, markets in play first.$49.00
  3. Signal Desk PremiumA 20-market Radar, sized tickets, a daily lock.$49.00
  4. Breakaway Desk PremiumA Trend Radar for six crypto perpetuals on 4-hour candles.$49.00
  5. Gold Sweep Desk ProGold's session pools, the plan before the window.$49.00
  6. Pine Complete Bundle11 Pine v6 tools, every source included.$46.00
  7. Pine Evolution LabA local strategy factory that kills weak ideas.$79.00
  8. MTR FullSystemEAA complete MT5 EA: all 21 source files.$49.00
  9. TradeLensA self-hosted journal whose AI coach prices your leaks.$47.00
  10. The WatchA self-hosted paper-trading board.$59.00
  11. AI Starter PacksPrompt Vault, Fixer, Builder Lite, Chart Reader.$32.98
All eleven, one by one$557.98
The Suite$97

Straight answers.

What do I get?

The page, its films and the manual are open to everyone. The code, the indicator's full Pine v6 source, is in Pine Pro Library: $49 once for every desk and every update, or included in the Complete Suite. Sign in to copy or download.

Does it predict price?

No. It maps where price traded and what happened when it came back; it has no entry, stop or target. The lab notes say what we counted on three charts.

Why is a level missing?

The proximity filter draws a level only within 2 daily ATR of the close by default; widen it in the settings, or turn it off for a moment.

What does the Suite add?

No ICT Levels features. It holds everything we make, Pine Pro Library included, for one payment; this desk's code comes with it.

We, ProEA Lab, build ICT Levels Desk. The films run its level rules, simplified, on simulated candles, not market data. Not financial advice.

Full manual.

Every reference, rule and setting, one question at a time.

Open the full manualClose the full manual

ICT Levels Desk · Pine Pro Library

What happened at that price?

Keep useful price references. See what happens when price returns.

A reference map for TradingView. It does not choose trades.

Pastel clay illustration of session ranges and key price levels: nearby levels stay in focus while their live, swept or filled states are tracked.
Workflow illustration
  1. Map the day

    Sessions, gaps and past highs and lows.

  2. Keep nearby levels

    Focus the map around current price.

  3. See what changed

    Name live, swept or filled levels.

See the real chart

What is ICT Levels Desk?

ICT Levels Desk is a TradingView indicator in Pine Pro Library for previous-period highs and lows, session opens, opening gaps and other price references. It distinguishes touches, sweeps and closing breaks, with display filters and a context dashboard. This is a reference-mapping tool: it does not supply an entry plan, position size or companion strategy.

How does ICT Levels Desk distinguish a sweep from a break?

For a high or low, a strict wick through followed by a close back inside marks the first test as swept. A strict close beyond marks it broken. Equal closes, opening gaps and FVGs follow distinct state rules. Compare touches, sweeps and breaks

Why can a nearby ICT level disappear from the chart?

The proximity filter can hide references without stopping their state updates or removing them from nearest-level calculations. The display also separates retained finished references from live ones. Check filter settings and reference state before assuming a level was deleted. Understand proximity and retained levels

Does ICT Levels Desk include an entry strategy or trade probabilities?

No. It maps price references and their observed states. Dashboard counts describe loaded history, not independent odds of the next event, and the Co-Pilot provides context. There is no companion strategy, order placement or position-sizing model in this tool. Read the reference-tool boundaries

Yesterday leaves a reference.

A reader wanted gaps, opening prices and old highs on one clear chart. Start with one high.

High so far · 103Closed candle 1
A candle records where price went.The thin wick shows the highest and lowest prices. The body joins open and close. The highest price so far is 103. Green candles close above their open; red candles close below. White dot: latest close. Dashed grey line: high observed so far, not yet a tracked reference.
Thin wick = price extremes · White dot = latest close
Latest close
102
Highest price so far
103
Earlier period · high still developing
1 / 6 · Price moves

A candle records where price went.

The thin wick shows the highest and lowest prices. The body joins open and close. The highest price so far is 103.

Observe first. Keep the reference after the period ends.

Fictional prices. Three candles represent the earlier period; its completed high/low pair changes. Daily ATR, a movement measure, is supplied as 20 points.

How could this help a trade?

Choose where to watch and record the response. Test your own entry, exit and risk rules; a sweep alone does not establish an advantage.

Same line. Different closes.

Reveal five candles. Compare the first visit.

Previous high · 106Closed candle 1
Price is still below the old high.The reference is 106. No wick has passed above it. Reveal candle four, then compare its four versions. Green candles close above their open; red candles close below. White dot: latest close. Gold line: completed previous high at 106.
Thin wick = price extremes · White dot = latest close
Latest close
97
Distance from line
9 points
resting · still live
Candle 1 / 5

Price is still below the old high.

The reference is 106. No wick has passed above it. Reveal candle four, then compare its four versions.

Wick high
98
Close
97
Desk label
resting
Still live. This label alone is not an entry.

Reveal candle four, then switch cases. Candle five shows what the desk remembers.

What is supplied in this example?

The high at 106 already exists before these fictional closed candles. Daily ATR is supplied as 20 points and drawing radius as twice that. Only revealed candles update the state. This miniature lesson does not calculate the trading clock or discover previous periods.

Does every level follow the same steps?

No. These are alternative outcomes, not a ladder. Different reference types also have different rules. An opening gap can fill with a wick; a three-candle gap needs a closing break to invert.

Find those references on a real chart.

Start with one nearby level.

Real TradingView index-futures five-minute chart with ICT Levels Desk: session boxes, previous highs and lows, opening prices, gap states and a nearest-level dashboard.
TradingView snapshot · index futures · five-minute candlesOpen full-size chart ↗
  1. 1 Where did it come from?

    PDH means previous day’s high. Other names identify an opening price, a gap or a completed session.

  2. 2 What happened there?

    Read its state. A swept line remains live; a broken line ends at the closing break.

  3. 3 What is nearby?

    The panel lists unfinished references above and below. Their distance helps you focus.

Explore every reference type in the simulator

Change the closing price, wick, reference type and drawing radius. Try an opening gap and a bullish first FVG with the same close and wick.

CHANGE THE CANDLE. SEE WHY.

Change the candle. Read the level.

The wick and close do different jobs. Move them across the reference to see its state change.

Earlier candles → test candleFinal close 104
Previous high1061221131049586
Drag the blue close ↕
Watch the same candle change
104
5
How the calculation works & more controls
2

Each kind replays its own untouched reference history. A high or low needs a strict wick-through; gaps fill at the far wick edge, while an FVG inverts only on a close through it. Radius changes visibility, not stored prices.

Illustrative inputs · changing a slider recalculates this example · no market feed

Paste it into TradingView.

The complete Pine v6 indicator is in Pine Pro Library.

  1. 1

    Open Pine Editor

    Create a new indicator on an intraday chart.

  2. 2

    Paste the code

    Copy below, replace the sample, save and add to chart.

  3. 3

    Match your session clock

    Set the tool’s timezone and day-close and day-open times for your market.

Draws directly on the price chart; no extra pane. Try five- or fifteen-minute candles.

Indicator code

Copy the code as it is. No coding needed.

View the full code
Download the indicator .pine file
Which clock times should I use?

The shipped New York preset is 16:00 → 18:00. The source gives 16:00 → 09:30 for regular-hours stocks. Match the session your chart actually contains; these are not universal market hours. Missing clock-time candles can change which references appear.

Go deeper, one question at a time.

All reference types, rules and settings remain here.

What are all the references?
  1. Old pricesPrevious day, week, month or four-hour highs and lows; midnight, 08:30 and 09:30 opening prices.
  2. Price gapsAn opening gap compares a tracked close with the next open. FVG means a gap between the first and third candles of a three-candle pattern.
  3. Time and rangesSession boxes, their completed highs and lows, fixed macro windows and the previous-day midpoint.

NDOG names a new-day opening gap; NWOG a new-week opening gap. FPFVG means the first qualifying FVG from an enabled anchor time. These names describe recorded prices and conventions, not confirmed orders.

When does a line or box finish?

High or low: resting until the first strict wick-through. That first test is swept only if it closes back inside; a close exactly on the level is tested. A strict close beyond breaks it. Tested and swept remain live until broken. A later return cannot relabel the first test or revive a broken line.

Opening gap: open, entered, midpoint touched, filled. A wick reaching the far edge fills it, even on its birth candle. It can skip intermediate states.

First FVG: fresh, touched, inverted. A later candle must close strictly beyond the far edge to invert it. A wick through, or a close exactly on the edge, is not enough. Its birth candle cannot touch or invert it.

Same wick to 100

For an already-existing upward box from 100 to 106, a candle with low 100 and close 104 fills an opening gap.

Different kind of box

The same candle only touches a bullish FVG. Inversion requires a later close below 100.

Filled, broken and inverted drawings end at their event candle and fade. Separate switches remove filled gaps or broken high/low lines; neither removes inverted FVGs. Opening-price lines stay live after a crossing.

Why are some references hidden?

The proximity filter draws registered references within 2 daily ATR by default. ATR measures recent price movement, including gaps. Distance is to a line or a box’s nearest edge; inside a box, it is zero.

Hidden references still update and may appear in the nearest lists. Box midpoint decides its above/below list. The tracked count includes retained finished references. Session boxes, macro shading and previous-day range shading are separate from this filter.

Proximity and gap-size rules use the last closed daily ATR 14, falling back to ten times chart ATR 14. FVG size uses chart ATR 14. Near alerts have their own radius.

When is each reference created?

Previous periods: completed day, week, month or four-hour extremes are received on confirmed chart bars. A new pair is created when the returned high/low pair changes; an identical pair does not create another. Daily history is limited by age; other period pairs replace their predecessors.

Opening gaps: compare the last tracked close inside the configured clock window with the opening bar’s open. Creation commits at that bar’s close. A close captured on Friday or Saturday makes a weekend gap, not a second daily gap. The minimum size is inclusive.

Opening prices: use available bars at or after their clock time. The first local-date bar can stand in for midnight. Separate 08:30 and 09:30 opens are suppressed if that candle is also the first date bar.

First FVG: bullish means third-candle low above first-candle high; bearish mirrors this. The first bar at or after an anchor can confirm the pattern using two earlier bars. If several anchors are armed, priority is 09:30, then 08:30, then midnight; one pattern uses one anchor.

Session lines: born on the first closed candle outside the session, after that candle’s state checks. Their tests start on the following candle.

What do the shaded areas and clock mean?

Session boxes, also called killzones, expand as session candles close. Their highs and lows can become references afterward. Turning off session tracking also stops those lines being created.

The previous day’s midpoint splits its range: premium is the upper half, discount the lower half. These describe position, not fair value or an entry.

Macro windows are fixed time conventions, not tested predictions. London: 02:33–03:00 and 04:03–04:30. New York AM: 08:50–09:10, 09:50–10:10 and 10:50–11:10. Lunch: 11:50–12:10. New York PM: 13:10–13:40 and 15:15–15:45.

All use the selected timezone. Four groups can be enabled; their eight times are not editable. Hiding macro drawings leaves the enabled countdown available. It follows chart-bar time, not a running wall clock.

How do I read the dashboard and Co-Pilot?

Price: current price, tracked count and hidden count. Nearest above / below: three unfinished references each way, their state and distance in points and daily ATR.

Open: which side of midnight price is on. NDOG / NWOG / FPFVG: each current box’s range, direction and state. Dealing range: position around the midpoint. Macro: current or next enabled window. Base rates: counts from loaded history.

Brief Co-Pilot shows NOW. Standard adds WHY and WATCH. Detailed adds BASE RATES and GLOSSARY. These describe the map; they do not choose a trade.

Gold fifteen-minute TradingView chart with full ICT Levels Desk labels, four session boxes, previous-day range, opening gap, macro shading and Standard Co-Pilot.
TradingView snapshot · gold · full labels and Standard Co-PilotOpen full-size chart ↗
What does each setting change?

All fifty-six inputs, in the order shown in settings. Defaults are on the right.

Clock

Every configured clock time uses this timezone. The chart’s displayed timezone does not replace this setting.

Timezone used by the tool
America/New_York

Opening gaps

Compare the last tracked close inside the configured clock window with the next day-open price. NDOG is a daily gap; NWOG is a weekend gap. Filled gaps fade unless removal is enabled.

Track new-day opening gaps
On
Track new-week opening gaps
On
End of the tracked trading-day window
16:00
Start of the next trading-day window
18:00
Smallest opening gap to keep
Daily ATR × 0.02
Daily gap history to keep
3 days
Number of weekend gaps to keep
5
Remove opening gaps after they fill
Off

Opening prices

These are price references. The first available bar may stand in for midnight; missing session bars can change which opening lines appear.

Track the midnight opening price
On
Track the 08:30 opening price
On
Track the 09:30 opening price
On
Opening-price history to keep
1 day

Previous highs and lows

Use completed-period extremes. Daily pairs have a history limit; week, month and four-hour pairs are replaced. Swept references remain live until broken.

Track the previous day’s high and low
On
Track the previous week’s high and low
On
Track the previous month’s high and low
Off
Track the previous four-hour high and low
Off
Daily high/low history to keep
3 days
Remove high/low lines after a closing break
Off

First three-candle gap

Track the first qualifying FVG confirmed from each enabled anchor time. The main switch enables this module; its optional anchors depend on it. The size filter uses chart ATR.

Enable first-FVG tracking from 09:30
On
Also track the first FVG from 08:30
Off
Also track the first FVG from midnight
Off
Smallest three-candle gap to keep
Chart ATR × 0
First-FVG history to keep
1 day

Macro time windows

Eight fixed windows are grouped below. Their times are not editable. Hiding their drawings leaves the enabled windows’ countdown available; it uses chart-bar time.

Track the two London macro windows
On
Track the three New York morning windows
On
Track the lunch window
On
Track the two New York afternoon windows
On
Choose how macro windows are drawn
Shade + markers
History for macro boundary markers
1 day

Session ranges

Boxes develop while each session runs. After it ends, its high and low can become tracked references. Turning this module off stops their creation too.

Track and draw the four session ranges
On
Asia session window
20:00–00:00
London session window
02:00–05:00
New York morning window
08:30–11:00
New York afternoon window
13:30–16:00
Keep completed session highs and lows as lines
On
Session history to keep
2 days

Previous-day range

The midpoint divides the previous day’s range into upper and lower halves. Premium and discount describe location, not fair value or an entry.

Show the previous-day range and midpoint
On

Chart appearance

The proximity filter hides distant registered references while tracking continues. Session boxes, macro shading and range shading are separate. Choose Aurora Neon, Royal Gold or Colorblind-safe.

Choose the color theme
Aurora Neon
Hide distant reference drawings
On
Maximum drawing distance from price
Daily ATR × 2
Choose names, names with prices, or no labels
Short
Place labels this many candles to the right
0
Finished-line transparency; higher is fainter
80
Show sweep and FVG-inversion marks
On
Name boxes and the range halves
On

Dashboard

Lists nearby unfinished references and their states. The hidden count includes retained references hidden by distance. Base rates describe loaded chart history.

Show the dashboard
On
Choose dashboard position
Middle Left
Choose dashboard text size
Medium
Show the historical counts
On

Co-Pilot

Brief shows NOW. Standard adds WHY and WATCH. Detailed adds BASE RATES and GLOSSARY. Off hides the explanation.

Choose the amount of explanation
Brief
Choose explanation position
Bottom Left
Choose explanation text size
Auto
Wrap text after this line width
64 characters

Alerts

Near alerts have their own distance, separate from drawing visibility. They rearm after price leaves an unfinished reference. Zero disables this proximity alert.

Send dynamic messages as JSON
On
Distance that triggers a near-level alert
Daily ATR × 0.15
Which events can send an alert?

Fifteen named conditions: NDOG formed, NWOG formed, gap entered, gap midpoint touched; previous day/week high/low swept; first FVG formed, touched or inverted; macro opening; midnight crossed; near a level; session high/low swept.

Any alert() function call sends eight event types: NDOG, NWOG, GAP_ENTERED, SWEEP, FPFVG_FORMED, FPFVG_INVERTED, MACRO_OPEN and NEAR_LEVEL. Choose JSON or readable text. It omits midpoint, FVG touch, midnight crossing and session-sweep events. There is no separate gap-filled condition.

{"src":"ICTLevelsDesk","symbol":"ES1!","tf":"5","event":"SWEEP","what":"PDH","price":6410.5}

The example shows the core JSON fields; messages also carry nearestAbove, nearestBelow and macro context. Near alerts rearm after price leaves an unfinished level. Zero disables them.

Dynamic messages use once-per-bar-close frequency. Most named events follow confirmed state changes; macro opening is not explicitly close-gated. Select Once Per Bar Close when needed, and recreate alerts after changing inputs.

How do I use it without adding clutter?
  1. Match the clock to your chart’s session.
  2. Start with previous highs and lows. Follow one nearby reference through closed candles.
  3. Add opening gaps, then compare their different finishing rule.
  4. Turn the proximity filter off briefly to see what was hidden.
  5. Record your own trade rules and outcomes separately; this desk has no entry, stop or target engine.
SPY five-minute regular-hours TradingView chart with ICT Levels Desk opening gap, session ranges, first FVG, nearest references and Detailed Co-Pilot with chart-specific counts.
TradingView snapshot · SPY regular hours · Detailed Co-PilotOpen full-size chart ↗
What did we count?

We counted opening-gap fills, highs and lows taken, and first-FVG revisits on three charts: index futures, gold and a stock ETF. The samples covered weeks or months and differed by market.

Descriptive, not predictive. These are level counts, not trade returns. Some outcomes settle at a period rollover while totals start at birth; shared daily flags can group older levels or multiple anchors. The rows do not give an independent chance for your next trade.

The lab notes carry the measurements and caveats together.

The lab notes are in review and will be linked here.

What can change the reading?

A live candle can change before close. Committed reference states use closed candles, while session ranges develop across their session. Different feeds, history, timeframes or settings can recalculate the map.

Context, not signals. It does not predict price, verify resting orders or account for news, fills or trade size. Trading risk is entirely yours; this is research tooling, not financial advice.

05 · THE LOG

Every change, dated

What shipped and what changed in ICT Levels Desk, newest first. Ask for the next change below; what gets built lands here with a date, and on the lab queue on the front page.

  1. ICT Levels Desk v1.2.0 Shipped

    Tracks nearby highs, lows, opens and gaps as price moves.

  2. The ICT key-levels wishlist Request ICT Levels Desk

    A commenter listed the levels needed, with days back so the chart does not overclutter. Every item is in, each with a state.

    1. Received
    2. Building
    3. Done

    “ndogs, nwogs, 1st presentation fvgs, midnight open, weekly/daily highs/lows … an option to change the number of days back such levels are drawn”

    a commenter on the r/pinescript thread · Asked 3 Sep 2026 · Done 4 Sep 2026
  3. Counted on three charts before it shipped Lab note ICT Levels Desk

    The desk counts its own levels: gap fills, highs and lows taken, the first FVG revisited. Three markets, three answers. Numbers in the notes.

BUILT WITH TRADERS

Something to change in ICT Levels Desk?

A small friction or a big idea. Tell us what would make this tool work better for you.

What would help?

Describe your rules and what you want the tool to help you see.

Add chart details Optional

For a question about your idea or an update if it ships.

Guides & new tools Optional

Add an email above to choose this.

Show us on your chart Optional

Crop out any account details you don't want to share.

No account needed. Sent privately to the lab.
  1. We read it
  2. We choose what to build
  3. Shipped changes get a date

Requests for a new tool go on the same queue: see what is asked for and what is being built.

THE FRAMEWORK BEHIND THIS DESKSee how it is built.The six-kit framework is $46 once, with 5 finished indicators included, all 11 at one price.
  • Opening Range Desk

    Move from session references to the specific checks around an opening range.

  • Camarilla Desk

    Compare recorded highs, lows and opens with calculated Camarilla pivot levels and their session rules.

Built by ProEA Lab. Compare every desk in Pine Pro Library.