MarketCraft FX - Liquidity Matrix V1.1MARKETCRAFT FX – LIQUIDITY MATRIX V1.1
The MarketCraft FX Liquidity Matrix is a free liquidity-mapping indicator designed to identify areas where buy-side and sell-side liquidity may be resting.
Rather than displaying every minor swing, the indicator evaluates confirmed pivot structure, relative volume and displacement away from the level. Qualified liquidity zones are then displayed clearly on the chart, helping traders identify potential targets, reaction areas and liquidity events.
KEY FEATURES
• Buy-Side Liquidity (BSL) zones above confirmed swing highs
• Sell-Side Liquidity (SSL) zones below confirmed swing lows
• Dual structural and relative-volume detection
• PRIMARY, STRONG and MAJOR zone classifications
• ATR-based zone depth
• Optional dynamic zone sizing
• Nearby-level merging to reduce chart clutter
• Zones extend automatically beyond current price action
• Separate liquidity-sweep and close-through identification
• Nearest BSL and SSL displayed in a compact dashboard
• Configurable colours, transparency and display limits
• Alerts for approaches, sweeps and candle close-through events
• Suitable for light and dark chart backgrounds
HOW THE LIQUIDITY ENGINE WORKS
A liquidity zone begins with a confirmed swing high or swing low.
The indicator then evaluates the quality of that swing using two independent qualification paths:
1. Structural displacement away from the swing
2. Relative volume surrounding the liquidity origin
This dual-detection method allows a meaningful structural level to qualify even when market volume is relatively quiet. It can also identify volume-backed liquidity that may not produce an unusually large immediate displacement.
ZONE CLASSIFICATIONS
PRIMARY
A confirmed liquidity-bearing swing that meets the minimum qualification requirements.
STRONG
A higher-quality level supported by additional displacement, relative volume or price-action confirmation.
MAJOR
A high-scoring liquidity level with multiple supporting factors. These zones represent the strongest levels identified by the engine.
READING THE ZONES
BSL zones appear above price and represent areas where liquidity may be resting beyond previous highs.
SSL zones appear below price and represent areas where liquidity may be resting beyond previous lows.
Each active zone extends beyond current price action by the selected number of bars. The default extension is 20 bars.
The zone remains live and continues moving forward until its outer boundary is reached.
ZONE STATES
FRESH
The liquidity zone has been created and has not yet been approached or swept.
APPROACHING
Price has moved within the selected ATR distance of an active liquidity zone.
LIQUIDITY SWEPT
Price has wicked through the outer boundary of the zone. The zone stops extending at the sweep candle and changes to a dashed historical level.
CLOSE-THROUGH
A candle has closed beyond the outer boundary. This is separated from a wick-only sweep because it may indicate acceptance beyond the liquidity zone rather than an immediate rejection.
COMPACT DASHBOARD
The dashboard displays:
• Current draw on liquidity
• Nearest active BSL
• Nearest active SSL
• Strength of each nearest zone
• Number of retained zones
• Latest liquidity event
IMPORTANT SETTINGS
Minimum Zone Grade controls the overall quality of zones displayed.
Dual Structural + Volume Detection allows zones to qualify through either displacement or relative volume.
Swing Length and Confirmation Bars control how significant a swing must be before it is confirmed.
Base Zone Depth controls zone thickness using ATR.
Merge Nearby Levels combines levels forming within the selected ATR distance.
Extend Past Current Price controls how far active zones project beyond the latest candle.
Retain Swept Zones determines whether completed liquidity events remain visible for historical analysis.
TRADING APPLICATION
The indicator can be used to help identify:
• Potential draws on liquidity
• Areas above highs or below lows where stops may be resting
• Potential reaction points
• Liquidity sweeps
• Failed sweeps and close-through events
• Confluence with market structure, order blocks, supply and demand, Fibonacci levels or higher-timeframe analysis
Liquidity zones should not be treated as automatic entry signals. A zone identifies an area of interest; traders should use their own confirmation process before making a trading decision.
MARKETCRAFT FX
Craft Your Edge. Master the Market.
This indicator is an original MarketCraft FX development created as a free educational and chart-analysis tool.
DISCLAIMER
This indicator is provided for educational and informational purposes only. It does not constitute financial advice, investment advice or a recommendation to buy or sell any financial instrument.
No indicator can predict future market movements or guarantee profitable results. Liquidity zones may fail, price may trade through them, and historical performance does not guarantee future performance.
Always conduct your own analysis and use appropriate risk management.
Wskaźnik

MACD Matrix [Quantum Algo]MACD Matrix
═══════════════════════════════════════════════
🔶 OVERVIEW
MACD Matrix reads the Moving Average Convergence Divergence as a complete momentum system rather than a single line and histogram. It classifies momentum into four quadrants instead of one sign, aligns four timeframes into a live matrix with a scored consensus, detects histogram divergence and draws it on both the oscillator and the price candles, tracks histogram compression before expansion, and paints a momentum river through price so the entire reading lives on the chart — not only in the pane below it.
The result is a MACD you can read from the candles alone: the river's color tells you the quadrant, the aura tells you whether momentum is expanding or fading, gold beacons mark full multi-timeframe alignment, and every signal carries its own historical record on the exact symbol you are trading.
═══════════════════════════════════════════════
🔶 WHAT IS MACD?
The Moving Average Convergence Divergence, created by Gerald Appel, measures momentum as the distance between a fast and a slow exponential moving average. A signal line smooths that distance, and the histogram — introduced by Thomas Aspray — shows the gap between the two. MACD above zero means the fast average leads the slow one (bullish regime); the histogram rising means momentum is accelerating.
═══════════════════════════════════════════════
🔶 WHAT ARE THE FOUR MACD QUADRANTS?
Most traders read MACD as bullish or bearish. It actually has four distinct states, and the difference between them is where the money is:
— Expanding ▲: above zero and the histogram rising — momentum accelerating in an uptrend.
— Fading ▲: above zero and the histogram falling — the uptrend losing thrust, the earliest warning.
— Expanding ▼: below zero and the histogram falling — momentum accelerating in a downtrend.
— Fading ▼: below zero and the histogram rising — the downtrend losing thrust, the earliest turn.
MACD Matrix names the quadrant on every bar, colors the river and the aura by it, and stamps it into every signal's tooltip.
═══════════════════════════════════════════════
🔶 WHY IS THIS ORIGINAL?
1. The quadrant engine. Four momentum phases instead of two, made visible on the price chart through the momentum river and aura, so fading momentum is caught before the sign ever flips.
2. The timeframe matrix. Four configurable timeframes, each read as side-of-zero × expanding-or-fading, with a consensus score. A gold beacon prints on price the moment all four align with expanding momentum — a threshold event, not a vague "trend agreement."
3. Dual-canvas divergence. Histogram divergences are drawn as connectors in the pane AND as dashed twins across the corresponding price pivots on the chart, so the divergence is visible exactly where you trade it.
4. The histogram squeeze. Histogram amplitude is ranked inside its own recent history; when it compresses below a low percentile the momentum is coiled, marked with gold dots, and the expansion out of the coil fires a directional release signal — a compression concept almost never applied to MACD.
5. Signal families with per-symbol records. Zero-line crosses, early signal crosses on the correct side of zero, divergences and squeeze releases are tracked as separate families, each with ten-bar outcome statistics shrunk toward neutral at small samples and a Wilson lower bound — quoted in every tooltip and on the dashboard.
═══════════════════════════════════════════════
🔶 HOW IT WORKS
— MACD, signal and histogram are computed from configurable lengths; the quadrant is derived from the sign of MACD and the direction of the histogram.
— Four higher-timeframe MACD states are requested without lookahead and scored into the matrix.
— Histogram pivots are compared against price pivots to detect regular divergences, drawn on both canvases.
— Histogram amplitude is ranked against its own history for the squeeze; a mature coil that expands fires a release.
— Every signal family feeds its own first-in-first-out outcome samples; statistics are reported with sample counts.
Signals are evaluated on confirmed bars and do not repaint. Higher-timeframe matrix rows finalize when their own bar closes, as with any multi-timeframe reading. All drawings are capped.
═══════════════════════════════════════════════
🔶 HOW TO USE IT
— Trade the quadrant, not the sign: Expanding phases favor continuation entries; Fading phases favor taking profit or tightening risk, and they precede most zero-line crosses.
— Use the matrix as a filter: a 4/4 beacon is the highest-conviction environment; a divided matrix (2/4) warns that timeframes disagree.
— Divergence on the candles: when the dashed price line and the pane connector appear together, you have a momentum-versus-price disagreement located precisely on structure.
— Watch the coil: a long squeeze followed by a release is the setup for expansion; the R family record tells you how reliably releases have followed through here.
— Works on all markets and timeframes; configure the four matrix timeframes to match your trading horizon.
═══════════════════════════════════════════════
🔶 SETTINGS
— MACD: fast, slow and signal lengths.
— Timeframe Matrix: four timeframes.
— Signals & Squeeze: divergence pivot length, squeeze window and percentile, cooldown, signal visibility.
— Statistics: sample cap, minimum samples, shrinkage strength, Wilson z-score.
— Visuals and dashboard: river and aura toggles, river length, full color and position control.
═══════════════════════════════════════════════
🔶 ALERTS
— Matrix Aligned Bullish / Bearish — all four timeframes aligned with expanding momentum.
— Zero-Line Cross — MACD crossed zero.
— Histogram Divergence — a divergence printed.
— Squeeze Release — the histogram expanded out of its coil.
═══════════════════════════════════════════════
🔶 FAQ
Q: Does it repaint?
A: Signals are evaluated on confirmed bars and never change once printed. The higher-timeframe rows of the matrix update while their own bar is open and finalize at its close — this is inherent to any multi-timeframe reading, and no lookahead is used.
Q: How is this different from a standard MACD?
A: A standard MACD shows one line, one signal and one histogram in a pane. This tool adds the quadrant classification, the four-timeframe matrix and beacons, divergence drawn on the price chart itself, the histogram squeeze, the momentum river and aura on price, and per-family statistics.
Q: What does the momentum river represent?
A: A short exponential average of price colored by the current MACD quadrant. Its purpose is purely to carry the momentum reading onto the candles — bright when momentum expands, dimmed when it fades — so you can read momentum without looking away from price.
Q: What do the family percentages mean?
A: The share of past signals in that family after which price had moved favorably ten bars later, on the current symbol and timeframe, shrunk toward fifty percent at small samples. They describe history — they are not predictions.
Q: Which settings should I change first?
A: The four matrix timeframes, so the matrix reflects your own trading horizons. The MACD lengths follow the classic 12, 26, 9 defaults.
═══════════════════════════════════════════════
🔶 CREDITS
The Moving Average Convergence Divergence is by Gerald Appel; the MACD histogram is by Thomas Aspray (1986). The Wilson score interval is by Edwin B. Wilson (1927). The quadrant engine, timeframe matrix and beacon logic, dual-canvas divergence rendering, histogram squeeze, per-symbol statistics and all code in this script are original work — no third-party or open-source script code was reused.
═══════════════════════════════════════════════
🔶 LIMITATIONS
— MACD is a lagging momentum measure; the quadrant engine reduces but cannot eliminate lag.
— Divergences can extend before resolving; the family record exists to quantify this on your chart.
— Statistics describe the current chart's history only; past frequencies never guarantee future outcomes.
═══════════════════════════════════════════════
🔶 DISCLAIMER
This indicator is a research and charting tool provided for educational purposes. It is not financial advice, and nothing it displays is a recommendation to buy or sell any asset. Trading involves substantial risk of loss. Always do your own analysis and manage risk responsibly. Wskaźnik

Wskaźnik

Wskaźnik

Consolidation Breakout with Volume Confirmation [Daily]What this does
This indicator detects consolidation zones on price charts and flags breakouts confirmed by volume — in both directions (bullish breakouts and bearish breakdowns).
Methodology
Scans a flexible lookback window (10–30 bars, adjustable) for the tightest qualifying price range, so it captures both short flags and multi-week bases without needing separate settings for each.
A zone is drawn once a window's high-low range falls under a configurable tightness threshold (default 8%).
Zones where average volume during consolidation is below its own 50-bar baseline are marked in green ("volume dry-up") as a soft indicator of higher conviction — this is informational, not a hard filter.
A breakout fires on a close beyond the zone boundary, confirmed by volume at least 1.5x (configurable) the zone's average — symmetric logic for both long breakouts and short breakdowns.
A cooldown period after each breakout reduces false re-triggering during choppy conditions.
Each breakout label also tags candle quality (strong/weak close within the bar's range) and whether the move gapped through the zone or ground through it intraday — additional price-action context alongside the volume read.
Timeframe
Designed and tested on the Daily timeframe. All settings (lookback, cooldown, volume baseline) are counted in bars, so they do not scale automatically across timeframes — a 5-bar cooldown means 5 trading days on Daily, but a very different real-world duration on 4H, Weekly, or other timeframes. If you use this on a different timeframe, re-tune the inputs rather than relying on the defaults.
Alerts
Built-in alert conditions for both bullish breakouts and bearish breakdowns — set once per chart to get notified without watching live.
Disclaimer
This is a screening/context tool, not a standalone buy/sell signal. All thresholds are adjustable in settings — test and tune them for the instruments you trade. Always confirm with your own analysis and risk management. Not financial advice. Wskaźnik

Market Structure BOS/CHoCH + Break Follow-Through [ForexCracked]🔵 OVERVIEW
Most market structure indicators stop at the break. This one keeps counting after it.
It draws the structure the way you already read it: confirmed swing highs and lows tagged HH, HL, LH and LL, a solid line at the level that would flip the current structure, and a BOS or CHoCH label the moment a bar closes through a swing. Then it does the part most structure tools stop short of. For every break it watches what price did next, files the outcome, and prints the counted result on the chart with the sample size next to it.
So the label on a break does not just say BOS. It says BOS, and that on this chart breaks like this one reached 1 ATR beyond the level before snapping back 116 times out of the last 200.
🔵 THE ANSWER IS THERE BEFORE THE BREAK
The two live levels, the last confirmed swing high and swing low that price has not yet closed through, are drawn as blocks at the right edge of the chart, teal above price and pink below. Each block is captioned with the break it would be under the current structure (BOS or CHoCH), the price, the distance, and what breaks of that kind did here: "BOS above 1.08420 · 12p · 1.0 ATR reached 116/200 (58%) · typical run to 1.08790".
The block's height is not decoration. It is the measured median run after breaks of that class on this symbol, so the top of the teal block is a price that breaks like this one typically reached. Medians print from eight samples and percentages from the minimum n. Below that the block falls back to the follow-through distance and its caption reads "finish line at" instead of "typical run to". A block never draws thinner than the minimum block height, and when that floor is what sets its height the caption reads "run floor at".
🔵 HOW A BREAK IS MEASURED
A break is a bar that closes through a live swing level. It is a BOS if it goes with the current structure and a CHoCH if it goes against it and flips it.
From the next bar the script runs a race with two finish lines the same distance from the level: 1 ATR beyond it in the break direction, and 1 ATR back through it on the other side. ATR is frozen at the break bar so later volatility cannot move the finish lines. Whichever is touched first decides the outcome: reached, or snapped back. If one bar touches both lines it is filed as snapped back, the conservative reading. If neither is touched within 30 bars the outcome is filed as neither. Nothing is estimated and nothing is fitted. Every figure is a count of price events on the chart in front of you, over the last 200 filed breaks of that class, and the n printed beside it is the real count.
Wick-only breaks, where a bar trades through a level but closes back inside, are measured with the same race in their own class. They are never drawn as events (the level's block border turns dashed once it has been wicked), but their number sits on the level's caption, so "should I wait for the close" gets an answer from your own symbol instead of a rule of thumb.
🔵 THE RUN BOX
After each close break a box is drawn from the level in the direction of the break. Its height is the median run for that class, its width the median bars it took to reach the finish line, and its caption prints the far edge as a price. The box then records what this particular break did: the border thickens when the finish line is reached, the box hollows and its border goes dashed when the break snaps back, and it fades if neither happens. The last few breaks stay on the chart as filled or hollow shapes, so the recent record is visible without reading a single number.
The break label itself is frozen at the moment of the break. It shows what the tool said at the time, never a hindsight figure. Only the outcome is added to it afterwards.
🔵 THE SWINGS
Swings are confirmed by price, not by counting bars. A swing high is confirmed the first time a bar closes a set number of ATR below it, and a close through the previous swing confirms the swing in between. There is no lookback length to tune and the same setting reads the same on gold, indices, crypto and forex. Tags land on the swing bar when the swing confirms, so they appear a few bars after the extreme printed. That is confirmation lag, not repainting. No tag, break line or break label is ever moved; only the outcome text is added to a label later. The two right-edge blocks and the panel are redrawn every bar by design, so their height follows the current ATR.
🔵 WHAT IS ON THE CHART
• HH, HL, LH and LL tags on confirmed swings (the first swing of each side is tagged H or L)
• A dashed border on a block means that level has already been wicked without a close through it
• A solid structure line at the level that would flip the current structure, teal under price while bullish and pink above it while bearish, with the dealing range shaded between it and the other live level
• A block at each live level, projected into the space right of price, captioned with the break type, the price, the distance and the counted result for breaks like it
• A line from each broken swing to the bar that closed through it, with a BOS or CHoCH label carrying the count as it stood at that moment
• A run box after each break, filled or hollow depending on what the break did
• A compact panel restating the structure, the two levels, the class counts and the last break
🔵 WHAT THIS IS NOT
This script draws no entries, no stops, no targets and no arrows. It has no order blocks, no fair value gaps, no sessions and no higher timeframe calls. It does not tell you to trade a break. It does not map liquidity pools, equal highs and lows or session extremes, does not count how often price reaches them, and does not mark sweeps or reversals. It is the structure map with the follow-through counted, so you can see on your own symbol whether the breaks you are reading have tended to carry on or to come straight back.
🔵 HOW TO USE
• Read the two blocks first. The block above is the level a close must clear and what happened after closes like that; the block below is the level a close must lose. The prices are printed.
• Treat the follow-through percentage as a base rate for this class on this chart, not as a forecast for this break. One hundred and sixteen out of 200 is a description of the past.
• Use the class split. If close breaks on your chart reach 1 ATR far more often than wick-only breaks, waiting for the close is worth its cost here. If the two numbers are close, it is not.
• Watch the run box after a break rather than the label. A box that hollows out is a break that snapped back, and the structure line will tell you where the next flip sits.
• Lower the swing setting to 1.0 ATR to see internal structure, raise it to 2.0 or more on choppy symbols so only real pullbacks count as swings.
🔵 SETTINGS
• Swing confirmation (x ATR): the close distance from the running extreme that confirms a swing (default 1.5)
• Follow-through distance (x ATR): the two finish lines, the same distance either way from the level (default 1.0)
• Outcome window (bars): how long the race runs before the outcome is filed as neither (default 30)
• Breaks kept per class: the rolling window every count is taken over (default 200), and the minimum n before a percentage prints (default 20)
• Chart: break lines to keep, run boxes to keep, minimum block height, how far the blocks project right, the dashboard and its position, colours
• Works on any symbol and any timeframe. Charts with little history print n below the minimum until the numbers fill in
🔵 ALERTS
• Bullish BOS, bearish BOS, bullish CHoCH, bearish CHoCH, each on the closing bar
• Wick-only break: price traded through a structure level and closed back inside
• Break reached its follow-through distance
• Break snapped back
• Price within a quarter of an ATR of a live structure level
The engine is close-based, so set alerts to fire once per bar close.
⚠️ DISCLAIMER
BOS and CHoCH are community terms for market structure. This is independent work and is not affiliated with or endorsed by any educator or course.
The percentages are counted descriptions of what happened after past breaks on this chart, not predictions. A class that reached its follow-through distance 70 times in 100 can snap back today. Samples vary by symbol and timeframe, and small samples are unreliable by nature, which is why every figure carries its n and prints nothing below the minimum. Nothing here is a trade signal. Results depend on market conditions, settings, and your own execution and risk management. Shared for educational and research purposes. Not financial advice. Wskaźnik

Mbedaiwi - Market Structure and Price Action mbedaiwi - Market Structure & Price Action
Overview
This Pine Script v6 overlay brings market structure, liquidity events, order blocks, volume estimates, price imbalances, and chart-pattern candidates into one configurable workspace. It helps users examine where price has broken structure, where earlier zones remain active, and how several observations align on the same chart.
The indicator is intended for discretionary analysis and chart study. It is not an automated execution system or a backtested TradingView strategy.
Purpose and benefits
Compare short-term internal structure with broader swing structure.
Organize potential reaction areas using order blocks, imbalances, liquidity levels, and range bands.
Compare the volume associated with visible order blocks through an overlay or a separate right-side display.
Select the modules and labels needed for a particular workflow, reducing chart clutter.
Use alerts to monitor defined events without continuously watching the chart.
The integration follows a practical sequence: establish structure, locate relevant areas, observe price interaction, and optionally evaluate a rule-based setup. The components provide context for one another; agreement between them does not establish a probability of success.
1. Market structure
Internal and swing structure can be configured separately. The script supports SMC leg-transition detection and symmetric pivot detection, with adjustable lengths.
BOS: a break classified as continuation of the current structural direction.
CHoCH: a break against the previous structural direction.
CHoCH+: a CHoCH supported by an intervening higher low for a bullish change, or lower high for a bearish change, under this script's pivot and sequence rules.
HH, HL, LH, and LL: higher highs, higher lows, lower highs, and lower lows.
Strong/Weak High-Low: structural classifications based on the current directional state, not forecasts of whether a level will hold.
Each structure selector offers All, BOS, CHoCH (All), CHoCH, CHoCH+, and None. CHoCH (All) includes both ordinary and supported changes; CHoCH and CHoCH+ select their respective classifications. The separate Show BOS and Show CHoCH switches also affect visibility.
Historical and Present display modes, candle coloring, label sizes, and colored or monochrome themes provide additional control.
2. Order blocks and volume display
The script includes independent swing-break, volume-pivot, and legacy structure-break order-block engines. Available controls include zone boundaries, mitigation rules, retained-zone counts, overlap suppression, midlines, and breaker display.
Volume information can appear on the price-chart overlay, in a right-side chart, or in both locations. Users can choose the volume accumulation interval, including the interval between a broken pivot and its break, an origin window, or an origin-based interval.
How to read the volume numbers
The displayed volume belongs to the selected calculation interval. The percentage is that block's share of the summed volume of currently displayed non-breaker blocks. Changing visible blocks, filters, or retention settings can therefore change the percentages. They are not win rates or percentages of the instrument's entire trading volume.
Internal buy/sell activity is an OHLCV-based estimate. Close-location mode allocates volume according to the close's position within each candle's range; candle-direction mode allocates it according to candle direction. These estimates do not measure actual bid/ask transactions, institutional orders, or order-book liquidity. Volume-dependent outputs rely on the data supplied for the symbol.
3. Liquidity tools
Equal Highs and Equal Lows use an adjustable ATR-based tolerance. Liquidity Grabs identify excursions beyond tracked levels followed by a return inside those levels, subject to the detection rules.
Grabs are displayed as hollow frames around the relevant candle wick: blue for bullish lower-wick grabs and red for bearish upper-wick grabs by default. Optional text can be enabled. Detection sensitivity and retained history are adjustable.
Live previews can change or disappear before the candle closes. Liquidity Grab alerts require a confirmed bar. Separate trendline tools and trendline-break alerts are also available.
4. Price imbalances
The imbalance selector displays one of five types:
FVG: a three-candle gap between the first and third candles' price ranges.
Inverse FVG: a tracked FVG that is breached and reclassified in the opposite direction.
Double FVG: an overlapping area between a new FVG and a tracked opposite-direction FVG.
Volume Imbalance: a gap between adjacent candle bodies while their wick ranges overlap. Despite the name, this detection is price-based.
Opening Gap: a gap between adjacent candle ranges.
Controls include source timeframe, volatility threshold, extension, mitigation method, and maximum retained zones. The imbalance timeframe must be the chart timeframe or higher. Higher-timeframe imbalance detection uses completed source candles, so it becomes available after source-bar confirmation.
To hide only the FVG/type text while retaining the shaded zones, disable Show Imbalance Type on Zones. Re-enable it at any time from Inputs.
5. Premium, equilibrium, and discount
Optional bands divide a selected Swing, Internal, or Impulse range into upper, middle, and lower reference areas. Band width and colors are adjustable. These areas describe relative position within the selected range; they do not measure fundamental fair value or guarantee a reversal.
6. Chart-pattern candidates
The pattern module classifies recent pivot geometry and can display pattern boundaries, shaded zones, and a Detected Pattern table. Candidate types include triangles, wedges, broadening wedges, double tops/bottoms, and head-and-shoulders formations.
Pattern drawings are separate from the trendline module. Detection depends on pivot length, available history, and tolerance settings. In this release, a displayed pattern can remain after price has moved outside its boundaries until the detection state updates. Treat the pattern name as a geometric candidate, not confirmation that a formation remains valid or that a breakout will succeed.
7. Additional context and optional setup planning
Optional Fibonacci retracements, an OTE region, extension levels, and previous daily/weekly/monthly/quarterly highs and lows provide additional reference points.
The optional setup layer combines structural events with configurable checks such as liquidity sweeps, order-block or imbalance interaction, displacement, higher-timeframe direction, EMA alignment, volume, and RSI. Score and Strict modes control how these conditions are evaluated.
When enabled, the trade layer can display a hypothetical entry, stop, and up to three targets using configurable zone, structure, ATR, or risk-multiple methods. These are rule-based planning levels, not executed orders or verified performance results. The default mbedaiwi profile suppresses the trade layer.
How to use
Add the indicator to a standard candlestick chart and choose an analysis profile. The default mbedaiwi profile uses internal length 5, swing length 50, and close-based structural breaks. Select Custom or enable Override profile lengths when you want the manual lengths to take effect.
Choose the internal and swing events you want to see. Start with structure and a small number of zones before enabling additional modules.
Enable order-block metrics if you want volume comparisons. Select the accumulation method and overlay/side-chart layout appropriate for your analysis.
Enable Liquidity Grabs and select detection sensitivity. Distinguish a live preview from a completed event.
Choose an imbalance type and its mitigation method. Add premium/discount bands or prior-period levels if they help define context.
Enable Patterns only when studying pivot-based formations, and check the actual candles against the displayed boundaries.
Use Clean chart mode, individual visibility switches, label sizes, and zone-count controls to manage clutter. The Show tables switch controls on-chart tables.
If using the optional setup layer, choose a compatible profile, review all filters and risk settings, and evaluate its behavior before relying on the planning levels.
Reading entries, stops, targets, and exits
Use the indicator as a sequence of observations: structural direction, an area to monitor, confirmation, and a predefined risk/target plan. A BOS, CHoCH, or Liquidity Grab on its own is not an automatic instruction to buy or sell.
Step 1 - Read the structural context
Start with Swing Structure for the broader context, then use Internal Structure to examine shorter movements. Higher highs and higher lows describe an upward structure; lower highs and lower lows describe a downward structure. A bullish BOS is classified as continuation, while a bullish CHoCH marks a potential change from the preceding bearish structure. CHoCH+ adds the script's supporting pivot-sequence condition; it does not guarantee a reversal.
An internal bullish change can occur while swing structure remains bearish. Always identify which structure level produced the label. Pivot confirmations can arrive after the turning point and be drawn back at the earlier pivot bar.
Step 2 - Identify an area to monitor
A bullish order block, bullish FVG, discount band, previous low, or Equal Lows can provide a reference area for studying a possible bullish reaction. Price entering an area only establishes an interaction; it does not confirm that a rebound has started. Order-block volume percentages are calculated volume shares, not probabilities that the area will hold.
Step 3 - Observe confirmation
The following is an illustrative manual reading sequence, not the mandatory algorithm behind every setup generated by the script:
Price reaches a previously identified reference area.
Price moves below a tracked low and closes back above it, producing a confirmed bullish Liquidity Grab if the detection conditions are met.
Price subsequently breaks an internal structural level upward, producing a bullish CHoCH or CHoCH+ under the script's rules.
The user evaluates the completed confirmation candle or a later retest of the broken level, together with the broader structure and the planned invalidation level.
A retest may never occur, and confirmation can still fail. Do not assume that a marker anchored to an earlier candle was available in real time on that candle.
Step 4 - Understand the optional planning layer
The planning layer displays hypothetical levels when its setup conditions are satisfied:
Entry method: Market, Fibonacci, or Zone determines the entry-reference calculation.
Stop method: Structure, ATR, or Zone determines the stop-reference calculation. The selected invalidation level defines where the planned idea no longer applies.
Target method: Risk multiple, Smart money, or Hybrid determines how target references are calculated.
TP1, TP2, and TP3: up to three target references, according to the selected method.
Move stop to breakeven after TP1: updates the hypothetical stop to the entry reference after the first-target condition is met.
These are chart calculations. They do not send orders to a broker, establish actual fills, or move a real stop order.
To make this layer available, choose a profile such as Custom, enable Show trade layer (entry / SL / TP), and disable Structure only. The default mbedaiwi profile suppresses the trade layer. Enabling the display does not guarantee that levels appear immediately: the selected signal conditions and filters must also be satisfied.
Step 5 - Read risk multiples: a numerical example
Consider a hypothetical entry at 100 and a stop at 98. The distance between them is 2 per share, so 1R equals 2. In Risk multiple target mode:
Entry reference: 100.
Stop reference: 98.
1R target: 102.
2R target: 104.
3R target: 106.
This example explains arithmetic only. It is not a trade recommendation, a prediction, or a result produced by a backtest. It excludes fees and slippage. A real fill can differ from the plotted reference, and an actual exit can differ from the stop price. If the hypothetical breakeven option is enabled, a qualifying TP1 event changes the plotted stop reference to 100; this does not guarantee a cost-free exit in actual trading.
Step 6 - Interpret exits and changes in structure
A TP reached alert means that the script's target condition has been met. A Stop-loss reached alert means that its stop condition has been met. Neither confirms that a broker executed an order.
A bearish CHoCH during an upward move provides information about a structural change. It does not automatically mean that the planning layer closed a position, nor that every internal change requires the same response. Target exits, invalidation exits, and any discretionary response to opposing structure should be defined before acting on a setup. The script does not automatically carry out partial sales or discretionary exits described by a user's plan.
Manual analysis versus calculated setups
The manual sequence above explains how the visual components can be read together. The optional planning layer instead evaluates its configured rules, filters, and calculation methods. It does not necessarily require that exact sequence. Neither workflow supplies verified profitability or guarantees that a displayed setup will succeed.
Alerts
Available conditions cover internal and swing BOS/CHoCH/CHoCH+, liquidity grabs and sweeps, equal highs/lows, imbalance formation, zone interactions, order-block breaks, trendline breaks, detected patterns, and optional setup/target/stop events.
Select this indicator in TradingView's Create Alert dialog, then choose the event. Use Once Per Bar Close when you want close-confirmed notifications. General CHoCH alerts also include supported changes; separate CHoCH+ conditions are available. Some touch conditions can remain true across consecutive bars, so they should not be interpreted as one notification per zone for its entire lifetime.
Timing, historical drawings, and limitations
Pivot-based features require later bars to confirm earlier turning points. Labels and zones may be anchored back to those earlier bars, although the information was not available at that time.
Live candles and enabled previews can change before close. This indicator is not presented as universally non-repainting.
Zone removal depends on mitigation, age, overlap, and retention settings. Older drawings can disappear as new observations replace them.
Results depend on the symbol, timeframe, session, available history, and settings. Different indicators can use different definitions and produce different results.
The confluence score is a rule-based score, not a calibrated probability. Volume percentages and Strong/Weak labels are not measures of signal accuracy.
The planning layer does not provide a broker execution model, Strategy Tester results, or verified profitability. No accuracy, return, or future-performance claim is made.
Source acknowledgment
The hierarchical pivot-detection logic used in the Liquidity Grabs module is adapted from LuxAlgo's open-source "Pure Price Action Liquidity Sweeps", licensed under CC BY-NC-SA 4.0. Modifications include wick-frame rendering, display controls, and alert handling. Credit for the adapted source logic belongs to LuxAlgo.
This acknowledgment concerns the identified open-source component and does not imply access to LuxAlgo's closed-source Price Action Concepts indicator. This publication is not affiliated with or endorsed by LuxAlgo.
Intended use
For educational chart analysis and discretionary decision support. Users remain responsible for validating the settings, interpreting signals, and managing risk. No displayed zone, pattern, or setup guarantees a particular market outcome.
Wskaźnik

Wskaźnik

ORB+VWAP NY BounceORB + VWAP Bounce — opening-range break with a resting VWAP retest
An intraday entry model for the 1-minute chart on index futures. It
combines an opening-range breakout filter with a mean-reversion entry,
and it only ever takes one trade per session.
THE IDEA IN ONE SENTENCE
The opening range breaks; a resting LIMIT order then waits at the
session VWAP and fills the moment price retests it in the direction of
that break.
HOW IT WORKS
Each session runs through three phases.
1. RANGE — the script records the high and low of the opening-range
window (09:30–10:00 New York by default). Nothing is armed until
this window closes.
2. BREAK — when price closes beyond that high or low, the side of the
break sets the direction for the rest of the day. Broke up = long
only. Broke down = short only. This is the only thing that decides
direction.
3. RETEST — from the start of the entry window, a limit order rests on
the session VWAP, anchored at the RTH open. A long fills on the
pullback down to it; a short fills on the rally up to it.
WHY THE ENTRY IS A RESTING LIMIT, NOT A MARKET ORDER
This is the part worth understanding before using it.
A buy limit can only rest BELOW the market, and a sell limit only
ABOVE it. So "price is on the correct side of VWAP" is not something
the script has to check — it is inherent to the order type itself. A
long only exists if price is above the VWAP and pulls back into it; a
short only exists if price is below and rallies into it.
That is why there is no separate trend filter or bias input in this
script: there would be nothing left for it to decide. The break sets
direction, the order type enforces location.
The trade-off is real and you should know it: a resting limit fills at
a known price but is not guaranteed to fill at all. Days where price
breaks and never returns to the VWAP simply produce no trade. The
script is designed to sit out far more often than it trades.
SETTINGS
Session / Time — timezone, the RTH session that defines the trading
day, the opening-range window, the entry window, and a forced flat
time. No position is ever carried overnight.
Entry Logic — direction (long only / short only / both), which VWAP
anchor the limit rests on (RTH open or Globex open), an optional tick
offset so the limit sits a hair on the approach side, and the maximum
number of trades per day.
Filters / Seasonality — day-of-week switches, month exclusions, and
separate gates for the short side only (a time cut-off, weak months,
and a weekday block). All of these are OFF or neutral by default. They
exist so you can test whether your own instrument and session show
asymmetries, not because any particular setting is recommended.
Setup Quality — an optional gate on the size of the opening range,
measured either in points or as a multiple of the previous day's ATR.
The ATR mode is self-scaling, so one setting holds across changing
volatility regimes. OFF by default.
Stop / Target — the stop can be a fixed tick distance, a multiple of
the daily ATR, the VWAP line itself, the opposite side of the opening
range, or a retest swing. Targets can be an R multiple, a multiple of
the range, a fixed tick distance, or none at all.
Trailing Stop — optional, by R multiple or by points, with a
configurable activation threshold. There is a switch to remove the
fixed target once the trail is active, so a runner is not capped.
Risk Management — position size derived from a fixed dollar risk and
the actual stop distance, or a fixed contract count. Note that the
derived size is a step function: contracts = floor(risk / (stop
distance x point value)). Small changes in risk can leave the contract
count unchanged, and then jump it by a whole contract.
WHAT ELSE IS ON THE CHART
A Market Positioning table compares price against five VWAPs (session,
overnight, previous session, high-of-day, low-of-day) plus the opening
range, for the chart symbol and two correlated tickers you choose. It
also reports the opening-range size in points and in ATR multiples,
and the daily ATR itself.
There is an optional risk:reward box drawn on each entry, and an
optional prop-firm tracker that reports balance, distance to a
trailing drawdown line, worst margin reached, and a consistency
measure.
Every order carries a JSON alert_message suitable for automation
platforms that parse webhook payloads.
BACKTESTING NOTES — PLEASE READ
Two Properties settings change results substantially on this script,
and both default to values that flatter it:
- Limit order execution. Every entry here is a limit order resting on
the VWAP. The "Requested price" setting assumes a fill the moment
price grazes the line without trading through it, which is
optimistic for a resting order. Use "Standard".
- Bar detalization. Set it to High. On a 1-minute chart with intrabar
stop and target logic, the default resolution is too coarse.
Also apply realistic commission and slippage for your instrument
before drawing any conclusion.
LIMITATIONS
This script takes at most one trade per session and requires both a
range break and a retest, so it trades infrequently. On any given
instrument the sample it produces over a few years may be small enough
that ordinary variance dominates. Treat any backtest of it as a
description of one particular past, not as an expectation.
Seasonal and day-of-week filters are especially easy to overfit: with
a handful of trades per month, apparent patterns appear by chance.
They ship neutral for that reason. If you turn them on, check that the
effect holds in every year of your sample independently, not just in
the total.
Defaults are a starting point for the instrument and session they were
written around. They are not tuned for yours.
Nothing here is financial advice. Strategia

Relative Strength Screener [TradingFinder] RS Rotation Matrix🔵 Introduction
There are times when several markets or symbols move higher at the same time, but that does not mean they are showing the same level of strength. An asset may rise and appear strong at first glance, while its benchmark has performed even better over the same period. In that situation, simply knowing which symbol is moving higher is not enough. The more important question is which asset is actually outperforming the market and which one is beginning to lose relative strength.
This is where Relative Strength analysis becomes useful. Instead of evaluating each symbol independently, a group of assets can be compared against the same benchmark to identify where relative strength is concentrated. This approach can be applied to stocks, indices, funds, currencies, commodities, cryptocurrencies, or any other comparable group of symbols.
Alongside Relative Strength, Relative Momentum adds another important layer because a current leader may still look strong while its relative momentum is starting to weaken, while a weaker symbol may already be entering an improving phase.
The Relative Strength Screener is designed to make these changes easier to identify. It compares multiple symbols against a common benchmark, ranks them using Relative Strength and Relative Momentum, and organizes the results inside a Ranking Dashboard. At the same time, the Rotation Matrix classifies each symbol as Leading, Improving, Weakening, or Lagging, making it easier to distinguish current leaders, emerging strength, weakening leadership, and persistent relative weakness.
This structure helps traders understand where relative strength is currently concentrated and where that strength may be moving next without manually reviewing a large number of charts. The purpose of the screener is not to generate direct Buy or Sell signals. Its main role is to support asset selection, Market Leadership analysis, Market Rotation analysis, and the creation of a more focused watchlist for further technical analysis.
🔵 How to Use
After adding the Relative Strength Screener to the chart, the first step is to define the group of assets that will be compared with one another. This group, or universe, should ideally contain instruments that make sense to evaluate within the same context. For example, users can compare stocks from the same industry, different market indices, funds, commodities, currencies, cryptocurrencies, or any other group of related assets. The indicator supports between 2 and 10 active symbols, and all Relative Strength and Relative Momentum calculations are based on this selected universe.
By default, the screener includes 10 sector funds from the US stock market and uses AMEX:SPY as the Benchmark. This setup provides a practical example of Sector Rotation analysis. AMEX:XLK represents Technology, AMEX:XLF represents Financials, AMEX:XLE represents Energy, AMEX:XLV represents Health Care, and AMEX:XLY represents Consumer Discretionary. The remaining symbols are AMEX:XLP for Consumer Staples, AMEX:XLI for Industrials, AMEX:XLB for Materials, AMEX:XLU for Utilities, and AMEX:XLRE for Real Estate.
These default symbols are only an example universe. The Relative Strength Screener is not limited to sector funds or the US market. Users can replace every symbol and the Benchmark to build a universe that matches their own analysis.
For example, several stocks from the same industry can be compared against a sector index, global equity indices can be compared against a broader market benchmark, or a group of cryptocurrencies can be evaluated relative to a selected crypto market reference. The important point is that all selected instruments should belong to a meaningful comparison framework.
🟣 Benchmark and Scan Timeframe
The Benchmark is the reference point for all Relative Strength calculations. With the default settings, SPY serves as this reference. This means the screener does not simply measure whether a symbol has risen or fallen. Instead, it evaluates how that symbol performed relative to SPY.
For example, an asset may gain 3 percent during the selected period and appear strong when viewed independently. However, if the Benchmark gains 5 percent over the same period, the asset has still underperformed the broader market. This distinction separates Absolute Performance from Relative Performance and helps identify assets that are truly gaining leadership rather than simply moving in the same direction as the market.
The Scan Timeframe determines the timeframe used by the ranking engine. If the Scan Timeframe is set to Daily, for example, the Performance Length and Momentum Length are calculated using daily scan bars. When the Scan Timeframe is equal to or higher than the chart timeframe, the screener uses confirmed scan data. When the Scan Timeframe is lower than the chart timeframe, the indicator uses the latest available intrabar information to create the current snapshot.
The current data mode is displayed directly in the Ranking Dashboard. If lower timeframe data is unavailable or incomplete, the screener displays a visible NO DATA or LIMITED DATA message rather than presenting a potentially misleading ranking.
🟣 Relative Strength and Relative Momentum
The core model of the screener is built around two measurements : Relative Strength and Relative Momentum.
Relative Strength measures how each symbol has performed compared with the Benchmark over the selected Performance Length. A positive Relative Return means the symbol has outperformed the Benchmark, while a negative value means the symbol has underperformed it. This information is displayed directly in the vs Benchmark column.
For example, if the dashboard shows 0.80% ahead, the symbol has delivered approximately 0.80 percent more relative performance than the Benchmark over the selected period. If the table shows 0.45% behind, the symbol has underperformed the Benchmark by approximately 0.45 percent on a relative basis.
Relative Strength describes the current position of an asset, but that alone does not show whether the situation is improving or deteriorating. This is why the indicator also calculates Relative Momentum. Relative Momentum measures how Relative Return has changed compared with its value a specified number of scan bars earlier.
A symbol can therefore remain ahead of the Benchmark while its Relative Momentum becomes negative. In this case, the asset is still an outperformer, but its previous advantage is beginning to fade. In the opposite situation, a symbol may still be behind the Benchmark while Relative Momentum becomes positive. This can be an early sign that its previous weakness is starting to reverse.
🟣 Ranking Dashboard
The Ranking Dashboard is the main analytical component of the Relative Strength Screener. It ranks the selected symbols using a combination of Relative Strength and Relative Momentum, while also showing the evidence behind each position.
The purpose of the table is not simply to tell the user which symbol ranks first or last. It is designed to answer several more useful questions. Which assets deserve further attention? Which leaders are maintaining their strength? Which symbols are improving? Which leaders are beginning to fade? And how persistent has the current relative strength been?
🟣 Rank
The Rank column shows the current position of each valid symbol within the selected universe.
If a symbol displays 1 of 10, it currently has the highest Composite Score among the 10 valid symbols. A reading of 6 of 10 means that five other assets currently have a higher score.
Rank is useful for quickly identifying the strongest members of the universe, but it should not be interpreted in isolation. Ranking is relative to the selected symbols. A symbol can rank first and still be underperforming the Benchmark if the entire universe is weak.
For this reason, Rank should normally be analyzed together with the vs Benchmark column.
🟣 Takeaway and Evidence
The Takeaway / Evidence column converts several underlying calculations into a more readable conclusion. Instead of requiring the user to interpret Relative Return, Momentum, Rank, Rank Change, and Persistence separately, the screener combines these conditions into descriptive states.
Sustained Leadership indicates that the symbol is ahead of the Benchmark, its Relative Momentum is not negative, it is ranked inside the top group, and it has maintained that position for the required Leadership Confirmation period. This condition represents established relative leadership and can identify assets that deserve further technical analysis.
Outperforming, Fading appears when the symbol is still ahead of the Benchmark but its Relative Momentum has turned negative. The asset remains relatively strong, but its advantage is shrinking. This can provide an early warning that an existing market leader is losing strength.
Climbing the Ranks indicates positive Relative Momentum together with an improvement in Rank. A symbol that moves from Rank 8 to Rank 6 and then to Rank 4 is progressively strengthening compared with the other members of the universe.
Recovering, Still Behind describes a symbol that continues to underperform the Benchmark but is showing positive Relative Momentum and improving Rank. This is not confirmed leadership. Instead, it represents an early recovery phase that may justify placing the asset on a watchlist.
Behind, No Recovery indicates that the symbol is behind the Benchmark and is not showing meaningful improvement in either Momentum or Rank. In a Relative Strength based selection process, these assets would normally receive lower priority.
Mixed Evidence is displayed when the available signals do not point in the same direction. Momentum may be improving while Rank remains weak, or other confirmation conditions may not yet be satisfied. The indicator intentionally keeps the conclusion neutral in these situations rather than forcing a stronger interpretation.
If one or more symbols in the universe lack valid data, the dashboard can display Incomplete Comparison. If the individual symbol itself does not have enough valid history, the result becomes Insufficient Data. Since Percentile and Rank calculations depend on cross sectional comparison, the indicator avoids producing strong conclusions when the available universe is incomplete.
🟣 vs Benchmark
The vs Benchmark column shows the actual relative performance of each symbol against the selected Benchmark.
An ahead value means the asset has outperformed the Benchmark over the configured Performance Length. A behind value means it has underperformed.
This column is especially important because it prevents a high Rank from being mistaken for genuine market outperformance. A symbol may rank first among the selected assets while still showing 0.20% behind. In that case, it is the strongest member of the selected universe, but it has not yet outperformed the Benchmark itself.
🟣 Score
The Score column combines Strength Percentile and Momentum Percentile into a single comparison score.
With the default settings, 65 percent of the score is assigned to Strength and 35 percent is assigned to Momentum. A higher score means the symbol has a stronger combination of Relative Strength and Relative Momentum compared with the other members of the universe.
The score is not a probability measurement. A value of 90 does not mean there is a 90 percent probability of a profitable trade, a 90 percent win rate, or a 90 percent probability that the asset will rise. It is simply a relative comparison metric used to rank the selected symbols.
🟣 Top Group Streak
The Top Group Streak shows how long a symbol has remained inside the strongest portion of the selected universe.
The top group is defined using the top quartile. In a universe of 10 symbols, this generally corresponds to the top three ranked assets.
If a symbol displays 8 scans, it means that the asset has remained in the top group for eight consecutive ranking checks. This helps distinguish a temporary jump in Rank from more persistent market leadership.
Top Group Streak does not count how many consecutive times a symbol has outperformed the Benchmark. It only measures persistence inside the top ranking group.
🟣 Rank Change
The Rank Change column shows how the position of a symbol has changed since the previous completed ranking check.
A value such as ↑ 2 places means the symbol improved by two ranking positions. A value of ↓ 2 places means it dropped by two positions. Unchanged means the ranking remained the same.
Current Rank shows where the asset is now, while Rank Change helps show the direction in which it is moving.
For example, a symbol currently ranked fifth may have improved from Rank 9 over the previous scans. This can indicate strengthening relative performance. Another symbol may still hold Rank 3 but may have fallen from Rank 1, suggesting that its leadership is beginning to deteriorate.
🟣 Rotation Matrix
The Rotation Matrix provides a faster and more visual summary of the entire universe. While the Ranking Dashboard shows detailed numerical evidence for every symbol, the Rotation Matrix focuses on the relationship between Strength and Momentum.
The matrix compares Strength Percentile and Momentum Percentile using the 50th percentile as the default boundary. Every valid symbol is then classified as Leading, Improving, Weakening, or Lagging.
A symbol in the Leading state has both Strength and Momentum in the stronger half of the universe. These assets represent the current relative leaders. If a symbol remains in Leading for several scans and the Ranking Dashboard also confirms Benchmark outperformance and a strong Top Group Streak, the evidence for persistent leadership becomes stronger.
An Improving symbol still has Strength in the weaker half of the universe, but its Momentum has moved into the stronger half. This state is particularly useful for identifying Emerging Leadership. The asset is not yet a confirmed leader, but its Relative Performance has started to improve.
One of the most important positive rotation sequences is : Lagging → Improving → Leading
This progression shows an asset moving from relative weakness into improving momentum and eventually into relative leadership.
A Weakening symbol still has above median Strength but below median Momentum. The asset remains relatively strong, but the quality of that strength is deteriorating.
A Leader moving into Weakening may be showing the first signs of losing its previous advantage.
If the deterioration continues, the sequence may become : Leading → Weakening → Lagging
However, a Weakening symbol can also return to Leading if Momentum recovers. For this reason, Weakening should be treated as a change in relative conditions rather than an automatic Sell signal.
A Lagging symbol has both Strength and Momentum in the weaker half of the universe. These assets usually receive lower priority in a Relative Strength selection process. However, movement out of Lagging can be important. A transition from Lagging to Improving can be the first indication that the relative trend is beginning to change.
🟣 Combining the Ranking Dashboard and Rotation Matrix
The most useful way to analyze the indicator is to read the Rotation Matrix and Ranking Dashboard together.
The Rotation Matrix provides the first overview. It shows where Relative Strength is concentrated and which assets are currently Leading, Improving, Weakening, or Lagging. The Ranking Dashboard then provides the numerical evidence needed to understand the quality of each state.
For example, if a symbol appears in Leading, the trader can check the Dashboard to determine whether it is actually ahead of the Benchmark, how high it ranks, how strong its Score is, how long it has remained in the top group, and whether its Rank is improving or deteriorating.
Two symbols can both appear in Leading while having very different profiles. One may be ahead of the Benchmark, ranked first, and have a long Top Group Streak. Another may have only recently entered the stronger half of the universe and have little persistence. The Rotation Matrix places both in the same broad state, while the Ranking Dashboard explains the difference between them.
The same principle applies to Improving. A symbol may be improving while still remaining behind the Benchmark. Another may already have crossed into relative outperformance. Rank Change can then show whether the improvement in Momentum is also beginning to affect its broader ranking.
For Weakening assets, the combination of negative Relative Momentum, declining Rank, and lower persistence can provide stronger evidence that leadership is deteriorating. If Rank remains stable and Momentum weakness is temporary, the condition may simply represent a short pause in relative strength.
It is important to understand that the Dashboard conclusions and Rotation Matrix do not use identical logic. The Rotation Matrix is based only on Strength Percentile and Momentum Percentile. The Dashboard also considers Relative Return, Relative Momentum, Rank Change, and Persistence.
For this reason, a symbol can appear as Improving in the Rotation Matrix while its Dashboard conclusion still shows Mixed Evidence. These outputs are not contradictory. They describe different dimensions of the same relative strength analysis.
🟣 Practical Workflow
A practical workflow begins by selecting a meaningful universe and an appropriate Benchmark. The Scan Timeframe, Performance Length, and Momentum Length can then be adjusted according to the intended analysis horizon.
The Rotation Matrix can first be used to identify current leaders, emerging strength, weakening leadership, and persistent laggards. The Ranking Dashboard can then be used to verify Benchmark Relative Performance, Rank, Score, Rank Change, and leadership persistence.
Symbols in Leading can be examined for current market leadership. Improving assets can be monitored for emerging Relative Strength. Weakening can help identify existing leaders that are beginning to lose Momentum, while Lagging identifies the weaker part of the selected universe.
The strongest or most interesting candidates can then be moved into a focused watchlist for further analysis of Price Structure, Trend, Liquidity, Entry Conditions, and Risk Management.
🔵 Settings
Number of Symbols : Determines how many symbols are included in the Relative Strength Screener. Users can select between 2 and 10 symbols. Only the first selected number of symbol inputs will be included in the Ranking Dashboard and Rotation Matrix.
Symbol 1 to Symbol 10 : Defines the assets used in the Relative Strength comparison. Each symbol can be replaced with any preferred stock, index, fund, currency, commodity, cryptocurrency, or other supported TradingView symbol. For more meaningful results, the selected symbols should belong to a logically comparable market universe.
Benchmark : Defines the reference asset used for all Relative Strength calculations. Each selected symbol is compared with this Benchmark to determine whether it is outperforming or underperforming the reference market. The default Benchmark is SPY.
Scan Timeframe : Determines the timeframe used by the Relative Strength ranking engine. The Scan Timeframe can be higher than, equal to, or lower than the chart timeframe. Higher and equal timeframe calculations use confirmed data, while lower timeframe settings use the latest available intrabar data.
Performance Length : Defines the number of Scan Timeframe bars used to calculate Benchmark Relative Performance. Higher values measure Relative Strength over a longer period, while lower values make the calculation more responsive to recent performance changes.
Momentum Length : Determines the period used to measure changes in Relative Performance. It compares the current Relative Return with its previous value to identify whether Relative Strength is improving or deteriorating.
Momentum Weight % : Defines how much influence Relative Momentum has on the final Score. The remaining percentage is automatically assigned to Relative Strength. For example, the default value of 35 percent creates a Score based on 35 percent Momentum and 65 percent Strength.
Leadership Confirmation : Defines how many consecutive Top Group checks are required before a symbol can be classified as having Sustained Leadership. Higher values require longer persistence before leadership is confirmed.
Symbol : Selects the asset displayed in the Relative Performance Oscillator. The selected symbol should be one of the active screener symbols. If another symbol is selected, Symbol 1 is used automatically.
Performance Length : Determines the lookback period used to calculate the selected symbol's performance relative to the Benchmark in the oscillator. Unlike the Ranking Dashboard, this setting is calculated using chart timeframe bars.
Smoothing : Defines the smoothing period applied to the Relative Performance line. Higher values create a smoother oscillator with less short term fluctuation, while lower values make the line more responsive.
Signal Length : Determines the EMA period used for the oscillator Signal Line. The relationship between the Relative Performance line and its Signal Line can be used to evaluate short term acceleration or deceleration in relative performance.
Show Signal : Enables or disables the oscillator Signal Line and the Relative Acceleration ribbon.
Show Last Value : Enables or disables the label showing the selected Symbol and Benchmark pair together with the latest Relative Performance value.
Send Alerts : Enables or disables the Relative Strength event engine. When enabled, alerts can be generated for Leader Group entries, Rotation State changes, Leadership Loss, and Leadership Confirmation events.
Leader Rank : Defines the Top N ranking group used for Leader Entry and Leadership Loss alerts. For example, when this value is set to 3, a symbol entering the Top 3 can trigger a Leader Entry event, while leaving the Top 3 can trigger a Leadership Loss event.
Show Ranking Table : Shows or hides the Relative Strength Ranking Dashboard on the chart.
Ranking Table Size : Adjusts the visual size of the Ranking Dashboard. Available options include Tiny, Small, Normal, and Large.
Ranking Table Position : Determines where the Ranking Dashboard appears on the chart. Users can select from nine positions using Top, Middle, or Bottom combined with Left, Center, or Right.
Show Rotation Matrix : Shows or hides the Rotation Matrix on the chart.
Matrix Table Size: Adjusts the visual size of the Rotation Matrix. Available options include Tiny, Small, Normal, and Large.
Matrix Table Position : Determines where the Rotation Matrix appears on the chart. Users can select from nine available positions. A different position from the Ranking Dashboard should be selected when both tables are enabled to prevent overlap.
🔵 Conclusion
Markets rarely move in a perfectly uniform way. While one group of assets is gaining leadership, another may be losing momentum, and somewhere else a previously weak symbol may already be starting to recover. Looking at price alone can make these shifts difficult to recognize, especially when several assets are moving in the same direction at the same time.
The Relative Strength Screener is built to make that rotation easier to see. By comparing a selected group of symbols against a common Benchmark, the indicator helps reveal which assets are truly outperforming, which ones are improving, and which current leaders are beginning to fade. The Ranking Dashboard adds the numerical evidence behind that comparison, while the Rotation Matrix turns the same market into a clearer picture of Leading, Improving, Weakening, and Lagging assets.
The goal is not to replace chart analysis or generate an automatic Buy or Sell signal. The value of the screener comes earlier in the decision process, when the trader is still asking which symbols deserve attention in the first place. Once the stronger, improving, or weakening assets have been identified, the next step is to return to the chart and evaluate Price Structure, Trend, Liquidity, Entry Conditions, and Risk Management.
Wskaźnik

TPO Market Profile, Value Area, POC & Initial Balance [LunqFX]A volume profile answers how MUCH traded at each price. A Market Profile answers a different question: how LONG price stayed there. This indicator draws the second one — a TPO profile, built letter by letter from the session's own half-hour brackets, with the Point of Control, the Value Area and the Initial Balance that come with it.
That distinction is the whole reason Market Profile exists as a separate discipline. Price can sit on a level for four hours on thin volume, and a volume profile will draw a narrow bar there while the auction was in fact spending most of its day at that price. Time at price and volume at price are two different maps of the same session, and they routinely disagree about where value actually is.
TPO stands for Time Price Opportunity, and the profile is the shape those opportunities build. It is the same structure floor traders assembled by hand before screens existed, which is why the Point of Control, the Value Area and the Initial Balance are named the way they are rather than the way a modern indicator would name them.
Included: TPO letters per session, the Point of Control, a value area at a percentage you choose, the Initial Balance of the first hour, levels extended to the right, a dashboard reading where price sits against that structure, and alerts on acceptance outside value and on the initial balance breaking.
❶ THE PROFILE AND WHAT IT COUNTS
The session is split into brackets of thirty minutes by default. Bracket one is A, bracket two is B, and so on. A bracket is credited to a price row when it traded anywhere inside that row, and each row is then drawn to the length of the count it collected.
The counting rule matters more than it sounds: a bracket counts ONCE for a row however many bars of that bracket touched it. That single rule is what makes the result a measure of time rather than of activity, and it is the entire difference from the volume profile beside it on your chart.
Brackets are cut from elapsed session time rather than from bar count, so the same profile appears whether you run the chart on 5 minutes or on 15.
A bracket can never be finer than a bar, and the script enforces that rather than letting you ask for something the chart cannot deliver. Request thirty-minute brackets on a one-hour chart and every bar would jump the counter by two, leaving half the brackets empty and the letter view printing A, C, E with the gaps missing. The bracket size is floored at the chart's own timeframe, and the dashboard shows the size actually in use.
The classic letter view — A, B, C printed at every price the bracket reached — is in the settings, and it is worth knowing why it is not the default. A true TPO grid needs one text object per row per bracket: forty rows across twenty-six brackets is more than a thousand objects for one session, against a platform cap of five hundred for the whole script. Packing each row's letters into a single text object instead runs into a second wall, because Pine centres a label's text on its anchor and gives no way to left-align it, so the profile spreads both ways from the anchor and lands on top of price. Rows drawn to their own length say the same thing and can be read at a glance. Both views are one setting apart, and there is a shift control for moving either clear of the candles.
❷ POINT OF CONTROL — THE POC
The price row that collected the most brackets — the price the session spent the most time at. It is drawn as a solid line and its row of letters is coloured gold.
A volume profile has a POC too, and the two are frequently at different prices on the same day. That gap is worth looking at: a volume POC well away from the time POC means the heavy trading and the long acceptance happened in different places, which is usually where the day's argument was.
The POC is where the auction found agreement. Traders use it as the session's magnet: price that leaves it tends to come back to it, and a session whose POC is far from its close often has unfinished business there.
❸ VALUE AREA
The band containing the chosen share of the session's total time, seventy percent by convention. It is built the classic way: start at the Point of Control, then step outward one row at a time, always taking whichever neighbouring row holds more time, until the target is enclosed.
Rows inside the value area are drawn bright; rows outside are dimmed. What you are looking at is the difference between where the market agreed on price and where it merely passed through.
❹ INITIAL BALANCE
The high and low set during the first two brackets — the first hour of the session on default settings. Drawn as two dotted lines.
The Initial Balance is the day's opening statement. A session that spends the rest of the day inside it is balanced and rotational, and its edges are the fade. A session that leaves it early has found a direction, and the break level becomes the reference for the rest of the day. The dashboard says which of the two is happening.
❺ THE DASHBOARD
A header that reads IN VALUE, ABOVE VALUE or BELOW VALUE according to where price sits against the developing profile, the number of brackets built so far, the Point of Control, both value area edges, the Initial Balance range, and whether that balance is still holding.
HOW TO USE IT
1 — Read the header first. In value means the session is balanced and the edges are the trade. Above or below value means price is away from agreement and either seeking a new one or coming back.
2 — Use the Point of Control as the session's magnet. It is the single most-referenced price of the day and the most common target for a return move.
3 — Watch the Initial Balance in the first two hours. Holding inside it points to a rotational day; leaving it early points to a directional one, and that judgement changes which of the levels above are worth trading.
4 — Compare today's value area with yesterday's. Higher value against lower value is the cleanest read of whether the auction is migrating, and it is visible at a glance once several sessions are on the chart.
5 — Read it beside a volume profile, not instead of one. Where the two disagree — heavy volume at a price the market barely spent time at, or the reverse — is where the most information is.
HOW IT WORKS
Sessions come from the symbol's own trading day, so nothing has to be configured per market. Elapsed session time in minutes divided by the bracket size gives each bar its bracket number, which keeps letters tied to the clock rather than to bar count.
When a session closes, its range is divided into the chosen number of rows. For every row the script walks the session's bars and marks which brackets overlapped that row, then counts the distinct brackets and builds the letter string. The row with the highest count becomes the Point of Control. The value area grows outward from it, one row at a time toward whichever neighbour holds more, until the chosen share of total brackets is enclosed. The Initial Balance is the extreme high and low among bars belonging to brackets one and two.
A completed session is drawn once and never touched again. The developing session is rebuilt once per closed bar.
Best used on intraday charts from 5 to 30 minutes, on instruments with a defined session — index futures and CFDs, gold, forex majors, large-cap crypto.
LIMITATIONS — read before relying on any of it
▸ This is a bar-based approximation of a floor-based technique. Classic TPO is built from every price the market printed during a bracket; here a bracket is credited to a row when any bar of that bracket overlapped the row. On low timeframes the two are nearly identical; on higher ones a single wide bar credits its bracket to more rows than the market may truly have spent time in, and the profile widens accordingly. Use 5 to 30 minute charts and the difference stays small.
▸ It needs an intraday chart. A profile is built from many bars inside one session, so on a daily chart or higher a single bar IS the session and there is nothing to divide. The script draws nothing there and the dashboard says so rather than printing a meaningless block. Use 5 to 30 minutes.
▸ Sessions are the symbol's own trading day. On a market that trades around the clock that is the calendar day in exchange time, which is a convention rather than a real auction boundary. Crypto profiles are therefore useful for structure but not for session theory in the futures sense.
▸ Only the most recent sessions are built. Older sessions are skipped entirely rather than drawn and discarded, because building every session of a long history is enough to time the script out. Scroll back far enough and the profiles stop.
▸ The first session on a freshly loaded chart can be partial. The script starts counting a session from the first bar it is given, and if the chart begins in the middle of a trading day that profile covers only the part it could see. It is normally out of range of the sessions actually drawn, but on a very short chart it is the one to distrust.
▸ The row count changes the shape. More rows give a finer profile with a more precise Point of Control; fewer rows smooth it. Two readings are only comparable at the same row count.
▸ The letter view is a compromise, and the default block view exists because of it. Pine caps a script at five hundred drawing objects and centres a label's text on its anchor with no way to left-align it, so neither a true letter grid nor a clean left-anchored letter column is possible. If you switch the letters on, expect them centred on the anchor rather than laid out as a terminal would lay them out.
▸ There is a hard platform limit on drawings. With the default forty rows and five sessions the script stays well inside it, but raising both together will start dropping the oldest rows.
▸ The Initial Balance is the first two brackets, which is one hour on default settings. Traders who define it differently should change the bracket size rather than expect the level to move.
▸ None of this predicts anything. A profile describes an auction that has already happened.
WHY IT IS ORIGINAL
Time at price and volume at price are different measurements, and this publication implements the first. The counting rule — one credit per bracket per row regardless of how many bars touched it — is what separates the two, and it is stated openly here rather than left inside the code.
The parts belong together because they are one object read at four resolutions. The letters are the raw shape. The Point of Control is its densest point. The value area is the band that shape encloses. The Initial Balance is the first hour of it, kept separate because the day's character is decided there. Remove the letters and the levels float above nothing; remove the levels and the shape has to be read by eye.
SETTINGS
▸ Profile — bracket size in minutes, price rows per session, value area percentage, how many sessions to keep. The bracket size is floored at the chart's timeframe, and the profile width is capped at the session's own bar count, so neither setting can be pushed into a state the chart cannot render honestly. ▸ Levels — Point of Control, value area edges, initial balance, and how far levels extend to the right. ▸ Visuals — blocks or letters, profile width and transparency, letter size, how far to shift the profile sideways, neon candles, dashboard and its position.
ALERTS — accepted above value, accepted below value, initial balance broken up, initial balance broken down. All fire on closed bars.
NON-REPAINTING — a completed session's profile is drawn once from closed bars and is never recalculated. Only the developing session updates, and it rebuilds once per closed bar rather than tick by tick.
This indicator is an educational market-analysis tool, not financial advice. It describes the structure of sessions that have already completed and does not predict future prices. Always confirm with your own analysis and manage your risk. Wskaźnik

Crossover Whipsaw Guard**Crossover Whipsaw Guard**
**What it does**
Turns a moving-average crossover into a two-step state: *pending* the moment the fast MA crosses the slow one, *confirmed* once the two averages have separated by at least a minimum percentage (default 0.30 % of the slow MA). Optional extra conditions for confirmation: volume above its 20-bar average, and a higher high plus higher low over the last N bars (mirrored for bearish crosses). A confirmed state holds until the averages cross back; it is never downgraded.
**What you see**
- Both averages (defaults EMA 9 and DEMA 200; EMA, SMA and DEMA selectable for each).
- The area between them filled gray while pending, teal or red once confirmed.
- A small dot on the bar where confirmation happened.
- A table with the current separation, the threshold, active extra filters and the state.
- Alerts for each of the four transitions: bullish pending, bullish confirmed, bearish pending, bearish confirmed.
**Why I built it — the measurement behind it**
Crossovers of a fast and a slow average produce many entries that get stopped out within days. I measured which conditions at the crossover bar reduced that, on 47,013 daily bullish crossovers (EMA 9 over DEMA 200) across 1,758 US stocks, 2014–2026, including later-delisted names, each followed by the same trailing exit:
| Condition at the crossover bar | Share of crossovers kept | Share of trades ending positive | vs. the crossovers it removed |
|---|---:|---:|---:|
| none (all crossovers) | 100 % | 31.0 % | — |
| separation ≥ 0.10 % | 77 % | 31.8 % | 28.6 % |
| separation ≥ 0.30 % | 45 % | 33.1 % | 29.4 % |
| volume > 1.1 × 20-bar average | 36 % | 32.8 % | 30.1 % |
| higher high & higher low (10 bars) | 85 % | 31.5 % | 28.8 % |
All four held in the second half of the sample (from September 2020, +2.1 to +2.8 points each). The filters overlap: combining separation with volume kept 20 % of crossovers at 33.5 %, not more.
**What the measurement does not show — please read**
- The improvement is in *fewer stop-outs*, not in better returns afterwards. Measured without any exit, 20 and 60 bars after the crossover, the separation and volume conditions left the kept and removed groups within a point of each other; the higher-high/higher-low condition improved the 20-bar outcome (+3.4 points) but not the 60-bar one. This is a whipsaw filter, not a return predictor.
- The absolute hit rates (31 %) belong to one specific exit rule with a tight trailing threshold, typical for trend following. Your exit will give different absolute numbers.
- Tested on daily bars and on one pair of averages. The separation threshold is a percentage of price, so it needs adjusting for other timeframes and volatilities — the table shows the current separation to help with that.
- A confirmed state is a description of where the averages are. It is not a recommendation to do anything.
No buy or sell signals are generated, and none are implied.
Wskaźnik

Stock vs. Sector Relative Strength**Stock vs. Sector Relative Strength**
**What it does**
Plots how the stock on the chart has performed relative to *its own sector ETF* over a lookback window (default 20 bars), and how unusual that relative performance is compared to the stock's own recent history (z-score over 60 bars). The sector ETF is detected automatically from TradingView's sector classification and mapped to the matching SPDR sector fund (XLK, XLF, XLV, …). If the sector is unknown — non-US listings, ETFs, crypto — the script falls back to a benchmark you choose (default SPY). You can also set the benchmark manually.
**What you see**
- Z-score line with ±1 bands (default view), or the raw relative return in % as columns.
- Background shading when the z-score is beyond the band: teal = outperforming the sector by more than usual, red = underperforming.
- A small table with the detected sector, the benchmark actually used, the relative return, the z-score and the current state.
- Alerts on state changes: relative return crossing zero, z-score entering the upper or lower band.
**How it works**
`relative return = (close / close − 1) − (benchmark / benchmark − 1)`. The z-score is the relative return minus its 60-bar mean, divided by its 60-bar standard deviation. The benchmark is requested on the chart's timeframe without lookahead, so the value on any bar only uses that bar's closes.
**Why it is different from existing sector-strength scripts**
Most published sector tools compare a *sector ETF against SPY*. This one compares the *stock against its sector*, which answers a different question: is this stock doing better than the peers it is normally traded with?
**Why I built it — the measurement behind it**
This is a state, not a signal. The reason it exists is a filter test. I took 47,013 daily bullish moving-average crossover events (EMA 9 crossing above DEMA 200) on 1,758 US stocks from 2014 to 2026, including names that were later delisted, and asked which conditions at the crossover bar separated better outcomes from worse ones. For the 18,280 events where a sector ETF could be assigned:
| Condition at the crossover bar | Share of events kept | Share positive after 20 bars | after 60 bars |
|---|---:|---:|---:|
| all events with a sector ETF | 100 % | 56.9 % | 59.7 % |
| relative return vs. sector > 0 | 28 % | 57.5 % (vs. 53.7 % for the rest) | 60.2 % (vs. 56.2 %) |
| z-score vs. sector > +1 | 17 % | 57.3 % (vs. 54.2 %) | 59.8 % (vs. 56.8 %) |
Both versions held in the second half of the sample (from September 2020) and were the only conditions in that test that improved *every* measure I looked at, including the outcome of the trades themselves under a trailing exit (+3.2 percentage points). Comparing against SPY instead of the sector gave almost the same 20-bar effect but nothing at 60 bars — the sector benchmark is where the longer-horizon difference comes from.
**Limitations — please read**
- The measurement is conditional: it says that crossovers with positive relative strength were followed by positive returns more often than crossovers without it. It is not a strategy return and says nothing about future performance.
- The sector-mapped subset consisted of today's ~1,000 largest US stocks, so it carries survivorship bias. The comparison *within* that subset (kept vs. removed) is what the numbers above show; the absolute levels are flattered.
- TradingView's sector taxonomy is not GICS. The mapping to SPDR ETFs is approximate (retail, media and REITs are the usual edge cases). Check the table and switch to a manual benchmark if it looks wrong.
- Tested on daily bars only. On intraday timeframes the lookback of 20 bars means something else.
- `syminfo.sector` is only populated for stocks. Everything else uses the fallback benchmark.
No buy or sell signals are generated, and none are implied.
Wskaźnik

Virgin CPR Zones (Open Source) D / W / M / YVirgin CPR Zones — D / W / M / Y
OVERVIEW
This indicator plots the Central Pivot Range (CPR) for four timeframes — Daily, Weekly,
Monthly and Yearly — and automatically marks the "virgin" ones as extending zones on the
chart.
A CPR is called virgin when price never traded inside it during the period it belonged to.
Because that range was never tested while it was active, many traders treat it as an
untouched area of interest that price may react to when it eventually returns.
WHAT IT DRAWS
1. CPR lines for each enabled timeframe:
- TC (Top Central) = 2 × Pivot − BC
- Pivot = (High + Low + Close) / 3
- BC (Bottom Central) = (High + Low) / 2
The CPR is latched at the first bar of each new period using the previous period's
completed HLC, so the levels never repaint or shift mid-period.
2. Virgin CPR zones: when a period closes without price having traded into its own CPR,
a box is drawn between TC and BC and extended forward bar by bar. The zone stops
extending the moment price trades into it, leaving a permanent record of where and
when it was consumed.
HOW IT WORKS
Each timeframe runs through its own self-contained state machine, so the Daily, Weekly,
Monthly and Yearly logic never share arrays, latches or touch flags with one another.
Higher-timeframe data is requested with lookahead disabled and gaps off, so nothing is
known before it would have been known in real time.
The touch test is reset at the start of each new period before the current bar is
evaluated, which means the very first candle of a period can register as a touch. A CPR
is only promoted to a virgin zone after its own period has closed untouched, so zones
appear at the period boundary rather than intrabar.
Each timeframe only draws if the chart timeframe is equal to or lower than the CPR
timeframe. For example, Weekly zones will not appear on a Monthly chart.
INPUTS
- General: toggle the D / W / M / Y text tags on each zone.
- Per timeframe (Daily, Weekly, Monthly, Yearly):
- Show CPR lines on/off
- Show virgin CPR zones on/off
- Maximum number of zones to keep (oldest is deleted first)
- Colour
Defaults: Daily and Weekly lines are on, Monthly and Yearly lines are off to keep the
chart clean, while zones are enabled for all four.
HOW TO USE IT
Untested zones from a higher timeframe tend to carry more weight than lower ones, so a
virgin Monthly or Yearly CPR is generally treated as more significant than a virgin
Daily. Common uses are watching for a reaction on the first tag of a zone, or using the
zone edges (TC and BC) as reference levels for entries, targets and invalidation.
This is a levels and context tool. It does not generate buy or sell signals and should be
combined with your own structure, trend and risk management rules.
NOTES
- Zones are capped per timeframe to stay within drawing object limits. Increase the
"Max zones" input if you want more history, reduce it if the chart feels crowded.
- Because CPR is built from the previous period's completed data, the levels for the
current period are fixed from its first bar onward.
Author: Vishwajeeth J K Wskaźnik

Range PositionRange Position answers one question at every bar: where is price inside the range it has just travelled? For each of seven lookback windows (the last 1, 3, 5, 15, 60 and 240 closed one-minute bars, plus the session since 18:00 ET) the indicator draws the window high and low on the price chart and computes the position of the current close as a percentage of that range, 0 at the low and 100 at the high. Because a long taken near the low and a short taken near the high are the same situation from the trader's side, the reading is also expressed side-relative as "ext": a BUY's ext is the distance up from the low, a SELL's ext is the distance down from the high, so a low ext on either side means you are entering at the favourable extreme rather than chasing. Each window shades that favourable zone as a band, green from the low for buys and red from the high for sells, with its own adjustable width, so "4h ext ≤ 35" is simply price sitting inside the green band of the 4h window. All windows are built from the one-minute series via request.security, so the levels are identical whether the chart is on 1m, 5m or 1h. A top-right table shows the live BUY and SELL ext for every window and highlights the ones inside their band, one window is selectable as the alert window with triangle markers and two alert conditions on band entry, and an optional JSON alert() payload carries the window, side, range position, ext, and window high and low for webhook use. Only closed bars are ever included, so the bar you are in never moves its own reference range.
Wskaźnik

MTF Trend Dashboard [PineLogic]Multi-timeframe trend, momentum and bias in one compact table.
WHAT IT DOES
Reads five timeframes at once (default 15m / 1h / 4h / 1D / 1W, all configurable) and shows, for each one:
- Trend: "Up" when close is above the slow EMA and the fast EMA is above the slow EMA, "Down" for the mirror condition, "Flat" otherwise.
- RSI: the raw value, tinted when it reaches 70 or 30.
- MACD: the sign of the histogram (12/26/9).
A final Bias row sums the five trend readings into a score from -5 to +5. It reads BULLISH at +3 or more, BEARISH at -3 or less, and MIXED in between.
HOW TO USE IT
The point is to stop flipping through timeframes to check whether a setup agrees with the higher ones. Trade your working timeframe and use the Bias row as a filter, for example taking longs only while Bias reads BULLISH.
SETTINGS
Five timeframe slots, Fast EMA (default 21), Slow EMA (default 50), RSI length (default 14), plus table position and text size.
HONEST NOTE ON HIGHER-TIMEFRAME VALUES
Rows for timeframes above your chart update live while that bar is still forming, and settle only when it closes. This is normal behaviour for any dashboard of this kind, but it does mean the 1W row can change during the week. Read closed bars, not forming ones.
This is a context tool, not a signal generator. It produces no entries or exits and makes no claim about profitability. Wskaźnik

OHLC4 Structure Ribbon [RMA] OHLC4 Structure Ribbon is a multi-horizon market-structure indicator built from a fixed stack of Wilder Running Moving Averages applied to OHLC4. Rather than treating the ribbon as a collection of independent moving averages, the indicator analyzes the shape, ordering, compression, expansion, and directional geometry of the entire stack as one structural system.
The primary ribbon uses six RMA horizons: 5, 8, 13, 20, 34, and 50. A separate 75 / 110 pair provides a slower structural reference without influencing the primary ribbon's regime engine.
The objective is not simply to show whether a fast average is above or below a slow average. The ribbon is designed to answer a broader question: how organized is price structure across multiple horizons, how strong is that structure relative to current volatility, and is that structure being maintained, disrupted, or transferred to the opposite side?
Why OHLC4 and RMA?
Each average is calculated from OHLC4, giving equal representation to the open, high, low, and close of each candle rather than using the closing price alone. The smoothing method is Wilder's RMA, which reacts differently from a conventional EMA. RMA places more persistence into the series, allowing the ribbon to develop a slower, more structural character while still preserving enough responsiveness for shorter-timeframe use.
Because the six averages span several horizons, the resulting ribbon provides a continuous view from the fast edge of the market through the deeper intermediate structure.
➖REG BODY➖
At the center of the indicator is a measurement called REG BODY. Instead of measuring only the distance between two selected averages, REG BODY examines all six RMA levels together. Each RMA is assigned its theoretical Wilder lag, and a linear regression is calculated across those lag coordinates. That regression estimates the directional slope of the entire stack. The slope is then projected across the complete lag range to produce one signed structural spread.
A positive REG BODY means the faster horizons are structurally positioned above the slower horizons. A negative REG BODY means the opposite. The larger the absolute value, the more strongly the full ribbon is separating in that direction. This is important because two ribbons can have the same fast-to-slow distance while having very different internal structure. One may be cleanly ordered from front to back, while another may be folded, crossed, or compressed internally. REG BODY is intended to evaluate the complete structure rather than relying on a single moving-average spread.
➖Volatility normalization➖
Raw ribbon separation naturally varies by instrument, price level, and timeframe. To make the structural measurement more comparable, REG BODY is normalized by ATR14. This expresses ribbon expansion in volatility-relative terms rather than raw points. For example, a ten-point separation means something very different on an instrument whose ATR is 3 than on one whose ATR is 100. ATR normalization gives the engine a common structural language across those environments.
➖Peak-Persistence ATR-Drag Guard➖
Strong trends can occasionally create an unusual problem: volatility expands so rapidly that ATR rises faster than the ribbon itself. When that happens, a simple REG BODY / ATR calculation can make a structurally healthy trend appear to weaken even while the ribbon remains strongly ordered and continues expanding. The indicator addresses this with a Soft Peak-Persistence ATR-Drag Guard. The guard evaluates ribbon ordering, REG BODY persistence, directional continuity, and ATR expansion together. When the underlying structure remains intact, it can temporarily preserve part of the previously established normalized strength rather than allowing an abrupt ATR expansion to collapse the reading prematurely. The effect is intentionally limited. It decays automatically and releases when structure deteriorates, the ribbon body cools, directional ownership changes, or the qualifying conditions are no longer present. Its purpose is not to manufacture momentum. It is simply to reduce false structural decay caused by volatility expanding faster than an otherwise intact ribbon.
➖Wide Semantic and the CORE scale➖
After volatility normalization and the persistence guard, structural strength is translated through a non-linear mapping called Wide Semantic. Wide Semantic converts the normalized ribbon measurement into a bounded -100 to +100 CORE scale. The center of the scale provides greater resolution for ordinary market structure, while increasingly large structural expansions require progressively greater ATR-normalized separation to approach the extremes.
The principal absolute-value anchors are:
0.70 ATR → 34
1.25 ATR → 55
2.50 ATR → 65
4.00 ATR → 75
7.00 ATR → 89
12.0 ATR → 95
20.0 ATR → 100
Positive CORE values represent bullish structural direction, while negative values represent bearish direction. A CORE reading is not a probability, price target, or percentage. It is a volatility-normalized measurement of multi-horizon structural strength. This distinction becomes especially useful near the outer portions of the scale. A move from 89 to 95 represents a much larger increase in underlying structural expansion than a move from 34 to 55.
➖Global Regime architecture➖
The ribbon uses CORE together with the physical ordering of the RMA stack to maintain a persistent Global Regime. A fully ordered bullish stack can establish Bull Rise, while a fully reversed stack can establish Bear Fall. When an established bullish structure begins to lose internal ordering, the system can transition into Bull Resistance rather than immediately declaring the market bearish. Likewise, disrupted bearish structure can remain in Bear Support while the prior bearish lineage is still structurally relevant. This distinction allows the indicator to separate trend continuation, compression, transition, and actual directional transfer. Directional ownership uses fixed structural rails. Same-side full-stack re-entry occurs around ±34, while initial or opposite-side directional transfer requires approximately ±55. Larger structural expansions can progress into Extreme and Exceptional regimes around ±89 and ±95, with separate release thresholds to reduce unnecessary state flipping. The result is deliberately different from coloring a ribbon solely according to whether one moving average crossed another.
➖Contiguous ribbon transitions➖
The visible ribbon contains five adjacent bands:
5/8 → 8/13 → 13/20 → 20/34 → 34/50
Transition ownership begins at the fast 5/8 edge and progresses outward. A deeper portion of the ribbon is not allowed to visually transfer direction until the faster pairs in front of it have aligned first. This creates a contiguous transition rather than allowing isolated sections of the ribbon to change color independently. During a bullish rollover, for example, the fast edge can begin transferring into resistance while slower portions of the ribbon still retain bullish ownership. The reverse occurs during recovery from bearish structure. This makes the ribbon itself a visual representation of how far a structural transition has propagated through the stack.
➖Ribbon ORDER➖
The context table also displays Ribbon ORDER %. ORDER measures how efficiently the six averages form one monotonic path from OHLC5 through OHLC50. A perfectly ordered ribbon approaches 100%, while internal folding and crossover geometry progressively reduce the reading. The accompanying Bull/Bear x/5 value shows how many adjacent pairs have aligned contiguously from the fast edge. For example, Bull 3/5 means the first three adjacent relationships have transferred bullishly while the deeper structure has not yet completed the transition. ORDER describes the ribbon's current geometry. It does not override Global Regime ownership.
➖Developing higher-timeframe CORE➖
The table includes both the current chart-timeframe CORE and a Developing HTF CORE calculated on the automatically selected next higher timeframe. The higher-timeframe value is not created by resampling the chart-timeframe result. The complete six-RMA structural engine is calculated natively in the higher-timeframe context using the same REG BODY, ATR normalization, persistence guard, and Wide Semantic mapping. Because this is a developing higher-timeframe reading, it updates while the higher-timeframe candle is still forming. It can therefore change until that candle closes. This provides a direct comparison between current-timeframe structure and the developing structural condition immediately above it.
➖75 / 110 long structure➖
OHLC75 and OHLC110 form a separate slower structural pair. They do not participate in REG BODY, CORE, or Global Regime calculations. Their purpose is to provide a longer structural reference alongside the primary six-average ribbon. When 75 > 110, the long structure is displayed in orange. When 110 > 75, it is displayed in gray. The table also reports the current relationship directly—for example, 75 > 110—along with the number of bars since the most recent 75/110 crossover.
➖Price-relative OHLC labels➖
Each RMA level can be displayed in a right-side label containing the current level and its distance from price. The labels also maintain a persistent price-relative marker:
$⤴ means price most recently moved above that OHLC level.
$⤵ means price most recently moved below that OHLC level.
The marker persists until the opposite side takes ownership. This makes it possible to scan the right-side stack and quickly see where current price is positioned relative to multiple structural horizons. The short-horizon labels visually inherit the active ribbon gradient, while the 75/110 labels use their separate long-structure color owner.
➖Crossover events➖
Five crossover families are available. The 5/8 event represents the fast ribbon edge. 8/20 provides an optional early-intermediate structural crossover, while 13/34 represents a deeper middle-structure transition. 20/50 tracks slower primary-ribbon equilibrium, and 75/110 represents the separate long structural pair. Bullish crossover labels appear below the candle and bearish labels appear above it. Historical events preserve the exact Global Regime color that was active when the crossover occurred, allowing older events to retain their original structural context rather than being recolored by the current regime.
➖PlotCandles➖
Optional PlotCandles can color price directly from the active Global Regime while maintaining independent body, wick, and border transparency.
➖How I use the ribbon➖
The indicator is most useful when the components are read together rather than treating any one color or crossover as a standalone signal.
A clean, high-ORDER ribbon with expanding CORE reflects a very different structural environment from a similarly colored ribbon whose ORDER is deteriorating and whose fast-edge transition has already begun. When CORE is higher than its HTF value, tha'ts also a bullish sign (and vice versa). Likewise, disagreement between chart CORE and Developing HTF CORE can provide useful context. Strong local structure may be developing inside a weaker higher-timeframe environment, or a lower-timeframe transition may be occurring while the next timeframe remains firmly established.
The 75/110 pair provides another layer of context without contaminating the primary regime calculation. For that reason, I view the indicator primarily as a market-structure and context tool, rather than a mechanical entry/exit system.
➖Final note➖
Moving averages are inherently derived from historical price, and no ribbon can predict future market direction. CORE, ORDER, Global Regime states, crossover events, and Developing HTF readings should be interpreted as descriptions of current and developing structure—not guarantees of continuation or reversal.
The value of the indicator is in combining multi-horizon OHLC4 structure, volatility-normalized strength, persistent regime ownership, and visually progressive ribbon transitions into one coherent framework.
➖A few chart examples➖
Wskaźnik

Market Effort Response ProfileMarket Effort Response Profile is a behavioral price-profile indicator designed to examine how market effort and realized price response have interacted across different occupied price regions.
Rather than treating every price level equally, the indicator organizes recent market behavior into adaptive price regions and evaluates the relative activity and effort-response balance observed within each region.
The purpose is not to predict where price will move next. The profile provides a spatial view of how price has behaved across the analyzed sample.
How It Works
The indicator evaluates market behavior through two related components:
Effort represents the relative intensity of market movement and activity observed during the analysis window.
Response measures how effectively that effort translated into realized price movement.
These components are normalized so that their relationship can be compared across changing volatility conditions.
The resulting information is then mapped into an adaptive price profile.
Adaptive Occupied-Price Profile
Instead of dividing the entire chart range into fixed price intervals, the indicator builds its profile from price regions that were actually occupied during the analysis window.
Observed prices are organized into adaptive quantile-based regions.
For each region, the indicator aggregates behavioral activity and the relationship between effort and response.
The horizontal width of each profile strip represents the region's relative behavioral activity within the current sample.
Wider regions therefore represent greater observed activity relative to other regions in the same profile.
Profile Colors
The profile uses restrained behavioral coloring:
Teal regions indicate comparatively response-led behavior.
Muted red regions indicate comparatively effort-led behavior.
Neutral regions indicate a more balanced relationship between the two components.
These classifications are relative descriptions of historical behavior within the current analysis window. They are not bullish or bearish trade signals.
Profile Peak
The Profile Peak identifies the adaptive price region containing the highest smoothed behavioral activity in the current profile sample.
It provides a reference for where the strongest concentration of measured activity occurred.
The Profile Peak is descriptive only. It is not a price target, reversal probability, expected return, or guarantee that price will react there again.
Structural References
The indicator also tracks confirmed structural references derived from price behavior.
To keep the chart readable, only the nearest relevant support and resistance references around current price are displayed.
Each reference label contains the structural price and a normalized relative activity reading associated with the nearest profile region.
These references provide additional context for interpreting the effort-response profile; they should not be treated as guaranteed support or resistance.
Dashboard
The compact Effort Profile dashboard summarizes the current behavioral state:
EFFORT — normalized market effort.
RESPONSE — normalized realized price response.
EFFICIENCY — the relationship between response and observed effort.
BALANCE — identifies whether the current measurement is comparatively effort-led, response-led, or balanced.
PROFILE PEAK — price associated with the highest-activity profile region.
These measurements describe current and historical market behavior. They do not represent probabilities or trading recommendations.
Originality and Intended Use
Market Effort Response Profile is built around the relationship between behavioral effort, realized response, and spatial price occupancy.
Its profile is not constructed from traditional volume-at-price data or reversal-frequency probabilities.
The adaptive occupied-price geometry allows the profile to adjust to the actual distribution of observed prices instead of forcing the sample into a fixed full-range grid.
The indicator is intended for traders studying market behavior, structural interaction, movement efficiency, and the distribution of activity across price.
It can be used as analytical context alongside an independent trading methodology.
Calculation Timing
The profile is recalculated from the available analysis sample as new market data becomes available.
Confirmed structural references are used for the displayed support and resistance context.
Because the active analysis window changes over time, profile geometry, Profile Peak, behavioral classifications, and displayed structural references can also change as new observations enter the sample.
Limitations
The indicator analyzes historical and current price behavior. It does not know future market direction.
High historical activity at a price region does not imply that price will revisit or react from that region.
Effort-response relationships can change when volatility, liquidity, market structure, or broader market conditions change.
The Profile Peak is not equivalent to a conventional volume point of control.
Support and resistance references can fail.
Normalized readings are comparative analytical measurements and should not be interpreted as probabilities, expected returns, or historical win rates.
The indicator does not generate Buy or Sell signals and should not be used as a standalone trading system. Wskaźnik

Impulse Retention Map [MQLSoftware]OVERVIEW
Impulse Retention Map shows how much of a sharp price move remains after it forms. It automatically fixes the move's origin, halfway level and closing endpoint, then follows subsequent closes to distinguish a partial retracement, a full unwind and a recovery after a deep retracement.
The question is simple: has price kept the move, given half of it back, or returned all the way to its origin? No manual anchors, external signal source or volume feed are required.
DETECTION AND ORIGINAL CONTRIBUTION
The script measures a short close-to-close displacement. With the default settings, a qualifying impulse must satisfy all of these conditions:
1. The absolute change from the close three bars earlier to the current close is at least 2.0 times ATR, with a minimum size of two price ticks. The 20-bar ATR reading is taken at the origin bar, before the three subsequent price changes being measured. The move therefore does not increase its own volatility benchmark.
2. Path efficiency is at least 0.75: the absolute net change divided by the sum of the three absolute close-to-close changes. A reading of 1 means no closing-price retracement inside the window.
3. The final close is in the directional outer 30% of the impulse window's high-low range: near the high for an upward move or near the low for a downward move.
ATR scaling, path efficiency and halfway retracements are established concepts. The contribution here is their use in one automatic, frozen displacement episode: detection uses a pre-window volatility reference, the resulting map has fixed price boundaries, and the subsequent close-based events follow an explicit lifecycle. It measures a short move's retention rather than constructing pivot-based trend waves, projecting reversal targets or evaluating signals supplied by another indicator.
A map is admitted on the first qualifying bar of a fresh directional burst, subject to spacing of at least one impulse window since the previous admission. Consecutive qualifying bars in the same direction do not create repeated maps. A burst blocked by the spacing rule is not queued for later admission. A newly admitted map replaces any still-active previous map; replacement is not treated as a successful outcome.
READING THE MAP
The three fixed references are:
100% — the close at which the impulse was detected.
50% — halfway between that close and the origin.
0% — the closing price at the beginning of the measured move.
Move retained (%) = 100 x (evaluated close - origin) / (impulse close - origin).
The same formula works for upward and downward impulses. For an upward move from 100 to 110, a later close at 107 retains 70%; a close at 112 retains 120%. Values above 100% describe extension beyond the original move. Values below 0% mean price closed beyond the origin in the opposite direction. These percentages are price-distance measurements, not success rates or probabilities.
Teal identifies upward impulses and rose identifies downward impulses. The half between the impulse close and midpoint uses the direction colour; the half between midpoint and origin uses a quieter amber tint. These are measurement areas, not prescribed entry, stop or target zones.
The UP/DOWN label reports the initial move in units of its pre-impulse ATR. The status panel shows retained movement, the lowest retained reading observed on a confirmed close since detection, the original price distance, the initial ATR multiple and the number of bars tracked. When an episode finishes, the panel shows a final snapshot until a new map is admitted.
EVENTS AND LIFECYCLE
Subsequent evaluation starts on the bar after detection. The impulse's own formation bars cannot supply a later outcome.
HALF BACK — the first subsequent close retains 50% or less, but remains above 0%.
UNWOUND — a close retains 0% or less. Tracking ends. A direct jump through the origin is recorded as UNWOUND without inventing an earlier HALF BACK event.
RECOVERED — after a HALF BACK event, a later close reaches or exceeds 100% retention. Tracking ends. This does not mean the entire intervening path held above the halfway line.
EXPIRED — the tracking limit is reached without an earlier terminal outcome; 60 bars by default. An unwind or recovery on the final allowed bar takes precedence over expiry.
REPLACED — a fresh qualifying impulse is admitted while the earlier map is still active. The earlier map stops at that bar. Its final status is available in the original impulse label's tooltip and as an event in the Data Window. Expiry also has a Data Window event; neither creates a separate outcome label on the chart.
Between events, the panel can show NEW IMPULSE, HOLDING, EXTENDED, DEEP RETRACE or REBUILDING. REBUILDING means a map that previously returned at least half has moved back above 50% but has not yet recovered the full original move.
The old episode is evaluated before a new one is admitted. Consequently, an outcome for the old map and a new impulse can occur on the same closed bar.
CONFIRMED BARS AND DISPLAY CHANGES
Detection, retained readings, outcome flags and alerts update only on confirmed chart bars. The script uses no higher-timeframe requests, future-bar data, pivots or backward-shifted event markers. A map starts at the detection bar, although its origin price comes from the earlier close. It is not drawn across the formation window as if it had been known then.
The display does evolve: an active map extends to each newly confirmed bar; finishing a map dims its existing drawings and updates its tooltip; older maps and their outcome labels are removed as the retention limits are reached. The latest reference labels move with the chart's right edge. These presentation changes do not move the recorded event bars or change a map's fixed price boundaries. They also mean the final historical appearance is not a literal recording of how bright each zone looked at every earlier moment.
Changing inputs, symbol, timeframe, feed or available history recalculates the script. Provider corrections and price adjustments can change past input data. Closed-bar processing does not prevent those external changes.
SETTINGS AND ALERTS
Detection controls the impulse window, minimum ATR-scaled move, minimum path efficiency, ATR baseline length and tracking duration. Defaults are 3 bars, 2.0 ATR, 0.75 efficiency, 20-bar ATR and a 60-bar tracking limit. The directional closing-location filter stays fixed at 70%.
Display controls how many maps remain visible (six by default), outcome labels, the status panel and its position, latest-map reference labels, and colours. Display settings do not alter detection or outcomes. The panel distinguishes initial warmup, unavailable price data, a flat price range and waiting for a qualifying move when no map has yet been created.
Five alert conditions are available: new up impulse, new down impulse, half of impulse returned, impulse fully unwound, and impulse recovered. Create the desired TradingView alert and select Once Per Bar Close. Alerts must be configured by the user; adding the indicator does not create them automatically.
USE AND LIMITATIONS
Add the indicator to a standard candlestick chart and read the latest fixed references alongside the panel. Higher movement or efficiency thresholds generally select fewer impulses. The parameters are heuristic filters, not optimized probabilities. The tool can use price data across crypto, forex, indices and stocks; it does not require traded or tick volume.
Only closes resolve the tracked outcomes. A wick through halfway or origin that closes back beyond it does not establish the corresponding close-based event. Session gaps are included in close-to-close displacement and can qualify as impulses. The script does not reconstruct intrabar order, identify participants, estimate order flow or distinguish a session gap from continuously traded movement.
Only one episode is active at a time. New impulses can replace unresolved ones, so the displayed map history is not a complete sample of every possible retracement. No aggregate win rate, trading expectancy, order fills, fees, slippage or profitability backtest is calculated. Synthetic chart types produce measurements of synthetic prices and should not be interpreted as execution-price evidence.
This is a descriptive chart-analysis tool, not a prediction of recovery or a recommendation to enter or exit a position. Wskaźnik

Wskaźnik

Structure-Anchored VWAP [WillyAlgoTrader]📐 Structure-Anchored VWAP is an overlay indicator that anchors a true volume-weighted average price to market structure and re-anchors it automatically at every confirmed swing pivot, structure break, fast extreme, or one manual date — combining a pivot-based structure engine, an O(1) prefix-sum VWAP core, volume-weighted sigma bands, a retest entry model with ATR risk management, and a sectioned dashboard with session statistics.
The core insight: a VWAP anchored to the start of the current structural leg tells you the average price at which volume actually changed hands since this move began. That is the level participants in this leg are collectively break-even at. Session VWAP resets at midnight and ignores structure. Manual anchored VWAP requires you to drag it and re-drag it. This indicator keeps the anchor synchronised with the structure itself, and measures how stretched price is from that anchor in the leg's own volume-weighted standard deviations rather than in generic ATR units.
It works on any market and any timeframe. On instruments with no volume feed it falls back to time weighting automatically and says so in the dashboard.
🧩 WHY THESE COMPONENTS WORK TOGETHER
A VWAP alone has no memory of structure — it does not know whether the market is making higher highs or lower lows, so it cannot know when its own anchor has gone stale. A structure detector alone tells you HH / HL / LH / LL but gives you no price level to trade against. Deviation bands built on ATR describe candle size, not participation, so they say nothing about where volume was actually transacted. And an entry signal without a fixed stop and target is not a trade, it is an opinion.
This indicator connects all four into one chain:
Pivot structure engine → anchor selection → prefix-sum anchored VWAP → volume-weighted sigma bands → retest detection → ATR risk model → session statistics
The structure engine finds confirmed swing highs and lows, filters them by ATR amplitude and enforces strict high/low alternation, so every anchor is a real structural turn rather than a passing wick. Anchor selection decides which of those turns starts a new leg, with four different policies for four trading styles. The prefix-sum core then computes the anchored VWAP for that leg — and because it also accumulates the sum of squared prices, the same pass produces the leg's own volume-weighted standard deviation, so the bands are derived from the same data as the line instead of being bolted on. The retest engine watches the distance between price and that line, requires price to leave and come back, and only then produces an entry. The risk model turns the entry into a fixed stop and three targets, and the statistics layer records what happened to each of them.
Remove any link and the chain stops working. Without structure anchoring, the VWAP measures a leg that ended days ago. Without the ATR amplitude filter, every minor wick creates a new anchor and the line resets constantly. Without the sigma bands, "far from VWAP" has no unit. Without the retest rule, every touch of the line is a signal, including the fifty touches that happen while price is glued to it. Without the risk layer, you know where to enter but not where you are wrong.
🔍 WHAT MAKES IT ORIGINAL
1️⃣ Prefix-sum VWAP core — any anchor evaluated in O(1), including a decayed one.
Three running totals are maintained on every bar, where p is the price source and w is the bar weight:
— S_w(t) = lam × S_w(t−1) + w(t)
— S_pw(t) = lam × S_pw(t−1) + p(t) × w(t)
— S_p2(t) = lam × S_p2(t−1) + p(t)² × w(t)
The sum over any leg is then recovered without looping:
— sum = S(t) − lam^(t−a+1) × S(a−1)
With lam = 1 this is an exact cumulative anchored VWAP — every bar of the leg keeps its full weight, the same quantity the built-in Anchored VWAP tool computes. With lam < 1 the same identity still holds, which is what makes the optional Half-life mode possible without a second engine.
Why this matters: re-anchoring becomes cheap. Moving the anchor does not require replaying the whole leg bar by bar, so the indicator can afford four anchor modes and legs up to 4000 bars long without a performance penalty.
2️⃣ Volume-weighted sigma bands — dispersion of the leg, not size of the candle.
Because the squared-price sum is already accumulated, the leg's variance comes out of the same pass:
— VWAP = sum_pw / sum_w
— sigma = sqrt( max( sum_p2 / sum_w − VWAP², 0 ) )
Bands are drawn at VWAP ± multiplier × sigma. Band 1 defaults to 0.5 sigma (the value-area edge of this leg), Band 2 to 2.0 sigma and is off by default.
Why this matters: an ATR band tells you how big recent candles were. A volume-weighted sigma band tells you how widely the volume of this specific leg was distributed around its own average price. Two markets with identical ATR but different participation profiles get different bands, and the "Premium / Fair value / Discount" classification in the dashboard becomes comparable across instruments.
3️⃣ Four anchor modes — one engine, four trading styles.
— Swing (default): a new leg starts at every confirmed pivot. The anchor is the opposite extreme, so a bullish leg is anchored at the swing low that preceded it.
— Structure break : a new leg starts only when price closes beyond the previous swing. The anchor is then the extreme that preceded the break, found by scanning back from that swing. Fewer legs, each tied to an actual break of structure.
— Fast : no confirmation delay. The bar printing the highest high or lowest low of the last N bars (default 30) is treated as a new extreme, and the leg flips the moment an extreme opposite to the previous one appears. When a bar prints both a new high and a new low, the candle direction decides which one is taken.
— Manual : a single leg from a chosen date and time, which reproduces the behaviour of the built-in Anchored VWAP tool inside the same framework — useful for comparing against a manual anchor or pinning a level.
4️⃣ Structure engine with ATR amplitude filter and strict alternation.
Pivots come from equal left/right lookback (default 55/55). A new pivot of the opposite type is only accepted when it clears an ATR-scaled amplitude:
— accept a new high when: pivotHigh − lastSwingLow ≥ minSwing × ATR(atrLen)
— accept a new low when: lastSwingHigh − pivotLow ≥ minSwing × ATR(atrLen)
Default minSwing 1.5, ATR length 13. A pivot of the same type as the last one does not create a new structural point — it only supersedes the previous extreme if it is more extreme. This enforces a clean alternating high-low-high-low sequence instead of clusters of adjacent highs.
Classification against the previous extreme of the same type, with an equality tolerance (default 0.1 × ATR):
— |current − previous| ≤ eqTol × ATR → EQH or EQL
— current > previous → HH or HL
— current < previous → LH or LL
5️⃣ Retest entry model — price must leave before it can come back.
Every bar the engine measures the relationship between the bar range and the anchored VWAP:
— tol = sigma × touchTolerance (default 0.25), or ATR × 0.1 while sigma is still zero
— touch = low ≤ VWAP + tol and high ≥ VWAP − tol
— outside = bullish leg ? low > VWAP + tol : high < VWAP − tol
An "away" counter increments on every outside bar and resets to zero on every touch. A retest fires only when a touch happens while the committed away counter has already reached the threshold (default 5 bars).
Why this matters: a raw "price touched VWAP" condition fires continuously in the chop that surrounds every mean. Requiring a genuine departure first converts an omnipresent condition into a discrete, countable event.
6️⃣ Volume balance — who controlled this leg.
While the leg accumulates, every bar's weight is assigned to one of two buckets by where it closed relative to the VWAP at that moment:
— close ≥ VWAP → volUp += w
— close < VWAP → volDn += w
— balance = volUp / (volUp + volDn) × 100
The dashboard shows this as a percentage with a bar gauge, and relabels it "Bars above VWAP" automatically when the instrument has no volume data. Above 50 % means most of the leg's participation happened above its own average price.
7️⃣ Signal strength — a transparent 0-100 context score.
Four independent components, published in full so the number is auditable rather than a black box:
— 40 pts × (volume balance aligned with leg direction, 0..1). For a bearish leg the balance is inverted before scoring.
— 25 pts if price sits on the leg's own side of the VWAP.
— 20 pts if price is not stretched beyond Band 2, i.e. |distance in sigma| ≤ band 2 multiplier.
— 15 pts if the leg has already produced at least one retest.
The score is clamped to 100 and shown with a gauge. This is a context filter, not a proven edge — it says how coherent the current leg is, nothing more.
8️⃣ VWAP memory levels — dead legs leave a level behind.
When a leg ends on a genuine direction flip, its final VWAP value is written to the chart as a dashed horizontal line. That line extends forward until price trades through it, then it is either removed or faded to dotted, depending on a setting. Up to four such levels are kept (configurable), and the newest push out the oldest.
When a level is created, the bars between the anchor and the current bar are scanned first, so a level that was already traded through is never shown as untouched.
9️⃣ Single-position trade model with break-even and outcome tracking.
A retest signal opens a trade only while flat — signals never stack. On entry, the levels are fixed once and never recalculated:
— slDistance = ATR(riskAtrLen) × slMultiplier
— long: SL = entry − slDistance, TP(n) = entry + slDistance × tpMult(n)
— short: SL = entry + slDistance, TP(n) = entry − slDistance × tpMult(n)
Presets set all four multipliers at once — Conservative 2.5 / 1R / 2R / 4R, Balanced 1.5 / 1R / 2R / 3R, Aggressive 1.0 / 1.5R / 2.5R / 4R, Scalping 0.8 / 0.8R / 1.5R / 2R, or Custom.
Break-even is optional and on by default: the first touch of TP1 moves the stop to the entry price, the entry label changes to show it now acts as the stop, and the stop line dims. TP1 still counts as a win. Hit checks begin only on the bar after entry and only on confirmed bars, so the entry bar's own range cannot close the trade it just opened.
🔟 Persistent trade forensics — the chart keeps the last result.
SL and TP lines are not deleted when the trade closes. They stay until the next entry, so the last trade remains readable on the chart: any target that was reached is redrawn as a solid teal line and its label gets a check mark, while untouched targets keep their original dashed style. Labels can show the distance from entry in percent, for example "SL 78120.5 (-0.36%)".
1️⃣1️⃣ Realtime correctness — ring buffers and a commit/undo pattern.
Functions that only run on some bars cannot use the history operator safely, because the history they see is sparse and does not correspond to chart bars. All per-bar values this indicator needs later are therefore written to explicit ring buffers on every single bar, and read back by index.
On top of that, the live leg uses a commit/undo pattern: statistics are always recomputed from the last confirmed state, and the provisional point for the forming bar is popped before a new one is pushed. A bar being formed can therefore never be counted twice, no matter how many ticks arrive.
1️⃣2️⃣ Continuous curve across anchor changes.
When a new anchor appears, the previous leg is not erased — it is cut exactly at the new anchor bar and frozen. The curve therefore has no gaps at handover points, including the case where a stronger extreme of the same type supersedes the previous one.
⚙️ HOW IT WORKS — CALCULATION FLOW
Step 1 — Structure: On each confirmed bar the engine evaluates pivot highs and lows with equal left/right lookback, applies the ATR amplitude filter, enforces high/low alternation and classifies the result as HH, HL, LH, LL, EQH or EQL.
Step 2 — Weighting: The bar weight is volume, or 1.0 when the instrument has no volume. If spike clamping is on, the weight is capped at N × the 50-bar median volume so a single print cannot dominate the average.
Step 3 — Accumulation: The three running totals of weight, price × weight and price² × weight are advanced, decayed by lam if Half-life weighting is selected.
Step 4 — Buffering: The totals plus high, low, close and ATR are appended to ring buffers, one entry per bar, with the current bar's provisional entry overwritten rather than duplicated on repeat ticks.
Step 5 — Anchor decision: The active anchor mode decides whether this bar starts a new leg and where that leg's anchor sits.
Step 6 — Leg build: On a new anchor the previous leg is trimmed to the anchor bar, frozen and archived, a memory level is created if the direction actually flipped, and the new leg is replayed once from the anchor to the current bar. On every other bar the live leg simply advances by one point.
Step 7 — Readouts: VWAP, sigma, distance in sigma and percent, zone, volume balance, leg age and the strength score are computed for the current bar.
Step 8 — Signal: The retest rule is evaluated. A qualifying retest, on a confirmed and warmed-up bar, while flat, becomes an entry.
Step 9 — Risk: On entry the stop and three targets are fixed. On later confirmed bars they are tested for hits, break-even is applied after TP1, and the trade is closed by stop or final target.
Step 10 — Reporting: Lines, labels, markers, the dashboard and alerts are updated. Closed trades update the win/loss counters and the form strip.
📖 HOW TO USE
🎯 Quick start:
1. Add the indicator. Defaults are tuned for 15m to 4H swing structure.
2. Watch the coloured curve — it is the anchored VWAP of the leg the market is currently in.
3. Wait for a Long ▲ or Short ▼ marker. That is a retest of the VWAP in the direction of the leg.
4. Read the Trade section of the dashboard for the stop, the three targets and the R:R.
5. If signals are too frequent, raise "Bars away before a retest counts". If legs are too frequent, raise pivot strength or the minimum swing size.
👁️ Reading the chart:
— 🟢 Green curve = bullish leg, anchored at the swing low that started it.
— 🔴 Red curve = bearish leg, anchored at the swing high that started it.
— Shaded band around the curve = ± sigma of this leg. Price inside it is at fair value for the leg.
— 🟢 Long ▲ / 🔴 Short ▼ marker = a retest entry was taken on that bar.
— Dotted blue line = entry. Solid red line = stop. Dashed green lines = TP1, TP2, TP3.
— A target that turns solid teal with a ✓ in its label was reached.
— An orange entry label reading "→ SL (BE)" means the stop has been moved to break-even.
— Dashed horizontal level far from the curve = a memory level, the final VWAP of a finished leg.
— HH / HL / LH / LL / EQH / EQL tags mark every confirmed pivot.
📊 Dashboard fields:
— Trend : direction of the current leg.
— Signal : LONG, SHORT or Wait. A new trade can only open while flat.
— Strength : the 0-100 context score with a gauge.
— Last event : the most recent new leg or retest.
— Timeframe : the chart resolution.
— Mode : active anchor mode and weighting, plus a note when the symbol has no volume.
— Anchor : structure tag and price of the bar the leg is anchored to.
— Leg age : bars since the anchor and the price move from it.
— VWAP : the anchored VWAP on the current bar.
— Price vs VWAP : distance in sigma and in percent.
— Zone : Premium above Band 2, Discount below it, Fair value in between.
— Vol above VWAP : share of the leg's weight transacted above the VWAP, with a gauge.
— SL / TP1 / TP2 / TP3 : the fixed levels of the open trade. A ✓ marks a reached target, "BE @" marks a stop moved to entry.
— R:R (TP1) and SL Dist % : reward-to-risk at the first target and the stop distance as a percentage of entry.
— Trades / W / L / Win rate / Form : closed trades in the loaded history, the win-loss split, the win rate with a gauge and the last ten outcomes as ▰ and ▱.
🔧 Tuning guide:
— Too many legs, the line resets constantly: raise pivot strength (55/55 → 80/80) or the minimum swing size (1.5 → 3.0).
— Legs appear too late: lower pivot strength, or switch the anchor mode to Fast for immediate flips.
— Too many entries: raise "Bars away before a retest counts" and lower the touch tolerance.
— The line drifts too far from price on long legs: switch Weighting to Half-life. This is no longer a textbook VWAP, and the dashboard says so.
— Comparing against the built-in Anchored VWAP tool: set the mode to Manual with the same anchor time, price source to hl2, weighting to Cumulative, and turn volume clamping off.
— Stops feel too tight or too wide: change the Risk Preset before touching individual multipliers.
⚙️ KEY SETTINGS
⚙️ Main Settings:
— Pivot strength left / right (default 55 / 55): bars required on each side of a swing. Right is the confirmation delay.
— Minimum swing size (default 1.5 × ATR): amplitude filter for new pivots. 0 disables it.
— ATR Length (default 13): ATR used by the swing filter and the equality tolerance.
— Re-anchor on (default Swing): Swing, Structure break, Fast or Manual.
— Fast mode: extreme lookback (default 30): lookback for the Fast mode only.
— Equal high/low tolerance (default 0.1 × ATR): threshold for EQH and EQL tags.
— Manual anchor : date and time for the Manual mode, shown in the chart's timezone.
📐 Anchored VWAP:
— Price source (default hl2): hl2 matches the built-in tool, hlc3 weights closes more, close is the most reactive.
— Weighting (default Cumulative): Cumulative is a true VWAP, Half-life fades older bars.
— Half-life (default 21 bars): only used by Half-life weighting.
— Clamp volume spikes (default on, 4 × median): caps outlier volume bars.
— Max leg length (default 4000 bars): keeps very old anchors bounded.
📏 Deviation Bands:
— Band 1 (default on, 0.5 sigma): inner band.
— Band 2 (default off, 2.0 sigma): outer band, also defines the Premium and Discount zones.
— Fill transparency (default 90).
🎯 Signals & Levels:
— Bars away before a retest counts (default 5).
— Touch tolerance (default 0.25 sigma).
— VWAP memory levels (default on, max 4, crossed levels removed).
🛡️ Risk Management:
— Risk Preset (default Balanced): Conservative, Balanced, Aggressive, Scalping or Custom.
— ATR Length (SL) (default 13).
— SL ×ATR / TP1 / TP2 / TP3 ×Risk (defaults 1.5 / 1.0 / 2.0 / 3.0): used by the Custom preset.
— Break-Even After TP1 (default on).
— Show SL/TP Lines, Labels, % Distance (all on by default).
— Entry / SL / TP Line Style (defaults Dotted / Solid / Dashed).
🎨 Visual:
— Theme (default Auto): Auto detects the chart background, Dark and Light force it.
— Show Buy/Sell Signals, HH/HL/LH/LL, Leg Background, Watermark .
— SL/TP Label Font Size (default Small).
— Finished legs kept on chart (default 30).
📊 Dashboard:
— Position (default Top Right) and four independent section switches: Market, VWAP, Trade, Stats.
🔔 ALERTS
— 🟢 LONG — VWAP retest entry, with price, VWAP, SL, TP1, TP2, TP3 and R:R
— 🔴 SHORT — same payload, short side
— 🛑 SL HIT — entry and stop price. Reported as 🛡️ BE STOP-OUT when the stop had already been moved to break-even
— 🛡️ BREAK-EVEN — stop moved to entry after TP1 (optional)
— 🎯 TP1 HIT, 🎯🎯 TP2 HIT, 🏆 TP3 HIT — first touch of each target (optional)
— 🟢 New bullish leg / 🔴 New bearish leg — a new anchor was set (optional)
— 🔵 Close above VWAP / 🔵 Close below VWAP — the close crossed the anchored VWAP (optional)
Entry alerts support both plain text and a JSON webhook payload. All alerts fire on bar close.
⚠️ IMPORTANT NOTES
— 🚫 No repainting of confirmed values. Every structure event, entry, stop, target and alert is evaluated only when barstate.isconfirmed is true. Pivots use equal left and right lookback, so the swing point is in the past by the "right" value at the moment it becomes known — that is delayed confirmation, not a look into the future. Stop and target hits are tested only from the bar after entry. Alerts fire once per bar close.
— 📐 What does update intrabar. The VWAP value of the leg currently in progress moves while the bar is forming, because that is what an anchored average does. Values on closed bars never change. A commit/undo pattern makes sure a forming bar is never counted twice in the statistics.
— 📐 The unfinished leg can be shortened. When a stronger extreme of the same type is confirmed, the current leg is cut at that point and a new leg starts there. Legs that have already been archived are never modified.
— 📊 The statistics are not a backtest. Trades, win rate and the form strip are counted over the history currently loaded on the chart and reset when the chart reloads or a setting changes. They describe how this rule set behaved on the visible data. Past performance does not guarantee future results.
— 🧮 The strength score is a context filter. Its four components and weights are published above precisely so it can be judged on its merits. It measures the internal coherence of the current leg, not the probability of any outcome.
— ⚖️ Half-life weighting is not a VWAP. When that mode is selected the line is an exponentially weighted average, useful on instruments without volume, but it is no longer the textbook volume-weighted average price. The dashboard states the active mode at all times.
— 🌐 Universal compatibility. Works on stocks, futures, forex, crypto and indices, on every timeframe. Where no volume data exists the weighting falls back to time and the dashboard relabels the volume-balance row accordingly.
— 🛠️ Decision support, not automation. This is an anchored VWAP and structure analysis tool with a risk framework attached. It marks anchors, measures distance in the leg's own units, detects retests and lays out stops and targets — trade decisions remain yours. Wskaźnik

Session Breakout ContextMulti-Market Session Breakout Context
Description
Multi-Market Session Breakout Context is a rule-based intraday indicator designed to help traders organize session structure across gold, forex pairs, and selected index instruments. It was originally developed for XAUUSD and can also be applied to other markets whose session behavior, liquidity, and data quality are suitable for this type of analysis.
The indicator tracks the Asia, London, and New York session ranges using the America/Chicago timezone. It displays session highs, lows, and midpoint reference levels, then classifies selected price movements as directional breakouts or sweep/fade conditions. The chart markers and dashboard are intended to support discretionary analysis and trade planning. They do not place orders, manage positions, or guarantee a market outcome.
The main session conditions are:
•London breakout: price moves beyond the completed Asia session range.
•London fade: price sweeps an Asia range boundary and satisfies the rule-based reversal filters.
•New York breakout: price moves beyond the completed London session range.
•New York fade: price sweeps a London range boundary and satisfies the rule-based reversal filters.
•Asia breakout: price moves beyond the completed New York session range.
The indicator also provides additional market context through pivot-based directional readings, RSI divergence conditions, volatility measurements, volume-derived pressure and spread classifications, prior-day levels, previous-week levels, daily range references, weekly open, four-hour swing references, and a fixed time blackout window. These components are contextual filters. They are not independent guarantees of direction, probability, or profitability.
The optional dashboard summarizes the current session state, rule-based directional alignment, reference levels, entry and stop planning zones, target reference levels, and hypothetical point movement. Any displayed score is a rule-based alignment score, not a statistically validated probability or accuracy rate. Any displayed point movement is hypothetical and does not represent broker P&L, account performance, or a Strategy Tester result.
How to use the indicator
1.Apply the indicator to a standard candlestick chart.
2.Begin with XAUUSD and a lower intraday timeframe such as 5 minutes or 15 minutes.
3.Confirm that the chart symbol, exchange or broker feed, timezone, and session schedule are appropriate for your market.
4.Allow the relevant session range to form before interpreting its breakout or fade conditions.
5.Use the plotted levels as analytical references rather than guaranteed entry or exit prices.
6.Independently evaluate market structure, spread, volatility, scheduled events, liquidity, and position risk before making any trading decision.
7.Test the indicator on historical data and in a simulated environment before considering live use.
The displayed session schedule is based on fixed Chicago-time windows. The indicator should therefore be checked after daylight-saving changes and on every symbol or data feed where it is used. Session behavior can differ between spot metals, forex pairs, CFDs, futures, and other instruments.
Signal interpretation
A green or red breakout marker identifies a rule-based directional breakout classification. A blue or orange fade marker identifies a rule-based sweep/fade classification. These classifications describe what the indicator detected; they are not instructions to buy or sell and do not predict how far price will move.
Signals may depend on the active chart bar and on confirmed pivot information. A condition can change before the realtime bar closes. Users should evaluate signals on confirmed bars when they require stable, repeatable readings and should not assume that every historical marker was available at the beginning of the bar where it appears.
The indicator is intended for standard time-based candles. Signal interpretation may be misleading on non-standard chart types such as Heikin Ashi, Renko, Kagi, Point & Figure, Line Break, or Range charts.
Example screenshots
The following screenshots show selected visual examples on XAUUSD. They demonstrate how the indicator labels different session conditions. They are illustrative examples only and are not a complete record of all signals.
1. Full XAUUSD overview
Full overview of the indicator on XAUUSD showing session ranges, reference levels, breakout and fade markers, and the rule-based dashboard.
2. London fade long
London fade-long example after price sweeps the lower boundary of the completed Asia range. The marker represents a rule-based condition, not a guaranteed reversal.
3. London fade short
London fade-short example after price sweeps the upper boundary of the completed Asia range. Traders should independently evaluate confirmation, stop placement, and market conditions.
4. London sell
London bearish breakout example showing a downside break of the Asia session range. The displayed level is an analytical reference and does not represent an executed order.
5. New York sell
New York bearish breakout example showing a downside break of the completed London session range. Results may vary according to symbol, data feed, spread, liquidity, and execution conditions.
6. New York fade long
New York fade-long example after price sweeps the lower boundary of the completed London range. This is a rule-based signal classification for discretionary analysis.
7. New York fade short
New York fade-short example after price sweeps the upper boundary of the completed London range. The indicator does not guarantee continuation or reversal.
The screenshots are visual examples of the indicator’s signal classifications and are not a performance record. They do not show every signal, guarantee future results, or account for spread, slippage, commissions, liquidity, or execution delay. Signal behavior may vary across instruments, brokers, data feeds, and timeframes.
Limitations
This indicator is a decision-support and chart-organization tool. It is not investment advice, an automated trading system, a broker connection, or a guarantee of profit. It does not determine position size, account risk, contract quantity, execution quality, or whether a trade is appropriate for a particular user.
The indicator does not use a broker-level order book or guarantee access to true exchange-level volume. Volume-derived calculations may behave differently on symbols with limited, synthetic, tick, or unavailable volume. Reference levels and classifications can also vary according to the selected symbol, historical data, chart timeframe, session template, and data provider.
Historical examples should not be interpreted as evidence of future performance. Any decision to trade remains the user’s responsibility. Always consider the possibility of loss and use risk controls appropriate to your own circumstances.
Release notes
Initial public release of the Multi-Market Session Breakout Context indicator. This version provides Asia, London, and New York session levels, rule-based breakout and fade classifications, contextual reference levels, and an optional dashboard for discretionary chart analysis.
Wskaźnik

Market Transition Pressure EngineMarket Transition Pressure Engine is a behavioral-state framework designed to evaluate whether current market behavior remains relatively stable or is developing internal pressure consistent with a potential state transition.
Rather than attempting to predict the direction of the next move, the framework measures changes occurring inside the current market environment and organizes that evidence into a confirmed lifecycle.
How It Works
The engine evaluates five normalized behavioral dimensions:
• Directional Efficiency Shift — measures how current directional efficiency differs from its behavioral baseline.
• Volatility Shift — evaluates changes in ATR-normalized volatility conditions.
• Structural Persistence Deterioration — measures whether recent directional persistence is weakening relative to its baseline.
• Directional Conflict — identifies disagreement between shorter-term directional behavior and the broader directional baseline.
• Range Shift — evaluates changes in local price-range behavior relative to its longer baseline.
These components are combined into a normalized Transition Pressure measure.
The pressure value represents the degree of behavioral instability detected by the framework. It is not a probability of reversal or continuation.
Pressure Lifecycle
The framework organizes transition pressure into five states:
STABLE — transition evidence remains comparatively limited.
BUILDING — internal behavioral changes are beginning to accumulate.
ELEVATED — multiple components are producing stronger transition-pressure evidence.
CRITICAL — transition pressure has reached a comparatively high state under the framework.
RELEASED — previously elevated pressure has subsequently contracted sufficiently to register a confirmed pressure release.
RELEASED is a temporary lifecycle state rather than a directional conclusion.
Confirmation and State Persistence
Lifecycle changes are evaluated using confirmed bars.
Both upgrades and downgrades require persistence before a replacement state is confirmed. This helps reduce one-bar state switching and distinguishes a developing candidate state from an established lifecycle state.
The information panel therefore separates:
STATE — current confirmed pressure state.
PRESSURE — confirmed normalized pressure measurement.
LIFECYCLE — whether the state is confirmed or a replacement is developing.
CANDIDATE — the developing replacement state when applicable.
TIMING — identifies the confirmed-bar basis of the displayed lifecycle information.
Adaptive Pressure Bands
The chart visualization uses an adaptive behavioral field around price.
Its width responds to ATR-normalized volatility and the engine's measured transition pressure. Lower-pressure environments generally produce a more subdued field, while increasing pressure changes the structure and visual emphasis of the bands.
Boundary proximity can also receive additional visual emphasis.
The bands are analytical context. They are not price targets, support/resistance guarantees, or projected future ranges.
Originality and Intended Use
Market Transition Pressure Engine is built around the interaction between behavioral baselines, normalized feature shifts, composite transition pressure, symmetric state confirmation, pressure-release detection and lifecycle persistence.
Its analytical focus is not conventional trend direction or entry generation.
The primary question is:
Is the current behavioral environment remaining stable, or is measurable internal pressure for a state change developing?
This distinction allows transition pressure to be studied separately from market direction.
Calculation Timing
Lifecycle decisions use confirmed-bar information.
The dashboard reports confirmed measurements so the displayed pressure value and confirmed lifecycle state are based on the same information set.
The adaptive visual field may continue developing during the current bar, while lifecycle confirmation intentionally waits for confirmed information.
This confirmation delay is part of the methodology.
Limitations
Transition-pressure states describe measured behavioral conditions; they do not represent reversal probabilities, continuation probabilities, expected returns, or guaranteed future outcomes.
A CRITICAL state does not necessarily mean that price will reverse.
A STABLE state does not imply that a significant move cannot occur.
Results depend on the selected market, timeframe, available history and settings. ATR normalization improves comparability across volatility environments but does not make different instruments behaviorally identical.
Historical state transitions do not imply that future transitions will develop in the same manner.
The indicator is intended as an analytical and research framework and should be interpreted alongside broader market context. Wskaźnik
