Atr Volatility BandsAtr Volatility Bands
Atr Volatility Bands is an ATR-based trend and volatility indicator designed to provide a clear visual view of market direction, volatility, and changing price conditions.
The indicator combines a smoothed ATR Trail with an additional ATR-based outer band and a dynamic three-color gradient. The ATR Trail adapts to market volatility and changes direction when price moves through the calculated volatility levels.
The gradient continuously changes based on the position of price within the ATR bands, creating a smooth visual transition between different market conditions. The same gradient is also applied to the candles, making trend and momentum changes easier to recognize directly on the chart.
Main Settings
• Adaptive ATR Trail
Tracks the current market direction while adapting to changing volatility.
• ATR Outer Band
Provides additional volatility context around the main ATR Trail.
• Dynamic Color Gradient
Uses a smooth purple, blue, and cyan transition based on price position within the ATR range.
• Trend Shift Detection
Helps visually identify when the current market direction changes.
• Gradient Bar Coloring
Colors candles according to the current ATR-based market condition.
• Sensitivity
Adjusts the responsiveness of the ATR calculations.
• Gradient Smoothness
Controls how smoothly the color transitions respond to price changes.
Atr Volatility Bands is designed to keep the chart clean while providing an intuitive view of trend direction, volatility, and price movement.
Use the indicator together with your preferred market structure, price action, and confirmation tools. It is not intended to be used as a standalone buy or sell signal.
Indicatore

Indicatore

SMC Structure IdentifierThis indicator uses SMC (ICT) concept for market structure identification.
It maps market structure using confirmed swing highs and swing lows, then builds structural logic from those points. It is designed to separate raw swings from meaningful structural swings, label the structure, and optionally display Break of Structure (BOS) events.
The swing logic uses a configurable lookback and forward confirmation window. Once raw swings are detected, consecutive highs or lows are compared so that only the most structurally relevant point is kept. Overwritten swings can optionally be shown separately, making it easier to understand how structure is being filtered.
Features:
• Confirmed swing high and swing low detection
• Structural swing filtering with overwritten swing handling
• Optional HH, LH, HL, and LL labels
• Optional bullish and bearish BOS detection
• BOS based on protected highs/lows and candle close
• Customizable swing marker size and colors
• Customizable BOS colors, line width, and label placement
• Ability to show or hide ignored/overwritten swings
Logic:
A structural swing is confirmed when an opposite swing appears. If multiple swings of the same type occur before an opposite swing confirms structure, only the most extreme swing is kept:
• Higher highs replace prior unconfirmed highs
• Lower lows replace prior unconfirmed lows
Trend and BOS logic are based on protected highs and lows:
• In a bearish trend, a close above the protected high marks a bullish BOS
• In a bullish trend, a close below the protected low marks a bearish BOS
This tool is intended for traders who use SMC for market structure, swing analysis, and break-of-structure concepts in their discretionary analysis.
Note:
1. Market Structure inside SMC is subjective; this indicator is an attempt to implement it into the code. Regulate Lookforward and Lookback variables to find the most suitable structure for you.
2. This indicator does not provide buy or sell signals. It is a visual structure-mapping tool and should be used together with your own trading plan, risk management, and additional analysis. Indicatore

Parabolic SAR Constraint Kinematics & Run GeometryOverview
Parabolic SAR Constraint Kinematics & Run Geometry studies how a continuing Parabolic SAR step is formed and how the surrounding run develops. It keeps TradingView's ta.sar() as the plotted SAR series and adds measurements of the run's Extreme Point, remaining Arc, acceleration-factor progression, and prior-two-bar price constraint.
The central distinction is between the free parabolic candidate and the candidate after the two-bar constraint. The script measures how much movement the constraint removes, how much movement remains, and how frequently material constraints occur within a fully observed run. A synchronization check compares the reconstructed candidate with ta.sar() before exposing the related constraint percentages.
The PSAR formula itself is standard. The added functionality is the coordinated measurement of its step mechanics, run-relative geometry, observation completeness, and bounded run history. The indicator does not adapt the PSAR formula, filter its side changes, optimize parameters, or rank trading opportunities.
Chart layers
The default display contains the canonical SAR dots, an Extreme Point trace, a translucent SAR-to-Extreme-Point Arc, small side-change markers, yellow material-constraint halos, and a compact upper-right panel.
Cyan and pink distinguish the tracked SAR-below and SAR-above run states. Green and amber distinguish the corresponding Extreme Point traces. Colors and visibility are configurable. These colors describe tracked states; they do not prescribe an action.
The Extreme Point is the highest observed high in a SAR-below run or the lowest observed low in a SAR-above run. It is updated according to the selected confirmation setting.
Optional layers include the free candidate point, the constraint bridge, an Arc midline, the current run's origin line, descriptive event markers, and completed-run summaries. These additional layers are disabled by default to avoid crowding the chart. The bridge compares the free candidate with the plotted SAR on materially constrained bars after the synchronization check; the reconstructed guarded candidate can differ from the plotted SAR by the permitted tolerance.
Reading the compact panel
The default layout remains a three-row grid. Abbreviated captions and reduced spacing save horizontal space without changing the measurements or their numeric precision.
STATE: BELOW or ABOVE means the tracked SAR side relative to price. FULL means the run's beginning was observed; PARTIAL means tracking began during an existing run. TIGHT identifies the contracted-Arc state. SYNTHETIC identifies a non-standard chart.
RUN: An example such as "11b ✳3 ∥4" means 11 bars in the tracked run, three Extreme Point updates, and four bars since the last Extreme Point update. The star identifies updates; the parallel strokes identify elapsed bars without an update.
ARC: Current normalized SAR-to-Extreme-Point distance, followed by Arc Retention.
STEP: Absolute one-bar SAR movement, followed by that movement as a percentage of the remaining Arc. This percentage is a geometric ratio, not a return or probability; it is not capped at 100%.
MOTION: Mechanical state, TX percentage, observed AF, and synchronization symbol. TX means Step Transmission. For example, "FREE TX100.0% AF0.08" indicates an observed FREE state, transmission of 100.0% of the reconstructed free step, and an observed AF of 0.08.
CODE: The four-axis run signature and completed-run count. CODE is the compact label for the run signature, not a trading signal. The suffix n20 means 20 completed full runs are retained for the duration/brief-run history. When the signature display is disabled, HIST shows the sample count, average duration in bars, and brief-run share instead.
Hovering over the cells reveals definitions, the processing scope, reconstruction error, constraint percentages, recent recorded signature states, and rolling history summaries. The panel shows the latest execution state; moving the cursor over an older bar does not make the panel display that bar's historical state. Extended Data Window output can be enabled for historical numeric inspection inside the research window.
Arc and distance units
Arc = abs(Current SAR - Tracked Extreme Point)
Arc Retention = 100 x Current Arc / Widest Arc recorded in the same tracked run
A lower retention value means the current Arc is narrower relative to that run's widest recorded Arc. It does not establish that a price reversal is approaching.
Distance units are selectable: ATR at run start, percent from run origin, minimum ticks, or raw price. The ATR-style normalizer smooths true range using RMA, SMA, EMA, or WMA. The range used for normalization is captured when tracking of the run begins, and percent distances use the absolute close captured as the run origin. In a PARTIAL run, these references belong to the first tracked bar, not the unknown actual beginning of the run.
Normalization and optional marker spacing do not alter the canonical SAR calculation.
Tight Arc and re-expansion
After the configured minimum run age, TIGHT is entered when Arc Retention is at or below the selected contraction threshold. Defaults are five bars and 35% retention.
The contracted state is released only after a new Extreme Point appears and retention reaches the contraction threshold plus the selected hysteresis, capped at 100%. Default hysteresis is 20 percentage points, giving a default release level of 55%.
The two thresholds reduce repeated state changes near a single boundary. TIGHT is a latched run state, so a retention value above the entry threshold does not by itself end that state. Neither contraction nor re-expansion forecasts a future market event.
Observed acceleration factor
Observed AF = min(Starting AF + Recorded EP Updates x AF Increment, Effective Maximum AF)
AF Progress = 100 x (Observed AF - Starting AF) / (Effective Maximum AF - Starting AF)
Defaults are 0.02 for the starting factor, 0.02 for the increment, and 0.20 for the maximum. If the entered maximum is below the starting factor, the effective maximum is raised to the starting factor. When both are equal, AF progress is represented as 100%.
The observed AF is reconstructed from the tracked Extreme Point sequence. It is not an independently exposed internal AF series supplied by ta.sar(). Partial-run values do not recover unobserved pre-window updates.
Free candidate and two-bar constraint
The reconstruction is attempted on eligible continuing bars of FULL runs, with the required prior values available and the current raw SAR side agreeing with the tracked run.
Free Candidate = Previous SAR + Previous Observed AF x (Previous Tracked EP - Previous SAR)
For a SAR-below run:
Guarded Candidate = min(Free Candidate, Previous Low, Low Two Bars Ago)
For a SAR-above run:
Guarded Candidate = max(Free Candidate, Previous High, High Two Bars Ago)
The resulting guarded candidate is compared with the current ta.sar() value. The default permitted difference is two minimum ticks; the tolerance is adjustable and includes a small numerical floor.
If the reconstruction is outside tolerance, the state becomes CHECK and Constraint Load and TX are unavailable. If the bar is not eligible, the state is INIT. A successful check establishes agreement within the selected tolerance on that bar, not exact recovery of every internal PSAR state or independent validation of the model.
Constraint Load and Step Transmission
Free Step = abs(Free Candidate - Previous SAR)
Removed Distance = abs(Free Candidate - Guarded Candidate)
Constraint Load = 100 x Removed Distance / Free Step
TX measures the guarded directional step as a percentage of the free directional step. Direction here means the mechanical direction of the tracked PSAR run, not a proposed trade.
TX = 100 x Guarded Directional Step / Free Directional Step
The displayed constraint percentages require synchronization and a valid positive denominator. They are bounded between 0% and 100%. In ordinary eligible cases, they describe the removed and transmitted portions of the reconstructed step. A zero or invalid denominator produces unavailable data rather than an invented percentage.
A measurable constraint requires both a removed distance of at least one quarter of a minimum tick and Constraint Load of at least 1%. A material constraint additionally requires the user-selected materiality threshold, which defaults to 12.5%.
MOTION states and symbols
INIT: The current bar is not eligible for the continuing-run reconstruction, including during partial tracking or at the start of a run.
CHECK: The guarded candidate differs from ta.sar() by more than the permitted tolerance.
FREE: The measurable-constraint conditions are not satisfied. This includes effects below the residual or load thresholds, not necessarily a mathematically exact zero effect.
TRACE: A measurable constraint exists, but its load is below the materiality threshold.
BRAKE: A material constraint exists and the guarded directional step remains greater than one quarter of a minimum tick.
PINNED: A material constraint exists and the guarded directional step is at or below that quarter-tick threshold.
The check mark means agreement within tolerance; the exclamation mark means outside tolerance; the ellipsis means not yet eligible. None is a confidence rating or market recommendation.
Yellow halos and run occupancy
A yellow halo identifies a bar meeting the synchronized material-constraint conditions. It marks a mechanical effect on the PSAR step, not an entry, exit, reversal prediction, target, or stop.
Run Constraint Occupancy = 100 x Materially Constrained Counted Bars / Synchronized Counted Bars
The counts follow the selected confirmation setting and exclude the side-change bar. Under the default setting, they are committed at bar close. The percentage measures how frequently the guardrail materially affected the eligible observations in that run, not the probability of a future outcome.
Run signature: A, F, P, C
An example code is A3·F2·P2·C0.
A is Arc Retention.
F is observed AF Progress.
P is Extreme-Point Pause Share: 100 x Bars Since Latest EP / (Run Age - 1), with zero used at age one.
C is current Constraint Load.
A, F, and P use four fixed percentage bands:
1: below 25%
2: 25% to below 50%
3: 50% to below 75%
4: 75% or higher
C uses:
C0: valid load below 1%
C1: 1% to below 25%
C2: 25% to below 50%
C3: 50% to below 75%
C4: 75% or higher
C-: Constraint Load is unavailable
C- can occur because the bar is ineligible, synchronization fails, or the denominator is invalid. When no complete signature can be formed, placeholder bands are shown. C is based on the numeric load, whereas MOTION also applies the quarter-tick residual test and the selected materiality threshold; the two displays need not change together.
A3·F2·P2·C0 therefore describes retention from 50% to below 75%, AF progress from 25% to below 50%, pause share from 25% to below 50%, and valid constraint load below 1%.
These are fixed ranges, not sample quartiles, learned regimes, rankings, or probabilities. The code helps compare similarly structured observations without implying similar future outcomes. Up to three recent distinct synchronized signature observations are available in the tooltip; this is not an automatic historical pattern search.
FULL, PARTIAL, and completed-run history
A FULL run begins at an observed SAR side change inside the research window. A PARTIAL run was already underway when tracking began. Only completed FULL runs enter the rolling history.
The memory setting defaults to 20 and accepts 3 to 100 runs. Duration and brief-run history retain the latest completed full runs. The brief threshold defaults to four bars or fewer.
Constraint-occupancy history accepts only completed full runs with a valid occupancy value. Runs without that value are skipped for this particular average, so its sample can differ from the duration/brief-run sample.
Optional completed-run labels also show EP updates, time at the maximum observed AF stage, constraint occupancy, and tight-Arc episode count. These summaries describe completed observations, not simulated transactions.
Research window and runtime
Recent bars is the default scope. The custom research window defaults to 3,000 bars and can be set from 500 to 50,000. All available bars removes that custom limit, subject to the history available on the chart.
The boundary is fixed when the script loads or recalculates. Subsequent realtime bars are included; the window is not a continuously sliding hard cap. Reloading or changing an input rebuilds it.
Before the boundary, canonical ta.sar() and the selected normalizer still evaluate to provide continuous underlying series. The window limits custom run analysis, reconstruction, history, events, and plotted research output; it is not Pine's native calc_bars_count restriction and does not prevent every underlying calculation from running on earlier bars.
Larger windows and All available bars can increase runtime. Use a smaller window if a runtime warning occurs. This is a research and resource setting, not an access restriction.
Controls and alerts
Users can change the research scope, PSAR factors, confirmation behavior, normalization, history length, constraint threshold, synchronization tolerance, visual layers, marker limits, panel layout and position, right-edge clearance, text size, bold formatting, and colors.
Alerts are disabled by default. Available conditions report a SAR side change, Arc contraction, Arc re-expansion, the onset of a material constraint, an age milestone, the observed AF maximum, an EP pause, or completion of a brief full run. They do not specify trading actions.
Extended Data Window output is also disabled by default. Enabling it exposes additional numeric series without changing the underlying measurement rules.
Suggested research workflow
Start on a standard candlestick or bar chart with default settings. Identify the SAR dots, Extreme Point trace, and Arc before reading the panel. Check FULL or PARTIAL, inspect ARC and STEP, and then use MOTION and its tooltip to examine the reconstructed constraint.
For a worked mechanical example, a free directional step of ten ticks reduced to six ticks has a four-tick removed distance: Constraint Load is 40% and TX is 60%, provided the guarded candidate synchronizes and the other eligibility conditions hold. This example explains the arithmetic; it does not describe a trading result.
Use CODE to compare descriptive states, or enable the candidate point and bridge for closer mechanical inspection. Keep the symbol, timeframe, PSAR factors, distance unit, and observation policy consistent when comparing records.
Realtime behavior and limitations
Confirm state changes at bar close is enabled by default. Run changes, EP updates, descriptive event records, and history counters are committed under that setting. The active ta.sar() point, current geometry, constraint calculations, halos, and current displayed signature can nevertheless change before the bar closes. The panel can retain a committed run state while live geometric values update. Disabling confirmation allows more provisional intrabar behavior.
The script is not described as completely non-repainting. Use closed bars for reproducible comparisons.
Non-standard chart types supply synthetic or transformed OHLC. The panel marks them as SYNTHETIC; their measurements describe that generated chart series, not standard market bars.
PSAR can change sides frequently in irregular or sideways markets. A synchronized reconstruction is only a numerical consistency check within tolerance. Changing the available history, research boundary, settings, or timeframe can change the tracked run statistics. Extreme parameter values may produce more unavailable or CHECK observations. Defaults are general research settings, not optimized values.
This open-source indicator is a descriptive visualization and numerical research tool. It makes no claims about forecast accuracy, trading performance, or a predictive edge, and it does not provide individualized recommendations or trading instructions. Indicatore

Market Regime EngineMarket Regime Engine
Market Regime Engine is a multi-layer market-state and historical research framework designed to identify what the market is doing, where it is in the broader market cycle, how mature the current regime is, and how similar historical environments have behaved afterward.
Rather than defining trend from a single indicator, the engine processes price, volume, volatility, momentum, and market structure through several independent layers and combines them into a standardized:
Regime Score: -100 → +100
The architecture is:
Price + Volume → Fast Engine → Structure Engine → Context Engine → Regime Score → Regime + Stage → Regime Age → Historical Cohort
The objective is to remain responsive to genuine changes in market behavior without allowing a single moving-average cross, high-volume candle, or isolated structural signal to completely change the market classification.
Fast Engine
The Fast Engine is the most responsive part of the model and receives substantial weight in the final score.
It analyzes:
20 SMA location — whether price is above or below its short-term trend mean.
20 SMA slope — whether the trend itself is rising, falling, or flattening.
Displacement — candle-body expansion normalized by ATR.
Relative Volume (RVOL) — determines whether directional movement is being accompanied by meaningful participation.
The combination of price relative to the 20 SMA, SMA slope, displacement, and volume provides the first indication that market behavior is changing.
ATR normalization allows these measurements to adapt across instruments and volatility regimes.
Structure Engine
The Structure Engine asks whether price structure confirms what the Fast Engine is detecting.
It tracks:
Swing highs
Swing lows
Higher highs
Higher lows
Lower highs
Lower lows
Break of Structure (BOS)
Change of Character (CHoCH)
A BOS identifies a meaningful break of established swing structure and receives one of the largest individual weights in the model.
A CHoCH identifies a potential change in the prevailing structural direction and is particularly useful when an established trend begins deteriorating.
This creates an important distinction between simply moving above or below the 20 SMA and actually changing market structure.
Context Engine
The Context Engine determines whether the surrounding environment supports the signals coming from price and structure.
It incorporates:
ATR — normalizes price movement and allows the engine to compare displacement and SMA distance across changing volatility environments.
ADX/DMI — measures trend strength and directional confirmation. ADX itself does not determine whether the market is bullish or bearish; it strengthens an already established directional condition.
Fair Value Gaps (FVG) — identify recent price imbalances that provide additional directional context.
Order Blocks — identify recent opposing candles preceding meaningful displacement.
FVG and Order Block information intentionally receive relatively small weights because they are treated as contextual evidence rather than primary directional signals.
Regime Score
All of these components feed into a single standardized score:
-100 ←──────── 0 ────────→ +100
Negative values represent increasing bearish alignment, while positive values represent increasing bullish alignment.
The full weighting framework is:
Component Maximum Weight
Price vs. 20 SMA ±15
20 SMA Slope ±15
Relative Volume ±10
Displacement ±10
Swing Structure ±10
Break of Structure ±20
CHoCH ±10
ADX/DMI ±5
FVG ±2.5
Order Block ±2.5
Maximum Score ±100
This hierarchy is intentional.
The engine places greater importance on price, the 20 SMA, volume, displacement and structural breaks, while FVGs and Order Blocks act as secondary confirmation.
Regime Classification
The Regime Score is translated into five market states:
Strong Bull — broad bullish alignment with strong directional confirmation.
Bull — bullish evidence dominates, but the environment is not strong enough to qualify as Strong Bull.
Range / Neutral — directional evidence is weak, balanced, or conflicting.
Bear — bearish evidence dominates.
Strong Bear — broad bearish alignment with strong downside confirmation.
A confirmation mechanism prevents every short-lived fluctuation from changing the official regime.
For example, price briefly crossing below a rising 20 SMA does not automatically terminate a Bull regime. Other components must deteriorate sufficiently for the aggregate score to confirm a meaningful transition.
This provides the responsiveness of a fast indicator without making the classification excessively sensitive to noise.
Regime vs. Market Stage
One of the most important features of the full engine is that Regime and Stage are separate calculations.
Regime = tactical market condition
Regime answers:
What is the market doing right now?
It is relatively fast and responsive.
Stage = structural market cycle
Stage answers:
Where is the market within the broader trend cycle?
The model uses four stages:
Stage 1 — Base / Accumulation
Typically characterized by flattening trend, weaker ADX, overlapping price structure, and stabilization following a bearish environment.
Stage 2 — Markup
Characterized by a rising 20 SMA, bullish structure, price above the trend mean, structural upside progression and strengthening trend conditions.
Stage 3 — Distribution
Represents deterioration following a bullish environment. The 20 SMA may flatten, bullish structure begins failing, lower highs may develop, and bearish CHoCH can signal that the previous advance is losing control.
Stage 4 — Markdown
Characterized by a falling 20 SMA, bearish structure, price below the trend mean and established downside progression.
Because Stage and Regime are independent, the model can recognize transitions such as:
Strong Bull / Stage 2 → Bull / Stage 2 → Range / Stage 2 → Range / Stage 3 → Bear / Stage 3 → Bear / Stage 4
This provides considerably more information than simply labeling every bar "uptrend" or "downtrend."
Regime Age
Once a confirmed regime begins, the engine counts how many bars that regime has survived.
This produces Regime Age.
For example:
Bull — Age 4
Bull — Age 8
Bull — Age 13
Bull — Age 21
The numbers 8, 13 and 21 do not determine the regime or Stage.
They are strictly research checkpoints.
A market does not become more bullish because it reaches Age 13, nor does it become bearish because it reaches Age 21.
Instead, regime age allows the model to investigate whether the statistical behavior of a market changes as a regime matures.
Historical Cohort Engine
The full Market Regime Engine extends beyond classification by maintaining a historical cohort research layer.
At the designated regime-age checkpoints:
8 bars
13 bars
21 bars
the engine studies subsequent market behavior over:
5 bars
10 bars
20 bars
The research layer can evaluate characteristics such as:
Continuation probability
Average forward return
Historical sample size
Direction-adjusted performance
The larger framework can also be extended to measure:
Median return
Maximum Favorable Excursion (MFE)
Maximum Adverse Excursion (MAE)
Regime survival rate
Regime failure rate
Probability of a new high or low
Probability of transitioning into another regime
This creates a distinction between classification and expectancy.
The Regime Engine tells you:
What environment are we in?
The Historical Cohort Engine asks:
What has historically happened after environments like this?
Importantly, historical cohort statistics do not feed back into the Regime Score. They remain an independent research layer.
Distance From the 20 SMA
The full engine also measures price's distance from its 20 SMA in ATR units:
(Price − 20 SMA) / ATR
This provides information that a simple Bull/Bear classification cannot.
For example, two markets might both have a +55 Bull Regime Score, but one could be:
0.30 ATR above its 20 SMA
while the other is:
2.20 ATR above its 20 SMA.
The directional environment may be similar, but the second market is substantially more extended.
SMA distance is therefore treated primarily as location information rather than additional directional points, helping avoid double-counting the same trend information.
Full Dashboard
The larger version exposes the internal workings of the engine rather than displaying only the final regime.
The dashboard reports:
Current Regime
Regime Score
Market Stage
Regime Age
Price vs. 20 SMA
SMA slope
RVOL
Displacement
BOS
CHoCH
ADX
FVG
Order Block context
ATR-normalized SMA distance
5-bar historical cohort results
10-bar historical cohort results
20-bar historical cohort results
This makes the indicator transparent: instead of simply being told that the market is Bullish, the user can see why the model reached that conclusion.
Example
Suppose the dashboard reports:
Regime: BULL
Score: +32.5
Stage: Stage 2 — Markup
Age: 9 bars
with:
Price above 20 SMA: +15
Rising SMA: +15
RVOL: 0
Displacement: 0
BOS: 0
CHoCH: 0
ADX: 0
Bullish FVG: +2.5
The result is:
+15 + 15 + 2.5 = +32.5
The correct interpretation is not simply "the market is going higher."
Instead, the engine is saying:
The market remains structurally bullish and in a Stage-2 environment, but immediate momentum, volume and structural-break confirmation are currently limited.
That distinction is the purpose of the model.
Philosophy of the Indicator
Market Regime Engine is built around the idea that:
Regime ≠ Trade Entry
A bullish regime does not mean every bar should be bought, just as a bearish regime does not mean every bar should be sold.
The engine is designed to establish environment and directional context.
Execution can then be handled separately using the trader's preferred methodology—price location, pullbacks, candlestick confirmation, support/resistance, volume profile, or other entry criteria.
The framework therefore separates three different questions:
Regime:
What is the market doing?
Stage:
Where are we in the broader cycle?
Historical Cohort:
What happened historically after comparable conditions?
Together, these create a market-state framework that attempts to remain fast enough to recognize meaningful change, structured enough to resist noise, and transparent enough to understand exactly why the market received its current classification.
For research and educational purposes only. Market Regime Engine does not predict future prices and is not financial advice. Indicatore

Volume Profile Breakout Continuation
What this is - and is not. This is one state machine, not separate tools stacked on a chart. A range-compression detector, a volume profile, a higher-timeframe filter, a pullback tracker and a trade-management layer are chained so that each stage only exists because the previous one fired. It is not a volume profile indicator with signals bolted on, and it is not a breakout indicator with a profile drawn next to it.
Why the parts are inseparable. The profile is built only over the bars of a detected accumulation range - remove the range detector and there is nothing to profile. The breakout is defined as a close outside that same range - remove the profile and the pullback has no POC to return to. The trigger is a close back through the POC in the breakout direction - remove the breakout and the trigger has no direction. Take any stage away and the remaining logic has nothing to act on.
Mechanism
1. Accumulation. When the range of the last N bars is at or under k × ATR, an accumulation box opens on that bar and grows while price stays inside. It is drawn as it forms, not in hindsight. A box that expands past the abandon threshold, or runs too long, is dropped and faded.
2. Profile. A small volume-at-price histogram is built inside the box from the accumulation bars only and refreshed each bar. Each bar's volume is spread evenly across the rows its high-low spans. POC is the heaviest row; the value area is expanded outward from the POC to the chosen percentage.
3. Breakout. A confirmed close outside the box. With the higher-timeframe filter on, long breakouts require the prior completed HTF close above its EMA and shorts below. At this moment POC, VAL and VAH are frozen and a second box opens to frame the pullback.
4. Pullback. Price comes back into the POC zone (a tolerance expressed as a percentage of the range height). The setup is invalidated by a close through the far edge of the value area or by a wait timeout.
5. Trigger. A confirmed close back through the POC in the breakout direction marks the entry.
What you see
- Purple accumulation boxes with the profile tucked inside (heatmap or single-hue mode, POC row in gold).
- A teal pullback box from the breakout bar to the trigger bar, with the POC line running through it and a label on the bar that touches the zone.
- Entry labels with entry, TP and SL; TP and SL boxes that extend while the trade is open and truncate at the exit; exit labels showing the percentage actually taken. Past trades stay on the chart.
- A developing session profile floated off the last bar, plus finished day profiles painted in place at each rollover and never redrawn.
- A monospace dashboard: stage, HTF bias, accumulation range, setup and day POC, day value area, pullback status, position, TP/SL, running record, readiness.
Settings
- Accumulation: range lookback, compression multiple, minimum and maximum bars, abandon multiple, ATR length.
- Setup profile: rows, value-area percentage, histogram width, past-setup fade and count.
- Session profile: rows, width, offset, side, color mode, past profiles to keep and their width and transparency.
- HTF bias: on/off, timeframe (auto steps up one tier from the chart), EMA length.
- Pullback: POC zone half-width, maximum wait.
- Trade management: fixed-percent or ATR-multiple TP/SL, max bars in trade, entry cooldown, optional post-exit cooldowns by exit type, past-box fade.
- Session: end-of-day flatten hour and minute (New York).
- Webhook: optional JSON payload on entry and exit with a strategy id and quantity.
How to use. Start with the default settings on the timeframe you normally trade and watch how often boxes form and how often breakouts fail before the pullback. Tighten the compression multiple for fewer, cleaner ranges; widen the POC zone if pullbacks are missing the level by a hair. The trade-management layer is a study aid: the labels and boxes show what the mechanical rules would have done, so you can judge the logic against your own read of the chart.
The defaults are a starting point for one instrument, not an optimized or recommended configuration, not intended to suggest any particular outcome.
Non-repainting. Every state transition, entry and time-based exit is evaluated on confirmed bars only. The higher-timeframe values are requested with lookahead off and reference the previous completed HTF bar, so history and live behave the same. Finished day profiles are painted once at the rollover and never redrawn. TP and SL are checked against the bar's high and low. The profile uses chart-timeframe bar volume, not tick data, so it is an approximation, as every profile built in Pine is; instruments without volume fall back to a time-at-price count. Indicatore

Indicatore

STP Trade Idea AnalysisThe STP Trade Idea Analysis Indicator is a conditional price-path projection engine designed to help traders evaluate potential market direction, important reaction levels, and alternative price scenarios directly on the chart.
Rather than relying on a single technical signal, the indicator combines multiple forms of market structure and price action analysis to provide a clearer view of where price may move next. The system evaluates Elliott-wave structure, Fibonacci levels, Fair Value Gaps (FVGs), Supply and Demand, trend information, and technical confluence to identify meaningful areas of support, resistance, and potential price reactions.
A key feature is the Primary and Secondary Elliott price paths. The Primary path represents the currently favored scenario based on the available market structure, while the Secondary path provides an alternative if price action develops differently. These paths are conditional projections rather than fixed predictions and can adjust as new market information becomes available.
Key Features
Conditional Price-Path Projection – Displays Primary and Secondary Elliott-style scenarios based on current market structure.
Primary Elliott Path – Shows the currently favored 1–5 impulse and A–B–C corrective price path.
Secondary Elliott Path – Displays an alternative scenario if market structure begins to shift.
Fibonacci Levels – R1–R4 and S1–S4 levels derived from the 6:00 AM ET anchor and prior regular-session trading range.
Bullish FVGs – Green shaded areas identify bullish price imbalances that may act as future reaction or support zones.
Bearish FVGs – Red shaded areas identify bearish price imbalances that may act as future reaction or resistance zones.
Supply and Demand Zones – Identify areas where buying or selling pressure may influence future price action.
Confluence Support and Resistance – Highlights important decision zones where multiple independent technical levels cluster.
21 and 50 EMAs – Provide additional visual context for trend direction and price structure.
How to Use the Indicator
For the clearest analysis, I recommend using the indicator primarily on the 1-hour and Daily charts.
Start with the Daily chart to understand the larger market structure, longer-term trend, major support and resistance areas, and the broader Primary and Secondary price-path scenarios. This provides the higher-timeframe context for the trade.
Next, move to the 1-hour chart for a more detailed view of the current setup. Use the 1-hour chart to evaluate developing Elliott structure, FVGs, Fibonacci levels, Supply and Demand, and nearby confluence zones.
Pay particular attention to the Primary Elliott path. This represents the currently favored scenario based on the market information available to the indicator. The Secondary Elliott path should not be ignored. It represents an alternative scenario and can help identify where your original trade thesis may be weakening or where market structure may be changing.
Use the Confluence Support and Resistance zones as potential decision areas. These zones are especially important because they represent areas where multiple independent technical factors cluster, rather than a level derived from a single calculation.
Bullish and Bearish FVG shaded zones can provide additional context. Watch how price behaves as it approaches or enters these imbalances. A reaction, rejection, continuation, or fill can provide useful information about whether the Primary price path remains intact.
The Fibonacci R1–R4 and S1–S4 levels provide additional reference points for potential price reactions and targets. They are established using the 6:00 AM ET anchor and prior regular-session range.
Suggested Workflow
1. Start with the Daily chart
Identify the broader trend, Elliott scenario, major zones, and directional context.
2. Move to the 1-hour chart
Evaluate the current price structure and more actionable Primary and Secondary paths.
3. Identify Confluence Support and Resistance
Look for areas where price may react, consolidate, reverse, or break through.
4. Review FVGs and Fibonacci Levels
Use these as additional confirmation and as potential areas for reaction.
5. Compare the Primary and Secondary paths
The Primary path represents the favored scenario. The Secondary path helps you prepare for an alternative outcome.
6. Let price action confirm the scenario
The projected path should be used as a roadmap, not as a guarantee. As price structure changes, the favored scenario can change as well.
Understanding the Projection
The goal of the indicator is not to predict an exact future price. Instead, it provides a structured framework for answering a more useful trading question:
If the current market structure continues, what is the most probable price path, and what alternative path should I be prepared for if conditions change?
Using the Daily chart for broader context and the 1-hour chart for trade analysis allows traders to evaluate both the larger market structure and the developing setup before making a trading decision.
Important: The STP Trade Idea Analysis Indicator is intended for technical analysis, education, and trade planning. Primary and Secondary price paths are conditional scenarios based on available market data and should not be interpreted as guaranteed future price movements.
Indicatore

Indicatore

Auto Harmonic Patterns [AFD]
A harmonic shape is a starting point—not the whole story.
Auto Harmonic Patterns maps the formation, its price zone and prior trend context, then keeps the pattern's status separate from the levels price has touched.
What it shows
Twelve harmonic patterns in bullish and bearish shapes: Gartley, Bat, Alt Bat, Butterfly, Crab, Deep Crab, Cypher, Shark, Nen Star, 5-0, ABCD and Three Drives.
A Potential Reversal Zone (PRZ): the outer range of the pattern's price projections, not necessarily their overlap or a prediction of reversal.
A Setup marker when the checks pass: D inside the PRZ, the applicable X boundary, a confirming close off D without already leaving the D-to-C band and, when enabled, prior trend context. Setup describes those checks—not a trade recommendation. Non-Setup patterns can remain visible, but carry no Entry, Target or Stop levels.
Grouped labels for formations sharing D, with individual details in hovers. The table separates formation Status from Reached level touches.
How to read it
The detector compares confirmed swing-leg ratios with defined pattern ranges and your Ratio tolerance. Swing strength controls pivot sensitivity; an optional larger swing reading adds another scale on the same chart timeframe. Prior trend can use swing structure or a moving average.
Standard/Detailed enable triangle fill; Minimal hides it. Custom unlocks preset-controlled switches; unused controls are greyed out. Triangle transparency defaults to 60%, adjustable from 0% solid to 100% invisible whenever fill is enabled; finished patterns lose their fill. PRZ and level-box shading are separate. Hover for ratios and checks. Family/orientation filters hide drawings, not detection or pattern/lifecycle alerts. Projected-zone alerts are opt-in and require a drawn zone; level touches do not generate alerts.
The timing matters
A completed pattern appears only after D confirms—the relevant swing-strength number of bars later—and is drawn back to its earlier pivots. It was not available at D in real time. Optional forming patterns and projected D zones can change or disappear before completion.
Levels and size are calculations, not outcomes
Entry references the rounded confirmation close; Targets and Stop follow your settings. R means the C-to-D pattern distance, optionally ATR-capped—not Entry-to-Stop risk. These levels are configured geometry, not measured performance. A touch is not a fill or a win/loss; when Target and Stop are touched within one bar, their order is unknown.
Optional sizing rounds down to whole units using the configured budget, displayed Entry-to-Stop distance and instrument point value. The budget must already be in the instrument's currency. No FX conversion, fees, slippage, fill modelling or combined-position exposure is included. Unsupported values show unavailable.
Use standard time-based bars or candles. Available history, search settings and tracking limits affect coverage; this is not an exhaustive historical pattern catalogue.
About this release
Free and open-source under MPL-2.0. Auction Foundry's implementation combines Setup qualification, shared-D label handling and separate formation/level tracking; it does not claim ownership of harmonic methods. Pattern definitions draw on published harmonic work, including Scott Carney and Darren Oglesbee; internal components come from Auction Foundry's Classical Auto Chart Patterns and Fibonacci Confluence. Indicatore

One Minute Algo Run Enhanced v6 sunny1. OMAR Enhanced v6
Welcome to the beginner training for OMAR Enhanced version six. This indicator organizes opening-range information, directional context, market levels, volume profile, trade plans, and alerts. It is a decision-support tool, not a promise of profit. Use replay or simulation first, define your maximum daily loss, and never take a trade only because a label appears.
2. Learning goals
By the end of this lesson, you should be able to read the opening range, distinguish fixed levels from developing levels, understand long, short, and no-trade conditions, and interpret the complete entry, stop, and target plan. You will also learn what the journal records and what the adaptive filter can and cannot do.
3. Indicator map
The indicator has four layers. Context explains the market environment. Levels show prices that may attract, reject, or accelerate price. Signals appear only when the entry rules are satisfied. Management tracks target one, target two, stop, and breakeven. Read the layers in this order so that a single signal is never separated from its context.
4. Chart orientation
On the chart, trade labels stay close to the breakout candle, while key-level labels sit farther to the right. Horizontal lines remain anchored to their actual prices, so zooming or scrolling does not change the level. Developing labels can move while their calculation window is open. Use the display settings to reduce label size, distance, color intensity, and transparency.
5. Opening range
The default New York opening range measures from nine thirty to ten oh five Eastern time. On a one-minute chart, the first completed bar can lock the range at nine thirty-one when that option is enabled. The high, midpoint, and low become reference prices. The normal trade window runs from nine thirty-one to four p.m. Eastern.
6. Target ladder
The entry is the breakout candle close. The default stop is the opening-range midpoint. The distance from entry to stop is one unit of risk, called one R. Target one is one R from entry, and target two is two R. A wider stop creates wider targets, so position size must be chosen separately to keep account risk controlled.
7. Opening bias
Opening bias is a frozen context check. Completed fifteen-minute and sixty-minute bars compare the nine and twenty-one exponential moving averages. Price at range lock must also agree with the opening VWAP side. When all three agree, the result is long or short. If alignment is incomplete, the indicator says wait. Bias narrows the preferred direction but does not create an entry by itself.
8. Live outlook
The live outlook updates as conditions change. It counts six directional votes: fifteen-minute trend, sixty-minute trend, VWAP side, position relative to the range midpoint, directional movement, and whether price is expanding outside the range. Scores of plus three or more show long, minus three or less show short, and the middle is neutral. This is context, not an entry alert.
9. Range state
Range state describes what price has done relative to the opening range. Building means the range is still forming. Inside range means price remains between the high and low. Expanding up or down requires a close outside the range, not only a wick. Back inside identifies a failed expansion. Both sides means the session closed beyond both boundaries at different times.
10. Fixed and developing levels
A fixed level stops changing after its measurement is complete. Examples include the prior-day high, low, and close, completed session ranges, locked initial balance, and confirmed pivots. A developing level can still move, such as the current regular-hours high or weekly profile. The word D E V on the chart warns you that the calculation has not finished.
11. Asia and London ranges
The default Asia session runs from six p.m. to midnight Eastern, and London runs from two to five a.m. These overnight highs and lows give context before New York opens. A sweep can reject and reverse, or it can accept and continue. Treat each boundary as a reaction area, then look for alignment with bias, structure, and an actual entry signal.
12. Asia opening range
The first fifteen minutes after the six p.m. futures open create a compact Asia opening range. It begins at six and becomes fixed at six fifteen. The high, midpoint, and low can help judge overnight acceptance and later retests. Use it together with the broader Asia high and low; the line alone is not a reason to enter.
13. Initial balance
Initial balance measures the first regular-hours hour, from nine thirty to ten thirty. After it completes, the indicator can project half-range and full-range expansions above and below. These are continuation and stretch references. They may also become reaction zones. Always check whether another opposing level sits before the projected expansion target.
14. Confirmed pivots
One-hour and four-hour pivots add higher-timeframe structure. With the default strength of three, a pivot needs three completed bars on each side, so confirmation arrives after the turning bar. This delay prevents the script from using future information. A confirmed pivot is possible support or resistance, but it does not guarantee that price will reverse there.
15. POC, VAH, and VAL
Volume profile estimates where trading activity occurred during a measured period. P O C is the price row with the most calculated volume. V A H and V A L are the top and bottom of the seventy-percent value area. Current regular-hours and weekly profiles develop until their periods finish. Watch for acceptance, rejection, and confluence; never assume the level must hold.
16. Naked weekly levels
At each completed week, the indicator stores weekly P O C, V A H, and V A L. If price has not traded through one of those levels, it remains naked and extends to the right as a possible future magnet or reaction area. When price touches it, the level becomes inactive. The default history is eight prior weeks, and no naked level is guaranteed to be reached today.
17. Why profile values differ
Two volume-profile indicators can show different values without either being broken. Differences may come from session hours, number of price rows, volume allocation method, lower-timeframe precision, contract symbol, continuous-contract adjustment, or whether the profile is still developing. For a fair comparison, match symbol, session, row count, value-area percentage, and data precision first.
18. Choppy and no trade
The indicator blocks entries when market quality falls below its rules. Common reasons are an opening range below ten points, A D X below eighteen, price balancing close to the developing daily P O C, or a breakout candle whose body is less than thirty-five percent of its full range. No trade is a valid signal and should remain until the blocking condition clears.
19. Signal gate
A long or short alert requires every enabled condition to be true on the breakout bar. The opening range must be locked, the time must be inside the trade window, no choppy block can be active, the candle body must be strong enough, and optional bias must agree. Finally, the close must cross the proper range boundary and the daily signal-frequency rule must permit it.
20. Entry, stop, and targets
For either direction, the alert provides a complete plan: entry at the breakout close, stop at the opening-range midpoint, and target one and target two from the risk distance. After target one, the journal protects the remaining simulated position at the original entry and records breakeven if price returns. Actual order size, fills, slippage, and partial exits remain the trader's responsibility.
21. Alerts and display controls
To receive the full dynamic message in TradingView, create an alert using Any alert function call. That message includes direction, symbol, entry, stop, both targets, opening bias, and range state. Display settings let you hide level groups and adjust trade-label size, key-level distance, naked-level distance, font appearance, text color, transparency, and full-width horizontal lines.
22. Journal and adaptive filter
The journal records trade count, target-one and target-two results, stops, breakevens, monthly totals, and recent target-one success. With fewer than ten results, the filter is learning only. Below fifty-five percent, it tightens quality rules, and below forty-five percent it tightens them further. This is rule adjustment, not machine learning. Pine does not rewrite itself or preserve unlimited learning after reloads.
23. Beginner daily workflow
Before regular hours, mark overnight ranges, prior-day levels, pivots, and naked profile levels. At nine thirty, let the range form. After lock, read bias, live outlook, range state, and any no-trade condition. At a breakout, require the alert and check room to the next opposing level. Manage the planned stop and targets. After the session, review in replay and change only one setting at a time. Education only; futures can produce losses quickly.
Gurpreet Sappal Indicatore

quantedOptions Levels [qO]Official quantedOptions Levels Script.
quantedOptions Levels draws options-positioning levels on any chart from one pasted line of text: the call wall and put wall, the gamma flip, the builder's call-side and put-side gamma maxima (Gamma C / P), the largest positive and negative delta-exposure strikes (DEX C / P), the five largest net-gamma strikes, a shaded zone between the walls, and the strike profile itself as a ladder on the right edge of the chart, one bar per strike sized by net gamma.
HOW TO USE
1. Copy a levels line from a quantedOptions dashboard (quantedTrader for QQQ, SPY and other tickers; quantedGamma for SPX) with "Copy for TradingView".
2. Open this indicator's settings and paste the line into "Paste from quantedOptions".
3. The levels appear with a header showing the ticker, expiry cohort, time and the price at that time. Levels are a snapshot of that moment. Paste again to refresh.
CONVERSION
On the ticker's own chart the levels are drawn as they are. On a related instrument they are rescaled live: QQQ levels on NQ, MNQ or NDX; SPY on ES, MES or SPX; SPX on ES or MES; IWM on RTY or M2K; DIA on YM or MYM; GLD on GC or MGC; SLV on SI or SIL; USO on CL, MCL or QM. Ratios are sampled only on bars where the ETF traded, so an overnight futures move does not shift the lines. Cash-index levels on their futures use the basis instead of a ratio. "Fixed ratio" lets you set your own factor; "Off" draws everything 1:1. Each label shows the level in the chart's price and the original strike.
DISPLAY
Levels that share a strike are drawn once with the names joined, so nothing overlaps. Each group of levels can be switched off. Glow, line start, ladder length and label size are adjustable. Three alert conditions are included: price crossing the call wall, the put wall and the gamma flip.
TRY IT
Paste this line to see the indicator work on a QQQ chart, or on NQ to see the conversion. It is QQQ's front expiry at 11:00 Central on 2026-09-04:
qo1|QQQ|2026-09-04|11:00|717.62|0DTE|net=291.1|cw=720|pw=718|flip=724.53|gc=720|gp=718|dc=715|dp=720|top=720,718,717,722,716|p=682:-0.6,683:-0.7,684:-1.5,685:-2.3,686:-0.8,687:-1.3,688:-1.9,689:-1.7,690:-3.8,691:-2.7,692:-2.0,693:-1.5,694:-3.0,695:-6.4,696:-2.2,697:-3.6,698:-3.6,699:-2.8,700:-20.7,701:-2.8,702:-5.3,703:-9.8,704:-5.8,705:-32.5,706:-7.9,707:-16.1,708:-29.6,709:-19.8,710:-51.3,711:-36.0,712:-35.6,712.5:-26.0,713:-58.2,714:-7.7,715:49.9,716:-135.7,717:-232.0,717.5:5.9,718:-308.2,719:45.3,720:432.7,721:88.5,722:186.0,722.5:111.9,723:36.0,724:83.5,725:126.5,726:20.3,727:19.1,727.5:7.2,728:27.4,729:6.7,730:44.2,731:11.2,732:10.9,732.5:1.5,733:3.6,734:3.3,735:40.7,736:3.4,737:2.2,737.5:0.7,738:0.8,739:2.1,740:4.5,741:4.8,742:0.5,742.5:0.5,743:0.6,744:0.5,745:1.5,746:0.5,747:0.5,748:1.4,749:0.2,750:2.7,751:1.8,752:0.2,753:0.3
NOTES
Nothing is sent anywhere. The only input is the text you paste, and the only data requested are the reference prices of the related tickers for conversion. The levels are derived from listed options open interest and Greeks. They describe where positioning sits; they are not a signal. Indicatore

OB + SD MTF Overlap# OB + SD MTF Overlap
## Overview
Most order block and supply/demand tools draw zones for a single timeframe. That
forces you to flip between charts to know whether the level you are looking at also
matters on the higher timeframes — and by the time you flip back, the reaction is over.
This script merges **two different zone engines** — Volumized Order Blocks and
Supply & Demand — and renders both across **up to six timeframes at once** on a single
chart. Instead of a wall of boxes, it encodes the important part as **color intensity**:
the more confluence at a price level, and the higher the timeframe it comes from, the
more opaque the zone. One glance tells you which levels are worth your attention.
## How the zones are detected
The script runs two independent detection engines. They never mix with each other:
an order block is only ever merged with another order block of the same direction, and
a demand zone only with another demand zone.
**Order Blocks (structure based).** A swing high/low is confirmed with a configurable
swing length (default 10). When a close breaks that swing, the script walks back through
the impulse to find the origin candle — the lowest low before a bullish break, the
highest high before a bearish one — and marks that candle's range as the zone. Zones
larger than 3.5×ATR(10) are discarded as noise. Each block also stores the volume of the
three candles that produced the break, split into buy-side and sell-side, and displays
the total plus an imbalance percentage (for example `24.657M (32%)`). A low percentage
means the break was one-sided; a high percentage means it was contested.
**Supply & Demand (momentum based).** When four consecutive candles print bodies larger
than half the 20-period average body in the same direction, the script marks the base
candle that preceded the burst. These zones are clamped to 1.5×ATR(20) so a single wide
candle cannot produce an oversized area, and a minimum spacing of 5 bars prevents the
same move from generating a cluster of near-identical zones.
**Invalidation** is configurable per engine: by wick or by close. Broken zones can stay
on the chart as historical reference or be hidden.
## The overlap and intensity system
Every enabled timeframe is scanned independently, and zones of the same kind and
direction that overlap in price are fused into a single box. The merged zone keeps the
union of the price range, inherits the identity of the **highest** timeframe involved,
and carries a counter of how many original zones it absorbed — shown as `xN` in the label
along with the timeframes it came from, e.g. `1 Hour & 15 Min OB x2`.
Opacity is then computed from two terms:
```
transparency = base − (timeframe rank × tf step) − ((overlap count − 1) × overlap step)
```
clamped to a configurable floor. In practice: a lone 15-minute zone is barely tinted,
while a cluster where the 15m, 1h and 4h all agree is strongly saturated. All four
constants are exposed in the *Color Intensity* settings group, so you can make the effect
subtle or dramatic.
## Auto MTF
With **Auto MTF** enabled (default) the script ignores the manual slots and follows the
chart: it uses the current timeframe plus the next three standard ones above it. On a 5m
chart you get 5m, 15m, 1h and 4h; on a 4h chart you get 4h, D, W and M. Change the chart
timeframe and the zone set re-scales with it — no reconfiguration.
Turn Auto MTF off to drive the six slots manually. In both modes, timeframes lower than
the chart's and duplicate slots are disabled automatically.
## Retests, breaks and alerts
An **R** label marks each time price returns to a live zone (with a cooldown so a single
extended visit does not produce a stack of labels), and an optional **B** label marks the
bar where a zone is invalidated. Labels are cleaned up when their zone disappears.
Eight alert conditions are available: retest and break, for supply, demand, bullish OB
and bearish OB.
## Settings worth knowing
- **Max Distance To Last Bar** — how much history is processed. Lower it if the script
is slow on your machine, especially with six timeframes enabled.
- **OB / S&D Zone Count** — zones kept per type, per timeframe (One / Low / Medium / High).
This is the main control over chart clutter and object count.
- **Swing Length** — smaller values produce more, smaller order blocks.
- **Order Blocks / Supply & Demand** — either engine can be switched off entirely.
- **OB Volume Text** — hides the volume and imbalance line if you only want the boxes.
## How to use it
Treat it as a **map, not a trigger**. The zones tell you where imbalance was created and
where price may react; they say nothing on their own about direction or timing. A
practical reading order:
1. Prioritise the darkest boxes — high timeframe, high overlap.
2. Prefer zones with few or no `R` labels; each retest consumes whatever resting interest
the level held.
3. Use the volume imbalance to tell a decisive origin from a contested one.
4. Wait for your own confirmation *inside* the zone (rejection, absorption, a signal from
another tool) rather than trading the touch itself.
On lower timeframes price interacts with some zone almost constantly, so a zone touch
by itself is a very weak piece of evidence. The value of this script is in showing you
where several independent readings of the market point at the same price — and in letting
you ignore the rest.
## Credits and license
This is a derivative work that merges and extends two open-source scripts by
**@fluxchart**: *Volumized Order Blocks | Flux Charts* and *Supply & Demand (MTF) |
Flux Charts*. The detection logic of both engines is preserved from the originals.
Released under the same **Mozilla Public License 2.0**: mozilla.org
What this version adds over the originals: both engines running side by side in one
script; multi-timeframe support extended to the Order Block engine (the original was
chart-timeframe only); the overlap counter and the timeframe/confluence based opacity
model; Auto MTF; retest and break labels unified across both engines; and the removal
of the internal volume bars in favour of a cleaner multi-timeframe view.
## Disclaimer
This indicator is a visualisation and context tool. It does not generate buy or sell
signals, it makes no claim about future performance, and it should not be used as the
sole basis for a trading decision. Test any approach on your own data before risking
capital.
Indicatore

Indicatore

Indicatore

Gaussian Trend Filter | Lyro RS█ Overview
Gaussian Blur Trend Filter | Lyro RS is a trend-following overlay that runs price through a two-pass Gaussian blur to build a smoothed baseline, then classifies the market as bullish, bearish, or neutral from the slope of that baseline combined with price's position relative to it.
Where a single moving average reacts to every wiggle in price, this indicator convolves the same Gaussian kernel over price twice. The second pass smooths the already-smoothed series, producing a wider effective kernel with cleaner slope behaviour than a single-pass filter of the same length — fewer false slope changes, later noise-driven flips.
The result is a coloured baseline with a filled cloud back to price, flip labels marking the exact bar of a trend change, and recoloured candles so the whole chart reflects the current state at a glance.
█ How It Works
⚪ Gaussian Weighting
Each bar in the lookback window is weighted using a Gaussian curve rather than a flat or linear taper, so nearby bars dominate but older bars still contribute smoothly instead of dropping out abruptly.
w = math.exp(-(i * i) / (2.0 * sigma * sigma))
sigma is set as a percentage of Kernel Length via the Blur Width input, which shapes how quickly that weighting falls off.
⚪ Two-Pass Convolution
The first pass smooths raw close into an intermediate series. The second pass smooths that already-blurred series with the same kernel. Two convolved Gaussians combine into one wider, cleaner Gaussian — this is what removes the "noise of the noise" that a single pass leaves behind.
⚪ Trend Classification
The trend only flips to bullish when the baseline is rising and price closes above it, and only flips to bearish when the baseline is falling and price closes below it. Outside of those conditions the previous state is held, so the trend is sticky rather than flickering on ambiguous bars.
⚪ Visual Layer
The baseline is drawn as a stacked outer-glow / glow / core-line plot for a soft neon look, the raw first-pass line is kept visible but faint as a reference, the space between baseline and price is filled as a trend cloud, and candles are recoloured to match the active trend.
█ How to Use
⚪ Reading the Cloud
Cloud colour and fill direction show the current bias and how far price has stretched from the smoothed baseline.
⚪ Flip Labels
"Long" and "Short" labels mark the exact bar where trend state changed — useful as an entry trigger or as confirmation of a bias shift.
⚪ Tuning Kernel Length
Shorter length reacts faster and produces more flips; longer length is smoother but lags further behind price. Lower timeframes generally want shorter settings.
⚪ Tuning Blur Width
Controls how sharply the Gaussian weighting falls off relative to Kernel Length. Lower values keep more first-pass detail; higher values flatten the weighting curve for extra smoothness.
⚪ Alerts
Two built-in alert conditions — Bullish Flip and Bearish Flip — let you get notified the moment the trend state changes without watching the chart.
█ Settings
Kernel Length (5–100, default 30) — number of bars used in the Gaussian window for both blur passes.
Blur Width (0.1–1.0, step 0.05, default 0.35) — Gaussian sigma as a fraction of Kernel Length.
Custom Color Palette — Classic, Mystic (default), Accented, or Royal preset schemes.
Use Custom Palette — overrides the preset with your own Up/Down colours.
█ Important
The double Gaussian pass trades reactivity for a cleaner slope — the baseline will lag raw price more than a single-pass filter of the same length. Reduce Kernel Length on faster markets or lower timeframes if that lag feels excessive. Trend state is confirmed on bar close and does not repaint historically, though the state of the currently forming bar can still change until it closes.
This script is provided for educational and informational purposes only and does not constitute financial advice. Past performance of any strategy, indicator, or trading approach does not guarantee future results. Indicatore

McGinley Regime Ribbon [AxeAlgo]McGinley Regime Ribbon
----------------------------------------------------------------------
WHAT THIS SCRIPT DOES
----------------------------------------------------------------------
McGinley Regime Ribbon classifies the current market into one of four regimes, Trend Up, Trend Down, Ranging, or Volatile, on any chart, in real time, and colours a woven ribbon to match.
It is a context filter. It does not predict future price direction and it does not generate buy or sell signals. Its job is to tell you which kind of tool fits current conditions, so you can stop applying trend logic to a range or fade logic to a trend.
- Trend Up or Trend Down: trend and breakout tools are in context, and mean reversion tends to fight the move.
- Ranging: fades, support and resistance, and VWAP reversion tend to fit, while breakout tools tend to produce false starts.
- Volatile: wide, structureless movement with no dependable edge for either style. The label is a suggestion to stand aside.
----------------------------------------------------------------------
BACKGROUND, WHY A McGINLEY RIBBON AND NOT AN EMA RIBBON
----------------------------------------------------------------------
A standard EMA moves at one fixed speed set only by its length. That same speed applies in a dead calm range and in a fast trend. That fixed speed is the main reason an EMA ribbon whipsaws: in chop, price crosses back and forth through a band that cannot get out of the way, and the stacked or not stacked alignment reading that any ribbon based classifier depends on flickers along with it.
The McGinley Dynamic (John R. McGinley, CMT) handles this inside the formula rather than by adding more smoothing. Each line updates every bar with a term that measures how far price has pulled away from the line, raised to the fourth power. When price pulls away, the line speeds up to close the gap on its own. When price is riding the line, it settles back to roughly the pace of an EMA of the same length. The line is fast when it needs to be and calm when it needs to be, with no separate trend or chop switch attached on top.
The Ribbon Smoothness input is the published tuning constant that scales the baseline speed so it lines up with an EMA of the chosen length. Lower reacts faster, higher is steadier, and the adaptive behaviour happens on top of that either way.
----------------------------------------------------------------------
THE SHARED SPEED FACTOR
----------------------------------------------------------------------
The textbook McGinley formula lets each line compute its own deviation from price. In a five line ribbon that breaks the one property a ribbon needs, a stable relative order between the lines, because a slower line always lags price more than a faster one, so it sees a larger deviation and speeds up by a different amount on an ordinary bar.
In this script only the middle line computes its own deviation. The other four reuse that same speed factor. Relative responsiveness between any two lines is then a fixed ratio of their lengths, exactly like an EMA ribbon, while the ribbon as a whole still accelerates in trends and calms in chop as a group. The speed factor is bounded so one extreme bar cannot collapse every line at once. The five lengths keep Fibonacci spacing, 8, 13, 21, 34 and 55 by default, scaled from a single Ribbon Length input.
----------------------------------------------------------------------
HOW THE REGIME IS CLASSIFIED
----------------------------------------------------------------------
Three independent readings are combined on each bar.
1. Ribbon alignment. How many of the five lines are stacked in order, fast above slow for up or the reverse for down. A full stack is directional structure, a partial stack is not.
2. ADX, taken from the Directional Movement Index. Above the trending threshold points to a real directional push, below the chop threshold points to none. ADX on its own cannot separate trend from chop, which is why it is only one of three inputs.
3. Normalised ATR percentile. ATR divided by price, ranked against its own recent history on a 0 to 100 scale. A high percentile means volatility is unusually elevated for this symbol specifically. Ranking against its own history is what lets the thresholds work across different symbols and timeframes without re-tuning.
From those three:
- Volatile requires an elevated ATR percentile together with a ribbon that has come apart. A fully stacked ribbon is treated as a trend no matter how fast it is moving, so elevated volatility on its own never forces the Volatile state.
- Trending requires not Volatile, ADX at or above the trending threshold, a fully stacked ribbon, and a ribbon spread, meaning its width measured in ATR, at or above a minimum.
- Ranging is the calm, structureless default that applies when neither of the above holds.
----------------------------------------------------------------------
STABILITY AND CONFIRMATION
----------------------------------------------------------------------
Four layers keep the regime from flickering on a boundary.
- Hysteresis. The reading needed to leave a regime is looser than the one needed to enter it, so a value parked on a threshold does not flip every bar.
- Minimum hold. A changed raw regime becomes official only after it has held for a set number of bars. Entering Volatile is exempt by default, because standing aside should not wait.
- Flip rate chop filter. If the official regime has already changed several times inside a recent window, the market is whipsawing by definition, and a fresh trend call is held back until it settles. An already established trend is exempt, so this never fights a real trend through a pullback.
- Higher timeframe confirmation. The same classifier is run on a higher timeframe using confirmed bars only, then folded into an agreement flag and into the published gates. It can require the higher timeframe to merely not conflict, or to match the trend direction exactly.
----------------------------------------------------------------------
SCORES
----------------------------------------------------------------------
- Regime Confidence, 0 to 100. How far past its defining threshold the current regime sits. A reading right on the line scores near zero.
- Regime Maturity, 0 to 100. How long the current run has lasted compared with past runs of the same type on this symbol. A high value means the current phase is already longer than most earlier ones, which can flag a stretched range or an extended trend.
- Trend Quality, 0 to 100. A weighted blend of ADX, ribbon alignment, ribbon spread and mid line slope, reduced when volatility is elevated.
----------------------------------------------------------------------
WHAT YOU SEE ON THE CHART
----------------------------------------------------------------------
- A woven ribbon of 21 thin strands interpolated across the five McGinley lines, with no solid fill. Each strand is a shade of the current regime colour, darker on the slow edge and lighter on the fast edge, over a soft wide glow. Gold for Trend Up, ruby for Trend Down, royal blue for Ranging, indigo blue for Volatile.
- Shade is driven by Regime Confidence. A confident reading gets the full saturated colour. A borderline reading is pulled toward a greyed version of the same colour, never a different colour and never invisible, so the ribbon colour itself tells you how much to trust the call.
- On a regime change every strand cross fades from the old colour to the new one over a few bars, so the ribbon melts between colours instead of snapping.
- A diamond when the regime officially flips into a directional call. A gold diamond below the bar for Trend Up and a ruby diamond above the bar for Trend Down, following the usual arrow convention. Flips into Ranging or Volatile are reported on the dashboard rather than the chart.
----------------------------------------------------------------------
DASHBOARD
----------------------------------------------------------------------
A compact on chart panel showing the current regime, the tool family it favours, Trend Quality, Regime Confidence, ADX, ATR percentile, the recent flip count, how long the regime has run against its own median, any pending flip and its confirmation countdown, and the higher timeframe regime with its agreement state. If the optional signal section is enabled it also shows average result by regime.
Position is selectable. The whole panel can be turned off.
----------------------------------------------------------------------
OPTIONAL, GRADE A SIGNAL BY REGIME
----------------------------------------------------------------------
An optional section lets you wire in an external signal series from another indicator, positive for long, negative for short, zero for flat. The script measures each entry forward return over a chosen number of bars in ATR units and reports the average result grouped by the regime the signal fired in, so you can see which regimes your own signal actually performs in. It is off by default and stays blank until pointed at a real signal.
----------------------------------------------------------------------
INPUTS
----------------------------------------------------------------------
- Ribbon. Price source, overall length, smoothness, and drawn width. Drawn width changes appearance only, not detection.
- Trend Criteria. A single dial, Strict, Normal or Lenient, that moves the trend strength bar, the minimum ribbon width, the volatility cut off, the confirmation delay and the quality floor together.
- Higher Timeframe Check. On or off, and which timeframe to use.
- Display. Element toggles, panel position, and the four regime colours.
- Grade A Signal By Regime. The optional external signal section above.
- Advanced. Higher timeframe agreement rules, ADX and ATR lengths, volatility lookback, colour fade length, and whether markers and alerts wait for the bar close.
----------------------------------------------------------------------
CALCULATION AND REPAINT BEHAVIOR
----------------------------------------------------------------------
Chart timeframe logic uses only the current bar own data. Higher timeframe reads take the last closed higher timeframe bar with lookahead off, so they do not repaint. The regime change diamonds and the alert calls are gated to confirmed, closed bars by default.
The ribbon colour on the open, still forming bar can update until that bar closes, because the live bar regime is not final until then. This is expected for a context tool. The confirmed markers and alerts are the parts that wait for the close.
There is a warm up period. The ribbon, ADX and the percentile window all need history first, and until that fills the panel reads Calibrating and no regime is published.
----------------------------------------------------------------------
LIMITATIONS
----------------------------------------------------------------------
- This is a classifier, not a strategy. It describes current conditions, it does not tell you where to enter or exit.
- Regime calls lag by design. Hysteresis, the minimum hold and the chop filter all trade a few bars of delay for fewer false flips.
- On very short histories, or the first bars of a new symbol, there is not enough data to rank volatility or measure regime maturity, and those readings stay blank until enough runs have completed.
- Thresholds are preset driven. The three criteria presets cover most cases, but unusual instruments may still need the Advanced dials.
----------------------------------------------------------------------
DISCLAIMER
----------------------------------------------------------------------
Trading involves substantial risk of loss and is not suitable for every investor. Nothing in this script or its description constitutes financial, investment, or trading advice. The regimes detected by this script label current and past conditions only and are not indicative of future results. Test any tool on your own markets, timeframes and settings before relying on it.
Indicatore

Trendline Indicator with Dynamic Breakpoint TrackingTrendline Indicator with Dynamic Breakpoint Tracking
This indicator automates the process of manually drawing and redrawing trendlines as price structure evolves, rather than plotting a single static line.
How it works
The script tracks confirmed swing highs and lows (pivots). It starts in downtrend mode, watching the most recent swing low:
When that low is broken, the line resets. It anchors to the top of the prior move and snaps its second point to the next confirmed swing high that's lower than that top — drawing a fresh descending resistance line.
As price continues down, each new broken low re-anchors the line the same way, so the resistance line keeps stepping down along the sequence of lower highs.
If price closes at or above the current resistance level, the script flips to uptrend mode and begins drawing an ascending support line using the mirror-image logic: anchoring from the bottom of the move and snapping to the next confirmed higher low.
The two modes alternate automatically as market structure shifts between making lower highs and higher lows.
Dynamic breakpoint tracking
Unlike a fixed trendline, the breakpoints this script uses to define the line are re-evaluated continuously:
If a transition is only halfway confirmed (e.g. resistance broke but no higher low has formed yet) and price reverses back through the original anchor before that confirmation completes, the script recognizes the transition failed and reverts to the prior trend immediately, rather than waiting on a reversal that isn't materializing.
A stale-anchor safeguard prevents the line from getting permanently locked onto an old price level if the market structure it's tracking becomes irrelevant.
Inputs
Pivot Left/Right Bars — sensitivity of swing detection (smaller = faster but noisier, larger = smoother but more lag)
Max bars to search for anchor point — how far back the script looks when re-anchoring
Line colors/width, signal colors, and toggles for trend labels, pivot markers, and the debug status table
Notes
Pivot-based detection is inherently lagging by design (a swing can only be confirmed once bars exist on both sides of it), so the line reacts after structure is confirmed, not in real time.
Built for visualizing trend structure and potential trend-change points — not a standalone buy/sell signal generator. Combine with your own confirmation and risk management.
Indicatore

Volume Delta Footprint Zones HeatmapVolume Delta Footprint Zones Heatmap (ΔFP)
Order-flow context from CVD. It marks the price levels where aggressive buying or selling showed up without moving price, and keeps those levels on the chart as horizontal lines that fade as they age.
The idea
Delta at a price level tells you how much aggression traded there — but most delta is just the cost of moving price. A bar that rallies 20 points obviously prints positive delta, and that part says nothing you couldn't read off the candle. What's worth marking is delta that did not produce a move: aggression that got absorbed by passive size sitting at a level.
So rather than accumulating raw delta, this script accumulates the residual:
It keeps a rolling average of delta per point of price movement over the last N bars.
For the current bar it computes the delta you would expect from that bar's price change.
Actual minus expected is the unexplained delta.
That residual is spread across the bar's footprint rows in proportion to each row's share of the bar's net delta, and added to a running total for that price.
A level therefore builds up value when trade happens there that the price move doesn't account for. Positive = unexplained buying, drawn green above price. Negative = unexplained selling, drawn red below price.
On a bar with essentially no price change the expected delta is ~zero, so the whole of the bar's delta counts as unexplained — which is the intended behaviour, not a special case.
Decay, not accumulation
Every stored level fades by a fixed percentage each bar, so the map is an exponentially weighted average rather than a session-long total, and recent flow dominates. A contribution keeps (1 − rate)^N of its weight after N bars — at the 5% default that is roughly 60% after 10 bars, 36% after 20, 8% after 50. Levels that fade below the minimum threshold are dropped.
Levels are also removed the moment price trades through them, and are barred from re-forming until price moves a configurable distance away. The display therefore stays on levels that have not been tested yet.
Reading it
Green line above price — unexplained buying that was absorbed there. Supply sat on it.
Red line below price — unexplained selling that was absorbed there.
The label on each line is the level's current residual delta. Red labels show sell-side magnitude as a positive number.
Lines get shorter-lived and thinner on the ground when flow is being explained by the move itself; they persist and stack when price is grinding against size.
Thicker clusters are simply several adjacent rows that each cleared the threshold. Up to 30 levels are kept per side; when both sides are full the furthest level is dropped first.
Limitations — please read before drawing conclusions
Footprint delta is approximated, not tape-derived. Treat magnitudes as relative to each other, not as absolute traded size.
Requires footprint data for your plan and symbol.
Decay only advances on bars where the footprint request actually returns data. On the 1S default, where sub-minute history is shallow, older levels freeze rather than fading — scroll back far enough and the map stops ageing.
The expected-delta baseline is a single rolling mean. It is a crude model of the delta/price relationship and it is symmetric — it does not distinguish up-moves from down-moves.
A level that replaces another in the same drawing slot on the same bar starts one bar late, and a level that lives only a couple of bars in a reused slot may not draw a line at all, though its label still appears.
No signals, no alerts, no directional calls. This is context only, and it is published for people who want to experiment with the idea rather than as a finished system.
Notes
Delta is accumulated per price grid, decays exponentially, and is never reinforced — a level only ever fades once the flow that built it stops. Zones are drawn with plot.style_linebr and the plot layer forces a break whenever a drawing slot changes level, so every segment is horizontal. Indicatore

TRU NQ Macro DossierFor the Trader Round Up community. Built on the macro study by Petar and a
16-year NQ statistical extension (June 2010 - June 2026, 1-minute data).
Shared by LS (@ludv44). Statistics of the past, not financial advice.
THE IDEA (per the study): the hourly move tends to START inside the ICT macro
window xx:50-xx:10 (origin forms there in ~73-78% of hours for most macros),
and the distance it travels from the macro OPEN into the next hour's close is
remarkably stable across 16 years when measured in %ADR(20) or % of price.
This indicator plots, for 14 macros of the trading day (from LO into the PM session), the two
statistical target envelopes around the macro open:
ADR TP = median run %ADR(20) x live ADR(20) (both sides of open)
price%TP = median run %price x macro open (both sides of open)
DEFAULT VISUALS: vertical ADR-target outline at xx:50 + macro OPEN price line
+ the ADR & price% target envelope, drawn xx:50 -> xx+1:10. Everything else
(macro High/Low/EQ lines, stats block, large-macro zone, names) is built in
but OFF by default - all configurable.
NOTES: constants are NQ-derived; ADR(20) and price are read live, so it also
runs on MNQ (identical) and approximately on ES. Intraday charts (M1-M5 best).
ET-anchored (America/New_York), DST-safe. The 8:50 ET macro is the one
exception to the origin rule - the 9:30 ET cash open right after it takes
over; treat its stats as a warning, not an invitation. Indicatore

Volume Pressure ZonesThe Volume Pressure Zones indicator identifies areas of concentrated buying and selling pressure by analyzing intra-bar price action and volume.
Rather than relying purely on price structure, this script estimates the internal volume pressure behind price movements. It splits the volume of each candle into Buy and Sell components based on where the candle closes relative to its high-low range.
How it Works:
Pressure Calculation: The script tracks the cumulative Buy and Sell volumes over a specified lookback period (default 6) and compares them against the average volume.
Zone Projection: When the concentrated pressure exceeds a user-defined threshold (default 1.3), it projects a visual zone forward.
Buy Zones (White): Represent areas of concentrated buying pressure, potentially acting as support.
Sell Zones (Black): Represent areas of concentrated selling pressure, potentially acting as resistance.
Overlap Prevention: To maintain a clean and readable chart, the script prevents new boxes of the same type from overlapping. A new zone is drawn only after the previous zone's extension period has fully elapsed.
Settings:
Pressure Threshold: Adjusts the sensitivity of zone creation. A higher value requires a stronger concentration of volume to draw a box.
Zone Extension: Determines how many bars forward the support/resistance box is projected.
Moving Average (Optional): An optional EMA is included with slope-based color coding for trend context. This is hidden by default to keep the chart clean.
This indicator does not predict future price movements but provides a visual mapping of where significant volume pressure has recently occurred. It is best used alongside other contextual market analysis.
How to Use (Trading Strategies & Applications):
1. The Pullback & Retest Strategy
These zones represent areas where significant capital was committed. Rather than entering a trade immediately as the zone forms, wait for the initial move to play out and look for a pullback to the zone.
Bullish Setup: Wait for a White (Buy) zone to form and price to move higher. When the price retraces back into this white zone, look for bullish rejection (e.g., a pin bar or engulfing candle) to enter long.
Bearish Setup: Wait for a Black (Sell) zone to form and price to drop. Sell on the retracement back into the black zone, using it as a resistance ceiling.
2. Trend Alignment (Using the Optional MA)
To avoid trading against the dominant momentum, use the built-in Moving Average (or your own preferred trend filter) to select high-probability zones.
Enable the Moving Average in the settings.
If the price is trading above a rising MA, prioritize White (Buy) zones for long entries and ignore black zones.
If the price is trading below a falling MA, prioritize Black (Sell) zones for short entries and ignore white zones.
3. Dynamic Risk Management (Stop Loss & Take Profit)
The zones provide logical, volume-backed levels for managing your risk and targeting profits.
Stop Loss Placement: When taking a long position from a support area, place your stop loss just below the bottom edge of the current White (Buy) zone.
Take Profit Placement: If you are in a long position, use the nearest developing or existing Black (Sell) zone as a realistic take-profit target, as it represents historical selling pressure.
4. Breakout Validation
When the price approaches a previously established pressure zone, observe how volume and price behave. If the price easily breaks through a thick Black (Sell) zone with strong momentum, it indicates that the buyers have fully absorbed the historical selling pressure. This invalidated resistance zone often flips to become future support.
Disclaimer: Like all technical indicators, Volume Pressure Zones should not be used in isolation. It works best when combined with broader market structure analysis, price action, and proper risk management. Indicatore

Indicatore

Currency Strength Meter - Relative Strength📊 Currency Strength Meter (CSM) — Relative Currency Strength
Description
The Currency Strength Meter measures the relative strength of 8 major currencies (USD, EUR, GBP, CHF, CAD, AUD, JPY, NZD) in real time, calculated from 26 Forex pairs.
Instead of looking at pairs in isolation, the CSM aggregates each currency's behavior across every pair it appears in, generating a score from 0 to 9 that reflects how strong or weak that currency currently is on the selected timeframe.
How it works
For each of the 26 pairs, the indicator calculates where the closing price sits within the high/low range of the last N candles — a calculation similar to a stochastic oscillator.
That value is converted into a score from 0 to 9 (0 = extremely weak, 9 = extremely strong).
The base currency of the pair receives the calculated score, while the quote currency receives the complementary value (9 − score).
Each currency's final strength is the average of all scores it received across the pairs it's part of.
An optional smoothing filter (with triangular weighting) reduces noise by giving more weight to recent candles.
Key features
📈 8 strength lines plotted on the panel, one per currency
📋 Real-time ranking table, sorting currencies from strongest to weakest
🔲 Mini visual histogram (block bars) showing each currency's intensity
🟢🔴 Configurable reference zones (strong limit and weak limit)
▲▼ Buy/Sell signals when the chart's base currency is strong and the quote currency is weak (or vice versa)
🔶 "Market imbalance" alert, triggered when one currency crosses into the strong zone and another crosses into the weak zone — a hint of a strong trend forming
🔔 Ready-to-use alertconditions for setting up TradingView alerts
Settings
Timeframe used for calculation (independent of the chart's timeframe)
Number of candles analyzed
Smoothing and triangular weighting (on/off)
Upper and lower thresholds for signals
Panel position and display options
How to use
This indicator works best as a confirmation and market-context tool, not as a standalone entry system. Combine the strength/weakness signals with your own technical analysis (price action, support/resistance, other indicators) before making entry decisions.
⚠️ This indicator is an analysis tool and does not constitute investment advice. Always manage your own risk. Indicatore
