Momentum Saturation Zones [JOAT]Momentum Saturation Zones
Introduction
Momentum Saturation Zones is an open-source indicator that detects when momentum has reached an extreme and then begins pulling back, marks the price level where that extreme occurred as a zone, and tracks the zone's structural validity until price either respects or invalidates it. The premise is that momentum peaks and troughs at significant price levels leave structural imprints — areas where the market demonstrated conviction — that subsequently act as reference points for support or resistance.
The key differentiator from a simple overbought/oversold indicator is the composite strength scoring: a zone is only created when a configurable minimum score is reached, incorporating the momentum extreme level, the magnitude of the pullback, volume at the peak bar, and whether a divergence is present.
Core Concepts
1. Multi-Source Momentum
The momentum signal is selectable from five sources: RSI, Rate of Change (normalized), MFI, Stochastic RSI, or a composite average of all four. The composite mode averages RSI, normalized ROC, MFI, and StochRSI into a single signal, reducing single-indicator noise while retaining each component's contribution:
float momSeries = (rsiRaw + rocNorm + mfiRaw + stochD) / 4.0
2. Adaptive Pullback Detection
The saturation trigger fires when momentum has pulled back from a rolling peak by more than a configurable percentage threshold. The threshold is adaptive — scaled by the current ATR relative to its 50-bar average. In high-volatility regimes the required pullback is larger; in low-volatility regimes it is smaller. This prevents premature triggers in noisy markets and late triggers in calm ones.
3. Composite Strength Scoring (0-100)
Each potential zone is scored before creation. The score combines four components: how extreme the momentum peak was (0-40 points), how far beyond the threshold the pullback reached (0-20 points), the volume ratio at the peak bar relative to average (0-20 points), and whether momentum divergence is present (0-20 points). Only zones meeting the minimum score gate are created:
float extrem = math.max(0.0, math.min(40.0, (peakAbsMom - 50.0) * 40.0 / 50.0))
float pbScore = math.max(0.0, math.min(20.0, (actualPb - adaptPct) * 2.0 + 10.0))
float volScore = math.max(0.0, math.min(20.0, (volRatio - 1.0) * 20.0))
float divScore = bearDiv and i_useDiv ? 20.0 : 0.0
4. Zone Anchor Logic
Bear resistance zones are anchored at the candle high of the peak bar with the zone extending upward by one ATR multiple — the bottom edge sits exactly at the candle high so price must reach up to touch the zone. Bull support zones are anchored at the candle low of the trough bar with the zone extending downward — the top edge sits at the candle low so price must come back down to touch it.
5. Zone Lifecycle and Touch Counting
Each zone tracks how many times price has returned to it (touch counter displayed in the label). When price closes beyond the invalidation offset, the zone is deleted entirely — no ghost boxes remain. A proximity check before creation prevents duplicate zones from stacking at the same price level.
Features
Five momentum sources: RSI, ROC, MFI, StochRSI, or Composite average
Adaptive pullback threshold: ATR-normalized trigger scaled to current volatility regime
Composite strength scoring (0-100): Extremity, pullback depth, volume, and divergence components
ATR-anchored zones: Three-layer gradient zones (outer, mid, core) with center line
Proper candle anchoring: Resistance bottoms at candle high; support tops at candle low
Touch counting: Zone labels update each time price retests the zone
Proximity deduplication: No duplicate zones within 1.5 ATR of same-side existing zones
Clean invalidation: Zones deleted entirely on invalidation — no ghost boxes
Divergence detection: Momentum divergence contributes bonus points to strength score
Candle coloring: Candles tinted when price is inside or within 0.5 ATR of a valid zone
Dashboard: Momentum value, pullback threshold, volatility regime, active zone count, and directional strength scores
Input Parameters
Momentum Configuration:
Momentum Source: RSI, ROC, MFI, StochRSI, or Composite (default: Composite)
Momentum Length: Period for all momentum calculations (default: 14)
Peak Lookback Bars: Rolling window for peak/trough detection (default: 50)
Saturation Trigger:
Adaptive ATR Threshold toggle (default: on)
Pullback % from Peak: Required pullback to trigger (default: 10%)
RSI Overbought/Oversold: Absolute extreme levels for gate (default: 70/30)
Cooldown Bars: Minimum bars between zone creation events (default: 10)
Zone Settings:
Max Active Zones: Simultaneous zone cap (default: 4)
ATR Length: ATR period for zone sizing (default: 14)
Zone Width (x ATR): Zone height as ATR multiple (default: 1.0)
Invalidation Offset %: Margin beyond zone for invalidation trigger (default: 0.3%)
How to Use This Indicator
Step 1: Read the Zone Strength
Zones display their strength score (0-100) in the label. Higher-scoring zones represent confluences of multiple factors and are historically more likely to produce price reactions.
Step 2: Use Touch Count for Context
A zone touched twice and holding is more significant than a freshly-created zone. A zone touched three or more times that eventually breaks is exhausted — expect the break to accelerate.
Step 3: Watch for Candle Color Changes Near Zones
The candle coloring activates when price enters the zone or comes within 0.5 ATR of it. This provides a passive alert that price is approaching a structural reference.
Indicator Limitations
Momentum peaks do not always coincide with price extremes — the zone is placed at the price of the peak momentum bar, which may differ from the highest/lowest price in the lookback
In strongly trending markets, zones on the trend side may be repeatedly invalidated as trend continues
The strength score is a composite heuristic, not a backtested predictor of zone success rate
Originality Statement
The composite strength scoring system — combining momentum extremity, pullback depth, volume, and divergence into a single 0-100 gate — applied to zone creation is the original analytical contribution. The proper candle-edge anchoring (resistance bottom at candle high, support top at candle low), proximity deduplication, and clean deletion on invalidation are implementation details not present in most published support/resistance zone indicators.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Momentum saturation zones are historical reference levels and do not predict future price reactions. Trading involves substantial risk of loss.
-Made with passion by jackofalltrades
Penunjuk

Auto Trendline BreaksAuto Trendline Breaks
Auto Trendline Breaks is a visual trendline analysis indicator that automatically detects confirmed swing highs and swing lows, builds validated support and resistance trendlines from those pivot points, and marks close-through trendline break events on the chart.
The purpose of this script is to reduce manual trendline drawing and help traders monitor diagonal support, diagonal resistance, confirmed pivot structure, and trendline break events in a more systematic way.
This script is an indicator, not a trading strategy. It does not place orders, does not calculate backtest results, and does not guarantee that any trendline break will lead to continuation or profit. It is designed for visual chart analysis, structure monitoring, and alert-based observation only.
Important note about signals
Auto Trendline Breaks does not generate direct buy or sell signals.
The labels and markers shown by the script are technical structure markers only. They are designed to show confirmed pivots, validated trendlines, and close-through break events.
Confirmed Peak markers are not sell signals.
Confirmed Trough markers are not buy signals.
BRK R labels are not buy signals.
BRK S labels are not sell signals.
The script does not provide trade entries, trade exits, stop-loss levels, take-profit levels, or strategy performance results. Any trading decision must come from the user’s own analysis, confirmation method, and risk-management process.
Important note about repainting and pivot delay
The Confirmed Peak and Confirmed Trough markers are based on confirmed pivot logic.
A pivot high or pivot low is only confirmed after the selected number of Pivot Right Bars has passed. For that reason, the marker appears with a natural confirmation delay.
After a pivot marker is confirmed and printed, it is not intended to move from that pivot bar. However, the marker is plotted back on the original pivot candle using an offset, so it should not be interpreted as a real-time signal that was known on that historical candle.
For example, if Pivot Right Bars is set to 10, the script needs 10 bars after a possible peak or trough before confirming it. Once confirmed, the marker is plotted on the original pivot candle for visual clarity.
This behavior is normal for pivot-based indicators. It helps identify confirmed swing structure, but it also means these markers are delayed structure markers, not real-time entry signals.
Main visual elements
The script focuses on four main visual elements:
1. Confirmed Peak markers
2. Confirmed Trough markers
3. Resistance and support trendlines
4. BRK R / BRK S trendline break labels
5. Confirmed Peak markers
A Confirmed Peak marker appears above a candle when the script confirms a swing high using pivot logic.
A swing high is confirmed only after the required number of bars has formed to the right of the potential pivot. This creates a natural delay, which is expected behavior for pivot-based indicators.
Confirmed Peak markers are used by the script as potential resistance anchor points.
They may appear in the Style tab as:
* Confirmed Peak Tiny
* Confirmed Peak Small
* Confirmed Peak Normal
These three Style entries exist because TradingView displays each plotshape used for different marker sizes. The user controls the active marker size from the indicator settings using the Pivot Marker Size input. Only the selected marker size is intended to be visible on the chart.
Confirmed Peak markers are not sell signals. They only identify confirmed swing highs used by the trendline engine.
2. Confirmed Trough markers
A Confirmed Trough marker appears below a candle when the script confirms a swing low using pivot logic.
A swing low is confirmed only after the required number of bars has formed to the right of the potential pivot. This creates a natural delay, which is expected behavior for pivot-based indicators.
Confirmed Trough markers are used by the script as potential support anchor points.
They may appear in the Style tab as:
* Confirmed Trough Tiny
* Confirmed Trough Small
* Confirmed Trough Normal
These three Style entries exist because TradingView displays each plotshape used for different marker sizes. The user controls the active marker size from the indicator settings using the Pivot Marker Size input. Only the selected marker size is intended to be visible on the chart.
Confirmed Trough markers are not buy signals. They only identify confirmed swing lows used by the trendline engine.
3. Resistance trendlines
Resistance trendlines are built from confirmed swing highs, also called confirmed peaks.
The script scans recent confirmed peaks and attempts to build a validated resistance line from them. A resistance line is accepted only if it passes the script’s validation rules.
A valid resistance trendline must:
* connect confirmed swing-high pivots,
* respect the selected line direction mode,
* stay within the ATR-based tolerance,
* receive the required number of touches,
* avoid being too old based on the Max Anchor Age setting.
Resistance trendlines are visual resistance references only. They are not automatic short entries and are not guaranteed rejection areas.
4. Support trendlines
Support trendlines are built from confirmed swing lows, also called confirmed troughs.
The script scans recent confirmed troughs and attempts to build a validated support line from them. A support line is accepted only if it passes the script’s validation rules.
A valid support trendline must:
* connect confirmed swing-low pivots,
* respect the selected line direction mode,
* stay within the ATR-based tolerance,
* receive the required number of touches,
* avoid being too old based on the Max Anchor Age setting.
Support trendlines are visual support references only. They are not automatic long entries and are not guaranteed bounce areas.
5. BRK R label
BRK R means Resistance Trendline Broken.
This label appears when price closes above an active resistance trendline after being at or below the same trendline on the previous bar.
BRK R is shown in green by default because it represents price closing above a resistance trendline. It is a resistance-break event only.
BRK R does not mean “Buy.”
BRK R is not a buy signal.
BRK R does not guarantee continuation.
BRK R only identifies that price closed through a detected resistance trendline.
Users may choose to study that event with their own trend, volume, market structure, and risk-management methods.
6. BRK S label
BRK S means Support Trendline Broken.
This label appears when price closes below an active support trendline after being at or above the same trendline on the previous bar.
BRK S is shown in red by default because it represents price closing below a support trendline. It is a support-break event only.
BRK S does not mean “Sell.”
BRK S is not a sell signal.
BRK S does not guarantee continuation.
BRK S only identifies that price closed through a detected support trendline.
Users may choose to study that event with their own trend, volume, market structure, and risk-management methods.
How the indicator works
1. Swing detection
The indicator uses pivot logic to identify confirmed swing highs and confirmed swing lows.
A swing high is confirmed when the selected source forms a high with enough bars on both sides.
A swing low is confirmed when the selected source forms a low with enough bars on both sides.
The user controls this with:
Pivot Left Bars
Pivot Right Bars
Because the script waits for right-side bars before confirming a pivot, the peak and trough markers appear after confirmation. This is normal for pivot-based logic and helps avoid using unstable unconfirmed swing points.
2. Anchor source
The user can choose how trendline anchors are calculated:
Wicks (High/Low)
Uses candle highs for resistance and candle lows for support.
Closes
Uses closing prices instead of wick extremes.
Wick-based trendlines are more reactive because they use the full candle range.
Close-based trendlines are usually cleaner and more conservative because they ignore wick extremes.
3. Trendline construction
When a new confirmed peak or trough appears, the script scans recent pivots from the same side.
For resistance, the script scans confirmed peaks.
For support, the script scans confirmed troughs.
The script then tests possible anchor pairs to decide whether a valid line can be drawn.
A valid trendline must pass several checks:
* the line must connect two confirmed pivots,
* the line direction must be allowed by the selected mode,
* price must not pierce the line beyond the ATR-based tolerance,
* the line must have at least the required number of touches,
* the anchor must not be older than the selected maximum age.
4. Line validation
The script validates a candidate trendline from the first anchor point to the current bar.
For a resistance line, the script checks whether highs remain below or near the line.
For a support line, the script checks whether lows remain above or near the line.
If price pierces the candidate line by more than the selected ATR tolerance, the candidate is rejected.
This means the script does not simply connect any two pivots. It attempts to draw only lines that price has respected within the selected tolerance.
5. Touch count
The script counts how many times price touches or comes close to the candidate trendline.
Minimum Touches controls how many touches are required before a line is drawn.
A higher value creates fewer but more selective trendlines.
A lower value creates more trendlines but may increase noise.
6. ATR-based tolerance
The tolerance setting uses ATR to adjust for volatility.
Tolerance (ATR multiple) defines how much price can touch or slightly pierce a line without invalidating it.
This makes the trendline logic more adaptive across different symbols and timeframes.
7. Line direction mode
The script includes two direction modes:
Classic only
Resistance lines must slope downward or remain flat. Support lines must slope upward or remain flat. This is the default textbook interpretation of falling resistance and rising support.
Any slope
Allows all valid slopes if the line passes the validation rules. This can be useful for channel edges, but it may produce more lines on choppy charts.
8. Active trendlines
Active trendlines remain visible while they are not broken or retired.
The user can choose how active lines are projected:
Extend Right
Active lines continue extending to the right.
Limited Projection
Lines are only projected a selected number of bars into the future.
9. Break detection
A break is detected only when price closes through an active trendline.
Resistance break
A resistance break occurs when price closes above an active resistance trendline after being at or below it on the previous bar.
Support break
A support break occurs when price closes below an active support trendline after being at or above it on the previous bar.
The indicator can display labels:
BRK R or BREAK R
Price closed above a resistance trendline.
BRK S or BREAK S
Price closed below a support trendline.
These labels are technical break labels only. They are not automatic buy or sell signals.
10. Broken lines
When a trendline is broken, the user can choose whether the line remains visible.
If Keep Broken Lines is enabled, the line remains on the chart as a broken or faded line and stops extending at the break candle.
If Keep Broken Lines is disabled, the broken line is hidden after the break.
11. Expired / retired lines
The script can retire lines that become too far from current price.
This is controlled by:
Retire Line Beyond (ATR multiple)
If an active line is farther than the selected ATR multiple from price, it is retired visually.
A retired line is not the same as a breakout. It only means the line is no longer close enough to current price to remain useful as an active reference.
Support lines that project at or below zero can also be retired to avoid unrealistic projections on low-priced instruments.
12. Smart BREAK label placement
The latest version includes Smart BREAK Label Placement to improve readability.
Earlier versions could place break labels too close to candles or away from the exact line that was broken. This version uses a combined placement method:
* The label is linked to the broken trendline price.
* The label is printed on the actual break candle by default.
* The label is prevented from touching or entering the candle body or wick.
* If the broken trendline is too close to the candle, the label is automatically moved away using an ATR-based minimum gap.
This helps users see both the break event and the price structure without covering the candle.
The relevant settings are:
Place BREAK Label At Broken Line
Places the label near the broken trendline price.
BREAK Label Offset From Broken Line
Controls how far the label is placed from the broken trendline.
Minimum BREAK Label Gap From Candle
Defines the minimum distance between the label and the candle. This prevents labels from overlapping candles.
Fallback BREAK Label Distance from Candle
Used when label placement at the broken line is disabled.
BREAK Label Horizontal Offset Bars
Moves the label to the right if desired. The default is 0 so the label stays on the actual break candle.
Minimum Bars Between BRK R Labels
Optional filter to reduce repeated resistance-break labels.
Minimum Bars Between BRK S Labels
Optional filter to reduce repeated support-break labels.
Only Label Visible Active Lines
When enabled, labels are printed only for lines that were active and visible before the break.
These settings affect label placement and visual clarity. They do not change the underlying break logic.
Settings explained
Swing Detection
Pivot Left Bars
Controls how many bars to the left are required to confirm a swing point. Higher values create fewer but more significant pivots.
Pivot Right Bars
Controls how many bars to the right are required before a pivot is confirmed. Higher values create stronger confirmation but increase delay.
Anchor Source
Selects whether trendlines use wick extremes or closing prices.
Wicks (High/Low) uses the candle high for resistance and candle low for support.
Closes uses closing prices for cleaner close-based trendlines.
Line Construction
Pivots Scanned Per Side
Controls how many recent peaks or troughs are scanned when building a new line.
Tolerance (ATR multiple)
Controls how much price can touch or slightly pierce a candidate line without invalidating it.
ATR Length
Controls the ATR calculation used for tolerance, label spacing, and retirement distance.
Allowed Line Direction
Controls whether the indicator draws only classic falling resistance and rising support, or allows any valid slope.
Minimum Touches
Controls how many touches are required before a trendline is drawn.
Max Anchor Age (bars)
Prevents very old pivots from being used as anchors.
Retire Line Beyond (ATR multiple)
Retires active lines that become too far from current price.
Display
Max Lines Per Side
Controls how many resistance and support lines remain on the chart.
Line Projection Mode
Selects whether active lines extend right or use limited future projection.
Limited Projection Bars
Controls the projection length when Limited Projection is selected.
Show Active Lines
Shows or hides active trendlines.
Keep Broken Lines
Keeps broken trendlines visible after price closes through them.
Show Expired Lines
Shows or hides retired trendlines.
Active Line Width
Controls the thickness of active lines.
Broken / Expired Line Width
Controls the thickness of broken and expired lines.
Broken Line Style
Controls the style of broken lines: solid, dashed, or dotted.
Expired Line Style
Controls the style of retired lines: solid, dashed, or dotted.
Resistance Trendline Color
Controls the color of resistance trendlines.
Support Trendline Color
Controls the color of support trendlines.
Active Line Transparency
Controls the visibility of active trendlines.
Broken Line Transparency
Controls the visibility of broken trendlines.
Expired Line Transparency
Controls the visibility of retired trendlines.
Mark Swing Points
Shows or hides confirmed peak and trough markers.
Pivot Marker Size
Controls which confirmed pivot marker size is shown on the chart: Tiny, Small, or Normal.
Peak Marker Color
Controls the color of confirmed peak markers.
Trough Marker Color
Controls the color of confirmed trough markers.
Important note about the Style tab
TradingView may show separate Style entries for Confirmed Peak Tiny, Confirmed Trough Tiny, Confirmed Peak Small, Confirmed Trough Small, Confirmed Peak Normal, and Confirmed Trough Normal. These are not separate signals. They are the internal visual outputs used to support the selectable Pivot Marker Size setting.
Breakout Labels
Show BREAK Labels
Shows or hides labels when price closes through a trendline.
BREAK Label Text
Compact mode displays BRK R and BRK S.
Full mode displays BREAK R and BREAK S.
Break Label Size
Controls the size of the break labels.
Break Label Style
Controls whether labels appear as directional arrow labels or simple labels.
Place BREAK Label At Broken Line
Places the label near the broken trendline price.
BREAK Label Offset From Broken Line
Controls the ATR-based distance between the label and the broken trendline price.
Minimum BREAK Label Gap From Candle
Prevents the break label from touching or entering the candle.
Fallback BREAK Label Distance from Candle
Controls label distance from the candle when line-based placement is disabled.
BREAK Label Horizontal Offset Bars
Moves break labels to the right if desired. Default is 0 so the label remains on the break candle.
Only Label Visible Active Lines
When enabled, labels are printed only when the broken line was active and visible before the break.
Minimum Bars Between BRK R Labels
Limits how frequently resistance-break labels can appear.
Minimum Bars Between BRK S Labels
Limits how frequently support-break labels can appear.
BRK R Color - Resistance Broken Up
Controls the label color for resistance breaks. Green is the default because price closed above resistance.
BRK S Color - Support Broken Down
Controls the label color for support breaks. Red is the default because price closed below support.
BREAK Label Transparency
Controls the label background transparency.
BREAK Label Text Color
Controls the text color of break labels.
Alerts
Enable Alerts
Allows the script alert conditions to be used. Alerts must still be created manually from TradingView’s alert menu.
Alerts included
Resistance Trendline Broken
Triggered when price closes above an active resistance trendline.
Support Trendline Broken
Triggered when price closes below an active support trendline.
New Resistance Trendline
Triggered when a new validated resistance trendline is confirmed and drawn.
New Support Trendline
Triggered when a new validated support trendline is confirmed and drawn.
These alerts are notifications only. They do not instruct the user to buy or sell.
How to use this indicator
A practical workflow:
1. Choose pivot sensitivity using Pivot Left Bars and Pivot Right Bars.
2. Use Wicks for more reactive trendlines or Closes for cleaner close-based trendlines.
3. Set Minimum Touches to 3 or higher for more selective lines.
4. Use Classic only for traditional falling resistance and rising support.
5. Use Confirmed Peak and Confirmed Trough markers to understand which pivots the engine uses.
6. Watch active support and resistance trendlines as structure references.
7. Treat BRK R and BRK S labels as trendline break events, not as standalone trade signals.
8. Use Smart BREAK label placement settings if labels are too close to candles or if you want labels placed near the broken line.
9. Combine any break with market structure, volume, trend context, and risk management.
Example interpretation
If price closes above an active resistance trendline, the script may display BRK R. This means price closed through a detected resistance trendline. A trader may then study whether the market structure supports continuation, but the label itself is not a buy signal.
If price closes below an active support trendline, the script may display BRK S. This means price closed through a detected support trendline. A trader may then study whether the break changes market structure, but the label itself is not a sell signal.
If a Confirmed Peak marker appears, it means a swing high was confirmed by the pivot logic. It does not mean the user should sell.
If a Confirmed Trough marker appears, it means a swing low was confirmed by the pivot logic. It does not mean the user should buy.
If a line becomes expired or retired, it means the line is no longer close enough to current price or no longer useful as an active reference. This is not a breakout signal.
Important limitations
This indicator does not predict future price movement.
It does not generate guaranteed buy or sell signals.
It does not place orders.
It does not provide backtesting results.
Pivot points are confirmed only after the selected number of right bars has passed.
Confirmed Peak and Confirmed Trough markers appear after pivot confirmation and therefore have a natural delay.
Confirmed Peak and Confirmed Trough markers are plotted back on the original pivot candle for visual clarity, so they should not be interpreted as real-time signals on that candle.
After confirmation, pivot markers are not intended to move, but the user must understand that they were only known after the required confirmation bars.
Trendlines are algorithmic approximations and may differ from manually drawn trendlines.
Different pivot settings can produce different lines.
A close-through break does not guarantee continuation.
Smart BREAK label placement changes only the visual location of labels. It does not change the break calculation.
ATR-based tolerance and ATR-based label distance may need adjustment for different symbols, timeframes, and volatility conditions.
Very volatile or low-liquidity instruments may produce more frequent line changes.
Recommended use
Auto Trendline Breaks is best used as a visual support and resistance tool for traders who study:
* swing highs and swing lows,
* confirmed peaks and troughs,
* diagonal support and resistance,
* trendline breaks,
* structure shifts,
* breakout monitoring,
* manual chart-reading support.
It is intended for visual analysis, educational use, and workflow organization. It should not be used as a standalone trading system or as financial advice.
Originality and purpose
Auto Trendline Breaks provides a systematic and configurable method for drawing trendlines from confirmed swing points.
Instead of only connecting the latest two highs or lows, the script:
* stores confirmed peaks and troughs,
* scans recent pivot anchors,
* validates possible trendlines against historical price action,
* requires a minimum number of touches,
* applies ATR-based tolerance,
* manages active, broken, and expired line states,
* provides optional confirmed pivot markers,
* provides optional break labels,
* provides Smart BREAK label placement,
* provides alert conditions for line creation and trendline breaks.
The purpose is to help users monitor support and resistance structure without manually redrawing every trendline.
Penunjuk

Anchored VWAP Confluence Volume-Weighted Bands & MTF LevelsANCHORED VWAP CONFLUENCE — Decayed Line, Volume-Weighted Bands & MTF Levels
OVERVIEW
This is an anchored-VWAP framework that turns a single VWAP line into a complete fair-value workspace. It plots an anchored VWAP, a faster "decayed" VWAP, a rolling VWAP, proper volume-weighted standard-deviation bands, higher-timeframe VWAP levels that act as support and resistance, and a regime read — and it calibrates its own signals against the symbol's own past so you can see how often they actually followed through. Everything is derived from one idea (volume-weighted price) so the components reinforce each other rather than competing for screen space.
WHY THESE COMPONENTS ARE COMBINED (and how they work together)
A plain VWAP tells you fair value but nothing about momentum, dispersion, higher-timeframe structure, or reliability. Each component here answers a different one of those questions, and they are meant to be read together as one picture:
- ANCHORED VWAP is the reference: fair value accumulated since a chosen event (the session, a swing pivot, or a manual click). Every other element is measured relative to this line, which is why it sits at the centre of the engine rather than being one more overlay.
- DECAYED FAST VWAP is the same VWAP with an exponential half-life applied to its volume weights, so it responds faster to recent flow. On its own a fast line is just noise; paired with the anchored line it becomes a momentum signal — when the fast line crosses the slow line, near-term flow has shifted relative to fair value. This is a fast/slow pair built from a single construct, not two unrelated indicators.
- VOLUME-WEIGHTED SIGMA BANDS measure dispersion around fair value. They are computed from the running second moment (sigma = square root of E - (E )^2), volume-weighted and reset-aware, not a price-only standard deviation slapped onto the VWAP. Because the bands scale with volume-weighted dispersion, "stretched" means the same thing on any instrument and in any regime — which is what lets the cross and stretch signals be compared and calibrated across assets.
- ROLLING VWAP provides a second, independent cross of the anchored line, so a shift confirmed by both the decayed and the rolling line carries more weight than either alone.
- MULTI-TIMEFRAME VWAP LEVELS are the rolling VWAP computed at 3x, 5x and 15x the chart timeframe and drawn as horizontal levels. Higher-timeframe fair value is where larger participants transact, so these levels frequently act as support and resistance. They are coloured by role — green when a level sits below price (support), red when above (resistance) — and weighted by horizon, so the longer-timeframe level is visually the heaviest.
- REGIME + CALIBRATION are the quality layer. An efficiency-ratio and ADX read classifies the market as trending, mixed or choppy, and (optionally) filters the cross signals so they are not taken in chop. Separately, the script tracks, past-only, how often a cross was followed by a move and how often a stretch reverted toward fair value, reporting each as a percentage with a confidence interval. This is what separates a measured framework from a drawing tool: the signals are scored against the instrument's own history.
Read together: the anchored VWAP gives you fair value, the bands tell you how stretched price is, the decayed/rolling crosses tell you when flow shifts, the higher-timeframe levels tell you the structure price is moving inside, the regime tells you whether to trust a signal, and the calibration tells you how those signals have behaved here before.
HOW TO USE IT
1. Pick an anchor mode in settings — Session, Pivot High, Pivot Low, or Manual (click a bar). The anchored VWAP and its bands rebuild from that point.
2. Use the trend-coloured anchored VWAP as fair value. Price above it is in the upper half of value, below it the lower half.
3. Watch the decayed line crossing the anchored line (triangles) as a momentum-shift cue, and treat crosses that occur in a non-choppy regime as higher quality (the regime filter does this for you when enabled).
4. Treat the +/- sigma stretches (circles) as extension — price is far from fair value and historically prone to revert; the table shows how often that has happened on this symbol.
5. Use the 3x/5x/15x VWAP levels as support/resistance targets and invalidation references; alignment of price above or below all three is shown compactly in the table.
6. Read the table for direction, extension (as a z-score), regime, higher-timeframe alignment, and the past-only follow-through rates.
WHAT MAKES IT ORIGINAL
It is not a single-line VWAP or a generic band script. The combination is the point: a decayed fast/slow VWAP pair, a correct volume-weighted sigma from the running second moment, multi-timeframe VWAP support/resistance, regime-gated signals, and a per-symbol calibration of both the cross and the stretch. The calibration in particular — measuring the script's own signals against the symbol's own past rather than assuming they work — is not something a standard VWAP provides.
WORKS ON ANY ASSET (universal)
The price SOURCE is selectable in the settings, so the engine runs on any market — futures, indices, FX, crypto, or stocks. VWAP requires volume; on symbols that report none, you can borrow volume from a reference symbol so the script still functions. All thresholds are sigma- and ATR-relative, so nothing is tied to one instrument's price scale.
SETTINGS SUMMARY
- Data Source: price source (default HLC3) and an optional volume-borrow symbol for no-volume instruments.
- Anchor & Lines: anchor mode, pivot length, manual anchor time, decay half-life, rolling window, slope smoothing.
- Signals & Regime: stretch threshold (in sigma), and an option to show crosses only in a non-choppy regime.
- Higher-Timeframe VWAP: show the 3x/5x/15x bias, and draw them as support/resistance levels.
- Calibration: enable tracking, evaluation horizon, and minimum follow-through in ATR.
- Visuals: Auto/Dark/Light theme, bull/bear colours, gradient fill, line glow, table, and table position.
The script also prints its name, the symbol and the timeframe on the chart so it is always clear what is being viewed.
LIMITATIONS (please read)
- Pivot anchors confirm only after the pivot length in bars, so a new pivot anchor appears with that delay (it is always drawn at its true historical bar).
- The higher-timeframe levels are live VWAPs and firm up as their higher-timeframe bar closes.
- Calibration is descriptive of past behaviour only and is not a forecast.
- Everything here is probabilistic context, not a prediction or a guarantee.
DISCLAIMER
This is a study / indicator for chart analysis and education only. It is NOT a strategy, NOT a recommendation, and NOT financial advice. It places no orders and guarantees no outcome. Trading involves risk. Do your own research and manage your own risk.
Penunjuk

Open Grid MatrixHave you ever paid close attention to the open price?
It is more than just the first traded price of a session or timeframe.
It often becomes the boundary between bullish and bearish intent, a line where conflicting expectations, positioning, and reactions collide.
This indicator was built to visualize those open prices across multiple timeframes in a clean and practical way.
Open Grid Matrix displays the open levels of several key timeframes on a single chart, allowing you to track how price behaves around them in real time. These levels often act as subtle but important reference points for continuation, rejection, hesitation, and momentum shifts.
In addition to the horizontal open lines, the indicator also plots vertical marker lines. These are aligned with repeating interval structures, especially the common 30-minute rhythm where scheduled data releases, market transitions, liquidity shifts, and session-based reactions often cluster.
What this indicator does
* Plots multiple timeframe open prices on one chart
* Extends each open line forward until the next open of the same timeframe
* Displays vertical interval markers to help frame timing structure
* Lets higher timeframe opens stand out more clearly with thicker line settings
* Uses distinct colors for each timeframe so you can quickly separate lower and higher timeframe references
Why open prices matter
Open prices are often overlooked compared to highs, lows, or closing levels, but they can be highly useful because they represent a reset point in market participation.
They can help you identify:
* bullish or bearish acceptance around a level
* hesitation and indecision zones
* intraday reaction points
* higher timeframe directional references
* areas where multiple opens begin to cluster together
How to read it
Lower timeframe opens can help with short-term structure and execution.
Higher timeframe opens can serve as broader directional anchors.
For example:
* lower timeframe open lines can highlight intraday balance shifts
* daily and weekly opens can act as strong reference zones
* monthly opens can provide a wider structural boundary
* vertical interval lines can help you anticipate moments where timing itself becomes important
Who it is for
This tool is designed for traders who like to read the chart through structure, timing, and reaction rather than relying only on conventional indicators.
It is especially useful for traders who want to keep important session and timeframe opens visible at all times without manually drawing them.
Open Grid Matrix is a visual framework for traders who believe that where price opens often matters just as much as where price moves. Penunjuk

Pivot Points Mapped [Probalist Essentials]Pivot Points Mapped turns the standard pivot grid into a measured one. Pick your formula (Classic, Fibonacci, Camarilla, Woodie) and the grid timeframe follows your chart (intraday→Daily, daily→Weekly, weekly→Monthly). Every level is labelled with its empirical reach rate on this chart — R1 at 68% is a real target, R3 at 9% is a long shot — and weighted by reach, proximity and higher-TF confluence, so the chart shows a few meaningful zones instead of seven equal lines.
🟡 WHY THIS VERSION
Most pivot tools draw the same lines on every chart without telling you which ones price ever reaches. This one counts it: reach rate per level, hold rate per touch with a Wilson lower bound, first-touch decay, and ✦ when the higher timeframe's grid agrees — all measured on the loaded chart. The CPR band adds the classic narrow-means-trend tell as a percentile of this chart's own history. Alerts have history-backed variants that only fire when the evidence clears the bar. It counts instead of guessing.
🟡 HOW IT WORKS
Levels come from the prior period's confirmed HLC (no lookahead) in the formula you pick; the same formula builds the higher-TF set, so confluence compares like with like. Each live period, per-level booleans track whether price tagged each level; at period close they roll into the reach history. Touch-reactions are judged on the bar after a zone entry — hold or break — and feed per-level hold arrays with Wilson lower bounds. First-touch decay splits the hold rate by 1st/2nd/3rd test of the period. Visual weight (width, brightness, glow) blends reach × proximity × confluence. The CPR band (BC to TC) is washed behind the levels; its width is ranked against this chart's recent periods — narrow percentiles classically precede trending periods. A corner table shows the state, the bull/bear reach-hold stats, a plain-language Read, and an edge clock stamping the last history-backed bounce/rejection.
🟡 KEY FEATURES
Reach Map: every level labelled with its empirical reach rate — e.g. 'R1 68% ✓'
Four pivot methods (Classic / Fibonacci / Camarilla / Woodie), one selector — the stats work for all
Auto grid timeframe: intraday→D, daily→W, weekly→M, with manual override; stats count per period
CPR band with width-percentile read (narrow/mid/wide vs this chart's own history)
Hold rate per level with Wilson lower bound + first-touch decay (1st/2nd/3rd test) in tooltips
✦ confluence: levels aligned with the grid one rung up, same formula, weighted brighter
Self-decluttering: far/low-reach levels fade, high-evidence levels glow
Corner stats table + edge clock (last history-backed bounce/rejection)
Touch-reaction dots with density control (All / Medium+ / Backed)
Evidence-gated alert variants; everything non-repainting (confirmed prior-period data)
🟡 HOW TO USE
Read the reach % first: 70%+ is a credible target, <15% a stretch. Set targets by evidence, not formula.
✦ levels are where two timeframes agree — treat them as the higher-conviction zones.
✓ = already tagged this period; focus shifts to the next untagged level in the direction of travel.
Hover a level for hold rate, Wilson lower bound and first-touch decay — a level that holds its 1st test but folds on the 3rd is for first-touch fades only.
CPR narrow (low percentile) classically precedes trending periods — favour breakout targets; wide favours fades. The percentile is measured, the interpretation is theory.
Use the history-backed alerts for signals worth acting on; standard alerts for awareness.
Costs honesty: median touch-reactions on low timeframes are small — check hold rate and n against your round-trip costs. This tool filters levels, not entries.
🟡 PAIRS WELL WITH
Pair with a trend or momentum read (MA slope, MACD) to know which side of P has the directional edge — pivots are neutral by formula. Volume profile confirms whether a pivot sits at a real high-volume node. For intraday, an opening-range tool tells you the likely direction into the day's levels. Pivots are reference structure, not entries.
Not seven equal lines but a measured terrain: the most-reached levels stand out, confluence is computed instead of eyeballed, and every reaction has a counted history. Evidence from this chart only — description, not prediction.
Open source under MPL-2.0. The probability layer describes past signals on your chart — it is a measurement, not a prediction, and nothing here is financial advice. Penunjuk

Time Acceptance Profile TPO LevelsTIME ACCEPTANCE PROFILE — TPO-STYLE LEVELS THAT WORK WITHOUT VOLUME
Volume profile tools fail on index spot charts — NIFTY, BANKNIFTY and SENSEX spot have no volume data at all. This indicator solves that by profiling TIME instead of volume: it counts how many bars touched each price bin during the session. Where price spent the most time is where the market found acceptance — and those levels act as the day's strongest reference points.
WHAT IT PLOTS
- Time POC — the price row with the highest time count today (gold line)
- Value Area (VAH / VAL) — the price band containing ~70% of today's time, expanded outward from the POC (teal box)
- Time Histogram — the full time-at-price distribution drawn to the right of price, POC row highlighted
- Prior-Day POC / VAH / VAL — yesterday's completed levels, frozen at the day close and extended across today (dashed)
HOW IT WORKS
1. The day's range is divided into N price bins (default 24)
2. Every bar adds one time-unit to each bin its high-low range touched
3. The bin with the maximum count = Time POC
4. The Value Area expands outward from the POC, adding the larger neighbouring bin until 70% of total time is covered
5. At the session change, the completed profile is frozen into prior-day levels — these never repaint
HOW TRADERS USE IT
- Prior-day POC acts as a magnet/pivot — rejections and reclaims there are high-information events
- Open outside yesterday's Value Area = imbalance day; watch for continuation away from value or a rotation back to Y-POC
- Open inside the Value Area = balance day; VAH/VAL rotation setups become relevant
- Thin rows in the histogram (low time) mark prices the market rejected — price tends to move quickly through them
NOTES
- Designed for intraday timeframes; shows a warning otherwise
- Today's POC and Value Area update as the session develops (by design); prior-day levels are fixed and never repaint
- Alerts are available on prior-day POC / VAH / VAL crosses — static levels only, alert-safe
- Price labels round to integers by default (toggle off for low-priced symbols)
- No volume data is used anywhere — works identically on spot indices, futures, stocks and crypto
This is an original implementation in Pine Script v6. The time-binning, POC selection and value-area expansion logic are fully described above.
Educational tool for market context — not financial advice. Penunjuk

S/R & Liquidity ProOverview
DT S/R & Liquidity Pro is a clean, multi-layer Support and Resistance toolkit that maps three distinct sources of structural memory onto a single chart: pivot-based liquidity zones, daily session anchors, and psychological round numbers. Each layer is independently toggleable, all lines extend right of the last bar, and nothing repaints.
How It Works
Layer 1 — Pivot Liquidity S/R
The indicator scans historical bars for confirmed swing highs and swing lows using a configurable lookback window. Each confirmed pivot is treated as a liquidity zone — a price where a meaningful number of participants were previously stopped out, filled, or reversed. These levels tend to act as magnets on subsequent approaches because trapped positions and pending orders cluster there.
Only the most recent N levels are kept on chart (adjustable input labeled Max Historical Levels), which prevents the chart from becoming a graveyard of every pivot ever made. Lines are color-coded: resistance in red, support in green by default.
What makes a pivot significant: the lookback (Pivot Strength) sets how many bars must form on each side of the high or low before it is confirmed. Higher values = fewer, higher-quality levels. Lower values = more granular intraday structure.
Layer 2 — Session Anchor Levels
Three automatic levels anchor each trading day:
Daily Open — Algos and institutional order flow are benchmarked against this level throughout the day. Reclaims and rejections at the daily open are among the most repeatable intraday setups.
Previous Day High (PDH) — A magnet for liquidity sweeps and breakout/breakdown setups, particularly in the first 90 minutes of the session.
Previous Day Low (PDL) — One of the most watched levels by professional desk traders and algorithms.
These levels update automatically at each new session. No manual input required.
Layer 3 — Psychological Round Numbers
Optional grid of horizontal levels spaced at a user-defined interval (default: every $10). Round numbers attract options strike clustering, retail stop placement, and institutional limit orders. Useful as a secondary confirmation layer, not a primary setup trigger.
Painted as faint dotted lines to minimize visual weight while remaining visible when warranted.
Recommended Inputs by Trading Style:
Scalping / Active Day Trading (1m – 15m chart)
Pivot Strength (Lookback): 5 – 7 — Captures granular intraday swing points; lower bars confirm faster
Max Historical Levels: 4 – 5 — More nearby levels needed for tight intraday decision-making
Show Session Levels: On — Daily Open is a primary intraday reference — essential
Show Previous Day H/L: On — PDH/PDL sweeps are bread-and-butter scalp setups
Show Round Numbers: Optional — Enable on high-priced instruments (e.g., SPX, TSLA) where $5–$10 intervals cluster options strikes
Round Number Step: 5.0 – 10.0 — Match to the instrument's typical daily range
Swing Trading (1H – Daily chart)
Pivot Strength (Lookback): 15 – 25 — Filters intraday noise; only confirms swing-level structural highs/lows
Max Historical Levels: 2 – 3 — On higher timeframes, only the most recent major levels matter
Show Session Levels: Optional — Daily Open is less relevant on a weekly hold; PDH/PDL retain value as weekly structure markers
Show Previous Day H/L: On — Still useful; overnight gaps into PDH/PDL are structural events on swing timeframes
Show Round Numbers: On — Psychological levels matter more over multi-day holds as price cycles through them repeatedly
Round Number Step: 10.0 – 25.0 — Larger intervals appropriate for instruments moving $10–$50 per week Penunjuk

Penunjuk

Impulse Waves & Reversal Zones [MQLSoftware]Impulse Waves & Reversal Zones is a structural overlay that reads price as a chain of impulse and correction legs, then projects the zone where the dominant trend is expected to resume. Instead of auto-drawing a Fibonacci grid on the latest swing, it first decides whether a leg is a genuine impulse, frames the counter-trend pullback against it, and builds a managed reversal zone with targets, a stop, and a live status that retires the setup once it plays out. A compact right-side panel adds higher-timeframe bias, trend-conviction strength, an alignment score, and a plain-language plan.
This is a visual analytical tool intended for chart reading and structure mapping. It does not execute trades and does not provide financial advice.
Key Features
Impulse legs qualified by a self-calibrating quality score and drawn as bold trend channels; weaker legs stay as a faint wave skeleton
Active correction framed as an amber box labelled with its retracement depth versus the impulse it is correcting (an overrun beyond 100% is flagged as a deep retrace / structure break, not a clean correction)
Reversal zone built on the 0.382-0.618 retracement of the qualified impulse, with TP1 (x1.272) and TP2 (x1.618) extension targets and a stop with its R:R
Live setup status that moves through wait, in-zone, target hit, and stopped, and greys the zone out once it is resolved so a played-out setup never lingers as a live opportunity
Multi-timeframe panel: bias plus trend-conviction (ADX) strength for the chart and the next higher timeframes, an alignment score, and a plain-language plan
Higher timeframes selected automatically from the standard timeframe ladder based on the chart, with fewer rows near the top of the ladder (Daily, Weekly)
A plan that softens to "low conviction" when the bias is backed only by ranging higher timeframes, with the active setup flagged the same way so the panel never states two opposite things at once
Core Concept
Most reversal-zone and Fibonacci tools on TradingView take one of two approaches. They either auto-draw a retracement grid on the most recent swing pair (no quality filter, and the grid jumps every time the latest swing redraws), or they label market structure (swings, breaks of structure) without projecting a managed, self-invalidating trade zone. Both leave the reader to decide by hand whether the leg even mattered and where the level should sit.
This indicator builds on a different base: classify structure first, then project a zone only from legs that qualify, and track that zone until it resolves. It adds three specific algorithmic elements on top of that base.
1. Protected-Swing Structure Classification. Trend direction is tracked by a change-of-character state machine with protected swings: the trend only flips when price breaks the swing low or high that launched the prior impulse. Shallow pullbacks therefore stay classified as corrections instead of constantly flipping the trend, which is the common failure mode of naive zigzag and two-pivot tools.
2. Self-Calibrating Impulse Quality Score. Every leg is scored 0-100 as one half Efficiency Ratio (net move divided by the path travelled, i.e. how straight the leg is) and one half Displacement Percentile (the leg's size in ATR units, ranked against the recent distribution of legs). A leg is drawn as an impulse only if it is with-trend and clears the score threshold. Because the size component is ranked against recent legs rather than compared to a fixed pip or point value, the filter self-calibrates across instruments and timeframes with no magic numbers.
3. Conviction-Aware Bias and Reversal Zone. The reversal zone is anchored to the dominant-direction qualified impulse and managed with targets, a stop, and a live state. Higher-timeframe context uses ADX strength rather than a path-efficiency ratio, so a strong trend still reads as strong mid-pullback. When the bias is supported only by ranging higher timeframes, the panel reports the bias but softens the plan to "low conviction" and marks any active setup the same way, so the structural read and the suggested action stay consistent.
Anatomy of the Display
Trend channels are bold green or coral channels drawn only for legs that qualify as impulses. The wave skeleton is a faint thin backbone drawn under every leg, so the raw swing structure stays visible; where a leg qualifies as an impulse, the bold channel sits on top of it.
The correction box is an amber dashed outline on the active counter-trend pullback, labelled with the retracement depth as a percentage of the impulse it is correcting. A retracement beyond 100% is relabelled as a deep retrace because the structure that the zone relied on is now at risk.
The reversal (entry) zone is the filled box spanning the 0.382-0.618 retracement of the qualified impulse, with a dotted mid-line and a label carrying the R:R of the resulting setup. TP1 and TP2 are the 1.272 and 1.618 extensions; the stop sits beyond the impulse origin.
The status chip reads the live state of the setup: waiting for the zone, in the zone, target hit, or stopped. Once the zone is hit or the setup is stopped, the zone and its levels grey out and the chip says so, so a resolved setup is visually retired rather than left looking active.
The right-side panel lists, per row, the timeframe, its bias (Bull / Bear / Flat), and a trend-conviction strength bar. The chart's own row is marked "pullback" when its direction opposes the trading bias, so a green chart row inside a bearish plan reads as the rally you are selling, not as a long signal. Below the rows: an ALIGN score (filled dots for how many higher timeframes vote each way, with the side that has no votes greyed), a verdict (ALIGNED, BULLISH/BEARISH BIAS, or MIXED), and the plan line.
Multi-Timeframe Panel
The higher-timeframe rows are selected automatically from the standard timeframe ladder based on the chart timeframe. For example, a 5m chart reads 15m / 30m / 1H; a 1H chart reads 4H / 1D / 1W; a 4H chart reads 1D / 1W / 1M. Near the top of the ladder fewer than three higher timeframes exist, so the panel simply shows fewer rows (a Daily chart shows Weekly and Monthly; a Weekly chart shows Monthly only). A manual mode lets you pin three timeframes of your choice instead. Higher-timeframe values are read with `lookahead=barmerge.lookahead_off` and a one-bar offset, which is the standard non-repainting pattern for higher-timeframe context.
Notes on Repainting
Historical impulses and corrections do not repaint. They are built from confirmed pivots (`ta.pivothigh` and `ta.pivotlow` with a right-bars parameter), so once a leg is committed it stays anchored in place.
The active forming leg is explicitly labelled "forming" and updates as new bars print; the reversal zone itself is anchored to the confirmed pivots of the qualified impulse.
The setup state is latched. Once price tags the stop or a target, that resolution is recorded against the setup's anchor and does not revert if price later trades back into the zone. A stopped or completed setup cannot revive itself.
Pivot detection has an inherent delay equal to the right-bars parameter (default 3 bars). A pivot becomes visible only after that many bars close past it. This is a property of all pivot-based indicators, not specific to this script.
Multi-timeframe panel data uses `lookahead=barmerge.lookahead_off` with a one-bar offset, the canonical non-repainting pattern for higher-timeframe context.
Alerts are gated by `barstate.isconfirmed` and fire once per closed bar, never intra-bar.
Typical Analysis Workflow
A common analytical workflow may include:
Reading the panel verdict and plan line to anchor an overall directional view, and noting the conviction (a "low conviction" plan means the bias is real but the higher timeframes are only ranging)
Checking the ALIGN row and the per-timeframe rows to see whether higher timeframes agree or conflict
Waiting for the status chip to read in-zone in the direction of the plan (sell rallies into the zone in a down-bias, buy pullbacks in an up-bias)
Reading the zone label R:R and the TP1 / TP2 / stop levels to frame the trade, then managing it with other forms of analysis and risk management
Treating the deep-retrace flag and the greyed-out (stopped / target-hit) state as structural context that a setup has changed or ended
Configuration
ATR Length - lookback for the ATR used in the swing filter, channel width, and stop placement.
Swing Filter (ATR) - the main noise lever. Higher values keep fewer, larger swings; lower values keep more, smaller swings.
Pivot Left Bars / Pivot Right Bars - the pivot lookback. Right Bars also sets the confirmation delay (a pivot is confirmed this many bars after it forms).
Impulse Strength Min - the minimum quality score (0-100) a with-trend leg must reach to be drawn as an impulse rather than skeleton.
Channel Width (ATR) - the half-width of the impulse channels, in ATR.
Visuals - colors for impulse up/down, correction, entry zone, targets, and stop; toggles for the wave skeleton, entry zone, targets, stop / R:R, and labels.
Multi-Timeframe HUD - show / hide the panel; Auto (next higher timeframes) versus Manual (three chosen timeframes); the three manual timeframes; and panel position (any corner).
Markets and Timeframes
The indicator can be applied across multiple markets and timeframes:
Forex
Stocks and Indices
Commodities
Cryptocurrencies
Because the swing filter, channel width, and impulse-size ranking are all ATR-based, the visual behavior stays consistent across instruments and timeframes. The Swing Filter and pivot settings can be tuned per chart for the cleanest read on a given symbol and timeframe.
Alerts
Price entered entry zone - fires when price first closes inside the reversal zone
New Swing High - fires when a high pivot is confirmed
New Swing Low - fires when a low pivot is confirmed
All higher TFs bullish - fires when every higher-timeframe row is bullish
All higher TFs bearish - fires when every higher-timeframe row is bearish
All alerts evaluate on confirmed bars to avoid intra-bar oscillation. Penunjuk

Kalman Auction Ribbon [JOAT]Kalman Auction Ribbon is an open-source Pine Script v6 overlay that builds a six-layer adaptive ribbon from a zero-lag source and Kalman-style velocity smoothing. The goal is to show trend alignment, slope strength, deviation zones, and confirmed retest behavior in one restrained chart layer.
The script focuses on auction behavior around a dynamic ribbon. When the ribbon layers align and slope together, the state becomes directional. When price stretches beyond the deviation envelope and then returns, the script can mark supply or demand zones for later retests.
Core Concepts
1. Zero-Lag Source
The source is adjusted by comparing current price with a half-length historical value. This produces a more responsive input for the ribbon calculations.
zeroLagOffset = math.max(1, int(math.round(baseLength * 0.50)))
zeroLagSource = src + (src - nz(src , src))
2. Kalman-Style Velocity Estimate
Each ribbon layer uses a compact velocity smoother that maintains an estimate and speed component. The speed term helps the estimate respond to directional movement without relying on future bars.
prior = na(estimate ) ? value : estimate + nz(speed ) * gain
error = value - prior
speed := nz(speed ) * (1.0 - alpha * 0.50) + error * alpha * gain
estimate := prior + error * alpha
3. Six-Layer Ribbon Alignment
The script calculates six different ribbon lengths. Alignment and slope scores are combined into a trend score from -100 to +100. This score controls the ribbon color and dashboard power reading.
4. Deviation Zones
Upper and lower deviation levels are built around the ribbon midpoint using ATR. If price pushes beyond a deviation level and closes back inside, the script creates a compact supply or demand zone.
5. Retest Logic
Retest signals occur when price interacts with a live zone or the ribbon itself while the ribbon state remains directional. These signals are confirmed on closed bars.
Features
Six-layer adaptive ribbon: Multiple Kalman-style layers reveal alignment and spread
Velocity weighting: Gain input changes how aggressively the smoother responds
Deviation envelope: ATR-based upper and lower zones around the ribbon midpoint
Soft supply and demand boxes: Created only on confirmed deviation rejection behavior, with overlap suppression so the chart does not stack redundant boxes
Labeled deviation boxes: Supply and Demand Deviation boxes include midpoint guide lines and fade after invalidation
Confirmed buy/sell markers: Compact BUY and SELL dots appear only after confirmed ribbon or zone retest behavior
Trend-state candles: Optional bar coloring by ribbon state
Dashboard: Shows state, power, distance, and retest status
Alerts: Confirmed buy, confirmed sell, lower deviation zone, and upper deviation zone
Input Parameters
Core:
Source: Price source used by the ribbon
Base Length: Main length from which all ribbon layers are derived
Velocity Weight: Strength of the speed component
Deviation ATR Length: ATR length for deviation zones
Deviation Width: ATR multiplier for the envelope
Zones:
Show Deviation Zones: Toggles supply and demand boxes
Zone Extension Bars: How far active boxes extend to the right
Maximum Zones Per Side: Caps active supply and demand boxes
Signals:
Show Confirmed Buy/Sell: Toggles compact confirmed signal dots
Signal Spacing Bars: Minimum spacing between signal markers
Zone Extension Bars: Forward box extension length
Maximum Zones Per Side: Object cap for zone storage
Visual:
Palette: Selects the color pair
Show Ribbon: Toggles ribbon plots and fill
Trend-State Candles: Enables candle coloring
Dashboard: Shows the top-right panel
How to Use This Indicator
Step 1: Read Ribbon Alignment
A strongly stacked ribbon with a high dashboard power value indicates directional alignment. A mixed ribbon shows a less decisive state.
Step 2: Watch Deviation Zones
Zones are created when price rejects beyond an ATR deviation envelope. These boxes represent areas where price stretched away from the ribbon and returned.
Step 3: Use Retests With Context
Retest dots identify confirmed interactions with the ribbon or zones. They should be evaluated with trend state, market structure, and risk placement.
Indicator Limitations
Kalman-style smoothing is reactive and does not know future price direction
Strong news bars can move through deviation zones without meaningful retests
Object limits require older zones to be removed when the maximum is exceeded
The ribbon can compress during range conditions and produce mixed readings
Originality Statement
Kalman Auction Ribbon is original in its combination of zero-lag preprocessing, six independent Kalman-style layers, ATR deviation boxes, and confirmed retest tracking. It uses public Pine primitives in a custom structure and does not paste or disguise another author's source.
Disclaimer
This script is provided for educational and informational use only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss. Ribbon states and zones can fail during unusual volatility or thin liquidity. Always use independent analysis and proper risk management.
-Made with passion by jackofalltrades
Penunjuk

Penunjuk

MACD Pressure Zones | Alpha S+Range Compression Map | Alpha S+
Range Compression Map is a chart-based range and sideways-structure detection tool designed to help users study price compression directly on the chart.
Instead of displaying a separate oscillator or status panel, this script draws volatility-adjusted range boxes around areas where price remains contained inside a controlled structure. The box then changes its border and background state when price breaks above, breaks below, or returns back into the range after a failed break.
The script does not provide entry or exit recommendations. Its purpose is to help users study range compression, sideways structure, breakout context, failed breaks, and the relationship between price action and volatility-adjusted boundaries.
────────────────────
Core Concept
────────────────────
Markets often alternate between expansion and compression.
During compression, price tends to remain inside a relatively narrow structure before a directional move develops.
This script uses a volatility-adjusted range model to identify when recent closing prices remain inside an ATR-based boundary around a central price line.
The main concept is:
• calculate a central range reference
• build upper and lower boundaries using ATR-based volatility
• check whether recent closing prices remain inside those boundaries
• draw a range box when price is contained
• keep the visual focus on the box instead of adding many chart labels
• change the box state when price breaks upward or downward
• optionally detect failed breaks when price returns back into the range
• use border and background color changes instead of heavy signal markers
This makes the indicator useful as a chart-based range structure viewer rather than a standalone buy or sell signal tool.
────────────────────
What This Script Shows
────────────────────
The script can display:
• range compression boxes
• active sideways structure zones
• volatility-adjusted upper and lower range boundaries
• dotted range midpoint line
• unbroken range state
• upward break state
• downward break state
• optional fakeout state
• optional break labels
• optional fakeout labels
• optional adaptive center mode
• optional top and bottom range lines
These elements are designed to help users identify whether price is still compressed inside a range or has moved outside of the structure.
────────────────────
How It Works
────────────────────
1. The script calculates a central price reference using the selected center mode.
2. In SMA mode, the center is based on a moving average of the selected source.
3. In Adaptive mode, the center updates only when price moves far enough from the previous center using an ATR-based step.
4. The script builds an upper and lower range boundary around the center.
5. It checks whether recent closing prices remain inside the volatility-adjusted range.
6. When the selected number of recent bars stays inside the range, the script draws a range compression box.
7. If a new detected range overlaps with an existing box, the structure can be merged instead of creating unnecessary duplicate boxes.
8. While the range remains unbroken, the box stays in its neutral range color.
9. If price closes above the active range boundary, the box changes into an upward break state.
10. If price closes below the active range boundary, the box changes into a downward break state.
11. If fakeout detection is enabled, the script can change the box into a fakeout state when price returns back inside after a break.
12. The midpoint line helps users visually track the center of the detected range structure.
13. Optional labels can be enabled, but the default design keeps the chart clean by using box color states.
This structure helps users study compression, range behavior, breakout context, and failed-break behavior without relying on crowded markers.
────────────────────
Inputs And Customization
────────────────────
Users can adjust:
• minimum range length
• range width multiplier
• ATR length
• source price
• center mode: SMA or Adaptive
• adaptive ATR length
• adaptive factor
• overlap merging behavior
• cooldown after break
• maximum active range duration
• trend pause classification using ADX
• break buffer
• body confirmation for break conditions
• fakeout detection
• fakeout window
• midpoint line visibility
• top and bottom range line visibility
• optional break labels
• optional fakeout labels
• range box colors
• break box colors
• fakeout box colors
• border transparency
• background transparency
• border width
• signal border width
The default settings are designed to keep the chart clean while making range structures visible directly on the price chart.
────────────────────
Visual Elements
────────────────────
The script includes:
• range box
• midpoint line
• optional range top and bottom lines
• border color state
• background color state
• optional break labels
• optional fakeout labels
The range box is the main visual element.
The midpoint line shows the central level of the detected structure.
The border and background color provide the main state information without requiring large labels.
Optional labels can be enabled for users who prefer explicit text confirmation, but the primary design is based on clean chart boxes.
────────────────────
Reference States
────────────────────
Unbroken Range:
Price remains inside the detected volatility-adjusted range. The box stays in its neutral range color.
Upward Break:
Price closes above the active range boundary. The box changes to the upward break color.
Downward Break:
Price closes below the active range boundary. The box changes to the downward break color.
Fakeout:
If fakeout detection is enabled, price breaks out of the range and then returns back inside the structure within the selected fakeout window. The box changes to the fakeout color.
Trend Pause:
When ADX-based classification is enabled, some range structures can be treated as trend-pause zones rather than pure sideways ranges. This can help distinguish quiet consolidation from temporary pauses inside a stronger directional environment.
Adaptive Range:
When Adaptive mode is selected, the center line updates less frequently and only shifts when price moves far enough away from the previous center. This can create a more stable range reference in some market conditions.
These states are informational and should not be interpreted as trading instructions.
────────────────────
How To Use
────────────────────
Use this script as a chart-based range structure viewer.
General interpretation examples:
• A neutral range box can help users identify where price is moving inside a controlled sideways or compression structure.
• A green upward-break box can help users review where price moved above the detected range.
• A red downward-break box can help users review where price moved below the detected range.
• A yellow fakeout box, when enabled, can help users study failed range breaks.
• The midpoint line can be used as a visual reference for the center of the range.
• The adaptive center mode can be tested when users want a slower-moving center reference.
• The SMA center mode can be used when users want a more standard range-detection approach.
• Optional labels can be turned on for explicit break text, but the box color state is designed to be the primary visual guide.
This script is best reviewed together with price action, volume, volatility, support and resistance, trend structure, and higher-timeframe context.
────────────────────
Confirmation And Repainting Notes
────────────────────
The script uses recent closing prices and ATR-based boundaries to detect range structures.
Range boxes can update as new candles appear.
On realtime candles, values can change before the candle closes because price, ATR, and range conditions can update intrabar.
Break states are based on price moving beyond the active range boundary.
For more conservative analysis, users should evaluate range breaks after candle confirmation.
The script does not use future price data to predict market direction.
────────────────────
Limitations
────────────────────
This script does not predict future price movement.
It does not provide entry or exit recommendations.
A range break does not guarantee trend continuation.
A fakeout state does not guarantee reversal.
ATR length, range length, and width multiplier can materially change how often ranges appear.
Very low-liquidity markets, large gaps, news-driven moves, and extreme volatility can reduce the usefulness of range-based analysis.
In strong trending markets, some detected ranges may represent temporary pauses rather than true sideways structures.
This script should not be used as a standalone trading system.
────────────────────
Disclaimer
────────────────────
This publication is for educational and informational chart analysis only.
It does not constitute financial advice, investment advice, or a recommendation to trade any financial instrument.
All trading and investment decisions are the responsibility of the user.
━━━━━━━━━━━━━━━━━━━━
Range Compression Map | Alpha S+
Range Compression Map은 가격이 일정한 변동성 기준 범위 안에서 압축되거나 횡보하는 구조를 차트 위에 직접 표시하는 Range 구조 분석 도구입니다.
별도의 오실레이터나 큰 상태 패널을 중심으로 보여주는 방식이 아니라, 가격이 통제된 범위 안에 머무르는 구간을 박스로 표시하고, 이후 상단 돌파·하단 이탈·Fakeout 상태를 박스의 테두리와 배경색 변화로 구분합니다.
이 스크립트는 진입 또는 청산 추천을 제공하지 않습니다. 목적은 횡보 압축, 박스권 구조, 돌파 컨텍스트, 실패 돌파, 그리고 가격 행동과 변동성 기반 경계 사이의 관계를 분석하는 것입니다.
────────────────────
핵심 개념
────────────────────
시장은 확장과 압축을 반복하는 경우가 많습니다.
압축 구간에서는 가격이 비교적 제한된 구조 안에 머물다가 이후 방향성 움직임이 나타날 수 있습니다.
이 스크립트는 중심 가격선을 기준으로 ATR 기반 상단·하단 경계를 만들고, 최근 종가들이 해당 범위 안에 머무르는지를 확인해 Range 구조를 감지합니다.
핵심 개념은 다음과 같습니다.
• 중심 Range 기준선 계산
• ATR 기반 상단·하단 경계 생성
• 최근 종가들이 해당 경계 안에 머무르는지 확인
• 가격이 통제된 범위 안에 있으면 Range 박스 표시
• 많은 라벨보다 박스 자체를 중심으로 시각화
• 상단 돌파 또는 하단 이탈 시 박스 상태 변경
• 선택적으로 돌파 실패 후 Range 안으로 복귀하는 Fakeout 감지
• 무거운 마커 대신 테두리와 배경색 변화 중심으로 표현
이 구조는 단독 매수·매도 신호가 아니라, 차트 위에서 Range 구조를 분석하는 데 적합합니다.
────────────────────
이 스크립트가 보여주는 것
────────────────────
이 스크립트는 다음 요소를 표시할 수 있습니다.
• 횡보 압축 박스
• 활성 sideways structure zone
• 변동성 기반 상단·하단 Range 경계
• 점선 중앙선
• 아직 돌파되지 않은 Range 상태
• 상단 돌파 상태
• 하단 이탈 상태
• 선택 가능한 Fakeout 상태
• 선택 가능한 돌파 라벨
• 선택 가능한 Fakeout 라벨
• 선택 가능한 Adaptive Center 모드
• 선택 가능한 상단·하단 Range 라인
이 요소들은 가격이 아직 Range 안에서 압축 중인지, 또는 해당 구조를 벗어났는지를 확인하는 데 도움을 줍니다.
────────────────────
작동 방식
────────────────────
1. 스크립트는 선택한 center mode를 기준으로 중심 가격선을 계산합니다.
2. SMA 모드에서는 선택한 기준 가격의 이동평균을 중심선으로 사용합니다.
3. Adaptive 모드에서는 가격이 이전 중심선에서 ATR 기반 기준 이상으로 멀어졌을 때만 중심선이 단계적으로 갱신됩니다.
4. 중심선을 기준으로 상단·하단 Range 경계를 만듭니다.
5. 최근 종가들이 변동성 기반 Range 안에 머무르는지 확인합니다.
6. 설정된 기간 동안 가격이 Range 안에 머무르면 차트 위에 Range Compression 박스를 표시합니다.
7. 새로 감지된 Range가 기존 박스와 겹치면 불필요한 중복 박스를 만들지 않고 병합할 수 있습니다.
8. Range가 돌파되지 않은 동안 박스는 기본 Range 색상으로 유지됩니다.
9. 가격이 활성 Range 상단을 종가 기준으로 돌파하면 박스가 상방 돌파 상태로 변경됩니다.
10. 가격이 활성 Range 하단을 종가 기준으로 이탈하면 박스가 하방 이탈 상태로 변경됩니다.
11. Fakeout 감지를 켜면 돌파 후 다시 Range 안으로 복귀하는 경우 박스가 Fakeout 상태로 변경될 수 있습니다.
12. 중앙선은 감지된 Range 구조의 중심 위치를 시각적으로 확인하는 데 도움을 줍니다.
13. 선택형 라벨을 켤 수 있지만, 기본 설계는 박스 색상 상태를 중심으로 차트를 깔끔하게 유지하는 방식입니다.
이 구조는 복잡한 마커 없이 압축, Range 행동, 돌파 컨텍스트, 실패 돌파를 분석하는 데 도움을 줍니다.
────────────────────
입력값 및 설정
────────────────────
사용자는 다음 항목을 조정할 수 있습니다.
• 최소 Range 길이
• Range 폭 배수
• ATR 길이
• 기준 가격
• 중심선 모드: SMA 또는 Adaptive
• Adaptive ATR 길이
• Adaptive factor
• 겹치는 Range 병합 여부
• 돌파 후 cooldown
• 최대 활성 Range 유지 기간
• ADX 기반 Trend Pause 분류
• 돌파 버퍼
• 돌파 조건의 몸통 확인 여부
• Fakeout 감지
• Fakeout 확인 기간
• 중앙선 표시 여부
• 상단·하단 Range 라인 표시 여부
• 선택형 돌파 라벨
• 선택형 Fakeout 라벨
• Range 박스 색상
• 돌파 박스 색상
• Fakeout 박스 색상
• 테두리 투명도
• 배경 투명도
• 테두리 두께
• 신호 상태 테두리 두께
기본 설정은 차트를 깔끔하게 유지하면서 Range 구조를 가격 차트 위에서 직접 읽을 수 있도록 설계되어 있습니다.
────────────────────
시각 요소
────────────────────
이 스크립트는 다음 시각 요소를 포함합니다.
• Range box
• Midpoint line
• 선택 가능한 Range top / bottom lines
• Border color state
• Background color state
• 선택 가능한 break labels
• 선택 가능한 fakeout labels
Range box는 이 지표의 핵심 시각 요소입니다.
Midpoint line은 감지된 구조의 중심 레벨을 보여줍니다.
테두리와 배경색은 큰 라벨 없이도 현재 Range 상태를 구분할 수 있게 합니다.
선택형 라벨은 명시적인 텍스트 확인을 원하는 사용자를 위해 제공되지만, 기본 설계는 박스 색상 상태를 중심으로 합니다.
────────────────────
참고 상태
────────────────────
Unbroken Range:
가격이 감지된 변동성 기반 Range 안에 머무르는 상태입니다. 박스는 기본 Range 색상으로 유지됩니다.
Upward Break:
가격이 활성 Range 상단을 종가 기준으로 돌파한 상태입니다. 박스는 상방 돌파 색상으로 변경됩니다.
Downward Break:
가격이 활성 Range 하단을 종가 기준으로 이탈한 상태입니다. 박스는 하방 이탈 색상으로 변경됩니다.
Fakeout:
Fakeout 감지가 켜져 있을 때, 가격이 Range를 돌파한 뒤 설정된 기간 안에 다시 Range 안으로 복귀한 상태입니다. 박스는 Fakeout 색상으로 변경됩니다.
Trend Pause:
ADX 기반 분류가 켜져 있을 때, 일부 Range 구조는 순수 횡보가 아니라 강한 방향성 흐름 중의 일시적 휴식 구간으로 분류될 수 있습니다.
Adaptive Range:
Adaptive mode를 선택하면 중심선이 매 봉마다 계속 흔들리지 않고, 가격이 이전 중심선에서 충분히 멀어졌을 때만 갱신됩니다. 일부 시장 조건에서는 더 안정적인 Range 기준을 제공할 수 있습니다.
이 상태들은 정보 제공용이며, 매매 지시로 해석해서는 안 됩니다.
────────────────────
사용 방법
────────────────────
이 스크립트는 차트 기반 Range 구조 분석 도구로 사용하는 것이 적절합니다.
일반적인 해석 예시는 다음과 같습니다.
• 기본 Range 박스는 가격이 통제된 횡보 또는 압축 구조 안에서 움직이는 구간을 확인하는 데 사용할 수 있습니다.
• 초록색 상방 돌파 박스는 가격이 감지된 Range 상단을 벗어난 구간을 복기하는 데 사용할 수 있습니다.
• 빨간색 하방 이탈 박스는 가격이 감지된 Range 하단을 벗어난 구간을 복기하는 데 사용할 수 있습니다.
• 노란색 Fakeout 박스는 Fakeout 감지를 켰을 때 실패한 Range 돌파를 검토하는 데 사용할 수 있습니다.
• 중앙선은 Range 중심 위치를 확인하는 시각 기준으로 사용할 수 있습니다.
• Adaptive Center 모드는 더 느리게 움직이는 중심 기준을 테스트하고 싶을 때 사용할 수 있습니다.
• SMA Center 모드는 더 표준적인 Range 감지 방식을 원할 때 사용할 수 있습니다.
• 선택형 라벨은 명시적 돌파 텍스트를 원할 때 켤 수 있지만, 박스 색상 상태가 기본 시각 가이드로 설계되어 있습니다.
이 스크립트는 가격 행동, 거래량, 변동성, 지지와 저항, 추세 구조, 상위 시간대 컨텍스트와 함께 검토하는 것이 좋습니다.
────────────────────
확인봉 및 리페인트 안내
────────────────────
이 스크립트는 최근 종가와 ATR 기반 경계를 사용해 Range 구조를 감지합니다.
Range 박스는 새로운 캔들이 나타남에 따라 갱신될 수 있습니다.
실시간 캔들에서는 가격, ATR, Range 조건이 봉 마감 전까지 변할 수 있으므로 값이 변경될 수 있습니다.
돌파 상태는 가격이 활성 Range 경계를 벗어나는지를 기준으로 판단합니다.
보다 보수적인 분석을 원한다면 Range 돌파는 봉 마감 이후 확인하는 것이 적절합니다.
이 스크립트는 미래 가격 데이터를 사용해 시장 방향을 예측하지 않습니다.
────────────────────
한계
────────────────────
이 스크립트는 미래 가격 움직임을 예측하지 않습니다.
진입 또는 청산 추천을 제공하지 않습니다.
Range 돌파가 추세 지속을 보장하지 않습니다.
Fakeout 상태가 추세 반전을 보장하지 않습니다.
ATR 길이, Range 길이, 폭 배수는 Range가 표시되는 빈도에 큰 영향을 줄 수 있습니다.
저유동성 시장, 큰 갭, 뉴스 기반 급변동, 극단적 변동성 구간에서는 Range 기반 분석의 효율이 낮아질 수 있습니다.
강한 추세장에서는 일부 Range가 순수 횡보가 아니라 일시적 휴식 구간일 수 있습니다.
이 스크립트를 단독 매매 시스템으로 사용해서는 안 됩니다.
────────────────────
중요 고지
────────────────────
본 게시물은 교육 및 정보 제공 목적의 차트 분석 자료입니다.
투자 자문, 특정 금융상품 거래 권유, 또는 수익 보장을 의미하지 않습니다.
모든 투자 판단과 그 결과에 대한 책임은 이용자 본인에게 있습니다. Penunjuk

Smart Range ProjectionSmart Range Projection — Daily High/Low Forecast from Opening Volatility
OVERVIEW
This indicator projects the likely shape of the trading day early in the session, anchoring everything to the day's opening price. It plots the expected daily range envelope, an expansion range for potential trend day extension, and reversal zones near the projected extremes where
price often exhausts or turns.
The projection is built from a blend of four independent volatility inputs: daily ATR, opening volatility, CPR width, and an optional VIX multiplier. Once the opening window completes, the levels lock in for the rest of the session and do not shift.
HOW IT WORKS
1. Daily ATR Baseline
The previous day's confirmed ATR sets the expected full-day travel.
A user-defined multiplier (default 1.0x) converts this into the projected day range.
2. Opening Volatility Factor
The indicator measures the high-low range of the first N bars after the session opens (default 3 bars) and compares it to a rolling 20-day average of opening ranges. An unusually wide opening stretches the projection. An unusually narrow opening tightens it. The influence is
user-controlled (default 0.5).
3. CPR Width Lean
Central Pivot Range width is calculated from the previous day's high, low, and close. The current day's CPR width is compared to its 20-day average. A narrow CPR (relative to history) widens the projection because narrow CPRs statistically precede trending or expansion days.
A wide CPR tightens the projection.
4. VIX Multiplier (Optional)
An optional volatility-index input scales the entire projection based on the regime. Above the user-defined neutral level, the range widens.
Below it, the range tightens. Disabled by default. Enable only if your local volatility index is available on TradingView.
5. Reversal and Expansion Zones
- Projected High and Projected Low: the expected daily range envelope
- Expansion High and Low: dashed lines beyond the normal range, marking trend day extension targets
- Reversal Zones: shaded bands just inside the projected extremes where price often exhausts on normal days
- Expansion Zones: shaded bands between the normal envelope and expansion lines, highlighting trend day extension territory
NON-REPAINTING DESIGN
- Prior-day values use historical offset with lookahead_off
- Day open is tracked locally via session change detection
- Projection levels lock once the opening window completes and remain fixed for the rest of the session
- No future data access, no lookahead leak
INPUTS
- Daily ATR length and base range multiplier
- Expansion multiplier and reversal zone percentage
- Opening window bars and volatility influence
- Optional VIX symbol, neutral level, and toggle
- CPR lean toggle, dashboard toggle, level rounding toggle
- Color customization for all elements
DASHBOARD
A status panel shows projected high and low, expansion high and low, day lean classification (Trend or Range bias from CPR width), measured opening volatility, and the active VIX multiplier.
ALERTS
Four alert conditions are available:
- Price reached projected day high
- Price reached projected day low
- Price hit expansion high (trend day extension)
- Price hit expansion low (trend day extension)
HOW TO USE
The projected high and low serve as the day's expected range boundaries.
Price reaching these zones early often coincides with exhaustion on range days. The expansion lines act as continuation targets when strong directional moves break the normal range envelope.
The day lean classification in the dashboard helps set expectations.
A Trend lean (narrow CPR) suggests price is more likely to reach the expansion lines. A Range lean (wide CPR) suggests price is more likely to oscillate within the normal envelope and reverse at the extremes.
This indicator works on intraday timeframes where multiple bars fit within a session. It is most effective on actively traded instruments with reliable opening sessions.
NOTES
This is a technical analysis tool intended for educational and informational purposes. Volatility projections are statistical estimates based on historical patterns and do not guarantee price will reach the projected levels. Always apply proper risk management and combine with
your own trading methodology.
CREDITS
Original implementation. Uses TradingView built-in ATR, security, and array functions combined with original opening volatility and CPR width lean methodology. Penunjuk

Fibonacci Touch HeatmapFibonacci Touch Heatmap
Fibonacci Touch Heatmap is an advanced Fibonacci channel indicator that dynamically builds a full upper and lower Fibonacci structure over a user-defined lookback window, then scores each level by how many times price has genuinely touched or respected it. The result is a ranked, color-coded map of the most statistically significant support and resistance zones on your chart — updated automatically on every bar.
What Problem This Solves
Standard Fibonacci tools require manual swing selection and draw static levels with no feedback on whether price actually reacted to them. This indicator eliminates both limitations: it auto-detects the range, draws all 14 Fibonacci levels (7 upper + 7 lower), and continuously counts how many times each level has been touched — giving traders an objective, data-driven view of which levels the market genuinely respects.
How It Works — Technical Details
Range Detection:
The indicator uses ta.highest(high, lookback) and ta.lowest(low, lookback) to identify the high and low of the most recent N bars (default: 300). The midpoint is calculated as the arithmetic average of these two values.
Fibonacci Level Construction:
Seven standard Fibonacci ratios (0.0, 0.236, 0.382, 0.500, 0.618, 0.786, 1.0) are applied symmetrically from the midpoint — upward toward the range high (upper channel) and downward toward the range low (lower channel) — producing 14 distinct price levels in total.
Touch Counting Algorithm:
On the final bar (barstate.islast), the script iterates backward through every bar in the lookback window. For each bar, it checks whether the high or low came within a user-defined sensitivity threshold of any Fibonacci level. The threshold is calculated as a percentage of the level price (default: 0.2%), making it adaptive across different asset classes and price scales. Each qualifying bar increments that level's touch counter.
Gradient Coloring:
A custom gradColor() function interpolates RGB values across three anchor colors — bottom (green), mid (yellow), top (red) — based on the level's vertical position within the channel. This creates a smooth visual gradient that immediately communicates zone type: green = support territory, red = resistance territory.
Touch Heatmap:
Line opacity and the color in the top-right table are determined by each level's touch count relative to the maximum touch count across all 14 levels, using the touchColor() function. Levels with more touches render with warmer, more opaque colors.
Background Zones:
The channel is divided into 9 equal vertical slices, each rendered as a semi-transparent colored box, creating a heat gradient background that visually reinforces price zone significance.
Multi-Timeframe Panel
Two additional timeframes (default: 1H and 4H, fully customizable) are analyzed via request.security(). For each external timeframe, the script independently fetches the 500-bar high/low range, builds the complete Fibonacci channel, runs the touch-counting algorithm, and identifies the top 2 most-touched levels. These are displayed in the bottom-right table, color-coded by timeframe (blue = TF1, purple = TF2), allowing traders to instantly identify cross-timeframe Fibonacci confluences.
Top-Right Table — Most Touched Fib Levels
Displays the top 4 most-touched Fibonacci levels from the current chart timeframe, ranked using a bubble sort across all 14 levels. Each row shows:
Fib ratio with direction arrow (↑ upper channel / ↓ lower channel)
Exact price of the level
Touch count (colored from blue → red based on relative touch frequency)
Zone — Upper (resistance side) or Lower (support side)
How To Use
Set Lookback Bars to define the range of history to analyze. Higher values (500+) reveal macro structure; lower values (50–150) focus on recent structure.
Identify high-touch levels from the top-right table — these are the levels price has tested most frequently and are the strongest candidate zones for future reactions.
Use the multi-TF table to find confluences: when the same Fibonacci level appears as most-touched on both TF1 and TF2 simultaneously, it indicates a high-probability reaction zone.
Adjust Touch Sensitivity (%) based on asset volatility:
Crypto: 0.2–0.5% recommended
Forex: 0.05–0.15% recommended
Equities: 0.1–0.3% recommended
Color gradient gives immediate visual context — price trading near red zones suggests resistance pressure; near green zones suggests support.
Inputs Summary
InputDefaultDescriptionLookback Bars300Number of bars used for range and touch detectionTouch Sensitivity (%)0.002Tolerance for a bar high/low to qualify as a touchFib Line Width1Visual thickness of dashed level linesTop / Mid / Bottom ColorRed / Yellow / GreenGradient anchor colorsTimeframe 160 (1H)First external TF for multi-TF panelTimeframe 2240 (4H)Second external TF for multi-TF panel
Originality
This script is an original work combining automatic range-based Fibonacci channel construction with a bar-by-bar touch counting algorithm and multi-timeframe confluence detection. While Fibonacci retracement is a widely used concept, the specific implementation — symmetric dual-channel construction from a dynamic midpoint, percentage-adaptive touch sensitivity, RGB gradient heatmap coloring, bubble-sort level ranking, and simultaneous multi-timeframe touch analysis via request.security() — represents the author's own methodology for transforming static Fibonacci levels into a dynamic, data-scored support/resistance framework.
Disclaimer
This indicator is intended for educational and analytical purposes only. No indicator can predict future price movements with certainty. Always combine multiple forms of analysis and apply proper risk management before making any trading decisions.
Short Description:
Automatically builds a dual Fibonacci channel from the N-bar range high/low, counts how many times price has touched each of the 14 levels, and ranks them by touch frequency. Includes a multi-timeframe panel showing the most-respected Fibonacci levels across two additional timeframes for confluence analysis. Penunjuk

VV Control Levels AnalyzerVV Control Levels Analyzer
VV Control Levels Analyzer is a control-level analysis indicator designed to help traders evaluate where price is positioned relative to major volume and VWAP reference levels.
The indicator studies four main control references:
1. Daily POC
2. Weekly POC
3. Monthly POC
4. Anchored VWAP Gate Line
It then summarizes the relationship between price and those levels in a clean technical dashboard.
This script is an indicator, not a strategy. It does not place trades, does not calculate backtest results, and does not provide guaranteed buy or sell signals. Its purpose is to organize important control-level information on the chart so users can make their own analysis.
Overview
The main idea behind VV Control Levels Analyzer is that price location relative to high-volume control levels can provide useful market context.
When price is above most control levels, the chart may be showing stronger acceptance above value.
When price is below most control levels, the chart may be showing weaker acceptance below value.
When price is close to one or more control levels, the market may be testing an important decision area.
The indicator does not predict future price movement. It shows where price is trading relative to selected control references.
Main components
1. Daily, Weekly, and Monthly POC
The script calculates an approximate Point of Control for the previous completed Daily, Weekly, and Monthly periods.
POC means Point of Control. It represents the price area with the highest estimated volume within the selected period.
The indicator calculates POC internally by:
* storing period price and volume data,
* dividing the price range into volume rows,
* distributing volume into those rows,
* selecting the row with the highest accumulated volume.
The POC calculation is an approximation based on available chart data. It is not intended to exactly duplicate exchange-native or broker-native volume profile tools.
The Daily, Weekly, and Monthly POC values are shown in the dashboard. The active POC line can also be plotted on the chart if the user enables it from settings.
By default, the POC line is hidden to keep the chart clean. However, the POC logic remains active even when the line is hidden.
2. Active POC Line
The user can choose which POC period is displayed on the chart:
* Daily
* Weekly
* Monthly
The displayed POC line is optional. It can be enabled or disabled from the settings.
Bar coloring can still use the active POC even when the POC line itself is hidden.
The active POC is used to color candles as:
* above POC,
* below POC,
* crossing POC.
This is visual context only and should not be treated as a standalone entry or exit signal.
3. VWAP Gate Line
The indicator calculates a VWAP Gate from a selected anchor period:
* Daily
* Weekly
* Monthly
The main VWAP Gate Line is shown by default. It represents the central VWAP reference from the selected period.
The script also calculates optional upper and lower VWAP gates using standard deviation around the VWAP.
The optional gates are:
* Upper Gate 1
* Upper Gate 2
* Lower Gate 1
* Lower Gate 2
By default, only the main VWAP line is shown to reduce chart clutter. Users can disable “Show Only Main VWAP Line” to display the additional upper and lower gate levels.
4. VWAP Standard Deviation Gates
The upper and lower VWAP gates are calculated using the selected standard deviation multipliers.
First Gate Multiplier controls the first deviation band.
Second Gate Multiplier controls the second deviation band.
These levels can help users identify areas where price is stretched above or below the selected VWAP period.
These gates are reference levels only. They are not automatic reversal or breakout signals.
5. Smart Control Logic
The indicator evaluates price against four control references:
* Daily POC
* Weekly POC
* Monthly POC
* VWAP Gate Line
It counts how many of these levels price is currently above.
The result is displayed as Control Strength:
0/4 = price is below all four control references
1/4 = price is above one control reference
2/4 = price is above two control references
3/4 = price is above three control references
4/4 = price is above all four control references
This control count is used to create the dashboard status.
Dashboard status explained
Very Bullish
Price is above all four control references and is not too close to a control level.
Bullish
Price is above most control references and is not too close to a control level.
Neutral
Price is around the middle of the control structure or near a control level.
Recovery Watch
Price is near a control level after weakness. This may indicate that price is testing an area where recovery could be studied, but it is not a buy signal.
Breakout Watch
Price is near a control level and trading above or near the VWAP Gate. This may indicate that price is testing control resistance, but it is not a breakout confirmation by itself.
Breakdown Risk
Price is near a control area but below the VWAP Gate or important control references. This may indicate weakness around control levels, but it is not a short signal by itself.
Bearish
Price is below most control references.
Very Bearish
Price is below all four control references and is not too close to a control level.
Trend reading
The script also provides a simple trend reading:
Up
Price is above both Weekly POC and Monthly POC.
Down
Price is below both Weekly POC and Monthly POC.
Sideways
Price is mixed between Weekly and Monthly POC references.
This trend field is a broad context reading only. It should not be treated as a complete trend-following system.
Nearest Control
The dashboard identifies the nearest control level to current price among:
* Daily POC
* Weekly POC
* Monthly POC
* VWAP Gate
It also shows the distance from current price to that nearest control level as a percentage.
If price is within the selected Neutral Distance %, the dashboard treats price as being near a control area.
Volume Ratio
The script calculates a volume ratio by comparing current volume with a 20-period average volume.
Volume Ratio = Current Volume / 20-period Average Volume
The dashboard highlights volume strength based on the selected Strong Volume Ratio setting.
Strong volume means current volume is above the selected threshold.
Weak or normal volume means current volume has not reached that threshold.
Volume is used as context only. It does not validate a trade by itself.
Technical Analysis Dashboard
The dashboard displays:
Symbol
Shows the current ticker.
Current Price
Shows the latest close price.
Status
Shows the smart control state, such as Very Bullish, Neutral, Breakout Watch, or Breakdown Risk.
Trend
Shows Up, Down, or Sideways based on Weekly and Monthly POC position.
Current Volume
Shows the current chart volume.
Volume Ratio
Compares current volume with its recent 20-period average.
Daily POC
Shows the calculated Daily POC.
Weekly POC
Shows the calculated Weekly POC.
Monthly POC
Shows the calculated Monthly POC.
Upper Zone
Shows the first upper VWAP deviation gate.
VWAP Gate Line
Shows the main VWAP gate value.
Lower Zone
Shows the first lower VWAP deviation gate.
Control Strength
Shows how many of the four control references price is currently above.
Nearest Control
Shows the closest control reference to current price.
Distance
Shows percentage distance from price to the nearest control level.
Settings explained
Volume Profile / POC Settings
Show POC Line
Shows or hides the active POC line. The POC remains active in the dashboard and logic even when hidden.
POC Base Color
Controls the color of the active POC line.
POC Transparency
Controls how visible or soft the POC line appears.
POC Line Width
Controls the thickness of the active POC line.
Above POC Bar
Color used when price closes above the active POC.
Below POC Bar
Color used when price closes below the active POC.
POC Cross Bar
Color used when price crosses the active POC.
Displayed POC Period
Selects which POC period is displayed as the active POC line: Daily, Weekly, or Monthly.
Color Bars by POC
Colors candles according to price position relative to the active POC.
Volume Resolution Rows
Controls how many rows are used in the internal POC approximation. Higher values may provide more detail but can require more processing.
VWAP Gate Settings
Show VWAP Gate
Enables or disables VWAP gate plotting.
Show Only Main VWAP Line
When enabled, only the central VWAP Gate Line is shown. When disabled, upper and lower deviation gates are also shown.
Main VWAP Line
Controls the color of the main VWAP line.
Main VWAP Line Width
Controls the thickness of the main VWAP line.
Optional Gate Lines
Controls the color of the optional upper and lower VWAP gates.
Fill Optional Gate Zones
Fills the space between optional VWAP deviation gates. This is disabled by default for a cleaner chart.
VWAP Gate Period
Selects the anchor period used for the VWAP calculation: Daily, Weekly, or Monthly.
First Gate Multiplier
Controls the first standard deviation level around VWAP.
Second Gate Multiplier
Controls the second standard deviation level around VWAP.
Smart Control Logic
Neutral Distance %
Defines how close price must be to a control level to be treated as a neutral or control-test area.
Strong Volume Ratio
Defines the volume ratio threshold used to classify current volume as strong.
Use Volume in Optional Status Label
Adds volume context to the optional chart label.
Technical Analysis Table
Show Table
Shows or hides the technical dashboard.
Table Position
Controls where the dashboard appears on the chart.
Table Size
Controls the dashboard text size.
Show Optional Status Label
Shows a compact chart label with the current VV Analyzer status.
Optional Label Size
Controls the size of the optional status label.
Optional Label Distance
Controls how far the optional label is placed from the latest candle using ATR.
How to use this indicator
A practical workflow:
1. Check the dashboard Status.
2. Review Control Strength to see how many major control levels price is above.
3. Check the Trend field for broad context.
4. Identify the Nearest Control level and distance.
5. Watch price behavior around the VWAP Gate Line and the nearest POC.
6. Use Volume Ratio as supporting context.
7. Combine this information with your own market structure, risk management, and trading plan.
Example interpretation
If price is above Daily POC, Weekly POC, Monthly POC, and VWAP Gate, the dashboard may show Very Bullish. This means price is accepted above all selected control references. It does not mean price must continue upward.
If price is below most control references, the dashboard may show Bearish or Very Bearish. This means price is trading below important control levels. It does not mean price must continue downward.
If price is close to a POC or VWAP Gate, the dashboard may show Breakout Watch, Recovery Watch, Breakdown Risk, or Neutral. This means price is testing a control area and needs further confirmation from the user’s own analysis.
Alerts
The script includes alerts for:
VV Very Bullish
Price is above all control levels.
VV Bullish
Price is above most control levels.
VV Recovery Watch
Price is near a control level after weakness.
VV Breakout Watch
Price is testing control resistance.
VV Breakdown Risk
Price is below VWAP or a key control area.
VV Very Bearish
Price is below all control levels.
These alerts are classification alerts only. They do not instruct the user to buy or sell.
Important limitations
This indicator does not predict future price movement.
It does not provide buy or sell signals.
It does not place strategy orders.
It does not provide backtesting results.
POC values are internally approximated from available chart price and volume data.
VWAP gates are calculated from the selected period and may differ from other VWAP tools depending on method and data source.
Daily, Weekly, and Monthly values are based on completed periods and update when a new period begins.
Volume quality can differ between markets, symbols, and data providers.
The dashboard status is a contextual classification, not a trade recommendation.
Recommended use
VV Control Levels Analyzer is best used as a decision-support tool for traders who study:
* Point of Control
* VWAP
* volume-based control levels
* price acceptance above or below value
* distance from key control levels
* volume confirmation
* multi-timeframe control context
It is designed for visual market context, not automated trading, not guaranteed signal generation, and not financial advice.
Originality and purpose
VV Control Levels Analyzer combines multi-timeframe POC, anchored VWAP gates, volume ratio, nearest control distance, bar coloring, and a smart technical dashboard into one clean control-level framework.
The purpose of combining these components is to help traders quickly understand whether price is above, below, or testing important volume and VWAP reference levels.
The script is intended to reduce chart clutter by showing the main VWAP gate by default, hiding the POC line by default, and placing the detailed control information inside the dashboard.
Penunjuk

Continuous Market Grid botThe Continuous Market Grid Bot is a high-frequency, range-bound algorithmic market-making strategy. It bypasses conventional directional forecasting by dividing a master price bracket into symmetrical, mathematically spaced price corridors. Utilizing dynamic status arrays to maintain structural awareness, the engine systematically scaling-in long inventory via micro-dips and liquidating positions for explicit, compounding cash-flow gains upon immediate cyclical rotations.
Core Algorithmic Architecture
1. Finite Array State Machine
Unlike standard grid scripts that continuously spam overlapping or duplicate orders, this version integrates a persistent boolean status matrix (grid_holding). The array serves as the bot's independent memory core. It dynamically locks a specific grid corridor the microsecond an accumulation trigger is met, ensuring that a tier cannot be duplicated until its active inventory is completely cleared via an offsetting profit execution.
2. Self-Replenishing Micro-Corridors
The matrix loop is designed for continuous rotation across the operational band:
The Dip Layer: The engine monitors price interactions with each localized grid line. If price cuts downward across a tier, the bot locks inventory for that specific corridor.
The Targeted Rotation: Once inventory is secured, the strategy targets a discrete liquidation zone exactly one step higher. Upon an upward crossover, the engine flushes the tier, clears the array reference, and instantly rearms the level to repeat the accumulation process on the next corrective wave.
3. Dynamic Boundary Activation
To prevent adverse fills during chaotic macro trends, the system includes an automated initialization sequence. The execution engine remains completely dormant until price action enters the designated trading bracket. Once active, the intermediate nodes are cleanly rendered as non-repainting dashed structural levels across the right side of the user workspace.
Strategy Parameters & Backtesting Metrics
To replicate realistic institutional execution, the strategy properties are pre-embedded with specific live-market friction metrics. When running historical simulations or connecting to automated API order routers, ensure the configuration mirrors these structural settings:
Explicit Commission Values: The script is hardcoded with a 0.035% execution fee (strategy.commission.percent) applied to every single transaction. This precisely mirrors real-world round-trip costs on premium derivative exchanges and discount brokerages.
Slippage Buffer Requirements: It is highly recommended to configure 10 to 15 Slippage Ticks within your TradingView strategy properties tab. This ensures the historical performance metrics account for order book latency, depth variations, and execution delay during high-speed matching environments.
Independent Close Rule: The strategy utilizes the close_entries_rule="ANY" instruction. This is a critical configuration that enables the engine to close position tiers out of chronological order, focusing strictly on closing the exact matching layer that reached its specific target matrix.
High-Risk Capital & Margin Warning
Symmetrical grid trading algorithms present exceptionally stable performance metrics during consolidation zones, but they introduce structural liabilities that users must thoroughly evaluate before allocating active capital:
High Capital Intensity: Grid systems demand heavy capital allocation. Because the bot continuously accumulates units as price descends, your ledger requires deep, un-leveraged cash reserves to sustain multiple simultaneous open drawdowns without triggering forced liquidation or margin calls.
The Trend Extinction Risk: The primary hazard to a grid framework is a one-directional macro trend. If an asset enters a persistent, structural capitulation phase that breaks cleanly below your Lower Price Limit, the bot will remain at maximum asset capacity, holding a full basket of losing inventory with mounting unrealized losses.
Emergency Risk Isolation: The script features an embedded Stop Loss Control Module. If enabled, a breach of the user-defined floor price immediately initiates a comprehensive purge sequence—wiping all pending orders, flushing outstanding inventory at market values, and clearing the status arrays to completely halt ongoing downside exposure.
Disclaimer: Trading financial derivative instruments carries a high level of capital risk. Grid bots are highly susceptible to severe trend extensions and liquidity blackouts. This technical model is presented strictly for educational research and historical backtesting analysis. It does not constitute personalized financial advice or automated asset management.
Strategi

Penunjuk

Anchor S&R Suite - ParallelAnchor S&R Suite — Parallel
A data-driven, zero-repaint parallel support/resistance grid built from the market's own swing pivots.
Instead of eyeballing a range and dragging parallel lines by hand, this indicator finds the swing pivots automatically, groups the ones that cluster at similar prices into support/resistance levels, picks the single strongest Resistance/Support pair, and repeats that channel's height up and down as an evenly-spaced grid — recomputed on a higher-time-frame (HTF) rhythm and held flat in between.
WHAT MAKES IT DIFFERENT
• Data-driven, not arbitrary. The channel is built from REAL swing pivots that actually printed. A level's weight comes from how many pivots cluster on it and how long they span — not from a hand-placed box.
• Anchored to a time frame. You set the cadence (e.g. Weekly); the channel recomputes once per closed HTF candle and stays perfectly flat until the next close — clean horizontal steps, not sloping lines.
• Zero repaint. Pivots are confirmed and only closed HTF periods are used. A level you saw earlier sits in the exact same place now. Warm-up is not repaint: if a period has too few qualifying levels, the previous channel simply CARRIES FORWARD — no past value is ever rewritten.
HOW IT WORKS
1. Pivots — confirmed swing highs/lows on your CHART bars (strength = Pivot Period).
2. Window — at each cadence close, keep the pivots from the last `Lookback` closed HTF periods.
3. Clustering — sort pivots by price and merge those within Cluster Tolerance (% of price) into one level, carrying its touch COUNT and time SPAN.
4. Best channel — among levels with at least Min Touches, pick the Resistance/Support pair with the highest score (see below), subject to the width filters.
5. Grid — repeat that channel's height up and down: price = resistance − height × j. The base channel (Resistance & Support) is highlighted; the lines above/below are projected S/R.
THE ALGORITHM
For every Resistance cluster R and Support cluster S with R.price > S.price and height H = R − S > 0:
width% = H / basis × 100 (basis = Support or Resistance — see Width Basis)
reject if width% < Min% or width% > Max% (0 disables that bound)
score = (R.count + S.count) × (R.span + S.span + 1)
→ keep the highest-scoring pair; if none qualifies, carry the previous channel forward.
Why that score: (count) rewards levels touched many times; (span) rewards levels respected over a long stretch. Multiplying them favours a channel whose BOTH edges are repeatedly AND durably defended.
SETTINGS
• Cadence TF — when the channel recomputes and how macro it is. Higher = fewer, wider, slower channels; lower = tighter, more reactive. Must be greater than the chart TF.
• Lookback (1–20) — how many closed HTF periods of pivots feed the search. More = steadier, better-tested channel; less = tracks the latest swing but can be noisier or carry forward.
• Pivot Period — swing strength: a pivot needs this many bars on each side. Higher = bigger, fewer, more significant swings; lower = finer, busier levels. (A pivot is confirmed `period` bars after it forms — a delay, not repaint.)
• Price Source — High/Low (wicks, true extremes) or Open/Close (bodies only, cleaner on wick-heavy assets).
• Cluster Tolerance % — how close two pivots must be to count as the same level. Larger = fewer, fatter, better-touched levels; smaller = more, thinner levels (which may fall below Min Touches).
• Min Touches — minimum pivots in a cluster to qualify as a level. Higher = only well-tested levels (more robust, fewer candidates); lower = looser.
• Min / Max Channel Width % (+ Width Basis) — a FILTER on which R/S pairs are allowed, by channel height as a percentage. It does not resize a channel; it decides how tall the chosen one may be (and therefore the grid spacing).
width% = height / basis × 100, with basis = Support (“Bottom to Top”) or Resistance (“Top to Bottom”).
Example: R = 70 000, S = 63 000 → height 7 000 → 11.1% (Bottom to Top) or 10.0% (Top to Bottom).
Raise Min → forces a taller channel / wider grid; lower Max → forces a shorter channel / tighter grid; 0 = bound off. If the band is too strict, no pair passes and the channel carries forward.
Lookback = 1 (reactive) vs Lookback = 3 (broader, steadier).
• Parallel Lines (per side) — how many grid repeats are drawn above/below the base channel (total = 2 × N + 1). Coverage only.
• Display — colour & width for the Grid and the Base channel, and optional channel-height % labels.
The base channel (bold Resistance / Support) with the % labels on, and the lighter grid repeating around it.
HOW TO TRADE THE GRID
• Trade reactions, not the line itself — watch for a rejection, reclaim or stall at a line rather than assuming it stops there.
• The base channel is the anchor: inside it = range conditions (fade the edges); a clean break-and-hold often runs to the next grid line (one channel height away).
• Grid spacing = a measured-move unit — the next line up/down is a natural first target after a breakout.
• Confluence first — a line matters most where it lines up with prior structure, a round number, or (with the rest of the suite) a Volume/OI zone or a Fib level.
EXAMPLE SETUPS
• Swing (default): 1h–4h chart, Cadence = Weekly, Lookback = 3, Pivot Period = 5.
• Intraday: 5–15m chart, Cadence = Daily, Lookback = 2–3, Pivot Period = 3–5.
• Macro: Daily chart, Cadence = Monthly, Pivot Period = 8–15.
Nothing showing? Raise Cluster Tolerance, then lower Min Touches, then widen the Min/Max width band, then increase Lookback.
Works on any market and any timeframe.
This indicator is a charting / analysis tool. It is not financial advice and does not generate buy or sell signals.
Penunjuk

Anchor S&R Suite - Fib LevelsAnchor S&R Suite — Fib Levels
Anchored Fibonacci retracements & projections that recompute on a higher-time-frame rhythm and never repaint.
Instead of dragging a fib tool by hand between a swing high and a swing low, this indicator measures a reference range automatically — the High/Low (or Open/Close) of one or several CLOSED higher-time-frame (HTF) candles — and plots the full Fibonacci ladder from it, across your entire chart history. The result is a clean, repeatable level grid that updates on a predictable rhythm and never moves under your feet.
WHAT MAKES IT DIFFERENT
• Anchored to a time frame, not a manual swing. You choose the cadence (e.g. Weekly); the levels are recomputed once per closed HTF candle and held perfectly flat until the next one closes — clean horizontal steps, not sloping diagonals.
• Zero repaint. The indicator only ever reads candles that have already CLOSED. During the current, still-forming HTF period the levels are based on the previous period and do not move — not on every tick, not on every chart bar. A level you saw an hour ago sits in the exact same place now, so what you backtest by eye is what you would have traded.
• Warm-up, not repaint. The only caveat: the first levels can appear only once enough closed HTF candles exist (exactly like a moving average needs its length in bars). No historical value is ever rewritten — loading more history simply reveals earlier levels.
HOW IT WORKS
On the close of every cadence candle, the indicator takes the range of the last closed candle(s) and rebuilds the ladder from it. That ladder stays fixed until the next cadence close, when it jumps to the new values.
• Retracement levels sit INSIDE the range — the pullback / continuation zones you watch while price works within an established range.
• Projection levels sit OUTSIDE the range — measured-move / breakout targets for when price leaves the range.
The deliberate one-bar gap you see at each boundary is intentional: it marks the bar where a new HTF candle closed and the ladder was recomputed. It is the visual signature of a correctly anchored, non-repainting level — not a glitch.
THE CALCULATION
Let mergeHi and mergeLo be the high and low of the anchored window, and H = mergeHi − mergeLo its height. For a ratio f, the four directions are:
• Retracement from the high : mergeHi − f × H (descends into the range)
• Retracement from the low : mergeLo + f × H (rises into the range)
• Projection above the high : mergeHi + f × H (extends upward)
• Projection below the low : mergeLo − f × H (extends downward)
At f = 0 a level sits on its anchor; at f = 1 it reaches the opposite end of the range. So 0 and 1 are the range bounds (the decision zone lives between them, 0.382–0.786). Ratios are not limited to 0–1: a value above 1 (e.g. 1.272, 1.618) projects beyond the range as an extension target.
SETTINGS
• Cadence TF — the heartbeat. It controls both which range the fibs are measured from and how often they refresh. Higher cadence = fewer, wider, slower levels (a macro map); lower cadence = tighter, more reactive levels. Must be greater than the chart TF.
• Lookback (1–20) — how many closed HTF candles merge into ONE range. 1 = the last period only (maximum reactivity); 4 (default) = the highest high / lowest low of the last four (broader, calmer, anchored to more structure).
• Source — High/Low (full candle range, wicks included; captures the true extremes) or Open/Close (bodies only, ignores wicks; tighter, “accepted-value” levels).
• Fib Mode — Retracement / Projection / Both. It also greys out the inputs of the family it excludes.
• 7 levels — each row gives INDEPENDENT control over its Retracement and its Projection: a toggle plus a fully editable ratio for each family, side by side. So any level can be a retracement, a projection, both, or neither, each with its own value. The classic 0.382 / 0.5 / 0.618 / 0.786 are shown by default; 0 / 0.236 / 1 are available. Edit any value to match your method (an OTE-style 0.705, a 0.65, or a 1.618 extension).
• Display — independent show/hide and colour for the Upper family, the Lower family and the Range lines; level & range line widths; optional per-level ratio labels.
Lookback = 1 — the last closed period only (tight, reactive).
Lookback = 4 (default) — a broader, calmer range over four periods.
Retracement / Projection / Both.
HOW TO TRADE THE LEVELS
The indicator draws the map; you decide. A level is a decision point, not a guarantee.
• Confluence first. A level matters most when several things agree at the same price: a retracement and a projection landing together, a level sitting on a prior swing high/low or a round number. The more overlap, the stronger the reaction tends to be.
• React, don’t predict. Watch HOW price behaves at a level — a rejection wick, a reclaim, a tight consolidation — rather than assuming it must stop there.
• Entries. In a pullback, continuation entries tend to cluster around 0.5 / 0.618 / 0.786; wait for a reaction rather than a blind limit on the line.
• Stops & targets. A stop just beyond the next level (where the idea is invalidated); targets at the opposite retracements, the range bounds, or the projection extensions (0.618 / 1.0 / 1.618).
• Bias from the range. Holding above the 0.5 of the range reads as relative strength; losing the deep 0.786 suggests the pullback is failing.
EXAMPLE SETUPS
• Swing (default): chart 1h–4h, Cadence = Weekly, Lookback = 4, Source = High/Low, Mode = Retracement. The multi-week range frames the swing; the internal retracements mark where to add or fade.
• Intraday off the prior day: chart 5–15m, Cadence = Daily, Lookback = 1, Mode = Both. Prior-day range as anchors, internal retracements as pullback zones, projections as breakout targets.
• Macro context: chart Daily, Cadence = Monthly, Lookback = 1. A slow, stable map of monthly value for bias.
Works on any market and any timeframe.
This indicator is a charting / analysis tool. It is not financial advice and does not generate buy or sell signals.
Penunjuk

Delivery Shift CISD [Viprasol]Overview
This indicator is based on an open-source "Change in State of Delivery (CISD)" community script, which detects the ICT concept of a delivery shift — the moment price reverses and closes back through the opening level of the opposing momentum leg that produced it. The original tracks swing-point liquidity, detects bullish and bearish CISD events using a displacement-ratio test, marks the origin level, and flags "strong" CISDs that occur right after opposing liquidity is swept. This version keeps that detection engine intact and adds a Viprasol confluence and execution layer: a 0-4 confluence score with A/B/C grading, optional volume-surge and higher-timeframe bias filters, a signal cooldown, a minimum-score gate, and an ATR-anchored Entry/SL/TP risk overlay drawn on qualified signals.
It is built for ICT/SMC traders who use CISD as a confirmation of intraday delivery direction and want each event graded by confluence, with optional filters and an automatic risk projection.
How It Works
Swing Liquidity (from original):
Pivot highs and lows over the swing period create horizontal liquidity lines that extend forward each bar. A line is mitigated when price trades through it (high >= level for a high, low <= level for a low) on a confirmed bar, and removed; lines older than the expiry threshold stop updating. The most recently mitigated high and low, and how many bars ago they were taken, are retained for the sweep test below.
CISD Detection (from original):
When a candle flips color (a down candle followed by an up candle, or vice versa), its open is stored as a potential CISD origin along with its bar index. On each later bar the script checks whether price has closed back beyond that stored open. If it has, it measures the displacement of the leg as a ratio: for a bearish CISD, (highest close in the leg − origin open) / (top of the bearish run − origin open). If that ratio exceeds the Noise Filter, the event qualifies as a CISD, the origin level is drawn, and the trend state flips. Weaker candidates are discarded and the scan continues to older candidates.
Liquidity-Sweep Confluence (from original):
A CISD is flagged "strong" when it fires within the liquidity-lookback window after the opposing liquidity was swept — a bearish CISD where a swing high was just taken and price closed back below it, or a bullish CISD where a swing low was taken and price closed back above. These print the labeled sweep arrows.
Confluence Score & Grade (new):
Every CISD event is scored 0-4 by summing four independent confluence checks:
score = strongDisplacement? + liquiditySweep? + htfAligned? + volumeSurge?
- strongDisplacement = the measured ratio is at least halfway between the Noise Filter and 1.0 (a decisively strong leg, not a marginal one).
- liquiditySweep = the original sweep confluence is present.
- htfAligned = the CISD direction agrees with the higher-timeframe EMA.
- volumeSurge = volume on the CISD bar exceeds its rolling average × the multiplier.
The score maps to a grade — A (>= 3), B (= 2), C (<= 1) — labeled at the origin level.
Filters & Qualified Signals (new):
Four optional gates can be applied without altering the original CISD drawing: a volume-surge requirement, a higher-timeframe EMA bias (bull only above, bear only below), a per-signal cooldown (minimum bars between qualified signals), and a minimum-confluence-score requirement. A CISD that passes all active gates becomes a "qualified" signal, which is what the risk overlay and the two new qualified alerts use. With every gate at its default (cooldown 0, filters off, min score 0), every CISD qualifies and the original behaviour is unchanged.
Risk Overlay (new):
On a qualified CISD, the script projects three lines: Entry at the CISD origin level, Stop-Loss beyond the CISD swing extreme (the highest/lowest close captured during detection) plus an ATR buffer, and Take-Profit at Entry ± risk × the Risk:Reward ratio, where risk is the Entry-to-SL distance. Colored ENTRY/SL/TP price labels mark the line ends. Only the most recent qualified signal's projection is kept, to avoid clutter.
What Is Original (Viprasol Additions)
1. Confluence score (0-4) and A/B/C grade per CISD, from displacement strength, liquidity sweep, HTF alignment, and volume surge.
2. Minimum-confluence-score gate and the "qualified signal" concept layered on top of raw CISD detection.
3. Optional volume-surge filter (volume above its rolling average × multiplier on the CISD bar).
4. Optional higher-timeframe EMA bias filter (and an always-computed HTF read used for grading).
5. Per-signal cooldown to prevent qualified-signal clustering.
6. ATR-anchored Entry/SL/TP risk overlay with colored price labels, with the stop anchored to the CISD swing extreme.
Key Features
From the Original:
- Swing-point liquidity lines with forward extension, mitigation, and expiry
- Displacement-ratio CISD detection for both directions with a Noise Filter
- Origin-level lines drawn on each CISD
- Trend/delivery-state tracking
- Liquidity-sweep confluence with labeled strong-CISD arrows
- Swing-high / swing-low dots
- Trend-gradient candle coloring
Added in This Version (Viprasol):
- 0-4 confluence score with A/B/C grade label
- Minimum-score gate and qualified-signal logic
- Volume-surge filter, HTF EMA bias filter, and signal cooldown
- ATR-anchored Entry/SL/TP risk overlay with price labels
- Info dashboard (delivery state, last grade, sweep, HTF bias, volume, live liquidity counts)
- Two new alerts for qualified bull/bear signals; all alert messages made dynamic
How to Use
Getting Started:
1. Add to a standard candlestick chart (not Heikin Ashi).
2. With defaults, every CISD is drawn and graded — read the A/B/C label to judge each event's confluence.
3. To trade only stronger setups, raise the Minimum Confluence Score or enable the volume / HTF filters.
Reading the Chart:
- Candles tint green/red with the current delivery state.
- A thick green/red horizontal line marks a CISD origin level; the A/B/C label shows its grade.
- ▲/▼ arrows mark strong CISDs that followed an opposing liquidity sweep.
- On a qualified CISD (with SL/TP enabled), Entry/SL/TP lines and price labels project to the right.
Recommended Starting Points:
- Intraday (1m-15m): Swing Period 10-12, Noise Filter 0.6-0.7, Min Score 0-1
- Swing (1H-4H): Swing Period 15-20, Noise Filter 0.7-0.8, Min Score 2, enable HTF bias
- Higher conviction: Min Score 3 (grade A), or require volume surge + HTF bias
These are starting points only — every market and timeframe behaves differently. Backtest and adjust before trading live.
Settings
Calculations: Noise Filter (displacement ratio threshold), Swing Period, Expiry Bars, Liquidity Lookback.
Signal Filters (Viprasol): signal cooldown, volume-surge requirement (length + multiplier), and HTF EMA bias (resolution + length).
Confluence & Quality (Viprasol): show grade on CISD, minimum confluence score.
Risk Overlay (Viprasol): show SL/TP on qualified CISD, show price labels, ATR period, SL ATR buffer, Risk:Reward.
Appearance: bullish/bearish colors, candle body and wick transparency, hide expired levels, hide mitigated levels.
Dashboard / Display: dashboard toggle and position.
Alerts
1. Swing High Mitigation — a swing-high liquidity line was taken
2. Swing Low Mitigation — a swing-low liquidity line was taken
3. Bearish CISD — a bearish change in state of delivery fired
4. Bullish CISD — a bullish change in state of delivery fired
5. Strong Bearish (Sweep) — bearish CISD following an opposing liquidity sweep
6. Strong Bullish (Sweep) — bullish CISD following an opposing liquidity sweep
7. Qualified Bull — a bullish CISD that passed all active filters and the score gate
8. Qualified Bear — a bearish CISD that passed all active filters and the score gate
All alerts include {{ticker}}, {{close}}, and {{interval}} for dynamic notification messages.
Limitations & Disclaimer
- CISD detection scans backward through stored candidate origins and uses closing relationships; signals are evaluated as bars confirm and the displacement ratio is measured after the move.
- The HTF EMA bias uses request.security with lookahead disabled; HTF values update only as the higher-timeframe bar develops.
- Swing liquidity lines are capped (oldest pruned) and can expire; in fast markets some mitigations may occur off-screen relative to the visible levels.
- The risk overlay's stop is anchored to the captured swing extreme plus an ATR buffer — it is a mechanical projection, not an optimized stop, and the lines are visual references only; they do not place or manage trades.
- Filters and the minimum-score gate reduce the number of qualified signals; in choppy conditions valid CISDs may not qualify, while with all gates off qualified signals equal raw CISDs.
- Past performance does not guarantee future results. This indicator is for educational and analytical purposes only and is not financial advice. Always use proper risk management and test on historical data before trading live.
Credits & Attribution
Based on an open-source "Change in State of Delivery (CISD)" community indicator, which provided the swing-point liquidity lines with extension/mitigation/expiry, the displacement-ratio CISD detection for both directions, the origin-level drawing, the trend/delivery-state tracking, the liquidity-sweep confluence with labeled strong-CISD arrows, the swing dots, and the trend-gradient candle coloring. CISD is an Inner Circle Trader (ICT) concept. Added by Viprasol: the 0-4 confluence score and A/B/C grading, the minimum-score gate and qualified-signal logic, the volume-surge and HTF EMA bias filters, the signal cooldown, the ATR-anchored Entry/SL/TP risk overlay with colored price labels, the info dashboard, and the two additional qualified-signal alerts with dynamic messages.
Published open-source per TradingView House Rules.
Penunjuk

Penunjuk

Smart Gap & Support and Resistance Breakout [MarkitTick]💡 This technical analysis script provides a highly sophisticated framework for market structure mapping, gap categorization, and breakout validation. By tracking structural pivot points and combining them with algorithmic gap analysis, the indicator systematically identifies areas of significant price imbalance and evaluates their impact on subsequent price action. The tool dynamically maps historical and developing support and resistance levels across multiple timeframes, integrating volume analysis and time-decay functions to ensure only the most relevant structural levels remain active. Designed for robust technical evaluation, it utilizes a strict non-repainting architecture for its multi-timeframe data retrieval, ensuring historical integrity during retrospective analysis.
✨ Originality and Utility
While many indicators plot basic support and resistance levels or highlight price gaps, this tool introduces a high degree of originality through its algorithmic synthesis and mashup methodology. The combination of structural pivot tracking and gap categorization is a deliberate and logical confluence. Gaps inherently represent sudden shifts in supply and demand, frequently acting as hidden support or resistance zones. By merging gap analysis with traditional pivot-based market structure, the script provides a unified view of market geometry.
Furthermore, the script distinguishes itself by categorizing gaps dynamically into three distinct types: Breakaway, Runaway, and Exhaustion. Rather than treating all price voids equally, it applies contextual logic—such as trend maturity and volume confirmation—to evaluate the probabilistic nature of the gap. The utility is further enhanced by an advanced multi-timeframe engine that overlays macro structural levels onto the active chart without introducing lookahead bias, providing traders with a pristine, top-down analytical perspective within a single pane.
🔬 Methodology and Concepts
● Structural Pivot Detection
The foundation of the script relies on identifying Swing Highs and Swing Lows.
A Pivot High is established when a specific high price is preceded and followed by a defined number of lower highs.
A Pivot Low is established when a specific low price is preceded and followed by a defined number of higher lows.
These points act as the empirical anchors for drawing support and resistance lines.
● Gap Categorization Engine
The script continuously scans for bullish and bearish price gaps (defined as a strict price void between the current low/high and the high/low of two bars prior, combined with directional candle confirmation). Once a gap exceeds the minimum size threshold, it is classified using the following methodology:
Breakaway Gaps (BW): Identified if the gap's occurrence coincides with the breaking of the most recently established structural pivot level. This signifies a forceful escape from a prior consolidation or trend phase.
Exhaustion Gaps (EX): Identified if the gap occurs after a prolonged trend duration (trend maturity) and is accompanied by a significant volume spike. This logic assumes that late-stage acceleration coupled with extreme volume often represents climatic buying or selling.
Runaway Gaps (RW): Any valid gap that does not meet the strict criteria for Breakaway or Exhaustion is classified as Runaway, representing standard trend continuation.
● Non-Repainting Multi-Timeframe Integration
To map higher timeframe (HTF) levels onto the lower timeframe (LTF) chart safely, the script employs a strict index-offset methodology. When fetching HTF pivot data, the script references the previous bar's calculated state while utilizing a lookahead parameter. This architectural design explicitly prevents future data leakage (lookahead bias), ensuring that historical backtesting and real-time execution behave identically.
● Breakout and Time-Decay Logic
Support and resistance lines are evaluated for breakouts based on closing prices. A breakout is only considered valid if the closing price decisively crosses the level and, if volume confirmation is enabled, the breakout bar's volume exceeds the defined moving average threshold. To maintain a clean visual workspace, levels can be subjected to a time-decay function, removing them from the chart after a user-defined number of bars.
🎨 Visual Guide
● Support and Resistance Lines
Green Lines: Represent active support levels derived from current timeframe pivot lows.
Red Lines: Represent active resistance levels derived from current timeframe pivot highs.
Thick Light Blue Lines: Highlight major support levels from the higher timeframe.
Thick Orange Lines: Highlight major resistance levels from the higher timeframe.
● Market Structure Labels
Red "HH" / "LH" Labels: Denote Higher Highs or Lower Highs at resistance pivots.
Blue/Green "LL" / "HL" Labels: Denote Lower Lows or Higher Lows at support pivots.
Purple "EH" / "EL" Labels: Indicate Equal Highs or Equal Lows.
● Gap Visualization Boxes
Blue Boxes: Highlight Breakaway Gaps (BW).
Orange Boxes: Highlight Runaway Gaps (RW).
Red Boxes: Highlight Exhaustion Gaps (EX).
Dotted Mid-Lines: Each gap box contains a dotted line calculating the exact mathematical midpoint of the gap, often acting as a highly reactive micro-level.
● Breakout Markers
Green Upward Triangles (▲): Plotted below the price to indicate a confirmed breakout of a resistance level. The number indicates how many distinct resistance levels were broken on that bar.
Red Downward Triangles (▼): Plotted above the price to indicate a confirmed breakdown of a support level.
Cyan/Orange Triangles: Represent breakouts of higher timeframe (HTF) levels.
📖 How to Use
● Interpreting Gap Signals
Breakaway Gaps: When a blue Breakaway gap forms, it suggests the initiation of a new directional phase. Traders typically monitor the borders of this gap to act as strong support or resistance upon any subsequent retests.
Runaway Gaps: The appearance of an orange Runaway gap confirms underlying trend strength. The midpoint of these gaps (the dotted line) is often used to gauge short-term trend health.
Exhaustion Gaps: A red Exhaustion gap serves as a cautionary signal. Because it indicates mature trend fatigue coupled with high volume, it suggests that the current directional momentum may be nearing a terminal phase or sharp retracement.
● Trading Support and Resistance Breakouts
Structural Mapping: Use the dynamically drawn S/R lines to identify the boundaries of the current market range.
Volume Confirmation: When the indicator plots a breakout triangle, ensure that it aligns with your broader directional bias. If the volume confirmation setting is active, the triangle inherently signifies that the breakout possessed above-average participation, increasing the mathematical probability of continuation.
Multi-Timeframe Confluence: Pay special attention when current timeframe price action interacts with the thicker HTF lines. A breakout that fractures both a LTF and HTF resistance level simultaneously carries significantly more structural weight.
⚙️ Inputs and Settings
● Swing Logic
Left Bars / Right Bars: Determines the number of bars required on either side of a candle to confirm a structural pivot. Higher values yield longer-term, more significant levels.
Max Stored Levels: Controls how many historical S/R lines remain active on the chart to prevent visual clutter.
Max Break Labels: Limits the number of historical breakout triangle markers displayed.
● Usability and Time Decay
Multi-Timeframe: Allows overriding the base timeframe for calculations.
Enable Time Decay: When activated, S/R levels that remain untested or unbroken will automatically expire and be removed from the chart.
Decay Period (Bars): The specific threshold of bars after which an untested level is deleted.
● Higher Timeframe (HTF) Levels
Enable HTF Levels: Toggles the calculation and plotting of macro S/R lines.
HTF Timeframe: The target timeframe for macro structural analysis (e.g., Daily, Weekly).
Hide Current TF When HTF Active: A visual filter to isolate only macro levels when desired.
● Algorithmic Filters and Analysis
Volume Confirmation: When true, breakouts are only validated if the bar's volume exceeds a moving average.
Min Gap Size (Points): Establishes a raw point threshold that a price void must exceed to be classified as a gap, filtering out negligible price skips.
Volume Spike Multiplier: The factor by which current volume must exceed the average to trigger Exhaustion gap logic.
Trend Maturity (Bars): The minimum number of bars a trend must have persisted from the last major pivot to allow for an Exhaustion gap classification.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
● Auction Market Theory and Liquidity Voids
The gap categorization matrix within this script is deeply rooted in Auction Market Theory (AMT). In AMT, price discovery is a continuous auction searching for liquidity. A gap represents a structural liquidity void—a pricing zone where no double-sided auction occurred due to extreme urgency from either buyers or sellers. The script's identification of Breakaway gaps mathematically isolates moments where this urgency successfully overcomes historical supply or demand nodes (the pivots). The dotted midpoint lines inside the gap boxes serve as theoretical "Fair Value" approximations for the void, representing the mean reversion target if the market attempts to repair the inefficient auction.
● Volume Spread Analysis (VSA) Integration
The Exhaustion gap classification heavily relies on principles derived from Volume Spread Analysis. In VSA, volume represents the effort of market participants, while price spread represents the result. The script mathematically quantifies an anomaly: when an extended trend (measured by the Trend Maturity parameter) produces a sudden gap on extreme volume (measured by the Volume Spike Multiplier), it implies climactic transfer of inventory from strong hands to weak hands. The algorithmic detection of these specific variables provides a quantifiable method for identifying trend exhaustion without relying on lagging, bounded oscillators.
● Fractal Market Geometry
By rendering both LTF and HTF structural pivots within the same visual plane, the script operationalizes the concept of fractal market geometry. Financial time series exhibit self-similarity across different scales. A pivot high on a 15-minute chart is formed by the same behavioral mechanics as a pivot high on a Daily chart, but they carry vastly different liquidity weights. The script's strict index-offset MTF architecture ensures that the geometric relationship between these distinct fractal layers is evaluated with absolute temporal accuracy, providing a mathematically sound representation of macro supply and demand overlaying micro price action.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. I expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. Penunjuk

Penunjuk
