OPEN-SOURCE SCRIPT
Atualizado Low Volume Pullback Zones [AGPro Series]

Low Volume Pullback Zones [AGPro Series]
🔷 Overview
Low Volume Pullback Zones [AGPro Series] is a trend-continuation overlay built for one very specific market behavior: a trend is already established, price retraces in a controlled way, volume dries up during that retracement, and the market later reclaims a continuation trigger.
The default profile is tuned for daily swing charts, where low-volume retracements usually form cleaner structural pockets and the chart has enough space for the boxes to read properly. A 4H Active preset is included for traders who want more frequent mapping, while Custom mode exposes the raw controls.
Many pullback tools focus only on price touching a moving average, a SuperTrend line, or a generic support/resistance area. This script is intentionally narrower. It looks for the quieter part of a trend: the moment where participation contracts during a retracement, the pullback stays shallow relative to the prior impulse, and a clean continuation pocket can be mapped with a visible invalidation boundary.
The goal is not to mark every trend candle. The goal is to isolate the cleaner pauses inside trend conditions where the pullback behaves like controlled absorption instead of aggressive reversal pressure.
🟩 What The Script Detects
The engine combines five layers:
1. Trend Side
The script first checks whether the market has a clean bullish or bearish trend profile using EMA alignment, EMA slope, DI direction, and ADX strength. If the trend is flat or mixed, the script avoids mapping low-quality pullbacks.
2. Low RVOL Retracement
During a pullback, the script measures relative volume against a rolling volume baseline. A stronger dry-up score means the retracement is happening with lighter participation, which often creates a cleaner continuation context than high-volume countertrend pressure.
3. Shallow Pullback Depth
The pullback is measured against the prior impulse reference range. Controlled retracements receive higher scores, while deep retracements move toward failure risk.
4. Continuation Trigger
The script waits for price to reclaim beyond the pullback pocket boundary with a small ATR buffer and relative-volume recovery. This prevents the chart from filling with premature pullback labels before the structure actually confirms.
5. Invalidation Boundary
Every active dry-up pocket has a structural boundary beyond the deepest pullback extreme. If price breaks that boundary, the pocket is treated as invalid rather than leaving an old setup on the chart.
🟦 Chart Visuals
The main visual layer is the Dry-Up Pullback Pocket.
When a valid pullback begins, the script draws a compact rectangular pocket around the retracement range. If the pocket confirms, the script projects a tighter functional retest/hold zone instead of extending the entire historical pullback range. This makes the zone easier to use: bullish zones focus on the reclaimed upper pocket area, bearish zones focus on the reclaimed lower pocket area, and the dotted invalidation boundary remains beyond the failed side of the structure.
Dry-Up Watch labels can appear before final confirmation when the pullback already has strong volume contraction and acceptable structure. Rejected context boxes are optional and disabled by default because they are diagnostic, not actionable hold zones. Trigger labels remain compact and controlled by cooldown logic. The default behavior keeps the chart active enough to be useful without making it feel crowded or noisy.
🟨 Info Panel
The panel summarizes the current state:
Trend Side - bullish trend, bearish trend, or no clean trend.
Dry-Up Score - how strongly volume contracted inside the active or most recent pocket.
Pullback Depth - retracement depth relative to the prior impulse.
Trigger State - mapping, triggered, expired, boundary lost, trend lost, or waiting.
Failure Risk - a compact risk read based on depth, volume behavior, and pullback duration.
The panel location, panel theme, panel font size, and label font size are configurable from settings. The first panel row follows the AGPro Series standard format with a single merged blue header row.
🟪 What Makes This Different
This script is not a generic trend meter.
It is not a SuperTrend reaction tool.
It is not a broad continuation score dashboard.
It is not a volume spike or climax detector.
Low Volume Pullback Zones is focused on the relationship between trend continuation and volume contraction during the retracement itself. That makes the script different from tools that only measure trend strength, moving-average reclaim, breakout quality, support/resistance reactions, or high-volume pressure events.
The core question is:
Did the pullback become quiet enough, shallow enough, and controlled enough to justify a mapped continuation pocket?
That narrow question is what gives the script its identity.
🧭 How To Read It
Bullish dry-up pocket:
The trend filter is bullish, price retraces into the EMA lane, average RVOL contracts, depth remains controlled, and price reclaims the upper pocket boundary.
Bearish dry-up pocket:
The trend filter is bearish, price retraces upward into the EMA lane, average RVOL contracts, depth remains controlled, and price reclaims the lower pocket boundary.
Failure risk:
Failure risk rises when the pullback becomes too deep, too long, or too active in volume terms. A higher failure risk means the retracement is no longer behaving like a quiet continuation pause.
Invalidation boundary:
The dotted boundary marks the structural area where the active pocket is no longer considered valid.
⚙ Key Settings
Engine Preset:
Daily Swing is the default and is designed for cleaner publication-grade structure. 4H Active keeps more frequent lower-timeframe pockets. Custom uses the direct input values.
Fast / Mid / Slow EMA Lengths:
Control the trend structure used by the pullback engine.
Minimum ADX and Minimum EMA Slope:
Help the script avoid mapping dry-up pockets in flat conditions.
Relative Volume Length:
Defines the baseline used to measure volume dry-up.
Preferred Pullback RVOL:
Controls how quiet the pullback should be to receive full dry-up credit.
Preferred Max Depth:
Defines the ideal shallow retracement threshold.
Trigger Buffer:
Adds a small ATR-based confirmation buffer beyond the pullback pocket.
Pocket Projection Bars:
Controls how far completed pockets extend to the right.
Functional Zone Width:
Controls how much of the original pullback range is projected after confirmation. Smaller values create a tighter retest/hold pocket; larger values keep more of the original pullback structure.
Label Cooldown and Max Structures:
Keep the overlay readable and publication-clean.
📌 Best Use
This indicator is best used on markets that already show directional structure. It is designed for traders who study trend continuation, relative volume behavior, pullback quality, and invalidation-based chart structure.
It can be used across crypto, forex, indices, equities, and commodities, but the most useful results generally appear when the market has enough trend strength for low-volume retracements to matter.
🟧 Design Philosophy
Low Volume Pullback Zones [AGPro Series] was built to keep the chart premium and readable:
Clean pocket boxes instead of noisy background clutter.
Restrained watch and trigger labels instead of constant marker spam.
Visible invalidation boundaries instead of ambiguous zones.
Professional RVOL and depth scoring instead of simple moving-average touches.
Configurable panel and label sizing for different chart layouts.
The script is intentionally selective. Its strongest value comes from filtering out ordinary pullbacks and highlighting the ones where trend, volume dry-up, shallow depth, and continuation confirmation align.
🔷 Overview
Low Volume Pullback Zones [AGPro Series] is a trend-continuation overlay built for one very specific market behavior: a trend is already established, price retraces in a controlled way, volume dries up during that retracement, and the market later reclaims a continuation trigger.
The default profile is tuned for daily swing charts, where low-volume retracements usually form cleaner structural pockets and the chart has enough space for the boxes to read properly. A 4H Active preset is included for traders who want more frequent mapping, while Custom mode exposes the raw controls.
Many pullback tools focus only on price touching a moving average, a SuperTrend line, or a generic support/resistance area. This script is intentionally narrower. It looks for the quieter part of a trend: the moment where participation contracts during a retracement, the pullback stays shallow relative to the prior impulse, and a clean continuation pocket can be mapped with a visible invalidation boundary.
The goal is not to mark every trend candle. The goal is to isolate the cleaner pauses inside trend conditions where the pullback behaves like controlled absorption instead of aggressive reversal pressure.
🟩 What The Script Detects
The engine combines five layers:
1. Trend Side
The script first checks whether the market has a clean bullish or bearish trend profile using EMA alignment, EMA slope, DI direction, and ADX strength. If the trend is flat or mixed, the script avoids mapping low-quality pullbacks.
2. Low RVOL Retracement
During a pullback, the script measures relative volume against a rolling volume baseline. A stronger dry-up score means the retracement is happening with lighter participation, which often creates a cleaner continuation context than high-volume countertrend pressure.
3. Shallow Pullback Depth
The pullback is measured against the prior impulse reference range. Controlled retracements receive higher scores, while deep retracements move toward failure risk.
4. Continuation Trigger
The script waits for price to reclaim beyond the pullback pocket boundary with a small ATR buffer and relative-volume recovery. This prevents the chart from filling with premature pullback labels before the structure actually confirms.
5. Invalidation Boundary
Every active dry-up pocket has a structural boundary beyond the deepest pullback extreme. If price breaks that boundary, the pocket is treated as invalid rather than leaving an old setup on the chart.
🟦 Chart Visuals
The main visual layer is the Dry-Up Pullback Pocket.
When a valid pullback begins, the script draws a compact rectangular pocket around the retracement range. If the pocket confirms, the script projects a tighter functional retest/hold zone instead of extending the entire historical pullback range. This makes the zone easier to use: bullish zones focus on the reclaimed upper pocket area, bearish zones focus on the reclaimed lower pocket area, and the dotted invalidation boundary remains beyond the failed side of the structure.
Dry-Up Watch labels can appear before final confirmation when the pullback already has strong volume contraction and acceptable structure. Rejected context boxes are optional and disabled by default because they are diagnostic, not actionable hold zones. Trigger labels remain compact and controlled by cooldown logic. The default behavior keeps the chart active enough to be useful without making it feel crowded or noisy.
🟨 Info Panel
The panel summarizes the current state:
Trend Side - bullish trend, bearish trend, or no clean trend.
Dry-Up Score - how strongly volume contracted inside the active or most recent pocket.
Pullback Depth - retracement depth relative to the prior impulse.
Trigger State - mapping, triggered, expired, boundary lost, trend lost, or waiting.
Failure Risk - a compact risk read based on depth, volume behavior, and pullback duration.
The panel location, panel theme, panel font size, and label font size are configurable from settings. The first panel row follows the AGPro Series standard format with a single merged blue header row.
🟪 What Makes This Different
This script is not a generic trend meter.
It is not a SuperTrend reaction tool.
It is not a broad continuation score dashboard.
It is not a volume spike or climax detector.
Low Volume Pullback Zones is focused on the relationship between trend continuation and volume contraction during the retracement itself. That makes the script different from tools that only measure trend strength, moving-average reclaim, breakout quality, support/resistance reactions, or high-volume pressure events.
The core question is:
Did the pullback become quiet enough, shallow enough, and controlled enough to justify a mapped continuation pocket?
That narrow question is what gives the script its identity.
🧭 How To Read It
Bullish dry-up pocket:
The trend filter is bullish, price retraces into the EMA lane, average RVOL contracts, depth remains controlled, and price reclaims the upper pocket boundary.
Bearish dry-up pocket:
The trend filter is bearish, price retraces upward into the EMA lane, average RVOL contracts, depth remains controlled, and price reclaims the lower pocket boundary.
Failure risk:
Failure risk rises when the pullback becomes too deep, too long, or too active in volume terms. A higher failure risk means the retracement is no longer behaving like a quiet continuation pause.
Invalidation boundary:
The dotted boundary marks the structural area where the active pocket is no longer considered valid.
⚙ Key Settings
Engine Preset:
Daily Swing is the default and is designed for cleaner publication-grade structure. 4H Active keeps more frequent lower-timeframe pockets. Custom uses the direct input values.
Fast / Mid / Slow EMA Lengths:
Control the trend structure used by the pullback engine.
Minimum ADX and Minimum EMA Slope:
Help the script avoid mapping dry-up pockets in flat conditions.
Relative Volume Length:
Defines the baseline used to measure volume dry-up.
Preferred Pullback RVOL:
Controls how quiet the pullback should be to receive full dry-up credit.
Preferred Max Depth:
Defines the ideal shallow retracement threshold.
Trigger Buffer:
Adds a small ATR-based confirmation buffer beyond the pullback pocket.
Pocket Projection Bars:
Controls how far completed pockets extend to the right.
Functional Zone Width:
Controls how much of the original pullback range is projected after confirmation. Smaller values create a tighter retest/hold pocket; larger values keep more of the original pullback structure.
Label Cooldown and Max Structures:
Keep the overlay readable and publication-clean.
📌 Best Use
This indicator is best used on markets that already show directional structure. It is designed for traders who study trend continuation, relative volume behavior, pullback quality, and invalidation-based chart structure.
It can be used across crypto, forex, indices, equities, and commodities, but the most useful results generally appear when the market has enough trend strength for low-volume retracements to matter.
🟧 Design Philosophy
Low Volume Pullback Zones [AGPro Series] was built to keep the chart premium and readable:
Clean pocket boxes instead of noisy background clutter.
Restrained watch and trigger labels instead of constant marker spam.
Visible invalidation boundaries instead of ambiguous zones.
Professional RVOL and depth scoring instead of simple moving-average touches.
Configurable panel and label sizing for different chart layouts.
The script is intentionally selective. Its strongest value comes from filtering out ordinary pullbacks and highlighting the ones where trend, volume dry-up, shallow depth, and continuation confirmation align.
Notas de Lançamento
UPDATE NOTES - V1.1This update focuses on readability, visual hierarchy, label balance, panel structure, and cleaner pullback-zone interpretation.
The core purpose of the script remains unchanged.
This release improves how the existing low-volume pullback logic is presented, organized, and interpreted on the chart.
This script continues to function as an analytical and visualization tool.
It does not attempt to predict price direction or provide guaranteed outcomes.
------------------------
What Changed
------------------------
* Reworked the pullback-zone visual system.
The script still maps trend-aligned retracements where relative volume contracts, pullback depth remains controlled, and price later confirms continuation.
* Added centered labels inside completed pocket zones.
Qualified pullback zones now include compact centered labels so the zone itself communicates direction and quality without requiring extra chart clutter.
* Added automatic sub-4H visual cleanup.
Charts below 4H now reduce watch-only label density and retained historical structures by default, while the core trigger logic remains active.
* Refined watch and trigger label behavior.
Watch labels are more selective, trigger labels remain compact, and same-side cooldowns help prevent repeated labels from stacking too tightly.
* Improved panel standards.
The public script title no longer starts with AG Pro, while the panel title keeps AG Pro branding. The panel header remains a single merged blue row.
------------------------
Visual Improvements
------------------------
* Improved chart readability by adjusting dry-up pocket boxes, completed zones, trigger labels, watch labels, and invalidation boundaries.
* Reduced visual clutter while keeping the chart active enough for a premium public screenshot.
* Refined visual hierarchy so active pockets, completed zones, watch states, and trigger events are easier to separate.
* Adjusted label placement to keep labels away from candles using ATR-based spacing.
* Added centered zone labels inside completed pullback pockets.
------------------------
Interface & Usability
------------------------
* Optimized the panel layout for clearer information flow.
* Added panel location, theme, and font-size controls while keeping the panel visible by default.
* Added configurable label font size with Normal as the default.
* Added a Best View panel row to guide users toward the intended 1D / 4H interpretation profile.
* Added Auto Clean Sub-4H View to keep low-timeframe charts from becoming visually crowded.
------------------------
Behavior Notes
------------------------
This update does not change the core analytical purpose of the script.
The goal is to improve clarity and usability, not to introduce predictive behavior.
Users should interpret outputs the same way as before, but with improved visual structure, cleaner label density, centered zone context, and stronger panel clarity.
The automatic sub-4H cleanup affects visual density only. It does not disable the core trigger engine.
------------------------
Limitations Reminder
------------------------
The script remains a rule-based analytical tool.
Market conditions such as volatility, liquidity, timeframe compression, and volume data quality may affect how pullback pockets and trigger labels appear.
Outputs should always be interpreted within broader market context.
------------------------
Risk Reminder
------------------------
This script is for educational and analytical purposes only.
It does not provide financial advice or guaranteed trading outcomes.
Users remain responsible for their own decisions.
Notas de Lançamento
UPDATE NOTES - v1.2This update focuses on readability and a calmer, more complete chart view.
The core purpose of the script remains unchanged. This release improves how the
existing dry-up pockets, continuation zones, trigger labels, watch labels, and
panel read on both light and dark chart backgrounds.
This script continues to function as an analytical and visualization tool. It
does not attempt to predict price direction or provide guaranteed outcomes.
------------------------
What Changed
------------------------
- Zone label moved off the candles
The completed-pocket zone label now sits at the right edge of its projected
zone and stays vertically centered, instead of floating in the middle of the
zone where it could overlap recent candles.
- Theme-aware text everywhere
Watch labels, trigger labels, zone labels, and optional failure tags now
choose a text color that reads clearly on both light and dark backgrounds.
- Panel readability on both themes
Panel value colors were tuned so the trend, dry-up, depth, trigger, risk, and
best-view rows stay readable on the light theme as well as the dark theme.
- Calmer, more visible watch state
The watch-label quality threshold was relaxed slightly so constructive dry-up
pockets are surfaced a little earlier, giving a more complete chart view while
keeping the watch state selective.
------------------------
Visual Improvements
------------------------
- Zone label sits at the right edge of its zone, away from the candles.
- Contrast-safe watch, trigger, zone, and panel text on both themes.
- More balanced on-chart density so the view is less likely to look empty in
quiet conditions.
- Preserved the familiar pocket, zone, and invalidation-boundary layout.
------------------------
Interface & Usability
------------------------
- Cleaner, more readable pocket and trigger labeling.
- Improved panel contrast across all rows on both themes.
- Adjusted default visual presentation for a more balanced, premium appearance.
- Enhanced overall user experience without changing core logic.
------------------------
Behavior Notes
------------------------
This update does not change the core analytical logic of the script.
The trend filter, the dry-up pocket engine, the depth and RVOL scoring, the
continuation trigger conditions, and the invalidation logic all behave exactly
as before. Only the watch-label display threshold was relaxed slightly, which
affects when a watch label is shown, not how triggers are confirmed.
Users should interpret outputs the same way as before, but with a cleaner and
more readable presentation.
------------------------
Limitations Reminder
------------------------
The script remains a rule-based analytical tool.
Market conditions such as volatility, liquidity, and timeframe differences may
affect how pockets and triggers appear. Outputs should always be interpreted
within broader market context.
------------------------
Risk Reminder
------------------------
This script is for educational and analytical purposes only.
It does not provide financial advice or guaranteed trading outcomes. Users
remain responsible for their own decisions.
Notas de Lançamento
🔧 UPDATE NOTES - v1.3This update focuses on decision confidence and proof.
The core purpose of the script remains unchanged.
This release adds a confirmation-anchored proof layer that measures how often qualified dry-up
pullbacks continued in the trend direction before the pocket invalidation was lost.
This script continues to function as an analytical and visualization tool.
It does not attempt to predict price direction or provide guaranteed outcomes.
------------------------
What Changed
------------------------
• Added a Proof Layer (Follow / Hold / React / Flip)
The panel now reports how reliably qualified dry-up pullbacks continued on the current symbol
and timeframe. A pullback qualifies the moment its dry-up, depth, and quality reach the watch
grade (the same context behind the dry-up watch labels). From that point it is tracked forward
over a configurable horizon with the close as the entry, the pocket invalidation level as the
risk reference, and a one risk unit (1R) target in the trend direction:
- Follow Rate : share of qualified pullbacks that continued one risk unit in the trend
direction before the pocket invalidation was lost
- Hold Rate : share whose pocket invalidation was not lost through resolution
- React Rate : share that produced an early favorable continuation reaction
- Flip Rate : share whose pocket invalidation was lost within the horizon (the continuation
failed)
A sample size (n) is shown so the rates are read in context, and they display as "building"
only until the first qualified pullback resolves.
• Added hidden data outputs
The Follow / Hold / React / Flip rates are now added to the hidden plot outputs alongside the
existing last-dry-up-score, last-pullback-depth, and trend-direction values, so they can be
referenced by alerts, screeners, or other tools without changing the chart visuals.
• Streamlined the panel
Removed the redundant view row; the panel keeps the Trend, Dry-Up, Depth, Trigger, and Risk
rows and, when enabled, the proof block, for a more focused, decision-first dashboard.
------------------------
Visual Improvements
------------------------
• Grouped the proof metrics into a clean block under a dedicated "Proof @ Confirm" heading,
below the existing trend, dry-up, depth, trigger, and risk rows.
• Preserved the active and completed dry-up pocket zones, invalidation boundaries, centered
zone badges, watch labels, and continuation trigger labels.
• Made dry-up watch labels visible on lower timeframes as well; the sub-4H clean mode now keeps
the labels on chart and only tightens how many historical structures are retained, so 1H and
lower charts stay populated rather than appearing empty.
• Kept the merged blue header row and alternating-row dashboard styling across the dark and
light themes.
------------------------
Interface & Usability
------------------------
• Optimized panel layout for clearer information flow with the proof block.
• Improved at-a-glance interpretation by reporting how often confirmed triggers continued in
the trend direction before the pocket invalidation was lost.
• Adjusted default visual settings for a more balanced appearance.
• Added a Proof input group (show/hide, proof horizon bars, reaction window bars, reaction
progress threshold) so the proof layer is fully configurable without affecting the core
pullback engine.
------------------------
Behavior Notes
------------------------
This update does not change the core analytical logic of the script.
The proof rates are descriptive statistics of qualified dry-up pullbacks on the current symbol
and timeframe. They measure how often a qualified pullback continued one risk unit in the trend
direction before its pocket invalidation, not trade performance, and they do not change how the
trend, dry-up score, depth, quality, triggers, or zones are produced.
Users should interpret outputs the same way as before, now with added reliability context.
------------------------
Limitations Reminder
------------------------
The script remains a rule-based analytical tool.
Proof rates depend on the available history and on how many qualified dry-up pullbacks occurred
on the current symbol and timeframe; a small sample (low n) should be treated with caution.
Each qualified pullback is counted once, with the close entry, pocket-invalidation risk, and 1R
trend target frozen at qualification. Market conditions such as volatility, liquidity, and
timeframe differences may affect how pullbacks and rates appear.
Outputs should always be interpreted within broader market context.
------------------------
Risk Reminder
------------------------
This script is for educational and analytical purposes only.
It does not provide financial advice or guaranteed trading outcomes.
Users remain responsible for their own decisions.
Script de código aberto
Em verdadeiro espírito do TradingView, o criador deste script o tornou de código aberto, para que os traders possam revisar e verificar sua funcionalidade. Parabéns ao autor! Embora você possa usá-lo gratuitamente, lembre-se de que a republicação do código está sujeita às nossas Regras da Casa.
Public-free scripts + invite-only AGPro workflows for market analysis, liquidity context, risk planning and execution review.
Rules-based. No hype. No guesswork.
Library & access: agprolabs.com/
Telegram: t.me/agprolabs
Rules-based. No hype. No guesswork.
Library & access: agprolabs.com/
Telegram: t.me/agprolabs
Aviso legal
As informações e publicações não se destinam a ser, e não constituem, conselhos ou recomendações financeiras, de investimento, comerciais ou de outro tipo fornecidos ou endossados pela TradingView. Leia mais nos Termos de Uso.
Script de código aberto
Em verdadeiro espírito do TradingView, o criador deste script o tornou de código aberto, para que os traders possam revisar e verificar sua funcionalidade. Parabéns ao autor! Embora você possa usá-lo gratuitamente, lembre-se de que a republicação do código está sujeita às nossas Regras da Casa.
Public-free scripts + invite-only AGPro workflows for market analysis, liquidity context, risk planning and execution review.
Rules-based. No hype. No guesswork.
Library & access: agprolabs.com/
Telegram: t.me/agprolabs
Rules-based. No hype. No guesswork.
Library & access: agprolabs.com/
Telegram: t.me/agprolabs
Aviso legal
As informações e publicações não se destinam a ser, e não constituem, conselhos ou recomendações financeiras, de investimento, comerciais ou de outro tipo fornecidos ou endossados pela TradingView. Leia mais nos Termos de Uso.