All-In-One Trader Toolkit# All-In-One Trader Toolkit (AIO Toolkit)
A comprehensive overlay indicator that combines the key tools intraday futures traders need into a single script. Designed for ES, NQ, and other futures instruments with all sessions anchored to New York (Eastern) time.
## Features
**Supply & Demand Zones**
Auto-detected zones scored 1–10 based on impulse strength vs. basing range. Zones auto-extend until price closes through them (or use a fixed bar width). Filter by minimum score to show only the strongest levels. Fully customizable colors.
**Previous Day High/Low (PDH/PDL)**
Automatically plots the prior trading day's high and low as dashed reference lines. Configurable number of days to keep on chart.
**Pre-Market High/Low (PMH/PML)**
Captures the high and low of the overnight/globex session. Default session is 6:00 PM – 9:30 AM ET (full globex), adjustable to any window (e.g. 4:00 AM – 9:30 AM for London open only).
**15-Minute Opening Range Breakout (ORB)**
Plots the 9:30–9:45 AM ET opening range high/low. Generates BUY/SELL signals on breakout retests. Includes three configurable take-profit levels with optional symbol-specific points for NQ and ES.
**Daily VWAP + ±1 Standard Deviation Bands**
Manually calculated VWAP with upper and lower bands, resetting each trading day.
**NY-Open Anchored VWAP + ±1 Standard Deviation Bands**
Session-only VWAP anchored to the 9:30 AM NY open. Plots only during the 9:30–4:00 PM session with no carryover lines between sessions.
**Initial Balance (IB) + Extensions**
Captures the first 60 minutes of the NY session (9:30–10:30 AM ET). Plots IB High/Low with 50% and 100% extensions in both directions.
**News / Event Markers**
Up to 3 configurable event markers with custom labels and timestamps. Draws vertical dashed lines at the specified times.
**Dual EMA**
Two independent EMAs with adjustable length, color, and line width. Defaults: 8 EMA and 200 EMA.
## Display
- All labels are pinned to the right edge of the chart for easy identification
- Global label size control (tiny / small / normal / large / huge) applies to all elements
- Every feature can be toggled on/off independently
- All colors are fully customizable through the settings panel
## Alerts
Built-in alert conditions for ORB breakouts (up/down) and retest buy/sell signals.
## Best Used On
Intraday futures charts (1-min, 2-min, 5-min) for instruments like NQ, ES, YM, RTY. Works on any symbol but session times are optimized for US equity futures. Indicator

DivergenceLineLabelOutput_UtilitiesDivergenceLineLabelOutput_Utilities is a shared Pine v6 output library for scripts that already have their own oscillator, pivot, structure, or divergence logic but want a reusable divergence-rendering layer.
It centralizes the parts of the workflow that tend to get rewritten across oscillator scripts:
• HH / LH / HL / LL / EQ structure resolution
• regular / hidden divergence state checks
• same-structure context state checks
• divergence and context color routing
• standardized divergence/context label text
• price-pane and oscillator-pane line helpers
• price-pane and oscillator-pane label helpers
• confirmed-object slot visibility helpers
• live-preview line and label helpers
• native-pane and price-pane pivot context box helpers
On the example chart, the confirmed divergence lines, live preview lines, divergence labels, context labels, and pivot context boxes are all materially driven by this library.
This library is intentionally focused on output and object management. It does not calculate RSI, MACD, VFI, volume flow, pressure, or any other oscillator. It does not confirm pivots or decide which pivots are valid. Calling scripts remain responsible for their own oscillator engine, pivot engine, comparison logic, colors, visibility modes, and signal interpretation.
How to use
Import the library near the top of your script in global scope, alongside any other imports, before you start calling its helpers.
Typical placement:
//@version=6
indicator(...) or strategy(...)
import MYNAMEISBRANDON/DivergenceLineOutput_Utilities/1 as DivUtils
Replace /1 with the latest published version if a newer version is available.
This library expects the calling script to already know the price pivot, oscillator pivot, prior pivot reference, structure state, and output settings it wants to use. The library then handles the reusable line, label, live-preview, slot-budget, and box output layer.
➖Structure + Divergence State Helpers➖
These helpers convert pivot comparisons into structure tags and divergence/context states.
divStructure(curr, prev, isHigh)
Resolves HH, LH, HL, LL, or EQ from a current pivot and previous pivot.
Parameters:
curr (float): Current pivot value
prev (float): Previous pivot value
isHigh (bool): True for high-side comparison, false for low-side comparison
Returns:
Structure string
divState(priceStruct, oscStruct)
Resolves regular and hidden divergence states from price and oscillator structure tags.
Returns:
regularBear, regularBull, hiddenBear, hiddenBull, anyDivergence
divContextState(priceStruct, oscStruct)
Resolves same-structure context states from price and oscillator structure tags.
Returns:
highContinuation, highFade, lowContinuation, lowLift, anyContext
divColor(priceStruct, oscStruct, regularBearColor, regularBullColor, hiddenBearColor, hiddenBullColor, highContinuationColor, lowContinuationColor, highFadeColor, lowLiftColor, fallbackColor)
Routes a divergence or context pair to the matching caller-supplied color.
Returns:
Resolved color
➖Style + Label Helpers➖
These helpers keep divergence output styling consistent across scripts.
divLineStyle(styleIn)
Converts user-facing line-style text into Pine line-style enums.
Parameters:
styleIn (simple string): Solid, Dashed, or Dotted
Returns:
Pine line style
divLabelSize(sizeIn)
Converts user-facing label-size text into Pine label-size enums.
Parameters:
sizeIn (simple string): Tiny, Small, Normal, Large, or Huge
Returns:
Pine label size
divContrastText(bg)
Chooses black or white text based on background brightness.
Parameters:
bg (color): Background color
Returns:
Readable contrast text color
divLabelText(divType, divSide, priceStruct, oscStruct, formatMode)
Builds standardized divergence label text.
Parameters:
divType (simple string): Usually Reg or Hid
divSide (simple string): Usually Bull or Bear
priceStruct (string): Price structure tag
oscStruct (string): Oscillator structure tag
formatMode (simple string): Full, No Prefix, or Type Only
Returns:
Formatted label text
➖Confirmed Line Helpers➖
These helpers create and manage confirmed divergence or context lines.
clearLines(lines, colors)
Deletes all lines in an array and clears the matching color array.
pushOscLine(lines, colors, show, active, x1, y1, x2, y2, lineColor, lineTransp, lineWidth, lineStyle, maxLines)
Pushes a confirmed oscillator-pane line into line/color arrays.
pushPriceLine(lines, colors, show, active, x1, y1, x2, y2, lineColor, lineTransp, lineWidth, lineStyle, maxLines)
Pushes a confirmed price-pane line into line/color arrays using force_overlay=true.
Note:
Price helpers draw on the main chart from overlay=false oscillator scripts. Oscillator helpers draw in the script’s native pane.
➖Confirmed Label Helpers➖
These helpers create and manage confirmed divergence or context labels.
clearLabels(labels, colors)
Deletes all labels in an array and clears the matching color array.
pushOscLabel(labels, colors, show, active, xIndex, y, labelText, styleText, lineColor, labelTextOnly, labelBgTransp, labelSize, maxLabels)
Pushes a confirmed oscillator-pane label into label/color arrays.
pushPriceLabel(labels, colors, show, active, xTime, labelText, ylocText, styleText, lineColor, labelTextOnly, labelBgTransp, labelSize, maxLabels)
Pushes a confirmed price-pane label into label/color arrays using force_overlay=true.
Note:
For price-pane labels, xTime uses bar time and ylocText controls whether the label appears above or below the price bar.
➖Confirmed Slot Visibility Helpers➖
These helpers allow scripts to keep confirmed lines and labels stored while only showing the most recent visible slots.
applyLineSlots(lines, colors, visibleSlots)
Applies a visible slot budget to confirmed line arrays without deleting older objects.
applyLabelSlots(labels, colors, visibleSlots, labelTextOnly, labelBgTransp)
Applies a visible slot budget to confirmed label arrays without deleting older objects.
Example:
• Max Regular Lines = 1
- Live regular active = live regular only
- No live regular = latest confirmed regular only
• Max Regular Lines = 2
- Live regular active = live regular + latest confirmed regular
- No live regular = latest two confirmed regular lines
➖Live Preview Line Helpers➖
These helpers create, update, or delete live divergence preview lines.
syncLiveOscLine(ln, show, x1, y1, x2, y2, lineColor, lineWidth, lineStyle)
Creates, updates, or deletes a live oscillator-pane line.
syncLivePriceLine(ln, show, x1, y1, x2, y2, lineColor, lineWidth, lineStyle)
Creates, updates, or deletes a live price-pane line using force_overlay=true.
➖Live Preview Label Helpers➖
These helpers create, update, or delete live divergence preview labels.
syncLiveOscLabel(lbl, show, xIndex, y, labelText, styleText, lineColor, labelTextOnly, labelBgTransp, labelSize)
Creates, updates, or deletes a live oscillator-pane label.
syncLivePriceLabel(lbl, show, xTime, labelText, ylocText, styleText, lineColor, labelTextOnly, labelBgTransp, labelSize)
Creates, updates, or deletes a live price-pane label using force_overlay=true.
➖Pivot Context Box Helpers➖
These helpers provide lightweight box utilities for scripts that want to frame confirmed pivot zones.
divPivotBoxBounds(pivotValue, innerPct)
Resolves a thin box around a pivot value using an inner percentage.
Returns:
top, bottom, ok
syncNativeBox(bx, show, left, right, top, bottom, fillColor, borderColor, borderStyle, borderWidth)
Creates, updates, or deletes a native-pane pivot context box.
syncPriceBox(bx, show, left, right, top, bottom, fillColor, borderColor, borderStyle, borderWidth)
Creates, updates, or deletes a price-pane pivot context box using force_overlay=true.
➖Divergence Model➖
Regular Bearish Divergence:
Price makes HH while oscillator makes LH.
Regular Bullish Divergence:
Price makes LL while oscillator makes HL.
Hidden Bearish Divergence:
Price makes LH while oscillator makes HH.
Hidden Bullish Divergence:
Price makes HL while oscillator makes LL.
➖Structure Context Model➖
High-side continuation:
Price makes HH while oscillator also makes HH.
High-side fading:
Price makes LH while oscillator also makes LH.
Low-side continuation:
Price makes LL while oscillator also makes LL.
Low-side lifting:
Price makes HL while oscillator also makes HL.
Structure context is not divergence. It shows same-structure agreement between price and oscillator.
➖Important Notes➖
This library is an output utility layer only.
It does not:
• calculate an oscillator
• confirm pivots
• choose pivot anchors
• decide whether a divergence is valid
• decide trade direction
• decide final signal logic
Calling scripts remain responsible for:
• oscillator calculation
• pivot confirmation
• price/oscillator comparison logic
• visibility settings
• color choices
• max-line and max-label budgets
• final visual interpretation
For overlay=false oscillator scripts, Price + Oscillator / Price Only / Oscillator Only / Hide output modes work well.
For overlay=true price-pane scripts, Price Only / Hide output modes usually make the most sense. Library

ATR & Fibonacci Expansion ZonesATR & Fibonacci Expansion Zones is a multi-mode ATR framework designed to help traders read price location, volatility expansion, session structure, and active high/low range context. The script is built around a simple but powerful idea: ATR levels can provide a volatility-adjusted map of how far price has moved from a meaningful close reference. From there, the workflow adds flexible mode selection, organized ATR labels, optional historical ATR periods, mode-aware AVWAPs, active high/low zones, and fibonacci labels that correspond to a respective level within the enabled mode.
────────────────────────────
Core Idea
────────────────────────────
ATR (actual true range) is powerful because it gives price movement a volatility-adjusted frame of reference.
This script helps traders evaluate:
• How far price has expanded from the selected close anchor
• Whether price is still near the first ATR expansion zone or already extended
• Whether price is approaching a major +1, +2, +3, or +4 ATR area
• Whether price is reacting around an active session high/low zone
• Where price is trading inside the active session fibonacci range
• Which ATR mode best frames the current move: Daily, Multiday, Swing, Position, or Long-Term
That makes the script useful for intraday context, multiday moves, swing structure, position-style tracking, and longer-term range mapping.
────────────────────────────
ATR Modes
────────────────────────────
The script renders one selected ATR engine at a time. This keeps the chart cleaner than stacking multiple ATR families together.
Included modes:
Daily
Uses the daily ATR framework. Best for day/session-level context on intraday charts.
Multiday
Uses the weekly ATR framework. Best for trades developing across multiple sessions.
Swing
Uses the monthly ATR framework. Best for larger swing-style movement.
Position
Uses a 3-month ATR framework. Best for broader position-style context.
Long-Term
Uses a 12-month ATR framework. Best for major range structure and larger macro-style moves.
All modes can render the full 23.6% through 400% ATR expansion range, with separate line and label controls for each major range block.
────────────────────────────
ATR Expansion Grid
────────────────────────────
The main ATR grid plots upper and lower ATR expansion levels from the selected close anchor.
The grid includes:
• 23.6% to 100%
• 123.6% to 200%
• 223.6% to 300%
• 323.6% to 400%
Each range has its own parent Show / Hide controls for lines and labels, plus child controls for upper and lower sides. This makes it easier to keep the chart simple when only the closer ATR levels matter, or expand the full map when price is making a larger move.
The labels can show:
• ATR ratio
• ATR level price
• selected mode tag
• percent distance from current price
That percent-from-price read helps make the grid more practical because you can quickly see how close price is to the next ATR level instead of visually estimating it or using the info line tool.
────────────────────────────
Previous / Current Close Reference
────────────────────────────
The PCL / CC line and label show the active close reference used by the selected ATR grid. Depending on the selected mode and settings, this can represent:
• Previous Close
• Current Close
• Daily close reference
• Weekly close reference
• Monthly close reference
• 3-month close reference
• 12-month close reference
The label can also show close-to-close percent change and RSI(14) from the selected ATR timeframe. This is important because the close anchor is the foundation of the ATR grid. The script keeps that reference visible so the user can see exactly where the ATR expansion map begins.
────────────────────────────
ATR Session AVWAPs
────────────────────────────
The script includes mode-aware ATR Session AVWAPs. These are not static VWAPs. They follow the currently selected ATR mode. Depending on the mode, the AVWAP set can reset from:
• the active day/session
• the active week
• the active month
• the active 3-month period
• the active 12-month period
Included AVWAP paths:
• Session VWAP
• High AVWAP
• Low AVWAP
The Session VWAP starts from the active ATR period/session start. The High AVWAP anchors from the candle that creates the active period high. The Low AVWAP anchors from the candle that creates the active period low. When a new active high or low forms, the matching AVWAP re-anchors.
In practical terms:
• ATR levels show volatility expansion from the selected close anchor
• AVWAPs show volume-weighted behavior from the active period structure
• High/Low AVWAPs help track how price behaves after major active-period extremes form
This adds a useful volume-weighted layer around the ATR map.
────────────────────────────
ATR Session High / Low Boxes
────────────────────────────
The script can also draw active high and low boxes for the selected ATR session or period.
The High Box starts from the candle that creates the active high.
The Low Box starts from the candle that creates the active low.
These boxes are wick-based, which makes them useful for highlighting rejection zones, liquidity wicks, exhaustion candles, or important high/low reference areas inside the active ATR period.
────────────────────────────
ATR Session Fibonacci Labels (levels)
────────────────────────────
ATR Session Fibonacci Labels add another layer of context beside the ATR grid.
The ATR grid answers:
“How far has price expanded from the selected close anchor?”
The session fib labels answer:
“Where is price trading inside the active high-to-low range?”
The fib labels use the same active high and low tracked by the AVWAP and high/low box engines.
Direction is inferred automatically:
• If the low formed before the high, the script treats it as a bullish session leg
• If the high formed before the low, the script treats it as a bearish session leg
The fib labels can show:
• fib ratio
• price
• percent distance from current price
This creates a clean second layer of structure: ATR levels for expansion, fib labels for internal active-range location.
────────────────────────────
Historical ATR Periods
────────────────────────────
The script includes an optional Historical ATR Periods mode. When enabled, prior ATR grid segments can remain visible for a user-defined number of completed ATR periods.
This is useful for reviewing:
• how price respected previous ATR levels
• where prior extensions acted as support or resistance
• whether price repeatedly reacted around certain volatility zones
• how current ATR behavior compares to prior periods
Historical labels are intentionally excluded to keep the chart cleaner. The historical mode focuses on line segments only.
────────────────────────────
Asset-Aware Behavior
────────────────────────────
The script includes separate behavior for stocks, crypto, and futures.
For stocks and funds:
• ATR calculations can use regular or extended-session source data
• Daily lines can start from regular open or extended open
• Daily AVWAPs, boxes, and fib labels can reset from the extended-session / premarket day start when available
• Higher-timeframe stock modes wait for the first regular-hours bar of the new period for cleaner visual alignment
For crypto:
• the chart ticker is used
• Daily mode resets once per calendar day
For futures:
• the chart ticker is used
• Daily mode uses a Globex-style 5:00 PM Central session boundary
• higher-timeframe modes reset from the selected W / M / 3M / 12M ATR period boundary
This makes the script more flexible across different asset classes instead of treating every market like a regular-hours stock chart.
────────────────────────────
How I Use It
────────────────────────────
I use this script as a volatility and structure map.
A few practical ways to read it:
• Daily mode helps frame intraday price movement around the active daily ATR grid
• Multiday mode helps show where price is trading inside the weekly ATR structure
• Swing mode is useful when the daily chart is too narrow and the monthly range matters more
• Position and Long-Term modes help zoom out and understand broader extension zones
• PCL (previous close) / CC (current close) keeps the close anchor visible
• The Auto close-anchor setting is especially useful for Daily stock mode because it automatically adapts between Current Close during New York premarket / after-hours and Previous Close during regular market hours
• This means the ATR grid can stay aligned with the session environment without forcing the user to manually decide when to use PCL or CC
• During premarket and after-hours, Current Close helps the levels respond to the active extended-hours move
• During regular hours, Previous Close keeps the main daily ATR map anchored to the completed prior session
• The price guide dash makes it easier to line up current price with the ATR label column
• High/Low Boxes help mark active wick-based extremes
• Session AVWAPs add a volume-weighted path from the active period and its extremes
• Session Fib Labels show internal retracement context inside the active high/low range
• Historical ATR Periods help review how price behaved around prior ATR grids
The Auto close-anchor behavior is one of the most practical parts of the workflow. Premarket and after-hours trading can make a static previous-close grid feel disconnected from the live move, while regular-hours trading often benefits from keeping the prior close as the main reference. Auto handles that transition in the background so the ATR levels remain tied to the most relevant close reference for the active session. In other words, you don't have to decide when to use "Use Current Close" depending on if your'e in pre-market or regular trading hours.
The value of this script is organization. It brings ATR expansion, close-reference context, session extremes, AVWAP structure, and active-range fib location into one chart-side workflow.
ATR levels by themselves can already be useful but this script expands that idea into a fuller range map so traders can better judge whether price is early in a move, pressing into extension, reacting from an active extreme, or moving through a broader volatility structure.
────────────────────────────
Attribution
────────────────────────────
This script is a modern rebuild inspired by Saty’s ATR Levels concept and my original ATR Levels publication.
Special thanks to SimpleCryptoLife for past help and inspiration around improving the original ATR Levels workflow and for the Significant Figures library used for cleaner number formatting.
As always, this is a visual context tool. It is not meant to replace risk management, market structure, support/resistance, volume analysis, or a complete trading plan.
────────────────────────────
A Few Chart Examples
────────────────────────────
Indicator

Indicator

Indicator

Indicator

Pivot_Labels_Output_UtilitiesThis library contains reusable pivot label output helpers for Pine scripts that already have their own pivot, structure, or signal logic but want a shared label-rendering layer.
It centralizes the parts of the workflow that tend to get rewritten across label-heavy scripts: label-size resolution, compact percent and price formatting, one-shot pivot label plotting, live directional label management, confirmed/local/current-RSI text builders, early-label emoji output, and live-stack text / object helpers.
On the example chart, the visible label workflows are materially driven by the library, whether through the confirmed pivot label text, the local pivot label text, the current RSI + SMA above-bar label, the early directional labels, or the live stack text and label-object lifecycle helpers used to keep those outputs updated cleanly on the chart.
How to use
Import the library near the top of your script in global scope, alongside any other imports, before you start calling its helpers.
Typical placement:
// @version=6
indicator(...) or strategy(...)
import MYNAMEISBRANDON/PivotLabelsOutput_Utilities/1 as PLutils
This library does not confirm pivots, resolve structure tags, or choose label colors for you. Instead, it expects your script to already know the values it wants to display, then uses those resolved inputs to build the output layer.
For more information on libraries and incorporating them into your scripts, see the Libraries section of the Pine Script User Manual.
➖Label Size Helpers➖
These helpers convert simple UI-facing size strings into Pine label-size enums so scripts can keep one consistent size resolver across confirmed pivot labels, local pivot labels, current RSI labels, early labels, and live stack labels.
labelSizeFromString(sizeIn)
Resolves a Pine label size from a string input.
Parameters:
sizeIn (simple string): Size string. Expected values: "Tiny", "Small", "Normal", "Large", or "Huge"
Returns:
Pine label size enum
➖Numeric Formatting Helpers➖
These helpers handle compact numeric formatting for label-driven scripts. They let a script calculate percent change safely, format that change in a label-friendly way, and convert larger price values into compact significant-figure style text.
labelPercentChange(curr, prev)
Returns percent change from prev to curr.
Parameters:
curr (float): Current value
prev (float): Previous reference value
Returns:
Percent change or na when invalid
labelFormatPercent(p)
Formats a percent value for compact label output.
Parameters:
p (float): Percent value
Returns:
Formatted percent string
labelFormatCompactNumber(x, sig)
Formats a number using significant-figure style suffix output.
Parameters:
x (float): Value to format
sig (simple int): Significant figures to preserve
Returns:
Compact number string
➖Static Label Plot Helpers➖
These helpers create one-shot label outputs for scripts that want to place confirmed or local pivot labels on historical pivot bars, or simple above-bar informational labels, without managing a live label object afterward.
plotPivotLabel(x, y, txt, textColor, isHigh, sizeIn)
Creates a pivot label on a specific bar.
Parameters:
x (int): Label x position
y (float): Label y position
txt (string): Label text
textColor (color): Label text color
isHigh (bool): True for a high-side label, false for a low-side label
sizeIn (simple string): Label size string
Returns:
Created label reference
plotAboveBarLabel(x, y, txt, textColor, sizeIn)
Creates an above-bar informational label.
Parameters:
x (int): Label x position
y (float): Label y position
txt (string): Label text
textColor (color): Label text color
sizeIn (simple string): Label size string
Returns:
Created label reference
➖Directional Label Object Helpers➖
These helpers manage the lifecycle of live high-side and low-side label objects so scripts can create, update, or delete directional labels without repeating the same object-management logic each time.
manageDirectionalLabel(lbl, show, x, y, txt, textColor, isHigh, sizeIn)
Creates, updates, or deletes a directional label object.
Parameters:
lbl (label): Existing label reference
show (bool): Whether the label should exist
x (int): Label x position
y (float): Label y position
txt (string): Label text
textColor (color): Label text color
isHigh (bool): True for a high-side label, false for a low-side label
sizeIn (simple string): Label size string
Returns:
Updated label reference
➖Pivot Text Helpers➖
These helpers build the final text used by confirmed pivot labels, local pivot labels, confirmed pivot alerts, and the current RSI / SMA above-bar label. In other words, this region keeps the script’s visible wording consistent while leaving structure resolution and color decisions to the calling script.
buildMajorPivotLabelText(mode, priceText, priceStruct, rsiText, oscStruct, percentText, pivotLen, showLen)
Builds confirmed pivot label text.
Parameters:
mode (simple string): Label mode. Expected values: "Full" or "RSI Only"
priceText (string): Formatted pivot price
priceStruct (string): Price-side structure tag
rsiText (string): Formatted pivot RSI
oscStruct (string): RSI-side structure tag
percentText (string): Formatted percent-change text
pivotLen (int): Pivot length value
showLen (bool): Whether pivot length should be shown
Returns:
Confirmed pivot label text
buildLocalPivotLabelText(priceText, priceStruct, rsiText, rsiStruct, pivotLen, showPrice, showLen)
Builds local pivot label text.
Parameters:
priceText (string): Formatted local pivot price
priceStruct (string): Price-side structure tag
rsiText (string): Formatted local pivot RSI
rsiStruct (string): RSI-side structure tag
pivotLen (int): Pivot length value
showPrice (bool): Whether the price line should be shown
showLen (bool): Whether pivot length should be shown
Returns:
Local pivot label text
buildPivotAlertText(isHigh, priceText, pctText, rsiText, structTag, rsiValue, rsiOB, rsiOS)
Builds confirmed pivot alert text.
Parameters:
isHigh (bool): True for a high pivot, false for a low pivot
priceText (string): Formatted pivot price
pctText (string): Formatted percent-change text
rsiText (string): Formatted pivot RSI
structTag (string): RSI-side structure tag
rsiValue (float): Raw RSI value at the pivot
rsiOB (int): Overbought level
rsiOS (int): Oversold level
Returns:
Alert message text
buildCurrentRsiAboveBarText(currRsiText, structTag, smaText)
Builds current RSI / SMA above-bar label text.
Parameters:
currRsiText (string): Formatted current RSI text
structTag (string): Current live structure tag
smaText (string): Formatted SMA text
Returns:
Current RSI above-bar label text
➖Early Pivot Label Helpers➖
These helpers provide the reusable output primitive used by early pivot labels. This region intentionally stops at emoji selection so scripts with different structure-tag models and color logic can still reuse the same active-vs-carried-forward label cue.
earlyPivotEmoji(isHigh, isCurrentCandidateBar)
Returns the early-pivot emoji for the active side and candidate state.
Parameters:
isHigh (bool): True for a high-side early label, false for a low-side early label
isCurrentCandidateBar (bool): True when the candidate bar is the current bar
Returns:
Early-pivot emoji
➖Live Stack Text Helpers➖
These helpers build the reusable text layer behind live stack labels. They handle padded line construction, signed delta wording, movement glyphs, and the multi-line center block used to display price, anchor tag, RSI, RSI delta, SMA, and SMA delta.
stackSignedRoundText(x)
Returns a rounded signed text value for live-stack display.
Parameters:
x (float): Value to round
Returns:
Signed rounded text
stackMoveGlyph(delta)
Returns the move glyph used by live-stack delta text.
Parameters:
delta (float): Delta value
Returns:
Move glyph
stackDeltaText(change, structTag, isPercent, pad)
Builds padded delta text for the live stack.
Parameters:
change (float): Delta value
structTag (string): Structure tag to append
isPercent (bool): Whether the delta should be formatted as a percent
pad (int): EM-space padding count
Returns:
Padded delta text
stackRsiDiffText(delta, structTag, pad)
Builds padded RSI-delta text for the live stack.
Parameters:
delta (float): RSI delta value
structTag (string): Structure tag to append
pad (int): EM-space padding count
Returns:
Padded RSI-delta text
stackCenterText(price, rsiVal, rsiDelta, rsiSma, rsiSmaDelta, anchorTag, pad, sigFigs)
Builds the live-stack center block text.
Parameters:
price (float): Current price
rsiVal (float): Current RSI value
rsiDelta (float): Current bar-to-bar RSI delta
rsiSma (float): Current RSI SMA value
rsiSmaDelta (float): Current bar-to-bar RSI SMA delta
anchorTag (string): Active anchor tag such as "➜H" or "➜L"
pad (int): EM-space padding count
sigFigs (simple int): Significant figures used for price formatting
Returns:
Center live-stack text block
➖Live Stack Label Object Helpers➖
These helpers manage the lifecycle of live center-style stack labels so scripts can create, update, or delete the visible stack objects without repeatedly rewriting that object-management logic.
manageCenterLabel(lblPrev, show, yVal, txt, textColor, xPos, linesBefore, linesAfter, sizeIn)
Creates, updates, or deletes a center-style live-stack label.
Parameters:
lblPrev (label): Existing label reference
show (bool): Whether the label should exist
yVal (float): Label y position
txt (string): Label text
textColor (color): Label text color
xPos (int): Label x position
linesBefore (int): Blank lines inserted before the text block
linesAfter (int): Blank lines inserted after the text block
sizeIn (simple string): Label size string
Returns:
Updated label reference
Local Pivot label demo (with pin emoji)— shows the library’s smaller same-side pivot label format on its own for a cleaner view of the local-label workflow.
Library

AG Pro Structure Labels [AGPro Series]AG Pro HH HL LH LL Structure Labels
Overview / What it does
AG Pro HH HL LH LL Structure Labels is a clean market-structure reader built to simplify price action without turning the chart into a wall of signals. Its core purpose is straightforward: identify confirmed swing highs and swing lows, classify them as HH, HL, LH, or LL, and connect those points in a visually readable structure path so traders can understand the current sequence of price development at a glance.
Many market structure tools try to do too much at once. They mix structure, signals, zones, pattern scoring, and trade suggestions into a single publication, which can make the chart heavier and the analytical purpose less clear. This script takes the opposite route. It focuses on one job only: making confirmed swing structure easier to read, follow, and interpret in real time as the chart evolves.
That design choice is what gives this script its value. Instead of asking the user to interpret disconnected highs and lows manually, the script builds a visible structure chain from confirmed pivots and labels each important step. The result is a chart that remains visually disciplined while still communicating trend continuation, structural weakening, and flow transitions in a simple and repeatable format.
This script is especially useful for traders who want structure clarity before they bring in any other layer of analysis. It can be used as a standalone structure map, or as a first-pass chart-cleaning tool before applying other concepts such as support and resistance, trend continuation logic, pullback analysis, breakout validation, or discretionary execution rules.
Unique Edge
The unique edge of this script is not that it attempts to predict where price will go next. Its strength is that it organizes confirmed structure in a way that is visually clean, logically consistent, and immediately usable on live charts.
Unlike many AG Pro scripts that are built around event detection, confluence scoring, price-zone visualization, setup quality filtering, or breakout logic, this publication is intentionally narrower and more focused. It is not a BOS/CHoCH event detector. It is not a liquidity-sweep model. It is not an order-block or fair-value-gap engine. It is not a breakout-quality, retest-quality, or pattern-quality scorer. It is also not a fixed reference-level tool such as a prior-day or prior-week high/low mapper. This script is a structure readability tool first and foremost.
That distinction matters.
Previous AG Pro releases often revolve around a specific trading event: a sweep, a break, a retest, a zone reaction, a continuation pattern, or a multi-factor confluence state. This script does not begin from an event. It begins from the swing chain itself. It asks a simpler question: what is the current sequence of confirmed highs and lows, and what does that sequence imply about market flow right now?
Because of that, the script fills a different role in the broader AG Pro library. It is closer to a structural map than a setup engine. It helps answer whether the chart is still printing constructive highs and lows, whether the sequence has started to weaken, or whether the structure is now leaning in the opposite direction. That makes it useful both on its own and as a foundation layer beneath other tools.
Another important differentiator is presentation discipline. The structure path provides continuity between pivots, while the label set communicates classification without unnecessary chart clutter. The compact floating HUD reinforces the current flow state without dominating screen space. Together, these choices make the script visually premium while keeping the chart readable.
Methodology
The script uses a confirmed pivot framework. Swing highs and swing lows are identified using left and right lookback parameters selected by the user. Because pivots require confirmation, labels appear only after the structure point is confirmed by the specified number of bars. This helps reduce noise and keeps the structure map grounded in confirmed rather than speculative swing points.
Once a new pivot high is confirmed, it is compared with the prior confirmed pivot high. If it exceeds the previous confirmed high, it is classified as HH. If it does not, it is classified as LH. The same logic applies on the low side: if a confirmed pivot low is above or equal to the previous confirmed pivot low, it is classified as HL; if it is lower, it is classified as LL.
The script also includes an ATR-based structure filter. This filter is designed to suppress micro-swings that are too small relative to current volatility, which helps maintain visual cleanliness on choppier charts. Instead of drawing every minor fluctuation, the script attempts to keep attention on swings that are more structurally meaningful for the selected sensitivity.
A structure path, shown as a clean zigzag line, connects the confirmed pivots that pass the filter. This gives the user an immediate visual map of the sequence rather than a collection of isolated labels. In practice, this is one of the most useful parts of the script because it turns the market’s swing progression into a readable path.
The floating HUD summarizes the current market-flow bias in a minimalist format. It is not intended to act as a trade signal. Its job is to provide a quick structural read so the user can see whether the recent chain is leaning bullish, bearish, or transitional according to the internal swing logic.
Signals & Alerts
This script is not designed as a one-click entry engine. Its alerts are structural, not predictive.
The publication includes alerts for newly confirmed HH, HL, LH, and LL prints, which can help users monitor structure development without staring at the chart continuously. It also includes alerts for structure-flow transitions when the internal trend state turns bullish or bearish.
These alerts are best understood as workflow alerts. They tell the user that structure has progressed into a new confirmed condition. They do not guarantee continuation, reversal, breakout success, or trade profitability. Their purpose is to improve awareness of structural change, not to replace independent analysis.
Key Inputs
Pivot sensitivity is controlled through left and right lookback values. Higher values usually produce fewer but more mature structure points, while lower values usually produce a faster and denser structure map.
The ATR filter can be enabled to reduce insignificant swings. This can be particularly helpful on lower timeframes or during periods of uneven, noisy price movement.
Users can also control whether the structure path is drawn and can adjust the visual typography for labels and HUD elements. These inputs allow the script to stay visually flexible across different chart styles and screen densities.
How this script differs from other AG Pro scripts
This distinction is central to the publication.
Many AG Pro scripts are built to evaluate the quality of a setup. They may score breakouts, retests, continuation patterns, reversal candles, pressure conditions, or confluence states. Others are built around zones and reactions, such as supply-demand mapping, premium-discount logic, fair value gaps, order blocks, or support-resistance behavior. Others focus on structural events such as BOS/CHoCH changes, liquidity sweeps, inducement traps, or session-specific reactions.
This script does none of those things.
It does not measure the quality of a signal.
It does not score a setup.
It does not project targets.
It does not identify fixed daily or weekly reference levels.
It does not try to map every institutional concept on the chart.
It does not attempt to be an all-in-one decision engine.
Instead, it provides a cleaner foundation: confirmed HH, HL, LH, and LL sequencing with a filtered structural path and a compact market-flow summary.
That is precisely why it is different from the previous AG Pro script as well. If the previous release was anchored to fixed price levels, event detection, or context-specific reactions, this script is anchored to swing continuity. If another AG Pro script answers where price reacted, where a sweep occurred, whether a breakout was strong, or whether a setup deserves a quality score, this one answers a more basic but highly important question: what is the confirmed structure chain doing right now?
In that sense, this script is less about trading events and more about structural readability.
Limitations & Transparency
This script uses confirmed pivots, which means it is not attempting to label unconfirmed structure in advance. As a result, there is an intentional delay equal to the confirmation logic chosen by the user. That delay is not a flaw; it is part of the design tradeoff required to avoid premature structure labels.
Like any pivot-based structure tool, output will vary depending on sensitivity settings, timeframe, market volatility, and symbol behavior. A lower sensitivity may reveal more swing detail but can also make the map denser. A higher sensitivity may create a cleaner structure path but may respond more slowly to local shifts.
The ATR filter is a visual-cleanliness tool, not a universal truth engine. It can help reduce noise, but different traders may prefer different levels of structural compression depending on how aggressively or conservatively they define meaningful swings.
This script should also not be interpreted as a complete trading plan. It does not include position sizing, stop placement, target selection, execution logic, or market-specific risk rules. Users should combine it with their own framework, testing process, and judgment.
Risk Disclosure
This script is for analytical and educational use. It is not financial advice, investment advice, or a recommendation to buy or sell any instrument.
Market structure is an interpretive framework, not a guarantee of future price behavior. A bullish sequence can fail, a bearish sequence can reverse, and a clean structural print can still occur inside a broader context that changes the meaning of the move.
Always use independent judgment, apply appropriate risk management, and evaluate the script in the context of your own market, timeframe, and process.
Summary
AG Pro HH HL LH LL Structure Labels is built for traders who value structural clarity over indicator overload. Its role in the AG Pro catalog is distinct: it is not an event hunter, not a zone engine, and not a quality scorer. It is a clean structure reader designed to make confirmed swing progression easier to see, easier to follow, and easier to integrate into a disciplined chart workflow.
If your goal is to understand whether price is still producing constructive highs and lows, whether that chain is weakening, or whether the flow has shifted into a different structural condition, this script is designed for exactly that task.
Indicator

Indicator

Key Level SuiteKey Level Suite is a comprehensive label indicator that displays the most important price levels directly on your chart — always anchored to the right edge so they stay out of your price action and are easy to read at a glance.
Instead of drawing horizontal lines across the entire chart, Key Levels renders clean, minimal text labels at each price level. When multiple levels converge within a configurable threshold, they are automatically merged into a single label showing all contributing names (e.g. wVWAP | mH | pdVAH), making confluences immediately visible without any manual work.
📌 Levels Included
🔹 VWAP & Value Area (VAH / VAL)
Session VWAP with one standard-deviation bands for Daily, Weekly, Monthly, Quarterly, and Yearly periods.
🔹 Previous VWAP & Value Area
The final VWAP, VAH, and VAL from the completed prior session — Daily through Yearly.
🔹 Rolling VWAP & Value Area
Volume-weighted average price over rolling windows of 1, 7, 30, 90, and 365 days, each with its own VAH/VAL band.
🔹 Highs & Lows
Current and previous session high/low for all five periods.
🔹 Opens
Session open price for Daily, Weekly, Monthly, Quarterly, and Yearly.
🔹 EMA (10 slots)
Up to 10 exponential moving averages with independently configurable length and timeframe per slot. Leave the timeframe blank to use the chart timeframe.
⚙️ Settings
Style
Choose label text size: Tiny, Small, Normal, or Large.
Colors
Individual color pickers for each timeframe group — Daily, Weekly, Monthly, Quarterly, Yearly — plus separate colors for High/Low, Open, and EMA labels. All current, previous, and rolling levels of the same timeframe share one color, making it immediately clear which timeframe a level belongs to.
Merge
Enable or disable automatic label merging and set the proximity threshold as a percentage. Levels within this distance of each other are combined into a single label listing all contributing names — no more overlapping text at confluence zones.
VWAP / Previous VWAP / Rolling VWAP / Statics / EMA
Every individual level and group can be toggled on or off independently, so you only see what is relevant to your trading style. Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

CVD Flow Labels for Sessions Ranges [AMT Edition]CVD Flow Labels for Session Ranges
Description:
This script provides a session-aware Cumulative Volume Delta (CVD) analysis designed to enhance the “Session Ranges ” framework by combining price extremes with detailed volume flow dynamics. Unlike generic trend or scalping indicators, this tool focuses on identifying aggressive buying and selling pressure, distinguishing between absorption (failed auctions where aggressive flows are rejected) and acceptance (confirmed continuation of flows).
How it works:
CVD Calculation: The script calculates delta for each bar using a choice of Total, Periodic, or EMA-based cumulative methods. Delta represents the net difference between estimated buying and selling volume per bar.
Normalization: By normalizing delta relative to recent volatility, it highlights extreme flows that are statistically significant, making large shifts in market sentiment easier to spot.
Session-Specific Analysis: The indicator separates Asia, London, and New York sessions to allow context-sensitive interpretation of price and volume interactions. Each session’s extremes are monitored, and flow labels are plotted relative to these extremes.
Flow Labels: Bullish and bearish absorption (“ABS”) and acceptance (“ACC WEAK/STRONG”) labels provide immediate visual cues about whether aggressive flows are being absorbed or accepted at key price levels.
Alerts: Configurable alerts trigger when absorption or acceptance occurs, supporting active trading or strategy automation.
Originality & Usefulness:
This script is original because it integrates volume-based auction theory with session-specific market structure, rather than simply showing trend or scalping signals. By combining CVD dynamics with session extreme levels from the “Session Ranges ” script, traders can:
Identify where price is likely to be accepted or rejected.
Confirm aggressive buying or selling flows before entering trades.
Time entries near session extremes with higher probability setups.
How to use:
Apply the “Session Ranges ” to see session highs, lows, and interaction lines.
Use this CVD Flow Labels script to visualize absorption and acceptance at these session levels.
Enter trades based on alignment of session extremes and flow signals:
Absorption at a session extreme may indicate a potential reversal.
Acceptance suggests continuation in the direction of the flow.
Alerts can help manage trades without constant screen monitoring.
This tool is designed to give traders a structured, session-based view of market auctions, providing actionable insights that go beyond typical trend-following or scalping methods. It emphasizes flow analysis and statistical extremes, enabling traders to make more informed decisions grounded in market microstructure. Indicator

EMA/SMA Ribbon Pro (AUTO HTF + Labels)This indicator is a multi-timeframe (MTF) moving average ribbon that dynamically adjusts to the next highest timeframe. It provides a visual representation of market trends by stacking multiple EMAs and SMAs with customizable color fills and labels.
Features
✅ Multi-Timeframe (MTF) Support: Automatically detects the next highest time frame or allows for manual selection
✅ Customizable Moving Averages: Supports EMA and SMA with different lengths for flexible configuration
✅ Ribbon Visualization: Smooth color transitions between different moving averages for better trend identification
✅ Crossover Labels: Detects bullish and bearish EMA/SMA crossovers and marks them on the chart
✅ Price Labels & Timeframe Display: Displays moving average values to the right of the price axis with customizable label padding and colors
How It Works
Select the HTF mode: Manual or automatic
Choose EMA/SMA lengths to create different ribbons
Enable/disable price labels for each moving average
Customize colors and transparency for ribbons and labels
Crossover labels appear when faster moving averages cross slower ones and vice versa
Use Cases
📌 Trend Identification: Identify bullish and bearish trends using multiple EMAs and SMAs
📌 Support & Resistance Zones: MAs can act as dynamic support and resistance levels
📌 Reversal & Confirmation Signals: Watch for MTF crossovers to confirm trend changes
Customization
🔹 Standard EMA Lengths: 6, 8, 13, 21, 34, 48, 100, 200, 300, 400
🔹 SMA Lengths: 48, 100, 200
🔹 Color Adjustments: Set custom colors for bullish/bearish ribbons
🔹 Crossovers: Enable/disable custom crossover pairs (e.g., 100/200 EMA, 200 EMA/SMA).
This indicator is perfect for traders who rely on multi-timeframe confluence while seeking to enhance their market analysis and decision-making process.
As always, by combining EMA/SMA Ribbon with other tools, traders ensure that they are not relying on a single indicator. This layered approach can reduce the likelihood of false signals and improve overall trading accuracy.
As always, be sure to use any indicator with price action and volume indicators for better trade confirmation! Indicator

Dominant Smoothed Volume Pro Smoothed Volume Pro provides a useful tool designed to provide traders with a deeper understanding of market dynamics by analyzing buy and sell volume across multiple timeframes. Unlike traditional volume indicators, this script normalizes volume data from lower timeframes to align with the current chart's timeframe, providing an apples-to-apples comparison. The result is a visual histogram representation of the dominant buy or sell activity, smoothed over 5 different periods to reflect momentum shifts and enhance clarity.
Core Methodology
1. Multi-Timeframe Volume Analysis
This indicator leverages data from five different lower timeframes, each chosen dynamically based on the current chart's timeframe. By aggregating and normalizing these granular data points, the indicator captures subtle shifts in buy and sell volume that might otherwise go unnoticed. This multi-timeframe approach allows for a more detailed and accurate representation of market activity.
2. Data Normalization
Normalization is a critical component of this indicator. It ensures that volume data from lower timeframes is scaled appropriately to match the total volume of the current chart's timeframe. This step eliminates discrepancies caused by varying time intervals, providing a more meaningful comparison of volume trends across different periods.
3. Smoothing for Momentum Representation
The indicator employs five customizable smoothing factors to smooth out noisy volume data.
Each smoothing factor is distinctly color-coded in the histogram and table for intuitive analysis, helping traders quickly identify prevailing trends.
Features and Benefits
➖Customizable Smoothing Factors: Choose from five different smoothing factors, each with its unique settings for line styles, colors, and extensions.
➖Normalized Buy and Sell Volume: Displays normalized buy and sell volumes as a percentage of total activity, aiding in quick decision-making.
➖Visual Cues: Color-coded columns and labels help identify dominant trends at a glance, with high-opacity fills for visual clarity.
➖Dynamic Table: A built-in table summarizes smoothed volume data for each smoothing factor, offering a quick overview of bullish and bearish percentages.
➖Momentum Signals: Detect significant shifts in volume momentum with visually distinct alerts for high relative volumes, including special symbols like "⚡" and "🔥."
Practical Applications
➖Identifying Market Sentiment: Quickly determine whether the market is dominated by buyers or sellers at any given moment.
➖Spotting Reversals: Use momentum shifts in smoothed volume to anticipate potential trend reversals.
➖Enhancing Entry and Exit Points: Combine this indicator with other technical tools to refine entry and exit points in your trading strategy.
Why This Indicator Stands Out
Many existing volume indicators focus solely on raw or single-timeframe data, which can be misleading or incomplete. This indicator sets itself apart by:
Utilizing multi-timeframe data to provide a holistic view of market activity.
Applying robust normalization techniques to ensure data consistency.
Offering advanced smoothing options to emphasize actionable momentum signals.
This unique combination of features makes it an indispensable tool for traders seeking to enhance their market analysis and decision-making process.
As always, by combining the Smoothed Volume Pro with other tools, traders ensure that they are not relying on a single indicator. This layered approach can reduce the likelihood of false signals and improve overall trading accuracy.
Here's an additional visual representation using the plot fills:
Indicator

Indicator

Indicator

Sembang Kari Traders - EMA & Wave Stacked Labels + EMA 34 LinesThis script is 2 in 1 indicator.
1. Multi Timeframe EMA Labels
- This label indicator shows labels for EMA stacked up or EMA stacked down or EMA in sideway trend.
- EMA used in this script is EMA 8, EMA 21, EMA 34 and EMA 55.
- If the EMA 8 line is above EMA 21 line, and EMA 21 line is above EMA 34 line, and EMA 34 line is above EMA 55 line ( EMA STACKED UP) = the trend is BULLISH and the label will colored to GREEN on that timeframe.
- If the EMA 8 line is below EMA 21 line, and EMA 21 line is below EMA 34 line, and EMA 34 line is below EMA 55 line ( EMA STACKED DOWN) = the trend is BEARISH and the label will colored to RED on that timeframe.
- If either 1 of the EMA 8, or EMA 21, or EMA 34, or EMA 55 is NOT STACKED = the trend is SIDEWAY and the label will colored to YELLOW on that timeframe.
- Timeframe shows in label is Daily, 4 hours, 1 hour, 15 minutes and 5 minutes.
- This indicator labels will be useful to identifying trend in others timeframe without to look or open that other timeframe. Example, if u in 5 minutes timeframe chart, then u see that "D" is colored to GREEN, then straight will know that EMA 8, EMA 21, EMA 34 and EMA 55 is STACKED UP which means BULLISH without to look or open that Daily timeframe .
2. EMA 34 Lines
- This is indicator shows 3 exponential moving average line which is EMA 34 lines.
- This indicator will shows 3 lines which is GREEN, BLUE, and RED.
- The GREEN line is EMA 34 HIGH
- The BLUE line is EMA 34 CLOSE
- The RED line is EMA 34 BLUE
Trade Idea
- The idea using this indicator is we want to take an entry setup when the candle pull back to EMA 34 lines and at the same time using the EMA labels to be confirmation as label will indicates trends in multiple timeframe.
- When price moved far away from EMA 34 lines, then wait till price pullback to EMA lines and confirmed it by trend labels provided to take take a entry setup.
- this indicator can be used on all tickers Indicator
