VASA Multi-Timeframe Rating vFStop flipping between charts to check whether the higher timeframes agree. This puts three timeframes in one small table on your chart. For each one it reads trend (fast EMA vs slow EMA) and momentum (RSI above or below 50), then sums them into a plain rating: Bull, Lean bull, Mixed, Lean bear, or Bear.
What it does: • Three configurable timeframes (default 15m / 1h / 4h) • Trend and momentum column per timeframe • A fused rating cell, colour-coded • Reads higher timeframes without repainting — on the live bar it uses the last closed higher-TF bar, so the table doesn't flicker intrabar
How to use: look for agreement. When all three lean the same way, you're trading with the broader context instead of against it. When they disagree ("Mixed"), that's your signal to size down or stand aside. Change the three timeframes to match how you actually trade — a scalper might run 1m/5m/15m, a swing trader 1h/4h/1D.
Educational only — not financial advice. Trading involves substantial risk of loss.
Indicator

Confluence Context - Regime Filter + Market Structure🎯 CONFLUENCE CONTEXT — REGIME FILTER + MARKET STRUCTURE
Your signal tool tells you WHEN. This tells you WHETHER.
Confluence Context — Regime Filter + Market Structure is the companion layer that sits on top of whatever you already trade and answers the one question that wrecks most setups: does the context actually agree? It draws no zones and fires no entries — it reads the environment, scores it, and hands you a single glance-readable verdict. 📊
🔥 WHY IT EXISTS
Most signal tools fire identically in every environment — trending, ranging, dead, or violent. The killer is the clean-looking signal taken in the wrong context: a breakout in a dead session, a continuation against structure, a trend entry while volatility is flatlined. Confluence Context — Regime Filter + Market Structure gates your entry with the four things signal tools love to ignore.
🧩 THE FOUR LAYERS
📐 Market Structure — Swing pivots labeled BOS (Break of Structure, with the trend) and CHoCH (Change of Character, against it), with a running bias: Bullish, Bearish, or Neutral. Confirmed-bar only, capped label history so the chart doesn't clutter.
🌊 Volatility Regime — ATR vs its own moving average, sorting the tape into Low, Normal, or Extreme. This is the regime filter — it tells you whether you're in the environment your strategy was actually built for. Flip on H1 mode to inherit a higher-timeframe regime read from the prior closed 60-min bar, no repaint.
🕐 Session Filter — London / New York / Asia with pair presets (JPY, USD majors, AUD/NZD) or fully custom windows + timezone. Reads the live wall clock, so it flips to "Closed" the moment the market closes instead of freezing on the last in-session bar.
📈 Trend — Price vs a configurable EMA. Simple, and it earns its weight.
These four checks are fused into two weighted tallies instead of shipped as four separate indicators because context only breaks down as a whole — a bullish structure read means nothing if the session is dead and volatility is flat. Splitting them apart would just recreate the blind spot this indicator exists to close.
⚡ HOW THEY STACK (the scoring engine)
Every layer casts a weighted vote into TWO independent tallies — a bull score and a bear score, scored separately so you can actually see when context is fighting itself instead of just being quiet. A fifth slot — External Zone Hit — is a manual toggle (bull and bear separately) you flip the moment YOUR zone or level tool confirms a touch. That's what makes this a companion, not a standalone: it lets your existing setup feed the one input it can't infer.
🎯 THE HIGHLIGHTER
Clear your threshold on the dominant side and the Highlighter collapses both scores into one verdict — Stacked Long, Leaning Long, Balanced, Leaning Short, or Stacked Short. Paint it on the candles, the background, or both. Two candle modes: Verdict Tint paints every bar by net confluence, or BOS/CHoCH Candle paints only the single bar where a structure break confirms, in that event's own label color — a quieter option if you just want structure flips to pop. It confirms context, it doesn't call trades, so it speaks BULLISH / BEARISH, never BUY / SELL.
📋 THE LIVE TABLE
A full breakdown, not just a verdict — all six weighted conditions get their own row with a pass/fail check for both bull and bear, plus ATR, active session, and bias/regime context underneath. An optional oversized headline row sits on top: CONTEXT: BULLISH · Stacked Long · 9 / 2. Six position options, so it never collides with your other panels.
🔔 ALERTS
Structure breaks, all four regime transitions, session opens and full-close, and confluence threshold crosses — all confirmed-bar only. The threshold alerts carry a full payload (symbol, timeframe, direction, score, bias, ATR, session, regime, timestamp) so your webhook or notification has enough context to act on without opening the chart. An optional toggle also alerts when a score drops back below threshold.
🛠️ HOW TO USE IT
Slap it on top of whatever you trade. Tune the EMA, regime multipliers, and session windows to your instrument. Read the verdict off the table or the candle tint — filter your primary signal so you only pull the trigger when context agrees, or let the confluence alert ping you when the dominant side clears threshold.
⏱️ BEST TIMEFRAMES
Built to shine on M15 through H4 — enough structure to mean something, fast enough to act on.
♾️ The whole idea: it stays useful after it's been on your chart for a while.
Repaint policy: structure, regime, and score history evaluate on confirmed bars; the HTF regime read uses a closed-bar offset and doesn't repaint; the session display is live by design and doesn't touch history. Settings are starting points, not advice — tune them to your market and validate before risking capital. Indicator

Momentum Map Lite [PrimeFold]Four stochastic oscillators, read as one alignment score from 0/4 to 4/4.
Free, no signals, no alerts.
Momentum Map Lite runs four stochastic oscillators at different lookbacks
(fast, mid, slow, anchor) and plots their D-lines in one pane.)
You read one alignment score instead of watching all four:
- 4/4 BULL: all four turning up from oversold
- 4/4 BEAR: all four turning down from overbought
- Anything between: partial alignment, no full rotation
The background shades only at 4/4, and only on a closed bar, so it doesn't repaint.
The dashboard shows the current rotation count plus the strongest and weakest of the four.
It doesn't generate alerts, give entry signals, or detect divergence.
This is the alignment read.
Check whether momentum agrees across the four before you act on any one of them.
Indicator

Auto Fibo Multi-Channel Reversal Retest by WiselyWealthComprehensive Guide: Auto Fibo Multi-Channel Reversal Retest Indicator
Introduction: What is this script and its purpose?
The "Auto Fibo Multi-Channel Reversal Retest" script, developed by WiselyWealth, is a highly advanced, multi-layered technical analysis tool built using Pine Script v6. Its primary purpose is to identify high-probability market reversal zones by aggressively filtering out market noise and false breakouts.
Unlike traditional indicators that rely on a single mathematical concept, this system is engineered to demand confluence from four distinct technical dimensions before confirming a trade setup: volatility boundaries, momentum exhaustion, dynamic structural support/resistance, and an execution retest protocol. This script is specifically designed for analytical traders who prioritize setup quality over sheer quantity, aiming to catch precise pivot points in the market while optimizing the risk-to-reward ratio through delayed, confirmed entries.
Working Mechanism: How the Script Detects Signals
The core strength of this script lies in its rigorous, four-step filtering engine. A final "Buy" or "Sell" signal is only painted on the chart when price action satisfies all of the following technical criteria consecutively:
1. Multi-Channel Volatility Extremes (The Boundary Check):
The script features a dual-channel trigger system, allowing users to select a primary and secondary volatility band or price channel. The available options include Bollinger Bands, Keltner Channels, Donchian Channels, Envelopes, and Linear Regression. The algorithm calculates the mathematical upper and lower bounds of these selected systems. For a setup to even begin formulating, the asset's price must simultaneously pierce or touch the extreme outer boundaries of *both* selected channels (for example, the low of the candle must be equal to or lower than both the primary lower band and the secondary lower band). This ensures the market is severely overextended and deviating heavily from its historical mean.
2. Reversal Signatures and Momentum Exhaustion (The Trigger):
Once price reaches the extreme boundaries, the script scans for a reversal catalyst. It detects foundational candlestick patterns, specifically Bullish and Bearish Engulfing candles, as well as Pinbars like Hammers and Shooting Stars. Furthermore, it incorporates momentum oscillators by scanning for Relative Strength Index (RSI) crossovers from overbought or oversold territories, alongside Stochastic oscillator crosses (below 20 for buys, above 80 for sells). This ensures the structural overextension is accompanied by a genuine, measurable shift in buying or selling pressure.
3. Dynamic Auto-Fibonacci Proximity (The Structural Filter):
To prevent taking reversals in the middle of a chart with no structural backing, the script automatically calculates a macro range by identifying the highest high and lowest low over a user-defined lookback period (defaulting to 100 bars). It dynamically plots key Fibonacci retracement levels (0.000, 0.236, 0.382, 0.500, 0.618, 0.786, and 1.000). A raw reversal signal is only validated if the price action occurs within a strict, customizable percentage tolerance (defaulting to 0.5% of the range) of these specific Fibonacci levels. This mathematical check guarantees that trades are only considered at major, historically proven support or resistance zones.
4. The ATR-Based Retest Engine (The Execution Delay):
This is the script's most robust feature. Even if all prior conditions are perfectly met, the script does not immediately issue a final order. Instead, it enters a "pending trend" state and calculates a required "Retest Price" using the Average True Range (ATR).
For a Buy setup, it subtracts a user-defined ATR multiplier (default 1.0) from the close price.
The system then waits for up to a maximum number of candles (default 4 bars) for the price to pull back and touch this specific delayed level.
If the price successfully drops to the retest level within the time limit, the final Buy order is fired and painted on the chart. This engine prevents traders from buying the absolute top of a fake-out and secures a significantly safer entry price.
How to Use: Settings and Optimal Market Conditions
Recommended Configuration & Settings:
Channel Confluence: Pairing Bollinger Bands as System 1 and Keltner Channels as System 2 is highly recommended. Because Bollinger Bands measure standard deviation and Keltner Channels measure ATR, requiring price to break both ensures you are capturing true volatility anomalies (often referred to as a "Volatility Squeeze" reversal).
Retest Engine Tuning: The default ATR multiplier of 1.0 with a 4-bar max wait limit provides a balanced, conservative approach. If you find that valid signals are expiring before execution because the market runs away too quickly, you should either increase the "Max Candles to wait" to 6-8 bars or lower the "Retest Value" to 0.5 for shallower pullbacks.
Fibonacci Tolerance: Keep the "Fibo Level Tolerance" relatively tight (between 0.3% and 0.8%). Expanding it too much defeats the purpose of precision support and resistance filtering.
Suitable Markets and Timeframes:
This indicator thrives in mean-reverting and broadly ranging market conditions, making it exceptionally well-suited for high-liquidity Forex pairs (such as EUR/USD or GBP/JPY), major Cryptocurrencies, and Equity Indices.
Optimal Timeframes: It performs best on medium to higher timeframes, such as the 15-minute, 1-hour, or 4-hour charts. Lower timeframes (like 1-minute or 3-minute charts) contain too much micro-volatility, which may cause erratic Fibonacci plotting and premature retest triggers.
Trend Context: By default, the script takes both Buy and Sell signals ("Trade Direction: Both"). However, in a strong macro-trending market, users should actively utilize the Trade Direction setting to take only pullbacks in the direction of the dominant trend. For example, selecting "Buy Only" during a structural bull market will filter out dangerous counter-trend short positions. Indicator

Triple Confluence Meter - Trend, Momentum and Volume AgreementThree indicators agreeing feels like three reasons. Usually it is one reason counted three times — trend, momentum and volume all read the same price series, so of course they tend to point the same way.
This builds the ordinary confluence indicator and then does the thing confluence indicators never do: it grades itself.
THE THREE VOTES
Trend close above or below an EMA
Momentum RSI above or below 50
Volume the bar's direction, but only on bars where volume beats its average
Sum them for a score from −3 to +3. At the extremes all three agree, the bar is coloured, and a small triangle marks the first bar of each new alignment. On symbols with no volume feed the third vote abstains and the scale becomes −2 to +2 rather than quietly voting zero forever.
THE PART THAT MATTERS
Over the lookback, the script finds every alignment that happened at least one full horizon ago — so its outcome is already settled — and counts how often price actually went the signalled way. Then it does the subtraction almost nobody does:
Edge = hit rate after alignment − base rate over all bars
The base rate is the catch. A bullish signal firing during an uptrend will show a glorious 60% hit rate while price rose 60% of the time regardless, and an edge near zero tells you the signal contributed nothing. Only the difference is information.
READING THE SCORECARD
Trend / Momentum / Volume — each vote's current direction, with the RSI value shown so you can see how close the momentum vote is to flipping.
Score — the sum and whether it counts as aligned.
Base rate up — how often price rose over the horizon on all bars in the window. This is the number to beat.
After bull align / After bear align — the hit rate following each kind of alignment, with n= the number of events behind it. Read the n before the percentage. Alignment is rare by construction and thirty events is an anecdote.
Edge — the two subtractions, in percentage points. Positive means the alignment knew something the drift did not.
Sample — bar count and the roughly independent sample size. Overlapping horizons mean 500 bars at a 10-bar horizon is nearer 50 independent observations.
WHAT IT SHOWS RIGHT NOW
On BTCUSD 1h at the time of writing, with a 50% base rate: after bullish alignment price rose just 31.0% of the time across 58 events, an edge of −19.0 pp. Bearish alignment fared better but still negative at −7.9 pp.
Read that again, because it is the whole argument. Buying when trend, momentum and volume all agreed was substantially worse than a coin flip over this window. In a mean-reverting market that is exactly what a momentum confluence should do — it arrives late, at the point where the move it is confirming is closest to exhaustion. The indicator is not broken. The premise is.
Run it on your own symbol and timeframe before drawing any conclusion from mine. The answer changes, and being able to see it change is the point of shipping this rather than another confluence indicator that just glows green.
HONEST LIMITS
A hit rate is not a P&L. It ignores position size, cost, slippage, and the size of the moves it counts. Being right on small moves and wrong on large ones loses money at any hit rate.
Overlapping horizons correlate the observations, so the effective sample is much smaller than the event count implies. Treat differences of a few percentage points as noise.
Three votes drawn from one price series are not three independent opinions. That is a feature of the design being examined here, not a bug in the measurement.
Changing the EMA, RSI or volume lengths changes the answer. If you tune them until the edge looks good, you have fitted the window rather than found something.
NO REPAINT
There is no request.security call anywhere in this script, so the higher-timeframe lookahead problem does not arise. Every graded alignment sat at least one full horizon in the past and its outcome is already history. The current bar is scored but never graded.
Open source under MPL 2.0. Read it, fork it, tell me where I am wrong. Indicator

NeuPortal - Confluence MeterThe standard oscillator set on one shared 0-100 scale: RSI, Stochastic, Williams %R, CCI, MFI, MACD histogram and Momentum. Toggle any of them, read them against each other, and get a consensus line.
That part is ordinary. Here is the part that is not.
WHY CONFLUENCE IS USUALLY WORTH LESS THAN IT LOOKS
"Five indicators confirm the signal" is the oldest line in technical analysis, and it is mostly a restatement of one thing said five times. These oscillators are near-transformations of each other.
Measured over 19,580 four-hour bars of full Binance history on BTCUSDT, the rank correlations are: Stochastic to Williams %R 0.92, RSI to CCI 0.90, Stochastic to CCI 0.89, Williams %R to CCI 0.87. The median pairwise correlation across all 21 combinations is 0.80. ETHUSDT over the same span reproduces the table to two decimal places.
For n readings with average correlation r, the effective number of INDEPENDENT readings is about n / (1 + (n - 1) * r). Seven oscillators at 0.80 come to roughly 1.2.
Seven agreeing indicators is one indicator, counted seven times.
The weakest pair in the set is RSI against the MACD histogram at 0.51. If you want two oscillators rather than seven, those two carry the most different information.
WHAT THE SCRIPT DOES ABOUT IT
It does not take the numbers above on trust. It measures the correlation live, on your symbol, your timeframe and your chosen lengths, then prints two things side by side in the table:
- agreement, the count of enabled oscillators on the same side of 50
- effective independent readings, derived from the measured correlation
The first is what people want to see. The second tells them what it is worth. When the second reads 1.3, a unanimous seven-to-nothing agreement is not seven pieces of evidence.
HOW THE SHARED SCALE WORKS
RSI, Stochastic and MFI are natively 0-100. Williams %R is shifted from its -100..0 range. CCI, the MACD histogram and Momentum have no fixed bounds, so they are converted with a percentile rank against their own recent history: the reading becomes where this value sits relative to how this instrument has behaved lately.
That is a real transformation and it is disclosed rather than buried. A percentile-ranked MACD histogram is not the MACD histogram, so the raw value is printed in the table alongside the scaled one. Nothing is hidden behind the normalisation.
SETTINGS WORTH KNOWING
Percentile lookback controls how much history the unbounded oscillators are ranked against. Shorter reacts faster and is noisier. Longer is steadier and slower to acknowledge a change in regime.
Correlation window controls how much history is used to measure independence. Longer is more stable but averages across regimes, and correlation between oscillators is not constant.
WHAT THIS IS NOT
Not a strategy, not a signal, not a recommendation. An oscillator crossing 50 is not an entry. The two alerts are deliberately descriptive rather than directional, because an alert that said "buy" would contradict everything the script exists to point out.
Free and open source. Read the code, change the lengths, run it on your own instruments and see whether the correlation on your market matches ours.
Indicator

Multi-Anchor_VWAP & Deviation Bands [AFD]
Three anchored VWAPs on one chart, with the price zones where they agree shaded in for you.
WHAT IT IS
An anchored VWAP shows the average price everyone has paid since a moment you pick - the gap open, the earnings bar, the swing low that started the move. That is where buyers from that moment sit at break-even, which is why price keeps coming back to it.
One anchor answers one question, so most traders end up dropping three or four by hand and dropping them again every session. This runs three at once: each anchors where you want, each carries its own deviation bands, and the script shades the zones where two of them line up.
THE CONFLUENCE SHADING
Look at this first. It does work you would otherwise do by eye.
When your session VWAP and your weekly VWAP arrive at the same price, that price is being watched by two different groups at once. Those levels tend to matter more than either line alone, and with three curves running they are easy to miss.
The script shades between any two layers that come within your tolerance of each other - on by default at 8 points, and it checks all three pairings, 1 to 2, 1 to 3 and 2 to 3.
Set the tolerance in ticks, points, currency, or percent of price. Trading more than one instrument, use percent: it is the only one you never have to re-tune when you change symbol.
THE ANCHORS
Ten per layer, mixed freely.
Set and forget - Session, Week, Month, Quarter, Year. Re-anchors itself every new period.
Pick the bar yourself - Manual timestamp. Type a date and time. This is the one for an earnings bar, a Fed day, a gap.
Let the chart find it - prior-session high or low, confirmed swing high or low. These follow structure so you are not re-anchoring by hand.
Defaults are session and week, the pairing most intraday traders want.
Two things about the structure anchors look broken if nobody warns you:
The curve shows up late. A swing is not a swing until enough bars print after it. At swing length 10 the line appears 10 bars after the pivot, then draws itself back to the pivot where it belongs.
It never rewrites history. When a newer pivot confirms, the layer re-anchors from there forward. Everything already drawn stays put.
THE BANDS
Up to three per layer, each with its own multiple from 0.0 to 10.0. They tell you how stretched price is from that anchored average. Four ways to measure the stretch:
Standard deviation (default) - how far price usually strays from this average. The classic VWAP band.
ATR - sized by recent range instead, so the envelope opens up in fast markets.
Percent of VWAP - a fixed percentage. Same shape on any instrument.
Standard error - starts wide on a fresh anchor and tightens as the window fills.
Type the multiples in, or load a Fibonacci preset: 0.382 / 0.618 / 1.0 for the inner set, 1.0 / 1.618 / 2.618 for the outer.
IT TELLS YOU WHEN IT CANNOT DO ITS JOB
An anchored VWAP can quietly stop being volume-weighted, or stop covering the window you think it does. This one writes it on the layer's own label, and these notes cannot be switched off - they show even with line labels turned off:
"UNWEIGHTED (no volume)" or "N bars unweighted" - the feed gives no usable volume, so this is a plain average, not a VWAP. Most indices and some spot forex. This is the one that matters.
"one bar per session" / "two-bar window" - a prior-session anchor on a daily or higher chart, where it can only ever span two bars.
"clipped to the draw depth" or "segment past the 5,000-bar buffer, not drawn" - the line starts in mid-air because it hit a drawing limit, instead of pretending it reaches further back than it does.
"(retro)" - a structure anchor, found after the fact. "RTH" - regular hours only, which changes what the average is.
A clean chart carries none of these. One showing up means something you could not otherwise see has happened.
SETTING IT UP
Add it. Layer 1 takes the session, layer 2 the week, and the shading marks where they agree.
Want one clean line? Switch layer 2 off. Want a third timeframe? Switch layer 3 on.
Anchoring to an event: Manual timestamp, then the bar's date and time. Anchoring to structure: a confirmed swing or a prior-session extreme.
Running two or three layers, turn on "Show anchor" - once bands overlap, a label naming its starting bar beats one that just says "L2".
84 inputs in seven groups, and anything that does not apply greys itself out.
ALERTS
One alert: VWAP crosses, band crosses, both, or off. Create it in PulseWire with "Any alert() function call". It only fires when a bar closes, never mid-bar, so you are not woken up by a wick that gets taken back.
WORTH KNOWING BEFORE YOU USE IT
Structure anchors draw late. That is the trade for anchoring to something only confirmable in hindsight.
History runs 5,000 bars, and draw depth caps how far a line reaches. Hit either and the label says so instead of the line quietly stopping short.
On "Regular hours only" the ATR bands still measure across every bar on the chart, so they use a wider set of bars than the average does.
"Current window only" hides older curves once a repeating anchor has cluttered things up. Fills, the prior-window level and the confluence shading switch off in that mode.
These bands are this script's own definition, not a claim of equivalence with anyone else's bands of the same name.
Not usable in the Pine Screener - the manual anchor needs a time input, and the Screener substitutes its default instead of reading it, so it would anchor from the wrong bar without telling you.
One symbol, one timeframe. No higher-timeframe or cross-symbol requests.
WHAT MAKES IT DIFFERENT
Three genuinely independent anchors - own anchor, own source, own colours, own bands. Not one anchor with presets.
Confluence shading across all three pairings, in four choices of unit.
It anchors to bars it can only recognise after the fact - prior-session extremes and confirmed swings - and back-fills the curve to them. A running-total VWAP cannot reach backwards like that without starting over.
It states its own failure modes on the chart instead of returning a number that is not what its name says.
Four band bases behind one band definition, and Fibonacci ratios as presets on the levels you already have rather than as extra clutter.
Open source under the Mozilla Public License 2.0. Indicator

Trend-Aligned Oscillator Reversal Engine Comprehensive Guide: Trend-Aligned Oscillator Reversal Engine
Introduction: What is this script and its primary purpose?
The "Trend-Aligned Oscillator Reversal Engine" is a highly sophisticated, multi-layered custom indicator written in Pine Script for the PulseWire platform. Unlike traditional single-metric indicators that often produce false signals in choppy markets, this script functions as a complete, self-contained trading system.
Its primary purpose is to identify high-probability market reversal points by combining momentum exhaustion with strict trend-following filters. The script aims to solve a common dilemma for traders: getting into a reversal early enough to maximize profit, while ensuring the broader market structure supports the trade. By demanding a "confluence of evidence" from multiple technical sources before issuing a buy or sell signal, it minimizes the risk of catching falling knives or shorting into parabolic uptrends. Furthermore, it includes automated alert conditions, making it seamlessly compatible with external platforms via webhooks, Telegram, or API integrations for automated trading.
Working Mechanism: How does it detect trading signals?
The script generates Buy and Sell signals through a complex, dual-engine architecture combined with a dynamic entry delay system. It operates using three distinct technical phases:
1. The Oscillator Reversal Engine (The Trigger)
This engine acts as the primary signal detector, scanning for moments when the market is overextended and ready to snap back. It aggregates data from four classic momentum oscillators:
RSI (Relative Strength Index): Set to a standard 14-period lookback, it detects extreme price levels. A long signal requires the RSI to cross back above the 30 (oversold) threshold, while a short signal triggers when crossing below 70 (overbought).
Stochastic Oscillator (14, 3, 3):This measures closing prices relative to the high-low range. It looks for bullish %K and %D crossovers below the 20 level and bearish crossunders above the 80 level.
Oscillator MACD (12, 26, 9): Identifies shifts in short-term momentum via the crossover or crossunder of the fast MACD line and the signal smoothing line.
CCI (Commodity Channel Index - 20): Detects when cyclical boundaries are breached, triggering upon crossing the -100 or +100 levels.
Confluence Scoring: Rather than relying on just one metric, the script assigns a score of 1 to 4 based on how many oscillators trigger simultaneously. The user can define the `osci_min_score` (default is 1) required to generate a baseline reversal signal.
2. The Trend Confirmation Engine (The Filter)
If the `use_trend_filter` setting is enabled, a reversal signal is completely blocked unless the broader market trend aligns with the trade direction. This engine evaluates five distinct trend indicators:
EMA (50-period): Assesses if the current price is above or below the baseline moving average.
ADX & DMI (14-period): Ensures there is actual trend strength (ADX > 20) and identifies whether buyers (+DI) or sellers (-DI) are in control.
Trend MACD: Validates medium-term momentum direction relative to the zero line.
Supertrend : Evaluates volatility-based trailing support and resistance bands.
Ichimoku Cloud: Checks if the price is trading above the Kumo Cloud (bullish) or below it (bearish).
Trend Scoring:Similar to the oscillators, it calculates a trend score out of 5. By default, at least 3 out of 5 indicators (`trend_min_score`) must agree to confirm the trend's legitimacy.
3. The Retest State Machine (Entry Optimization)
When a trend shift occurs, the script features an optional "Retest Mode". Instead of entering immediately on a breakout—which often leads to fake-outs—the system waits for the price to retest a specific support/resistance level. This level is calculated dynamically using a 14-period Average True Range (ATR) multiplier. The script will wait for a maximum number of candles (default is 3) for this retest to happen before validating or discarding the setup.
How to Use: Recommended Settings and Suitable Markets
Recommended Configurations:
For Conservative Traders: Increase the `osci_min_score` to 2 or 3. This means at least two or three oscillators (e.g., RSI and MACD) must agree simultaneously, drastically reducing false signals. Always keep `use_trend_filter` set to `true`.
Trade Direction Filter: If you are trading in a confirmed macro bull market (like Bitcoin leading up to a halving), set the `trade_direction` to "Buy Only". This ensures you only catch the dips in a larger uptrend and prevents you from fighting the primary market direction.
Retest Mode Adjustments: In highly volatile conditions, leave "Enable Retest Mode" checked with an ATR multiplier of 1.0 to secure better entry prices. In aggressive breakout markets where pullbacks are rare, you may want to disable this feature so you do not miss fast-moving trades.
Suitable Markets and Timeframes:
Because of its reliance on confluence, trend strength, and ATR volatility, this indicator is highly versatile.
Markets: It performs exceptionally well in the Forex market (e.g., EUR/USD, GBP/JPY) where trends and mean-reversions are clearly defined. It is equally effective in Crypto (BTC, ETH) and Indices (S&P 500, NASDAQ) because the rigorous trend-filtering engine automatically strips out the "noise" and fake-outs typical in high-volatility assets.
Timeframes:The script is optimized for medium to higher timeframes. The 15-minute (15m), 1-hour (1H), and 4-hour (4H) charts are ideal. Using it on lower timeframes (like the 1-minute chart) is not recommended, as micro-market noise can prematurely trigger the oscillators before the macro-trend indicators have time to align. Indicator

Confluence Trend and Fibo Reversal SystemAn In-Depth Overview of the "Confluence Trend and Fibo Reversal System"
Introduction: The Purpose and Core Architecture
The "Confluence Trend and Fibo Reversal System" is a sophisticated, highly adaptable Pine Script trading indicator designed to dynamically navigate fluctuating market conditions. The primary objective of this script is to solve a fundamental problem in technical analysis: the tendency of trend-following indicators to produce false signals during sideways markets, and the failure of mean-reversion oscillators during strong trends. To achieve this, the indicator operates as a dual-regime trading algorithm. It constantly analyzes price action to determine whether the current market environment is trending or ranging (sideways). Based on this real-time assessment, the script autonomously switches its internal logic, deploying either a momentum-based confluence engine for trends or a reversal-based engine strictly filtered by Fibonacci retracement levels for sideways markets.
Operating Mechanisms: How the Indicator Generates Signals
The technical architecture of this indicator is divided into four distinct analytical engines that work together to validate trading signals.
1. The Market Regime Filter (Range Detection)
Before any signal is generated, the system calculates a "Range Score" to determine the market state. It evaluates six specific technical conditions:
ADX (Average Directional Index): Checks if the ADX value is below 25, indicating weak trend strength.
Bollinger Bands Position: Verifies if the closing price is contained securely within the upper and lower bands.
Bollinger Bandwidth (BBW): Measures volatility by checking if the current bandwidth is narrower than its 20-period moving average.
RSI (Relative Strength Index): Checks if the RSI is hovering in a neutral zone between 40 and 60.
Stochastic Oscillator: Confirms that the Stochastic K-line is resting in a non-extreme zone between 20 and 80.
EMA Convergence:Measures the gap between the 20-period and 50-period Exponential Moving Averages, checking if they are tightly converged within half of the Average True Range (ATR).
If the total score meets a user-defined threshold (defaulting to 4 out of 6), the system classifies the market as "Ranging" and activates the Reversal engine; otherwise, it defaults to the Trend engine.
2. The Trend Engine (Confluence Scoring)
When the market is clearly trending, the script relies on a strict multi-indicator confluence system to prevent premature entries. It generates a bullish or bearish score out of five possible points:
Price positioning relative to the 50-period EMA.
Directional dominance using the ADX (+DI vs -DI).
Momentum confirmation via MACD baseline crossovers.
Trend alignment with the Supertrend indicator.
Price placement above or below the Ichimoku Kumo Cloud.
A final buy or sell signal in trend mode is only triggered if the accumulated score meets the "Minimum Confluence Score" threshold (defaulting to 4 out of 5).
3. The Reversal & Fibonacci Engine
If the market is ranging, the script hunts for mean-reversion opportunities by scanning for specific price action anomalies and oscillator extremes. It looks for Bullish/Bearish Engulfing candles, Pinbars (Hammers and Shooting Stars), RSI overbought/oversold crossovers, Stochastic extreme crossovers, and Bollinger Band boundary breakouts.
Crucially, these reversal patterns are deemed invalid unless they occur in close proximity to an automatically generated Fibonacci level. The script identifies the highest high and lowest low over a 100-bar lookback period to draw dynamic Fibonacci retracement lines (0.000 to 1.000). A reversal signal is only approved if the price action happens within a tight percentage tolerance zone around these key Fibonacci levels.
4. The Retest Engine
To drastically reduce false breakouts, the script features a built-in "Retest Mode". Instead of firing a buy or sell signal immediately when conditions are met, the script calculates a target "retest price" offset by an ATR multiplier. It will then hold the pending signal in memory for a maximum number of candles (defaulting to 4). The final execution signal is only printed on the chart if the price pulls back to successfully retest this calculated ATR level, proving the validity of the breakout.
Implementation and Usage Guidelines
Recommended Settings
Trade Direction: It is highly recommended to leave the trade direction set to "Both" to allow the dynamic regime filter to operate at its full potential. However, if trading against a higher timeframe macroeconomic trend, users can restrict the system to "Buy Only" or "Sell Only".
Retest Mode: Keep "Enable Retest Mode" activated. While it may cause you to miss trades that instantly aggressively rally, it will save you from substantial losses caused by "fake-out" signals.
Confluence Threshold: For aggressive traders, lowering the Trend Minimum Confluence Score to 3 will yield more signals. For conservative traders, leaving it at 4 or 5 ensures that only the highest probability momentum shifts are traded.
Visual Enhancements: Keep the "Highlight Range Market Background" enabled. This feature turns the chart background orange during sideways markets, providing excellent visual context as to why the indicator is currently ignoring standard trend breakouts.
Suitable Markets and Timeframes**
Because the "Confluence Trend and Fibo Reversal System" actively adapts to volatility and structural shifts rather than relying on static logic, it is exceptionally versatile. It is well-suited for high-liquidity markets such as major Forex pairs (EUR/USD, GBP/USD), large-cap Cryptocurrencies (Bitcoin, Ethereum), and major Equity indices. Due to its reliance on 100-period lookbacks for Fibonacci mapping and 50-period EMAs for trend detection, the indicator performs optimally on medium to higher timeframes—specifically the 1-Hour (H1), 4-Hour (H4), and Daily (D1) charts—where market noise is minimal, and true institutional support and resistance zones are respected. Indicator

Engulfing Overlap Zone [8 Types]Engulfing Overlap Zone
This script looks for the moment control changes hands.
An engulfing pattern forms and commits one side of the market. Later that pattern breaks. On or
around the same candle, an engulfing pattern in the OPPOSITE direction confirms. When the two
structures occupy the same price area, that shared area is where one side was trapped and the
other took over. This script finds those moments and draws only that area.
Nothing else is plotted. Ordinary engulfing patterns, and engulfing patterns that simply failed,
are used internally but never drawn, because on their own they are not what this tool is about.
WHAT MAKES THIS DIFFERENT
1. It reports a transfer of control, not a pattern.
Most pattern tools mark every occurrence they find. This one requires a three step sequence to
complete before anything appears: a pattern forms, that pattern breaks, and an opposing pattern
confirms in the same price area. Any of the three missing means nothing is drawn.
2. The zone is measured, not just marked.
Two zones can touch by a hair or sit almost perfectly on top of each other. Those are very
different situations, so the script measures how much of the zone is actually shared and states
it as a percentage. You can then hide everything below a threshold you choose.
3. Everything is sorted into eight types.
The zone carries the identity of the engulfing pattern that took over, including whether that
pattern grabbed liquidity before it confirmed. Each of the eight can be shown or hidden
independently and has its own alert.
4. The hard part is the pairing.
When a pattern breaks there is often more than one opposing pattern nearby that could be its
counterpart. Picking the right one, and rejecting the ones that only look related, is what this
script is really about. The rule used is simple to state and is described below, but it is the
piece that decides whether the output is meaningful or noise.
THE PATTERNS INVOLVED
A candle is Green when close is greater than open, Red when close is less than open, and a Doji
when close equals open. A Doji is neither. Only fully closed candles are read, and the running
candle is never used.
Regular engulfing, two candles
R Buy EG: Red Base candle, and the very next candle is Green and closes above the Base High.
R Sell EG: Green Base candle, and the very next candle is Red and closes below the Base Low.
E-Regular engulfing, three or more candles
ER Buy EG: Red Base candle followed by a run of consecutive Green candles. The run must contain
at least 2 Green candles, and confirmation happens when one of them closes above the Base High.
A single Red candle before confirmation cancels the run. Doji candles are skipped: they neither
count toward the run nor break it.
ER Sell EG: the mirror image, with a Green Base and a run of at least 2 Red candles, one of
which closes below the Base Low.
If the very first candle after the Base already closes through it, that is by definition a
Regular pattern, so E-Regular requires the second candle or later to break the level. One Base
candle can never produce both.
Type 1, the same four patterns plus a liquidity sweep
Type 1 adds one requirement: before the close breaks through one side of the Base candle, price
must have traded through the opposite side.
T1 R Buy EG: the Confirm candle's Low reaches at or below the Base Low.
T1 R Sell EG: the Confirm candle's High reaches at or above the Base High.
T1 ER Buy EG: at least one Green candle of the run reaches at or below the Base Low.
T1 ER Sell EG: at least one Red candle of the run reaches at or above the Base High.
Any candle of the run can satisfy the sweep, including the Confirm candle itself. The sweep is
always measured against the Base candle, never against another candle in the run.
HOW AN OVERLAP ZONE IS BUILT
Step 1. A pattern confirms and is tracked from then on.
Step 2. The pattern breaks. A Buy Engulfing breaks when a Red candle CLOSES below its Base Low.
A Sell Engulfing breaks when a Green candle CLOSES above its Base High. A wick through the level
is not enough; the close has to settle beyond it.
Step 3. The script looks for an engulfing pattern in the opposite direction whose confirmation
lands on the breaking candle, or as close before it as possible, and whose zone shares both time
and price with the broken one. Where several candidates exist, the one closest to the break is
taken, because that is the one that actually represents the handover.
When all three steps line up, one zone is drawn: the price range of the Base candle of the
pattern that took over, running from that Base candle to its Confirm candle.
The eight resulting types are R Buy EG Overlap, R Sell EG Overlap, ER Buy EG Overlap, ER Sell EG
Overlap and the four Type 1 versions of the same. The type always describes the pattern that
took over, because that is the zone on your chart.
OVERLAP STRENGTH
Strength is the share of the drawn zone that sits inside the price range of the broken zone.
100 percent means the whole zone is shared, which is the tightest possible confluence. A small
number means the two structures barely reach each other. The figure is appended to each label,
and Minimum Overlap Strength lets you discard anything below a level you set. That threshold
applies to the chart, the summary table and the alerts together, so what you see and what you
are notified about never disagree.
READING THE CHART
Each zone is filled in two tones, and the split is the whole point:
- The part that shares price with the broken zone is drawn in the direction colour, green for a
Buy Overlap and red for a Sell Overlap, with a solid border. This is the confluence.
- Whatever is left over is drawn in neutral yellow with no border.
So the colour split you see is the strength figure, shown rather than stated. A zone that is
almost entirely green is strong. A zone with a thin green sliver and a large yellow body is
weak, and the percentage will say so.
Each zone carries a label with its type and strength, placed below a Buy Overlap and above a
Sell Overlap so it points at its own zone.
A summary table in the corner counts what was found in the current scan window, split by Buy and
Sell. Types you have switched off are still counted, so the table always reflects what the market
printed rather than what is currently on screen. Zones rejected by the strength threshold are not
counted, because that threshold decides what qualifies as a zone at all.
SETTINGS
Scan
- Scan Length: how many closed candles are scanned backwards. The running candle is always
excluded.
- Minimum Overlap Strength: the percentage a zone must reach to qualify.
Pattern Types
- An individual switch for each of the eight types.
Zone Style
- Separate colours for the shared area and the remaining area, on both the Buy and Sell side.
Labels
- Show Labels, Show Strength in Label, Label Size, and Label Distance from Zone as a percentage
of the zone height. Increase the distance on noisy charts so labels clear the candles.
Summary Table
- Show, position and size of the corner table.
ALERTS
Eight alert conditions are available, one per type:
R Buy EG Overlap, R Sell EG Overlap, T1 R Buy EG Overlap, T1 R Sell EG Overlap, ER Buy EG
Overlap, ER Sell EG Overlap, T1 ER Buy EG Overlap, T1 ER Sell EG Overlap.
An alert fires on the candle that completes the handover. Each message carries the type, the
symbol, the timeframe and the closing price. The same messages are also sent through the alert
function, so the "Any alert() function call" alert type can deliver every zone through a single
alert.
All alerts are evaluated only after a candle has fully closed.
If you read the source, note that the chart and the alerts are two separate paths. The chart is
rebuilt by scanning history backwards on the last bar, while the alerts keep a running list of
confirmed patterns and test each closed candle against it. Two paths are used because rescanning
the whole history on every bar would be far too slow, and a running list cannot redraw the past.
Both apply exactly the same rules and the same strength threshold, so they always agree.
REPAINTING
This script does not repaint.
- Detection reads confirmed candles only. The scan starts one bar behind the latest bar, so the
candle that is still forming is never part of any calculation.
- Every alert signal is written so that it can only become true once a candle has finished. Price
moving inside an open candle cannot make a signal appear and then disappear.
- Zones are rebuilt on the last bar from confirmed history. A drawn zone does not move, change
colour, change type or change its strength figure afterwards. It only leaves the chart when it
falls outside the Scan Length window.
When you create an alert, PulseWire may show a caution banner saying the indicator can repaint.
That banner appears automatically for any script that uses the built in bar state variables, no
matter how they are used, because the platform cannot check the intent behind them. This script
uses them for the opposite purpose: one of them is what restricts every signal to bar close, and
the other is what redraws the zones efficiently on the final bar. Choosing "Once Per Bar Close"
when creating the alert is still recommended.
NOTES AND LIMITATIONS
- These zones are rare by design. Three separate conditions have to line up, so long stretches
with nothing on the chart are normal and expected. If you want to see more, lower the strength
threshold before raising the scan length.
- Scan Length is capped lower than in a plain pattern scanner. Every candidate pattern has to be
followed forward for a break and then matched against opposing patterns, which is far heavier
than simply detecting a pattern. The cap keeps the script responsive on slower machines.
- A zone whose Base candle falls outside the scan window will not appear even if the handover
itself was recent. If zones seem to be missing, raise the Scan Length before changing anything
else.
- For alerts the number of patterns tracked at once is capped and the oldest are released first.
In practice patterns break or age out long before this matters.
- Detection is purely structural. It reports where control changed hands and how much the two
structures shared. It does not rank zones beyond that, measure what happened afterwards, or
produce entries, targets or stops.
- Doji candles are treated as neutral by design. They never act as a Base candle and never break
an E-Regular run. On symbols and timeframes that print many Doji candles this makes runs
slightly more tolerant than a strict same colour rule would be.
HOW TO USE IT
A zone marks an area where one side committed, was proven wrong, and was immediately replaced by
the other side. Traders commonly watch these areas for reactions when price returns to them,
particularly the shared portion, since that is the part both structures agreed on.
The strength figure is there to let you be selective. Starting at zero shows everything so you
can see how the tool behaves on your symbol and timeframe, and raising it narrows the output to
the tighter confluences.
Type 1 zones are worth separating out. There the pattern that took over first grabbed liquidity
and only then confirmed, which is a different sequence from a clean takeover.
These are reference areas, not entry signals. Use them alongside higher timeframe structure, your
own support and resistance mapping, and proper risk management.
DISCLAIMER
This indicator is a pattern detection tool. It is not financial advice and it makes no claim
about profitability. Trading involves risk. Always apply your own analysis and risk management. Indicator

Sigmoid RSI | NAL1. Overview
Sigmoid RSI | NAL is an adaptive momentum-regime indicator built from a transformed RSI engine, sigmoid weighting, and two independently adaptive smoothing layers.
Instead of using raw RSI values directly, the indicator recenters RSI around its midpoint and passes the result through a sigmoid transformation. This reshapes the oscillator into a smoother 0–100 momentum curve while preserving directional pressure around the central regime.
The final signal is refined through volatility-sensitive smoothing and an optional momentum-driven signal line, creating a more adaptive structure than a standard RSI with fixed smoothing.
2. Calculation
The indicator starts by calculating RSI from the selected source and centering it around 50. This converts the standard RSI range into a positive and negative momentum input around the neutral midpoint.
rsiRaw = ta.rsi(src, rsiLen)
rsiNorm = rsiRaw - 50.0
The centered RSI is then passed through a sigmoid function. The sigmoid transformation compresses extreme values and smoothly maps the momentum input back into a 0–100 range.
sigmoidRSIRaw = 100.0 * sigmoid_function(rsiNorm)
The indicator then builds two separate adaptive feeds.
The volatility feed measures changes in ATR, while the momentum feed measures changes in a separate RSI calculation.
momentumFeed = ta.change(ta.rsi(src, modLen), changeL)
volatilityFeed = ta.change(ta.atr(modLen), changeL)
These feeds are used inside a sigmoid-weighted EMA. The sigmoid output adjusts the smoothing alpha dynamically, allowing the moving average to respond differently as the input environment changes.
sigmoidWeight = sigmoid_function(sigmoidFeed)
adaptiveAlpha = f_clamp(baseAlpha * (0.5 + sigmoidWeight), 0.01, 1.0)
The main Sigmoid RSI is smoothed using the volatility feed. This makes its response sensitive to changes in the volatility environment.
sigmoidRSI = f_sigmoid_ema(sigmoidRSIRaw, volatilityFeed, rsiSmoothLen)
A second adaptive smoothing layer creates the signal line using the momentum feed. This gives the indicator an internal directional reference that reacts to changes in momentum rather than using a fixed moving average alone.
sigmoidRSISignal = f_sigmoid_ema(sigmoidRSI, momentumFeed, rsiSignalLen)
The bullish state requires the Sigmoid RSI to rise above the upper threshold. When confluence is enabled, it must also remain above its adaptive signal line.
The bearish state requires the Sigmoid RSI to fall below the lower threshold and, when enabled, remain below the signal line.
NAL := sigmoidRSI > longThres and (sigmoidRSI > sigmoidRSISignal or not boolCon) ? 1 : sigmoidRSI < shortThres and (sigmoidRSI < sigmoidRSISignal or not boolCon) ? -1 : NAL
When neither condition is active, the previous directional state is preserved.
3. Key Features
Sigmoid-transformed RSI momentum engine.
Adaptive volatility-sensitive RSI smoothing.
Momentum-driven adaptive signal line.
Dynamic smoothing alpha generated through sigmoid weighting.
Upper and lower threshold regime detection.
Optional signal-line confluence.
Glow plot, threshold fills, candle coloring, bar coloring, and transition labels.
4. Use
Sigmoid RSI is designed to identify when momentum transitions into a more established bullish or bearish regime.
A move above the upper threshold reflects bullish momentum expansion, while a move below the lower threshold reflects bearish momentum deterioration. The adaptive signal line adds another layer of internal structure by measuring whether the transformed RSI remains aligned with its momentum-driven smoothing path.
The indicator’s behavior is shaped by both volatility and momentum changes, allowing its response to shift with the underlying environment rather than remaining mechanically fixed.
Sigmoid RSI is designed as a specialized momentum component within a complete strategy architecture. Its real value lies in how its adaptive regime state is integrated into a broader decision process, where several layers of market behavior are evaluated together.
Indicator

Random Forest AI - RSI MACD Confluence [Dots3Red]█ RANDOM FOREST AI — RSI MACD CONFLUENCE
This script combines 15 simple, independent decision rules ("trees") into one weighted verdict. Each tree looks at a different combination of RSI, MACD, ATR, volume, DMI, and price-vs-moving-average conditions and casts one vote: bullish, bearish, or neutral. What makes this different from simply averaging several indicators is that every tree's historical accuracy is tracked continuously, and that accuracy becomes the tree's voting weight — a rule that has actually been right more often on this specific chart counts for more than one that hasn't.
█ WHY THIS APPROACH
A single indicator like RSI applies the same fixed rule forever: "below 30 means buy," regardless of whether that rule has been working lately on the instrument you're watching. It has no way to notice that its own signal has become less reliable in a strong trend, or more reliable during a ranging period.
This script addresses that by running many small, simple rules in parallel and grading each one against what actually happened afterward. A rule's influence on the final verdict rises when it's been accurate and falls when it hasn't — without requiring the trader to manually decide which indicator to trust in current conditions.
This is a simplified, Pine-native ensemble. A literal machine-learning Random Forest trains via recursive data-splitting across bootstrap-sampled datasets, which isn't something Pine Script's execution model supports. What's implemented here captures the core idea in a form that runs natively on every bar: multiple diverse, simple voters, weighted by empirical track record rather than by a fixed formula.
█ HOW IT WORKS
1. Base features
Six indicators are computed every bar and feed into the trees:
• RSI (configurable length)
• MACD histogram
• ATR ratio — current ATR relative to a 50-bar baseline (volatility context)
• Volume ratio — current volume relative to its moving average
• DI difference — +DI minus -DI from the DMI system (directional pressure)
• Price vs. moving average — distance from a trend MA, expressed in ATR units
2. The 15 trees
Each tree is a short, explicit rule combining two or three of the base features. They are deliberately varied in character:
• Some are trend-following (DI direction, MACD momentum, full trend confluence combining three features at once)
• Some are contrarian / mean-reversion (an extreme price extension combined with an extreme RSI reading votes for a pullback, not a continuation)
• Some are volatility-filtered (an RSI extreme only counts when the ATR ratio shows calm conditions, on the reasoning that overbought/oversold readings are less reliable during high volatility)
• Some require multi-indicator confluence before voting at all (MACD direction agreeing with volume expansion, or RSI agreeing with MACD)
Any single tree by itself is simplistic. The value comes from having 15 of them looking at the situation from different angles simultaneously.
3. Historical grading and weighting
Every tree's vote from a configurable number of bars ago ("Outcome Window") is compared against what price actually did between then and now. If the tree voted bullish and price rose, that's a correct call; if it voted bullish and price fell, that's incorrect. A running hit/total count is kept per tree.
Each tree's weight is its accuracy rate (hits ÷ total) once it has accumulated a minimum number of graded votes. Before that minimum is reached, a tree counts at a neutral 0.5 weight so early, unproven trees don't disproportionately swing the verdict.
4. The forest verdict
Bullish and bearish contributions are summed across all 15 trees, weighted by each tree's current accuracy, then expressed as a percentage split (e.g. 73% bullish / 27% bearish). The overall verdict — BULLISH, BEARISH, or NEUTRAL — is determined by configurable thresholds (default: 60% for bullish, below 40% bullish-share for bearish).
5. RSI confluence
Separately from its role inside the 15 trees, RSI's classic overbought/oversold state is checked against the forest's overall verdict. If RSI is oversold and the forest is bullish, that's flagged as "AGREE." If RSI is oversold but the forest is bearish, that's flagged as "CONFLICT." This gives a second, independent read using the indicator most traders already know, alongside the ensemble's own conclusion.
█ SIGNAL MARKERS AND SPACING
A marker appears only when three conditions line up at once: the forest's weighted verdict crosses its threshold, RSI's classic overbought/oversold state independently agrees with that direction, and the bar has fully closed. Markers never appear on a still-forming bar — the script waits for bar confirmation so a marker never appears and then vanishes as the live bar changes.
Each marker is drawn in two parts: a small triangle at the bar, and a text block showing three values — the weighted percentage that triggered it, the word AGREE confirming RSI's independent agreement, and how many of the 15 trees were actively voting (non-neutral) at that moment. A reading of "73% / AGREE / 9/15 trees" carries different weight than "61% / AGREE / 4/15 trees," even though both pass the threshold — the first reflects broad participation across the ensemble, the second a thin majority among few active voters.
Two mechanisms prevent marker clutter on intraday timeframes:
• One marker per episode — when the verdict enters a bullish or bearish state, only the first qualifying signal of that run is marked. The verdict flickering around the threshold (61% → 59% → 62%) does not produce repeated markers; the internal latch resets only when the verdict genuinely changes state.
• Signal Cooldown — a configurable minimum number of bars between same-side markers, which absorbs the remaining case where a brief state change resets the latch and the condition re-triggers shortly after. On a 5-minute chart, a cooldown of 30 bars means at least 2.5 hours between same-direction markers.
Both mechanisms apply per direction — a bearish marker shortly after a bullish one is never suppressed, because an ensemble flip is meaningful information rather than clutter.
█ READING THE CHART
Bar coloring tints candles by the current verdict — cyan for bullish, magenta for bearish, slate for neutral.
Dashboard (top-right by default) shows the current verdict, the bull/bear percentage split with a progress bar, how many trees are actively voting, RSI's state and its agreement with the verdict, and a breakdown of five representative trees showing each one's live weight and how many samples that weight is based on.
█ SETTINGS
Feature Settings — lengths for RSI, MACD, ATR baseline, volume MA, DMI, and the trend MA used by the price-vs-MA feature.
Ensemble Settings
• Outcome Window (bars) — how far ahead each vote is checked against actual price movement
• Min Samples Before Weighting — how many graded votes a tree needs before its real accuracy replaces the neutral 0.5 default
• Bullish / Bearish Threshold % — where the weighted percentage split has to cross before the verdict label changes
Visualization
• Color Bars by Verdict — toggle candle tinting
• Show Confluence Markers — toggle the triangle markers
• Signal Cooldown (bars) — minimum bars between same-side markers; raise this on lower timeframes if markers feel too frequent
Dashboard — toggle the table, choose its position, toggle the per-tree accuracy breakdown.
█ EXAMPLE
Suppose the dashboard shows: Verdict BULLISH, 73% / 27%, 9/15 trees active, RSI at 28 (OVERSOLD), Agreement: AGREE. This means the weighted vote across all 15 trees currently favors upside by roughly 3-to-1, nine of the trees have a non-neutral opinion right now, and the classic RSI reading independently supports the same bullish read. If the per-tree breakdown shows "Calm-Market RSI" at 78% (n=45) while "RSI Extremes" sits at 52% (n=45), that's telling you the version of the RSI rule that only fires during low volatility has actually been considerably more reliable on this chart than the raw, unfiltered version — information a plain RSI plot could never surface on its own.
█ NOTES
Weights start neutral and only become meaningful once each tree has accumulated enough graded votes (set by "Min Samples Before Weighting"). On a fresh chart or a newly added timeframe, expect the dashboard's percentages to be less informative until that history builds up. The ensemble adapts continuously — a tree's weight can and will drift as market conditions change and its track record evolves.
On intraday timeframes, tune the Signal Cooldown to the chart's pace. The default suits higher timeframes; 5-minute and 15-minute charts generally benefit from a larger value.
█ DISCLAIMER
This is an analytical and visualization tool. It does not generate trade signals and does not constitute financial advice. Historical accuracy of any individual rule or the ensemble as a whole does not guarantee future performance. Indicator

Indicator

Pivot Matrix + Zones [AFD]Overview
Pivot Matrix + Zones brings up to three independently configured pivot systems into one coordinated overlay. It combines exact pivot ladders, standard Central Pivot Range (CPR), ATR- or tick-scaled reaction zones, formula-aware cross-pack confluence, retained untested levels, a compact context dashboard, and seven bar-close alert conditions.
Each pack can use a different formula and anchor, allowing combinations such as Daily Traditional, Daily Camarilla, and Weekly Fibonacci to be compared without merging their identities.
The script is designed for descriptive market context. It does not produce trade recommendations, forecasts, performance statistics, or automated orders.
What makes it different
The script's original contribution is its identity-aware coordination of the three packs rather than a simple stack of pivot lines. Each pack has its own formula, anchor, tier ceiling, formula-pivot and CPR visibility, labels, R/S color, and line style. One shared lifecycle model freezes reaction width at origin, carries formula and anchor provenance into retained levels and alerts, and keeps dashboard and drawing state aligned.
Confluence requires overlapping reaction zones from at least two distinct enabled packs. Multiple levels or historical origins from only one pack do not create confluence, and duplicate canonical levels do not inflate the displayed pack count. Exact formula-and-anchor duplicates are marked inactive instead of drawing the same configuration twice.
The implementation and lifecycle logic are original. The named pivot methods use standard published calculations identified below; no third-party indicator source code is reused.
Pivot formulas and anchors
The three packs can use Traditional, Floor Pivots, Fibonacci, Woodie, Classic, DM, Camarilla, Frank Dilernia, Shadow Trader, or ACD Method calculations. Traditional, Fibonacci, Woodie, Classic, DM, and Camarilla use the formulas documented for PulseWire Pivot Points Standard. Floor Pivots uses the standard prior-period high, low, and close ladder through R3/S3; those levels match Traditional through the third tier, while Traditional retains its additional R4/R5 extensions.
Available anchors are Auto, Daily, Weekly, Monthly, Quarterly, and Yearly. Auto uses Daily pivots on chart resolutions through 15 minutes, Weekly pivots above 15 minutes and below one day, and Monthly pivots on daily-or-higher charts.
Each formula stops at its documented native tier. The Through Rn/Sn controls do not create unsupported extension levels. Camarilla calculations use the standard R/S equations and display H/L aliases alongside those names.
Data and session handling
Use daily-based values to request anchor data from the selected symbol context. Exchange default, RTH, and ETH choices are available. For futures, ETH uses the exchange-default electronic context, while RTH uses the named subsession entered in the settings. The default futures RTH name is us_regular, but valid names are symbol-specific.
On intraday charts, turning daily-based values off builds anchor values from the chart feed. This may reflect a visible session more closely, but Quarterly or Yearly anchors can have insufficient intraday history. On daily-or-higher charts, the script continues to use daily-based anchor data.
Most formulas use completed prior-anchor values. Woodie also uses the fixed open of the active anchor. The optional developing next CPR uses the active anchor's changing high, low, and close; it is visually separated and never enters confluence, retained history, or alerts.
CPR and reaction zones
CPR always uses the standard floor-pivot calculation from the completed period's high, low, and close. Its chart labels identify the center as PP, the lower Bottom Central boundary as Lower (BC), and the upper Top Central boundary as Upper (TC). This CPR pivot remains separate from a formula pivot when methods such as Woodie or DM produce a different value.
Reaction zones are symmetric bands around exact pivot prices. Their half-width can use confirmed Daily ATR, completed anchor ATR, or a fixed number of minimum ticks. The width is frozen when an anchor's geometry is created, so an existing zone does not drift as ATR changes inside that anchor. The exact pivot remains the center line; the surrounding fill is a configurable context band.
How to read the chart
Exact center lines are the calculated PP, resistance, support, or CPR levels. Soft surrounding fills show the configured interaction distance; they are not additional pivot levels or predictive outputs.
By default, formula PP lines and matching fills are yellow, Pack A R/S lines and fills are blue, and CPR boundaries and the central range are purple. Active labels identify Formula + Level, while CPR labels distinguish PP, Lower (BC), and Upper (TC). Price text is optional and hidden by default.
Confluence and retained levels
When eligible reaction zones from at least two distinct packs overlap, the script merges the overlap transitively into a confluence band. Each label names the unique contributing formulas and then shows the number of distinct packs represented, such as Traditional + Fibonacci x2. Enable confluence is the master control and is on by default. Turning it off removes confluence zones and labels and suppresses Confluence Touch events while the pivot packs, dashboard, retained-level lifecycle, and other alerts continue. When enabled, confluence color, text color, and projection change the display only, not the overlap or alert identity.
At an anchor rollover, eligible pivot zones that were not touched during their active period can be retained as Untested. A later confirmed wick overlap changes the record to TESTED, freezes and fades its drawing for 20 chart bars, and removes it afterward. Retained drawings are off by default, but lifecycle tracking, dashboard counts, confluence eligibility, and fill alerts continue while the drawings are hidden.
Dashboard
The compact dashboard shows only enabled packs with their selected pivot formula and any non-active status. It then classifies the two-period CPR relationship, reports whether the active-anchor open is above, below, or inside CPR, and shows the nearest retained untested level with the live count across all packs. CPR context follows the first enabled pack in A/B/C order.
Display controls
Active geometry can end at a finite current-bar offset, at the anchor end, or extend right. Confluence has its own finite current-bar, finite label-offset, and extend-right choices. Show confluence only hides non-confluence drawings while confluence is enabled; turning the master control off restores the normal layers. Calculations, the dashboard, lifecycle processing, and all enabled alerts continue.
Formula PP, CPR, labels, displayed prices, label size, line width, reaction shading, tier depth, and retained-level styling can be adjusted independently. Formula PP lines and fills default to yellow, Pack A R/S lines and fills default to blue, and CPR boundaries and the central range default to purple. The Inputs tab follows a numbered workflow and dims controls that do not apply without disabling calculations that still use their state. Prices are hidden by default, and chart labels identify formula and level without A/B/C prefixes; dashboard and alert provenance retain pack identity. Duplicate formula-and-anchor pack configurations are rejected rather than drawn twice.
Suggested setup workflow
Configure Pack A as the primary context, then enable Pack B or C when a second formula, anchor, or both are needed for comparison. Choose the highest native R/S tier, session basis, reaction-width method, and projection for the chart being reviewed. Use the dashboard and labels for identity, Show confluence only to isolate cross-pack overlaps, and retained-level drawings when the untested lifecycle should remain visible.
Create alerts only after the symbol, timeframe, sessions, pack settings, and reaction-width inputs are finalized, because those chart settings define the levels and events being monitored.
Alerts
Seven fixed conditions are available: Active Level Touch, Cross Up, Cross Down, CPR Enter, CPR Exit, Untested Level Filled, and Confluence Touch. Events confirm at chart-bar close. Optional dynamic messages aggregate supported events from the same confirmed bar and include available pack, formula, anchor, level, origin, and price context. PulseWire running alerts retain the script inputs saved when they were created, so delete and recreate an alert after changing Enable confluence or another input.
Limitations
Pivot values and rollover timing depend on the selected symbol, data feed, anchor, session context, and available history. Daily and intraday feeds can differ because of extended hours, futures settlements, and feed construction. An invalid futures subsession name can fall back to the exchange default, so confirm the requested name in Inputs and compare the resulting pivots with the intended session.
Reaction zones and confluence visualize proximity; they do not predict a response. Untested means the configured zone was not touched during its tracked active period; it does not imply that price must revisit or react to it.
Use a standard time-based chart when evaluating touches, crosses, and alerts because those events use the chart's OHLC bars. Alerts still depend on PulseWire alert creation, chart settings, feed updates, and bar-close processing.
The script keeps bounded histories of up to 30 live untested levels and 20 fading tested markers, with older retained records removed as those limits are reached. Confluence display is capped at 20 zones.
This is a public open-source Pine Script v6 indicator with a Mozilla Public License 2.0 source header. PulseWire's open-source reuse rules apply on-platform before the license terms. It is an educational charting tool and is not financial advice. Indicator

SNIPERS EMAs + VWAPSNIPERS EMAs + VWAP
SNIPERS EMAs + VWAP is a configurable trend and market value analysis tool that combines five Exponential Moving Averages with session VWAP in a single overlay indicator.
The moving averages provide a structured view of short-, medium- and long-term trend direction, while VWAP provides a volume-weighted reference for the average price traded during the active session. Combining them allows traders to compare trend structure with session value without loading multiple separate indicators.
How the Indicator Works
The script plots the following exponential moving averages:
10 EMA
20 EMA
50 EMA
200 EMA
800 EMA
The shorter-period EMAs respond more quickly to recent price movement and can help assess momentum and pullbacks, while the longer-period EMAs provide broader trend context and potential areas of dynamic support and resistance.
VWAP calculates the session's volume-weighted average price, providing an intraday reference based on both traded price and volume.
These calculations are displayed together because they provide two different forms of market context:
EMAs – Trend direction across multiple time horizons.
VWAP – Volume-weighted session value.
When an EMA and VWAP are trading near the same price area, the overlap can provide additional confluence when analysing pullbacks, dynamic support, dynamic resistance or broader market structure. Confluence alone should not be considered a trading signal.
Features
10, 20, 50, 200 and 800-period EMAs
Optional VWAP display
Individual visibility controls for each EMA
Customisable colours
Adjustable EMA and VWAP line widths
Price cross alerts for every EMA
Price cross alerts for VWAP
Configurable EMA/VWAP confluence tolerance
Confluence alerts for the 50, 200 and 800 EMAs
Alert Conditions
The indicator includes alert conditions for:
Price crossing above or below each EMA
Price crossing above or below VWAP
The 50 EMA entering the selected VWAP proximity range
The 200 EMA entering the selected VWAP proximity range
The 800 EMA entering the selected VWAP proximity range
The confluence tolerance is percentage-based so it adapts to instruments with different price scales. A confluence alert is triggered when an EMA first enters the configured proximity range around VWAP rather than on every bar while it remains within that range.
Alerts always follow the chart symbol and timeframe selected when the alert is created.
Intended Use
This indicator is designed to provide visual context for:
Trend direction
Pullbacks within a trend
Dynamic support and resistance
Session value
EMA and VWAP confluence
Multi-timeframe market analysis
It does not generate automatic entries, exits or standalone buy or sell signals. It is intended to complement price action, market structure and sound risk management rather than replace them.
Markets
The indicator can be applied to all PulseWire-supported markets, including:
Forex
Indices
Commodities
Cryptocurrencies
Equities
VWAP behaviour depends on the instrument's available volume data and trading session structure.
Disclaimer
This indicator is provided free of charge for educational and analytical purposes only. It does not constitute financial advice or a recommendation to buy or sell any financial instrument. Users remain responsible for their own analysis, trading decisions and risk management.
Created by Market Sniper HQ
Trade Like a Sniper, Not Like the Crowd.
Indicator

FVG Confluence [AFD]This Pine Script v6 overlay documents confirmed fair-value gaps (FVGs), optional order blocks (OBs), and overlap evidence from two selected higher timeframes. Its main output is a confluence band whose label identifies the two source timeframes and zone types when two same-direction zones overlap by a configurable amount.
This is a descriptive chart tool. It records what the source zones have done, how they overlap, and how price has interacted with them. It does not provide trade instructions, manage positions, or forecast an outcome.
────────── 1. Overview ──────────
The script has three related layers:
- Chart FVGs: three-candle fair-value gaps detected on the chart timeframe.
- Optional Order Blocks: the last opposite candle identified before a confirmed swing break.
- MTF Confluence: an overlap between source zones from Compare timeframe 1 and Compare timeframe 2.
By default, MTF confluence bands and labels showing their source timeframes and zone types are visible. Raw higher-timeframe source boxes are hidden by default and can be shown per timeframe with a choice of FVGs, Order Blocks, or both. Standalone chart FVG boxes and chart OB boxes are off by default; each appears when its respective Enable FVGs or Enable Order Blocks setting is turned on.
────────── 2. How FVGs are detected ──────────
A bullish chart FVG is recorded when the current confirmed bar's low is above the high from two bars earlier. A bearish FVG is the inverse. The Minimum gap filter removes gaps smaller than the selected ATR multiple or tick distance. The default filter is 0.05 ATR.
The same gap test is evaluated in each selected higher-timeframe context. Higher-timeframe events are admitted once per source origin time, which prevents the same source event from producing duplicate records on the chart.
────────── 3. FVG lifecycle ──────────
Each FVG keeps its original boundaries and tracks penetration using the selected Mitigation / fill rule:
- FRESH - price has not touched or entered the gap.
- TESTED - price has touched or entered the gap but has not reached its 50% midpoint.
- MITIGATED - price has reached the 50% midpoint but has not fully traversed the gap.
- FILLED - price has fully traversed the gap. Filled chart FVGs are removed unless Keep filled FVGs is enabled.
Wick mode uses the candle range for penetration and state changes. Close mode requires the candle close to reach the relevant boundary. The rule is applied consistently to chart FVGs, chart order blocks, and higher-timeframe FVG source zones. Higher-timeframe OB sources track penetration with the same FRESH → TESTED → MITIGATED lifecycle as chart OBs, so raw HTF OB labels show state and fill percentage. A higher-timeframe zone (FVG or OB) that is fully traversed becomes FILLED: it stays tracked internally, is hidden by default, can be revealed per timeframe with the Show 100% filled zones settings, and never feeds confluence.
A boundary touch counts as TESTED, while the fill percentage measures penetration through the original zone. A boundary-only test can therefore still display 0% Filled until price advances farther into the zone.
Shrink on partial fill changes only the displayed near edge of a chart FVG. The original boundaries and 50% midpoint remain available for fill measurement and lifecycle identity. Order Blocks have their own OB partial fill setting (off by default) that shrinks OB boxes the same way. Breaker blocks restart measurement from the near edge in the new direction.
The FVG Labels settings can show the percentage filled and, optionally, the FVG lifecycle state. Labels can be placed inside the box or to its right, with user-selected offset, size, and text color.
────────── 4. Order blocks ──────────
When enabled, the script confirms swing points using Swing strength and searches the configured OB candle lookback for the last opposite candle before a confirmed break. It records bullish and bearish blocks separately and limits the retained count per side.
OBs use the same Wick or Close interaction basis as FVGs. They can move from FRESH to TESTED and MITIGATED. If Show breakers is enabled, a block that is crossed changes direction and becomes a BREAKER with a new penetration measurement. If breakers are disabled, the crossed block is removed. When OB partial fill is enabled, OB boxes shrink their near edge inward as confirmed penetration advances, and breaker blocks restart measurement from the near edge in the new direction.
Chart OB detection, retention, and drawing are controlled together in the Order Blocks settings and are off by default.
────────── 5. MTF confluence ──────────
Confluence uses only the two selected comparison timeframes. The chart timeframe is not a confluence source. Both comparison timeframes must be strictly higher than the chart timeframe and must be different from each other. If either timeframe is invalid, or either source is disabled, the corresponding confluence path is not active.
The script compares source zones by:
1. Direction - bullish zones pair only with bullish zones, and bearish zones pair only with bearish zones.
2. Original geometry - qualification uses the original source boundaries, not a partially shrunk display edge.
3. Minimum overlap - the positive overlap must meet the configured threshold, measured as a multiple of the confirmed TF1 timeframe ATR and subject to a minimum tick. Using a fixed-timeframe ATR keeps band qualification stable when the chart timeframe changes.
4. Source details - a band retains both source origins, source timeframes, source types, and its own formation time.
The source HTF calculation uses shifted, completed higher-timeframe values and confirms pivot-based events before admission. This avoids using a developing higher-timeframe event, but it introduces confirmation delay. A source zone may therefore appear after the originating higher-timeframe movement rather than during it.
Raw HTF FVGs / OBs can be shown separately for inspection, with a per-timeframe choice of FVGs, Order Blocks, or both. The type selection is display-only; all raw zones still feed confluence. Each timeframe has its own raw partial fill setting (TF1 raw partial fill and TF2 raw partial fill) that shrinks the near edge of that timeframe's raw zone boxes (both FVGs and OBs) as penetration advances, and its own Show 100% filled zones setting (off by default) that keeps fully traversed raw zones visible. Raw HTF labels show state and fill percentage for all zone kinds. Confluence is FVG-only by default. If Include Order Blocks in confluence is enabled, same-direction FVG/OB, OB/FVG, and OB/OB overlaps can also qualify. Any band containing an OB is labeled STATIC because it does not have the pure FVG/FVG fill cycle.
────────── 6. Reading confluence bands ──────────
The band color describes overlap density, not a rating:
- One active overlap - the single-overlap color.
- Two active overlaps - the two-overlap color.
- Three or more active overlaps - the dense-overlap color.
Density counts active same-direction confluence records that share positive price overlap and are currently visible under the state and filled-band filters. Changing those visibility filters can therefore change a displayed band's density color. Density does not measure historical performance, reliability, or the future behavior of a level.
For pure FVG/FVG bands, Confluence partial fill can shrink the displayed band as confirmed penetration advances. Confluence fill % label reports penetration through the original overlap. The fill percentage is descriptive and is not a forecast.
Confluence labels can show:
- Source timeframes and source types.
- The number of overlapping active bands.
- Fill percentage for pure FVG/FVG bands on its own label line.
- FRESH, TESTED, PARTIAL, FILLED, or STATIC state, shown together with age on one horizontal metadata line.
- Age in chart bars or HH:MM:SS.
- Visits and breaks in the tooltip.
Fresh, Tested, Partial, and Filled visibility can be controlled independently. Filled confluence bands are hidden by default. Nearby labels are grouped onto a shared horizontal row and spaced by a configurable number of chart bars; this changes label placement only and does not change the bands.
────────── 7. Alerts ──────────
The script exposes two confirmed-bar alert conditions for chart-timeframe detections:
- FVG formed - a new confirmed chart-timeframe FVG.
- Order Block formed - a new confirmed chart-timeframe order block.
There are no built-in alerts for confluence formation, fills, mitigation, state changes, or position management. You can create PulseWire alerts from the two available conditions.
────────── 8. Settings and defaults ──────────
FVG Drawings controls chart FVG detection, drawing, per-side retention, Wick or Close measurement, ATR or tick filtering, partial display shrink, filled-zone retention, lifecycle display, and bullish/bearish colors.
FVG Labels controls fill percentage, position, right-side offset, text size, and label color.
Order Blocks controls OB detection, drawing, per-side retention, swing strength, candle lookback, breaker behavior, partial fill, and colors.
MTF Confluence controls the MTF master enable, the two comparison timeframes, source inclusion, raw HTF visibility, and — independently per timeframe — raw zone types (FVGs, Order Blocks, or both), raw partial fill, filled-zone visibility, and source color. It also controls HTF retention, HTF lookback days, and raw labels. The default comparison pair is 30 minutes and 60 minutes.
Confluence Evidence controls partial fill, fill labels, OB-containing overlap inclusion, minimum overlap, maximum retained bands, source-detail labels, filled-band visibility, overlap colors, state and age display, label collision spacing, age format, and state filters.
Visuals controls the confluence label size.
────────── 9. How to use ──────────
1. Start on a time-based chart timeframe below both comparison timeframes. The default 30-minute and 60-minute pair is intended to be used from a lower chart timeframe such as 15 minutes.
2. Leave both comparison source checkboxes enabled when you want TF1 × TF2 confluence. Selecting the same comparison timeframe twice does not create a valid pair.
3. Use the default FVG-only mode when you want all bands to have the FVG lifecycle and fill measurement. Enable OB inclusion only when STATIC FVG/OB, OB/FVG, or OB/OB overlap evidence is useful to your analysis.
4. Use Wick or Close consistently with how you want penetration measured. Close mode ignores wick-only penetration for state and fill progression.
5. Turn on raw HTF zones, or enable chart FVGs/OBs in their own settings sections, only when you need to inspect those layers. They are intentionally hidden in the default chart view.
6. Use the state, age, fill, density, and source details to understand what produced a band and how price has interacted with it. Do not treat color density as a score.
────────── 10. What this script does not do ──────────
- It is not a strategy and does not provide backtests, win rates, performance statistics, or position sizing.
- It does not place orders, manage risk, or generate trade instructions.
- It does not use the chart timeframe as a confluence source.
- It does not create confluence from opposite-direction zones.
- It does not guarantee that every historical FVG or OB remains visible. Source retention, HTF lookback, state filters, filled-band visibility, and PulseWire drawing limits can remove or hide records.
- It does not eliminate higher-timeframe confirmation delay. A valid setting can show no band when no recent confirmed source pair qualifies.
- It does not claim that every chart, symbol, session, or timeframe will produce the same number of zones. ATR, tick size, available history, market hours, and price behavior affect detection.
────────── 11. Limitations and developing values ──────────
Lifecycle mutations, HTF source admission, confluence identity, fill measurement, and state changes are gated on confirmed bars. Boxes and labels are redrawn on the last chart bar so their right edge, text, colors, and collision layout reflect the current view. This means the display can update while the underlying lifecycle remains confirmation-gated.
Changing the chart timeframe or either comparison timeframe clears the prior MTF context and rebuilds it from confirmed source history. The selected comparison timeframes must be higher than the new chart timeframe. If the new context has no retained qualifying source pair, the confluence view can be empty until confirmed source events are available. Band qualification uses the confirmed TF1 timeframe ATR, so the same source pairs qualify regardless of the chart timeframe. In the Wick basis, fill percentages and lifecycle states are chart-timeframe independent; in the Close basis, penetration follows chart-bar closes, so fill percentages and states can legitimately differ between chart timeframes.
The script is capped by PulseWire drawing limits and by its own retention settings. Chart and higher-timeframe zone arrays prune older records according to their configured limits. The confluence maximum is a retained-record capacity: when a new qualifying pair arrives beyond the cap, the oldest record is removed first. A crowded chart can therefore show fewer drawings than the underlying detection logic considered. Higher-timeframe records are also limited by the HTF lookback-days and max-zones-per-HTF/type settings.
The implementation is confirmation-gated, but this description does not make an absolute non-repainting claim. Verify the current publication on PulseWire with the intended symbols, timeframes, input changes, reload behavior, and Bar Replay before relying on its historical appearance.
────────── 12. Originality ──────────
FVGs, order blocks, pivots, ATR filters, and multi-timeframe analysis are established market-analysis concepts. The implementation focus here is showing which two source zones created each overlap and tracking its lifecycle: each confluence band preserves the source records that formed it, keeps immutable original overlap geometry, separates display-only partial fill from band identity, and exposes state, age, fill, visit, break, source, and overlap-density information instead of hiding them inside an unexplained composite value.
The source is open for inspection under the MPL 2.0 license. The calculations and visual labels are intended to be read as a record of price interaction, not as a promise about what happens next.
────────── 13. Disclaimer ──────────
For educational and informational purposes only. Not financial advice. Past chart behavior does not predict future results. Indicator

Adaptive Confluence Oscillator [ForexCracked]🔵 OVERVIEW
The Adaptive Confluence Oscillator scores four independent read-outs of the market on a continuous scale, weights them according to the current market regime, and plots the result as a single 0 to 100 line. Instead of asking "do my indicators agree, yes or no," it asks "how strongly does each one agree, and which of them should I be listening to right now."
It has no fixed overbought or oversold levels. The bands are calculated from the oscillator's own recent behaviour, so they widen when the market gets volatile and tighten when it goes quiet.
Signals confirm on candle close and do not repaint.
🔵 WHY THIS IS BUILT THE WAY IT IS
Most multi-indicator tools take a vote. RSI is oversold or it is not. That throws away most of the information: an RSI of 29 and an RSI of 12 are not the same signal, but a vote counts them identically. It also treats every indicator as equally relevant at all times, which is plainly false. Stochastic exhaustion means one thing in a strong trend and the opposite thing in a range.
This oscillator fixes both problems. Every component returns a continuous score, and the market regime decides how much each score is worth.
🔵 THE FOUR COMPONENTS (each scored from -1 to +1)
• Trend: how far price sits from its baseline EMA, measured in ATR units rather than in price. Distance matters, not just which side of the line you are on. Because it is measured in ATR, it reads the same on gold as it does on EURUSD.
• Momentum: RSI recentred around 50, so it contributes proportionally instead of flipping at a threshold.
• Impulse: the MACD histogram converted to a z-score against its own rolling deviation. This makes MACD comparable across symbols and timeframes without ever re-tuning it, which raw MACD values are not.
• Stretch: the Stochastic, recentred. This is the component that changes behaviour with regime (see below).
🔵 THE REGIME SWITCH (the part that makes it adaptive)
ADX decides whether the market is trending or ranging, and that changes two things.
First, the weights re-balance:
• Trending: Trend 0.35, Momentum 0.25, Impulse 0.30, Stretch 0.10
• Ranging: Trend 0.15, Momentum 0.25, Impulse 0.20, Stretch 0.40
Second, and more importantly, the Stretch component flips sign. In a trend, a stretched Stochastic confirms the move and pushes the score further in that direction. In a range, the same reading argues for a fade and pushes the score the other way. This is the behaviour a discretionary trader applies without thinking about it, and it is what a fixed vote cannot express.
🔵 ADAPTIVE BANDS
There are no 70/30 lines here. The upper and lower bands are the rolling mean of the oscillator plus and minus a multiple of its own standard deviation. A reading of 68 can be an extreme in a quiet market and completely unremarkable in a volatile one, and the bands reflect that.
• BUY: the score crosses above the upper adaptive band
• SELL: the score crosses below the lower adaptive band
🔵 DIVERGENCE
The script finds pivots on the score itself and compares them against price at those same bars. When price makes a higher high but the score makes a lower high, that is marked as a bearish divergence, and the mirror case as bullish. Divergences are labelled and have their own alerts. Because a divergence is anchored to a confirmed pivot, it prints a few bars after that pivot forms and never moves once printed.
🔵 THE DASHBOARD
The panel shows each component's live score, its current weight, the detected regime with the ADX value, and the oscillator against its adaptive bands. You can see exactly which component is driving the reading and why, rather than trusting a black box.
🔵 SETTINGS
• Baseline EMA 34, ATR 14, Trend Span 2.0 x ATR
• RSI 14, MACD 12/26/9, Stochastic 14
• ADX 14, trending above 22
• Band lookback 100, band width 1.0 x standard deviation
🔵 HOW TO USE
• Take signals where the dashboard regime agrees with the direction. A BUY in a trending regime is a continuation. A BUY in a ranging regime is a fade off the bottom of the range.
• Treat a divergence as a warning to tighten or take partials, not as a standalone entry.
• Raise the band width above 1.0 for fewer and stronger signals, lower it for more.
• Widen Trend Span on noisy symbols so ordinary volatility does not read as trend.
⚠️ DISCLAIMER
This is an analysis tool, not a prediction. A confluence score is a measure of agreement, and indicators can agree and still be wrong. Results depend on market conditions, settings, and your own execution and risk management. Shared for educational and research purposes. Not financial advice. Indicator

Multi-Oscillator Divergence Scanner [Quantum Algo]Multi-Oscillator Divergence Scanner
====================================================
🔶 OVERVIEW
Multi-Oscillator Divergence Scanner is a confluence-based divergence indicator that scans up to seven classic oscillators simultaneously — Relative Strength Index, Moving Average Convergence Divergence, Stochastic Oscillator, Commodity Channel Index, On Balance Volume, Money Flow Index, and Momentum — and displays the result on two synchronized canvases at once. Divergence lines, graded labels, and reaction zones are drawn directly on the price chart, while a dedicated pane below plots a Composite Oscillator built from every enabled engine, with the same divergence lines mirrored onto the composite itself. You see both slopes of every divergence — price disagreeing with momentum — in one glance.
The problem this script solves is selective divergence trading. Any single oscillator produces frequent divergences, and most of them fail. Requiring multiple mathematically independent engines — momentum-based, volume-based, and volatility-normalized — to diverge at the same confirmed swing filters the noise down to setups where disagreement between price and participation is broad, not incidental.
🔶 WHAT IS A DIVERGENCE?
A divergence occurs when price prints a new extreme but an oscillator refuses to confirm it. A regular bullish divergence forms when price makes a lower low while the oscillator makes a higher low — a classic reversal condition. A regular bearish divergence forms when price makes a higher high while the oscillator makes a lower high. Hidden divergences are the continuation counterparts: price makes a higher low while the oscillator makes a lower low (hidden bullish), or price makes a lower high while the oscillator makes a higher high (hidden bearish). This scanner detects all four types on confirmed swing pivots.
🔶 WHAT IS THE COMPOSITE OSCILLATOR?
The Composite Oscillator is the consensus reading of every engine you enable. Bounded oscillators (Relative Strength Index, Stochastic, Money Flow Index) contribute their native zero-to-one-hundred values; unbounded engines (Moving Average Convergence Divergence histogram, On Balance Volume, Momentum) are range-normalized over a configurable lookback; the Commodity Channel Index is rescaled onto the same axis. The average of all enabled engines plots as a single gradient line with overbought and oversold guides, a midline fill, and divergence lines drawn directly on it — so the pane shows aggregate momentum from the same engines that vote on every signal, not a separate calculation.
🔶 WHY THIS SCRIPT IS ORIGINAL
1. True multi-engine confluence. Divergences are not detected on one oscillator and decorated with others. All seven engines are evaluated independently at every confirmed pivot, and a signal only exists when the minimum confluence count you set is reached.
2. Dual-canvas mirroring. Every qualified divergence is drawn twice: on price, and on the Composite Oscillator in the pane, connected at the same two pivots. Both slopes of the disagreement are visible simultaneously — the visual proof that defines a divergence.
3. Consensus composite pane. The pane line is not one more oscillator; it is the averaged, normalized voice of the exact engines doing the scanning, colored by a gradient between the oversold and overbought guides.
4. Full transparency on every label. Each signal prints its strength as a diamond meter and lists the exact oscillators that diverged (for example: RSI · OBV · MFI). You always know why a signal exists — nothing is a black box.
5. Strength-scaled visuals. Divergence lines thicken with confluence on both canvases, and signals reaching the Strong threshold upgrade to the accent color, so chart hierarchy communicates quality instantly.
6. Reaction zones with a life cycle. Every regular divergence projects a volatility-sized zone around its pivot (measured in Average True Range). Zones gray out automatically the moment price invalidates them, so the chart always distinguishes live zones from dead ones.
7. Divergence pressure gauge. A decaying pressure model accumulates bullish and bearish divergence weight over time, giving a one-glance read on which side has been stacking disagreement with price.
🔶 HOW IT WORKS
Pivot scanning: Swing highs and swing lows are confirmed with a symmetric pivot lookback. All divergence checks are evaluated on closed bars at pivot confirmation, so historical signals do not repaint. Confirmation lag equals the right-side pivot length by design.
Confluence evaluation: At each confirmed pivot, every enabled oscillator's value at that pivot is compared against its value at the previous same-side pivot. The four divergence types are tested independently per oscillator, and contributions are counted.
Signal grading: Signals meeting the Minimum Oscillator Confluence print with strength diamonds (one per contributing oscillator). Signals reaching the Strong Signal Threshold upgrade to the accent color and thicker geometry on both the price chart and the composite pane.
Composite rendering: The pane plots the consensus line with a gradient fill to the midline, dashed overbought and oversold guides, tinted extreme bands, triangle marks at divergence bars, and the mirrored divergence lines.
Reaction zones: Each regular divergence projects a box around its pivot sized by Average True Range, extended a configurable number of bars. A bullish zone grays out when price closes below it; a bearish zone grays out when price closes above it.
Dashboard: A fully themeable panel on the price chart shows the last signal, a live divergence pressure meter, and one row per engine with its live value — color-coded for overbought, oversold, or directional state — plus each engine's most recent divergence side. Text size (four steps), position, and every color (title band, background, frame, grid, header, body, muted) are adjustable.
Chart hygiene: The number of divergences kept is capped by input, on both canvases. Older lines, labels, and zones are deleted automatically, keeping the chart readable and the auto-scale anchored to current price.
🔶 HOW TO USE IT
1. Works on any market — cryptocurrency, forex, gold, indices, stocks, futures — and any timeframe. Higher timeframes produce fewer, larger-structure signals.
2. Start with Minimum Oscillator Confluence at 2 and the Strong threshold at 4. Raise the minimum to 3 for a strict, low-frequency reversal tool; lower it to 1 to study single-oscillator behavior.
3. Read the pane and the chart together: a valid signal shows price sloping one way and the composite sloping the other, connected at the same pivots.
4. Regular divergences are reversal-oriented: treat them as exhaustion evidence at swing extremes, strongest when the composite is also inside an overbought or oversold band.
5. Hidden divergences are continuation-oriented: treat them as trend re-entry evidence during pullbacks, and do not read them like reversal signals.
6. Use the reaction zone as the decision area: a live zone holding on retest supports the signal; a grayed zone means the divergence failed.
7. The pressure meter is context, not a trigger — persistent one-sided pressure alongside fresh strong signals is the highest-quality condition.
🔶 SETTINGS
- Pivot Left / Right Length — swing size; larger values scan bigger structures.
- Independent toggles and lengths for all seven oscillator engines.
- Composite pane: normalization lookback, overbought and oversold levels, pane marks, and mirrored divergence lines toggle.
- Regular and hidden divergence toggles, minimum confluence, strong threshold.
- Reaction zone height (Average True Range ratio) and extension.
- Divergences To Keep — caps historical drawings on both canvases for chart cleanliness and stable auto-scale.
- Dashboard with adjustable text size, position, live oscillator values, and full color theming.
- Full color customization for all chart drawings and pivot markers.
🔶 ALERTS
- Bullish Divergence / Bearish Divergence — a regular divergence met the confluence minimum.
- Hidden Bullish Divergence / Hidden Bearish Divergence — a continuation divergence met the minimum.
- Strong Divergence — a regular divergence reached the strong threshold.
🔶 FREQUENTLY ASKED QUESTIONS
Does the indicator repaint? No. Divergences are evaluated only on confirmed pivots at bar close. The trade-off is intentional confirmation lag equal to the right-side pivot length.
Why does a pane divergence line sometimes start slightly off the composite's visual peak? Divergence is measured at price structure points. The line connects the composite's values at the two confirmed price pivots, which is the correct comparison even when the composite made its own extreme a bar or two away.
Why do some obvious divergences not print? Either the confluence minimum was not reached, the oscillator involved is disabled, or the swing did not confirm as a pivot under the current lengths.
Which oscillators should I enable? The default set mixes momentum and volume perspectives, which is the point of confluence: independent evidence, not seven copies of the same math.
Is a Strong signal a guaranteed reversal? No. Strength counts agreement between engines; it is a transparency measure, not a probability of profit.
🔶 CREDITS
This script builds its scanning and composite engine on classic, public-domain oscillators, and gratefully credits their creators: the Relative Strength Index by J. Welles Wilder Jr. (1978), Moving Average Convergence Divergence by Gerald Appel, the Stochastic Oscillator popularized by George C. Lane, the Commodity Channel Index by Donald Lambert (1980), On Balance Volume by Joseph Granville (1963), and the Money Flow Index by Gene Quong and Avrum Soudack. All oscillator calculations use standard built-in formulas. Drawing divergence lines on an oscillator is a long-established charting convention popularized by many community authors, acknowledged here as shared prior art. The multi-engine confluence scanner, the consensus Composite Oscillator, the dual-canvas mirroring, transparency labeling, strength grading, reaction zone life cycle, pressure model, and all code in this script are original work — no third-party or open-source script code was reused.
🔶 LIMITATIONS
Divergence can persist or fail entirely during strong trends; regular divergences against a powerful trend are the weakest application. Volume-based engines (On Balance Volume, Money Flow Index) are less meaningful on symbols with unreliable volume reporting. The composite's normalized components depend on the normalization lookback. Pivot confirmation introduces intentional delay. No indicator replaces independent analysis.
🔶 DISCLAIMER
This script is provided strictly for educational and informational purposes. It is not financial advice, an investment recommendation, or a solicitation to buy or sell any financial instrument. Past behavior of any signal does not guarantee future results. Trading involves substantial risk. Always do your own research and manage risk independently.
Indicator

Reversal Confluence Sniper [JOAT]Reversal Confluence Sniper
Hunts exhaustion reversals by requiring several independent exhaustion signals to appear together, so it fades stretched moves with confirmation rather than hope.
What it is
Fading a trend is dangerous when done on a single cue. This indicator only flags a potential reversal when multiple, independent signs of exhaustion coincide at the same moment — turning a risky counter-trend guess into a confluence-gated setup. It is an original reversal engine, not a lone oscillator flip.
How it works
The engine looks for several exhaustion conditions and requires enough of them to align:
• Momentum extreme — an oscillator reaching and rolling over from an overextended level, showing the push is losing force.
• Volatility stretch — price extended a statistically large distance from a mean or band, marking an unsustainable move.
• Rejection candle — a wick or close that rejects the extreme, showing the aggressive side failed to hold new ground.
• Participation — a volume or effort read that flags climax or fade behaviour rather than steady continuation.
A Buy (bullish reversal) prints when enough downside-exhaustion factors align; a Sell when enough upside-exhaustion factors align. A minimum-gap control prevents repeated prints while a market chops around an extreme.
Trade levels
Each signal draws a red risk box to a stop placed beyond the exhaustion extreme and a green reward box to the third target, with inner dividers and right-edge labels for entry, stop and each take-profit at your R multiples. Placing the stop beyond the extreme respects the idea that if price makes a new extreme, the reversal thesis is wrong.
The dashboard
An adjustable sniper-scope panel shows which exhaustion factors are currently active, a combined conviction reading, the active signal, and a live first-target-before-stop tally from closed bars only, so you can see how much confluence backs each setup.
How to use it
• Works on any asset and timeframe.
• Most effective for timing entries at the end of a stretched move, ideally into a higher-timeframe level or zone.
• Because it fades momentum, pair it with structure or a level tool and keep stops disciplined — reversals that do not confirm should be cut quickly.
Settings
The exhaustion factor lengths and thresholds, the number of factors required to trigger, risk multiple and target R multiples, plus visual and dashboard controls.
Originality and usefulness
The contribution is the confluence gate itself: several independent exhaustion measures that must agree before a counter-trend signal is allowed, with a transparent readout of which factors fired and integrated, non-repainting trade framing. It is designed to make fading safer by demanding evidence, not to promise reversals.
Notes and limitations
• Counter-trend trading is inherently higher risk; strong trends can stay stretched far longer than expected and overrun any reversal signal.
• Requiring more factors reduces false signals but also reduces frequency — this trade-off is yours to set.
• The tally reflects only past bars on the current chart and is not a forecast.
• Educational and analytical tool, not financial advice.
— made with passion by officialjackofalltrades
Indicator

Support & Resistance Confluence Levels, Hold Record & ReversalOVERVIEW
Four lines. Two above price, two below. That is the whole chart.
Every other support/resistance tool has the opposite problem. It finds forty levels and leaves you to work out which two matter. Forty levels is not information, it is wallpaper — and a level you have to hunt for is a level you will not trade.
So this tool inverts the design. It does not ask "where are the levels?" It asks:
WHICH LEVEL WOULD I ACTUALLY TRADE, RIGHT NOW, AND WHY SHOULD I BELIEVE IT?
A price is only promoted to a level when SEVERAL INDEPENDENT METHODS AGREE ON IT. One method finding a level proves nothing — every method finds levels everywhere. The signal is AGREEMENT.
This is a research and framing tool. It is NOT a strategy, NOT a signal service, and NOT a validated edge.
THE SIX VOICES — four propose, two confirm
PROPOSERS. Each nominates candidate prices, independently:
◆ SWING PIVOT the classic. Where price actually turned.
~ KERNEL EXTREMUM the turning point of the SMOOTHED price (Nadaraya-Watson), which is the shape
rather than the noise. This is Lo, Mamaysky and Wang's method, and it finds
structurally different levels from a raw pivot. That independence is exactly
what makes agreement between the two worth something. Agreement between two
methods that make the same mistakes is worth nothing at all.
⇈ HIGHER TIMEFRAME a swing on the HTF. The level a bigger participant is watching.
▣ PRIOR PERIOD yesterday's high and low. Last week's high and low. The most watched prices on
any chart — and missing from almost every auto-S/R script on PulseWire.
CONFIRMERS. They do not nominate, they vouch:
▪ VOLUME NODE the level sits where volume actually transacted. Real business was done here,
not merely a turning point.
○ ROUND NUMBER the psychological grid.
Candidates within an ATR tolerance merge, and the merged level inherits every voice that spoke for it. A level needs MIN VOICES to exist at all. Everything below that is DISCARDED, not hidden. Then only the nearest two above and two below are drawn.
The label tells you why the level is there: "◆~▣▪ 4v held 3/4 24,247.00" — four independent voices, tested four times, held three.
AND THEN THE PART NOBODY DOES: WE TEST WHETHER CONFLUENCE ACTUALLY RANKS
"Levels are stronger when several methods agree" is one of the most repeated claims in technical analysis and almost nobody has ever checked it. It is checkable. So the panel reports:
High confluence (3+) +0.24R n=61 PROVEN
Low confluence -0.03R n=88
Control (unconditional) +0.02R n=240
DOES CONFLUENCE RANK? YES — more voices IS better
And the control is DIRECTION-MATCHED. Reversals at support are overwhelmingly LONG on a drifting index — and a long-biased event set compared against a 50/50 control is handed the drift for free and calls it an edge. Longs are compared only with control longs, shorts only with control shorts, and the control is then blended back using the events' OWN direction mix. It is a subtle trap and it will manufacture an edge out of nothing if you let it.
And the verdict is a TEST, not a comparison. High confluence is measured against low confluence with a Welch t-test, and the difference must clear |t| > 1.96 before it is allowed to be a finding. Below that, the panel prints the least satisfying answer there is — NO DIFFERENCE — because that is the honest one. A tool that reports a 0.02R gap as a verdict is not measuring anything, it is decorating.
If the extra voices do not rank on your instrument, then on your instrument they do not rank, and no amount of agreement between methods will change that. That row is the reason this script exists.
THE HOLD RECORD — and why "held 3/4" is not what most scripts mean by it
A TEST IS AN EPISODE, NOT A BAR. Price arrives at the level and the test stays OPEN until price LEAVES it — back the way it came (HELD) or straight through (BROKE). A bar that closes INSIDE the zone has resolved nothing and is counted as nothing.
Counting every touching bar as a completed test drops an entire consolidation into the denominator as failures, and manufactures hold rates near 10% that say nothing about the level and everything about the counter. An unresolved test is neither a hold nor a break, exactly as an unresolved trade is neither a win nor a loss.
AND A TEST IS AN APPROACH, NOT A BAR TOUCHING A BOX. Price exits the zone (HELD), the next bar dips straight back in — and without a re-arm rule that counts as a brand-new test. Chop sitting on a level then logs a hundred "tests" that were really one event. Measured live before this was fixed: 224 tests of a single level on a 5m chart, and hold rates that all landed between 61% and 75% no matter which level you looked at. A statistic that cannot tell any two levels apart is not measuring the levels — it is measuring the bar size. Price must now travel clear of the zone before the level can be tested again. One approach, one test.
The volume filter gates the SIGNAL and never the RECORD. A level that holds on thin volume still HELD. Quietly dropping it from the numerator while leaving it in the denominator is how a hold rate gets manufactured.
IF TWO ZONES OVERLAP, THEY ARE THE SAME LEVEL
The merge tolerance is held to at least the combined zone half-widths. Otherwise two levels a fraction of an ATR apart refuse to merge and then draw overlapping boxes anyway, and the geometry contradicts itself on the chart for anyone to see. It is a small thing that quietly tells you the tool was never looked at.
A LEVEL IS AN ANCHOR, NOT A TRAILING AVERAGE
Levels merge as new candidates arrive, and the merged price is a COUNT-WEIGHTED mean: the tenth candidate moves the level by a tenth of the gap, not half of it. This sounds like a detail. It is not. A level that moves halfway toward every new candidate will slide toward price — because price is where new candidates come from — until it is no longer an anchor at all, but a trailing average sitting in the middle of the action, "tested" on every swing. The maths here is the difference between a level and a moving average with extra steps.
Levels are retired by DISTANCE, and confluence buys REACH. A level far from price is useless however many voices it has; a level at price is what you are trading. But eviction cannot simply drop the weakest, either — every level is BORN with one voice, so a weakest-first rule kills every new level in the cradle, before it can earn a second, and the chart slowly fills with ancient far-away fossils while nothing can form where price actually is. Confluence buys a level the right to be further away. It does not buy it immortality.
THE REVERSAL TRADE — because nobody looks at a level to admire it
Price tests the level and closes back out. Entry at the CLOSE, stop beyond the level, target a fixed R multiple.
ENTRY IS THE CLOSE, for the event and for the control alike. A rejection is a SIGNAL, not a fill.
Entering at the level — a better price — while the control enters at the close hands every level a
free head start, and it would "win" without the level having done anything at all.
THE R MULTIPLE IS FIXED so that the event and the control are measured on IDENTICAL geometry. A
variable target against a fixed-target control is not a comparison: the near target is reached more
often AND resolves inside the grading horizon more often, so the two are not even being asked the
same question.
THE NEXT OPPOSING LEVEL is drawn too, and separately tested: is it reached before the stop, and HOW
FAR AWAY IS IT IN R? A hit rate with no distance attached is a fact about the distance, not about
the levels — a target half a unit of risk away being reached often proves nothing.
Signals fire only at the levels actually on screen. Every level keeps its record; only the ones you are watching can fire. You do not trade a level twelve levels away from price.
And when a level BREAKS, you are told. A level holding is the reversal; a level giving way is the other half of why anyone draws one. Breaks are marked with an x and carry their own alerts — reported as pure information, with no trade framed and no claim made, because the break is not what this engine calibrated. Saying so is cheaper than pretending otherwise.
NON-REPAINT, AND ITS HONEST COST
Pivots confirm some bars late. The kernel extremum confirms a half-window late — a centred kernel looks into the future, and we refuse to. So a level appears some bars AFTER the swing that created it. That lag is the price of not repainting and it is paid deliberately.
Levels, tests, holds, breaks, signals and every calibration event are computed on CONFIRMED bars only. The HTF read uses lookahead_off. Nothing is drawn and then moved.
DATA AND SCOPE
Any symbol, any timeframe. ATR-normalised throughout. Volume improves the score but is NOT required — without it the volume-node voice simply abstains rather than guessing.
HOW TO USE
0. Turn the KEY on once (Dashboard & theme > Show the key). It explains the six glyphs. Turn it off
again — you only need it the first time.
1. MIN VOICES is the one input that matters. 1 gives you the forty-line wallpaper every other S/R
script gives you. 2 requires agreement. 3 shows only the prices several independent methods
arrived at on their own. Raise it until the chart shows levels you would actually trade.
2. Read the hold record. "Held 3/4" tells you more than any colour ever will.
3. READ THE CONFLUENCE VERDICT BEFORE YOU WEIGHT ANY OF IT. If the voices do not rank here, a level
is a LOCATION, not a probability — treat it as context, not as a signal.
4. Wait for the rejection: price into the level, close back out, on real volume.
5. Entry, stop and target are drawn. They are arithmetic, not advice.
ALERTS
Support held · Resistance held · Any rejection · Support broke · Resistance broke
EXPORTS (Data Window — consume from other scripts via input.source())
EXP_Sup1, EXP_Sup2, EXP_Res1, EXP_Res2, EXP_SupVoices, EXP_ResVoices, EXP_Signal, EXP_Entry, EXP_Stop, EXP_Target, EXP_ConfluenceEdge
CONCEPT CREDIT
Support/resistance and polarity are long-standing public trading concepts with no single author; the written tradition runs through Charles Dow, Richard Wyckoff and Edwards & Magee.
The TRADING-RANGE BREAK — the formal S/R rule — was first tested at scale by William Brock, Josef Lakonishok and Blake LeBaron, "Simple Technical Trading Rules and the Stochastic Properties of Stock Returns", Journal of Finance 47(5), 1992. Their findings were later shown to be vulnerable to data-snooping (Sullivan, Timmermann and White, 1999) — which is precisely why this tool MEASURES the rule on your instrument instead of asserting it.
Nonparametric kernel regression for level detection is from Andrew W. Lo, Harry Mamaysky and Jiang Wang, Journal of Finance 55(4), 2000; the Nadaraya-Watson estimator is due to Nadaraya and Watson (1964). ATR — J. Welles Wilder. Triple-barrier forward labelling — Marcos Lopez de Prado. Welch's t-test — B. L. Welch.
The confluence gate, the voice model, the episode-based hold record, the confluence-ranking test and the direction-matched control are the author's own. Clean-room implementation; no third-party Pine code is reused. Not affiliated with, nor endorsed by, any of the above.
HONESTY AND LIMITATIONS
Calibration is IN-SAMPLE, with no costs or slippage, and uses overlapping windows. A proven in-sample edge is NOT a guarantee out-of-sample. Real fills, spreads and commissions will reduce it.
The confluence gate is one rule among many — a different tolerance gives different levels.
Confluence is TESTED here, not assumed. If the panel says the extra voices do not rank, then on this instrument they do not, and no amount of agreement between methods will change that.
Both barriers on one bar: the STOP is assumed first — conservative, and the only assumption that cannot flatter the result. Unresolved trades at the horizon are marked to market, not booked as losses. Nothing is marked PROVEN below t = 1.96, and nothing is rated at all below the minimum sample.
Nothing in this script predicts price.
DISCLAIMER
Research and educational tool only. NOT financial advice, NOT a recommendation, and NO guarantee of results. Entry, stop and target output is arithmetic, not advice. Trading carries risk of loss. Test out-of-sample and make your own decisions. The author accepts no liability for any use. Indicator

Adaptive Volume Confluence OscillatorWhat it is
One pane that fuses seven different reads of the bar into a single 0–100 confluence score, gates that score by a trend-vs-chop regime filter, confirms it against an auto-mapped higher timeframe, and — most importantly — forward-calibrates its own Buy/Sell signals against an unconditional base rate, so you can see whether the construction actually carries an edge on your instrument.
The seven votes: momentum sign · momentum vs its signal · money flow · trend structure (MA fan) · price location vs VWAP · trend slope · higher-timeframe bias.
The displayed wave is a volume-flow ribbon; the votes drive the score, the signals and the verdict. A plain-language verdict and a subtle pane tint make it readable at a glance (Simple view); a full analytic layer is available for advanced users (Pro view).
Why these are combined (mashup rationale)
A single oscillator whipsaws and a single signal over-fires. Combining helps only when the inputs key on different quantities and their agreement is checked. Each vote reads a different thing — momentum, momentum-vs-signal, volume flow, multi-MA structure, location vs a session mean, slope, and a higher-timeframe read — so the count that agrees carries more information than any one of them alone. A Kaufman Efficiency-Ratio regime gate suppresses conviction in chop, and a forward-calibration harness ties the whole construction back to realised forward outcomes.
An honest caveat, stated up front: the votes are not statistically independent. The oscillator itself embeds money flow, and vote 2 is derived from vote 1's series. Treat the score as a weight-of-evidence read, not as seven independent confirmations. The harness exists precisely so you can check whether the construction earns its keep on your instrument rather than taking the claim on faith.
How it works
Score — how many of the seven votes are bullish, scaled 0–100.
Regime — Kaufman Efficiency Ratio. Below the chop threshold, conviction dims, signals are withheld, and the verdict reads "WAIT – choppy".
HTF — the chart timeframe auto-maps to a confirming higher timeframe (~4–6×), requested with lookahead_off and offset by one bar while the live bar forms.
Signals — Buy/Sell fire only when the oscillator crosses its signal at a statistical OB/OS extreme and the score agrees and the regime isn't choppy and the visible wave isn't already at the opposite extreme.
Climax — a volume spike at an OB/OS extreme prints a Possible Bottom/Top exhaustion mark.
Divergence (Pro) — regular + hidden, from confirmed pivots on the momentum oscillator.
Calibration — each Buy/Sell is queued and resolved a fixed horizon later, then compared with the unconditional same-horizon base rate. The dashboard shows, per side: Hit %, Edge = Hit − Base, sample size, and a Wilson-gated star.
How to use it
Read the verdict and the score. Above the gate = bullish weight of evidence; below = bearish; in between, or in chop, the tool says WAIT — and it means it.
Treat Buy/Sell marks as context, not triggers. They already require the score, the regime and the wave to agree, but they remain a description of conditions — not a recommendation.
Read the Edge row before you weight any signal. If Buy/Sell Edge isn't clearly positive with an adequate sample and a star, this construction is not carrying an edge on this instrument — weight it down or ignore it. Do not tune the parameters until the Edge turns green: that is curve-fitting, and the harness is there to catch it, not to be defeated.
Combine with your own levels, structure and risk rules.
Universal across markets
Price / high / low are inputs, so the engine runs on any symbol or timeframe. The volume votes (money flow, climax, VWAP location) need real volume — prefer a futures contract or a stock. On a symbol with no volume the tool degrades gracefully: money flow is neutralised, the score falls back to the price-only votes, and the dashboard says "NO VOLUME", so you're never misled by a blank or a phantom reading.
Non-repainting
Votes read confirmed closes. The HTF series uses lookahead_off and is offset by one bar while the live bar forms. Divergences come from ta.pivot* and confirm a few bars after the pivot; once printed they don't move. The calibration harness logs and resolves only on confirmed bars, so its statistics never inflate intrabar. The live oscillator updates each bar, like any oscillator.
Concept credits
Super Smoother and Ultimate Smoother low-lag filters — John Ehlers. Chebyshev Type-I filter — classical DSP. Recursive (Kalman) smoothing — R. E. Kalman. Volume Zone Oscillator — Walid Khalil & David Steckler. Accumulation/Distribution money-flow multiplier — Marc Chaikin. Efficiency Ratio — Perry J. Kaufman. ATR — J. Welles Wilder. Wilson score interval — Edwin B. Wilson. VWAP, Hull MA and percentile rank — standard public methods.
Original implementation; not affiliated with, nor endorsed by, any third party. No third-party code is reused.
Honest limits
The score is context, not a guarantee, and the votes are correlated (see the caveat above). The Edge figures are in-sample, close-to-close, with overlapping forward windows and no costs — descriptive context, not a verified backtest. An Edge near zero, negative, or unstable across timeframes is the harness honestly telling you the signal has no reliable edge on that instrument. Nothing here predicts price.
Disclaimer
Research and educational tool only. Not financial advice and no guarantee of profitability or accuracy. Indicators describe past behaviour; they do not predict the future. Trading carries risk of loss. Test out-of-sample and make your own decisions. The author accepts no liability for any use of this script. Indicator

Confluence Reaction Zones | ProjectSyndicateConfluence Reaction Zones reads seven classic indicators as a single contrarian composite, then commits a shaded support/resistance zone only where structure and sentiment agree at an extreme. Instead of drawing yet another line at every swing, it waits for a confirmed pivot, samples the composite at that pivot, and color-classifies the level by what the composite was doing when the level formed — deep-oversold support becomes a BUY-DIP zone, overbought resistance becomes a SELL-RIP zone, and everything in between is flagged MIXED. Every zone is ranked 0–10 with a star score, re-scored on each retest, and neutralized the moment price closes through it — and a live diagnostics panel shows the full seven-signal breakdown driving the read, so you can see exactly why a zone is the color it is on the pair and timeframe you trade.
🧠 Composite Core — the central idea. Seven engines — RSI, the EMA stack (9/21/50/100/200/250), MACD, ADX/DI, Ichimoku, Bollinger Bands, and OBV — are each graded onto a 1–5 tube level, where 5 is an oversold / exhausted extreme (a contrarian BUY read), 1 is an overbought extreme (a contrarian SELL read), and 3 is neutral. The seven levels are averaged into a single 0–100 Composite: high means the market is stretched to the downside and coiled to bounce; low means it is stretched to the upside and vulnerable to fade. This is a genuine fade-the-extreme model — it leans against the crowd at the point of exhaustion, not with it.
📈 Contrarian Zone Classification — where the composite meets structure. A zone is born on a confirmed swing pivot, and its class is set by the Composite sampled at that pivot bar. A support pivot that forms while the Composite is oversold becomes a high-conviction BUY-DIP zone; a resistance pivot that forms while the Composite is overbought becomes a high-conviction SELL-RIP zone; a pivot whose structure and Composite disagree is drawn as a dimmed MIXED zone. Because pivots are confirmed and the Composite is read at the settled pivot bar, the classification is fixed once the bar closes — the zones do not repaint.
🎯 Shaded Reaction Bands + Structural Behavior. Each zone is a multi-layer, double-shaded band sized in ATR, with a center line, an inside-edge label, and a live touch counter. Bands extend forward as price develops, tally each clean retest, and re-score on every test. The instant price closes beyond the zone by an adjustable invalidation offset, the level is neutralized — recolored to a muted tone (or dropped entirely) — so a broken level reads as spent context, never as a live signal. Opacity is graded by strength, so the strongest zones sit boldest on the chart.
⭐ 0–10 Zone-Quality Score. Every zone is scored and starred across contrarian-native factors: how far the Composite was from neutral at birth (extremity / conviction), relative volume at the pivot, rejection-wick fraction at the pivot, and buy/sell pressure alignment with the zone's direction — with additional credit accruing for each confirmed retest, capped at 10. Read the score as a confluence / cleanliness rank for thinning and prioritizing zones: it describes how textbook a reaction level is, not a guaranteed outcome.
🧭 Buy/Sell Pressure Split. A rolling intrabar volume split estimates the balance of buying versus selling over a configurable window. It feeds the zone score and prints live on the dashboard as a ▲ buy / ▼ sell percentage, so the participation behind a level is visible at a glance and factored into how the level is graded.
🎚️ Declutter & Conviction Controls. A tight set of dials governs how busy and how selective the chart is: Oversold / Overbought thresholds define what counts as an extreme; a Dedupe Separation (×ATR) filter stops new pivots from stacking bands and labels on top of existing same-side zones; Max Zones caps the live set; Keep-last-N-broken caps neutralized history so gray levels never accumulate into clutter; a Show MIXED toggle hides conflicted zones for a directional-only view; and the invalidation offset sets how decisively price must close through a level to kill it. Tighten for a clean, high-conviction chart; loosen for full structural context.
📊 Live Diagnostics Dashboard. A compact institutional panel tracks, in real time on your chart: the Composite score with a fill bar; the Verdict — BUY DIPS / SELL RIPS / NEUTRAL; the buy/sell pressure split; a full signal diagnostics table showing each of the seven engines at its current tier (L1 ⇊ OVERBOUGHT → L5 ⇈ OVERSOLD), color-keyed so you see instantly which inputs are driving the composite; the active BUY-DIP and SELL-RIP zone counts; and the nearest active zone with its class, star score, and distance in ATR. It is a live read of the engine's current state on your symbol — not a printed statistic.
🎨 Clean Themed Visuals. A dark institutional palette in three schemes — Classic (teal / red / amber), Ice (cyan / pink), and Emerald (green / red / gold) — colors the zone bands, center lines, labels, dashboard, and optional candle tint into one coherent look, so class and conviction read at a glance. Candles inside a live zone are tinted to its color, and small OS / OB dots mark the exact bars where the Composite flips into an oversold or overbought extreme — the moment a fresh contrarian setup arms.
🔔 Alerts. Fires on Composite oversold / overbought flips, on BUY-DIP and SELL-RIP zone retests, and on zone invalidations — formatted for manual or automated use — so you can be pinged when sentiment reaches an extreme or when price returns to a graded level rather than watching the chart.
🔧 Fully Customizable. Every component is exposed: the seven signal parameters (RSI length/source, EMA stack, MACD lengths and MA types, ADX/DI length and tolerance, Ichimoku periods, Bollinger length/MA/source, and the full OBV rise/fall/spike model); the oversold/overbought composite thresholds and pressure lookback; pivot strength, ATR length, zone height, dedupe separation, max zones, invalidation offset, MIXED visibility, broken-zone tone and history cap; gradient fill, candle tint, extreme dots; dashboard position and size; and all three themes.
🎯 Why this is different. Most support/resistance tools draw lines at pivots and leave interpretation to you — every level looks the same whether the market was exhausted or trending into it. This engine reads seven indicators as one contrarian composite, only commits a zone where a confirmed pivot lines up with a sentiment extreme, color-codes the level by that agreement, ranks it 0–10, re-scores it on every retest, and neutralizes it the instant it fails — then surfaces the entire seven-signal rationale on a live panel. You are looking at classified, ranked, self-invalidating levels with the reasoning attached, not an undifferentiated ladder of lines.
🚀 Where to use it. Symbol- and timeframe-agnostic — it runs on forex, indices, metals, crypto, and equities across intraday and higher timeframes. Because the score and pressure split use volume (OBV, relative volume, buy/sell balance), it is sharpest on instruments where volume is meaningful and degrades gracefully where it is only tick volume. Larger Pivot Strength yields fewer, more significant zones on higher timeframes; smaller values give a more reactive intraday map.
🎯 How to trade it
Apply it to a liquid instrument and let the zones and dashboard populate. Read the Composite and Verdict for the prevailing contrarian bias, and use the signal-diagnostics table to see which of the seven engines are actually stretched.
Favor BUY-DIP zones for longs and SELL-RIP zones for shorts, prioritizing higher star scores and, ideally, a Composite already leaning the same way — a fresh OS / OB dot near a matching graded zone is the intended confluence.
Treat each zone as a decision level: plan entries on a controlled retest into the band, define invalidation by a decisive close through it (the same event that neutralizes the zone on the chart), and manage targets against the next opposing zone or your own R model.
Use Dedupe Separation, Max Zones, Show MIXED, and Keep-last-N-broken to set chart density — stricter for a clean, high-conviction map; looser for full structure — and use the star score to focus on the cleanest reaction levels.
⚠️ Important — this is a decision-support tool, not a standalone buy/sell system, and it makes no performance guarantees. The 0–10 score is a confluence / cleanliness rank that describes how textbook a reaction level is; it is not a probability or a promise of outcome, and the dashboard is a live read of the engine's current state, not a backtest or forecast. Zones and their classification confirm on the closed pivot bar, so pivots print with the built-in confirmation lag and you should always wait for a settled level. Contrarian logic fades extremes and will be wrong in strong trends — always pair it with higher-timeframe context, your own analysis, and disciplined risk management, and test it on your market and timeframe before trading it live. Indicator

Helix Lucky MTF Bias and Breakout DashboardHelix Lucky MTF Trend and Breakout Dashboard
📊 Overview
Helix Lucky MTF Trend and Breakout Dashboard is an overlay indicator designed to organize trend, momentum, breakout context, key levels, and multi-timeframe alignment into one chart-based dashboard.
The purpose of the script is not to combine unrelated indicators into a single display. The script separates market analysis into distinct layers so each component has a specific role:
1. Trend structure
2. Momentum confirmation
3. Breakout context
4. Multi-timeframe alignment
5. Key level awareness
6. Setup scoring
7. Optional visual confirmation tools
The result is a confluence-based workflow that helps traders review whether multiple independent conditions are aligned before making a trading decision.
🧩 How the Main Components Work Together
The script uses moving averages, VWAP, MACD, ZLSMA, UT Bot logic, Supertrend, ADX, RSI, and Opening Range Breakout logic as separate inputs within the same framework.
The moving average group provides basic trend structure by comparing shorter-term and longer-term averages. The default structure uses a fast EMA, medium EMA, and long SMA, but users can configure the moving average types and lengths.
VWAP provides session or higher-period price-location context. It can be anchored to the session, day, week, month, quarter, or year and may be displayed with standard deviation or percentage-based bands.
MACD is used as a momentum confirmation layer. The script includes a minimum separation filter so very small MACD differences can be filtered out instead of being treated the same as stronger momentum shifts.
ZLSMA is optional and can be used as an additional trend-direction filter.
The UT Bot component is used as the primary chart label engine. It uses an ATR-based adaptive trailing stop. The script adjusts the trailing distance using volatility, momentum, and volume conditions, then produces Buy or Sell labels when price crosses the trailing stop and the configured filters allow the signal.
Supertrend provides a separate trend-regime layer. This gives the user a second way to compare the UT Bot label against a broader trend condition.
ADX is used to evaluate whether trend strength is above the user-selected threshold. RSI can be used either in a classic 30/70 bias mode or with custom pullback zones.
The Opening Range Breakout component tracks whether price is above, below, or inside the selected opening range window. This helps separate trend-following conditions from range-bound conditions.
🧠 Why This Is More Than a Simple Mashup
Each component is assigned a different purpose. The script is designed so the same tools are not all treated as equal standalone signals.
Trend tools identify direction.
Momentum tools evaluate confirmation.
Volume and relative volume help evaluate participation.
Opening Range Breakout logic identifies range expansion.
The Bias Table compares selected conditions across multiple timeframes.
The Price Point Dashboard displays important reference levels and live context.
The scoring layer organizes these conditions into a rule-based summary.
This structure allows the script to reduce chart clutter while still showing how the underlying conditions agree or disagree.
🕒 Multi-Timeframe Bias Table
The Multi-Timeframe Bias Table displays up to eight selectable timeframes, including 1 minute, 5 minutes, 15 minutes, 30 minutes, 1 hour, 2 hours, 4 hours, and Daily.
Each row evaluates one condition, such as moving average structure, price relative to VWAP, MACD alignment, Supertrend direction, ZLSMA slope, RSI condition, ADX threshold, Opening Range Breakout status, and longer-period bias.
The table also includes an average agreement reading. This reading is not a prediction and does not represent a win rate. It simply shows how many selected conditions are aligned across the active timeframes.
By default, the script can hide timeframes below the current chart timeframe. This is intended to reduce lower-timeframe noise when viewing higher-timeframe charts.
📍 Price Point Dashboard
The Price Point Dashboard displays reference levels and market context in one location. These can include prior day high, prior day low, prior day close, pivot levels, moving averages, 52-week high, Fibonacci reference levels, VWAP information, Opening Range Breakout status, ATR, gap percentage, relative volume, and other selected dashboard fields.
The dashboard is intended to help users see where price is trading relative to important reference levels without manually adding each level to the chart.
📈 Trend Strength Score
The Trend Strength Score is a rule-based 0 to 100 score that measures how strongly the current bar aligns with selected bullish trend conditions.
The score uses five weighted components:
- EMA alignment
- VWAP location
- MACD alignment
- Supertrend direction
- ADX strength
The score is a summary of internal conditions only. It does not predict future price movement.
🎯 Trade Probability Score
The Trade Probability Score is a rule-based 0 to 100 setup-quality score. It is calculated from twelve weighted factors:
- Multi-timeframe alignment
- EMA stack
- VWAP location
- Price relative to the 200-period moving average
- MACD alignment
- Supertrend direction
- ADX strength
- Relative volume
- Opening Range Breakout status
- Relative strength versus a selected benchmark
- Volatility state
- Position relative to key levels
The score is intended to summarize confluence. A higher score means more of the script’s internal conditions are aligned. It does not mean that a trade will be profitable, and it should not be interpreted as a guaranteed probability of success.
💧 Liquidity Sweep Detection
The script can detect liquidity sweep conditions by checking whether price moves beyond a recent swing high or swing low and then closes back inside that level.
A Sweep High label indicates that price moved above a recent high and then closed back below that level.
A Sweep Low label indicates that price moved below a recent low and then closed back above that level.
These labels are intended to identify possible rejection behavior around recent swing points. They should be used as context, not as standalone trade signals.
⚖️ Relative Strength
The script includes relative strength comparison against configurable benchmark symbols. The default benchmarks are QQQ and SPY.
Relative strength is calculated by comparing the current symbol’s intraday return against the benchmark’s intraday return. A positive value means the current symbol is outperforming the benchmark over that comparison period. A negative value means it is underperforming.
🌡️ Volatility State
The Volatility State feature classifies the current volatility environment as Squeeze, Normal, or Expansion.
This is based on Bollinger Band width compared with Keltner Channel width and recent volatility behavior.
Squeeze indicates compressed volatility.
Normal indicates a standard volatility environment.
Expansion indicates that volatility has increased relative to recent conditions.
This feature is included to help users understand whether price is consolidating, behaving normally, or expanding in volatility.
🕯️ Candlestick Pattern Labels
The script includes optional candlestick pattern labels. These patterns are detected on the same timeframe as the chart. They are not calculated from a separate hidden timeframe.
Optional labels include:
- Bullish Engulfing
- Bearish Engulfing
- Hammer
- Shooting Star
- Morning Star
- Evening Star
- Inside Bar
- Tweezer Top
- Tweezer Bottom
- Doji
- Dragonfly Doji
- Gravestone Doji
- Sweep High
- Sweep Low
These labels are intended as additional context. They should not be treated as standalone entries without reviewing trend, momentum, volatility, and key-level context.
🛑 Suggested Stop Loss and Take Profit Reference Lines
The script can plot suggested stop loss and take profit reference lines after a UT Bot label appears.
The stop line is calculated from internal structure such as the UT Bot stop, Supertrend, VWAP, moving average, Donchian floor, and a minimum ATR-based risk floor depending on settings and context.
Take profit reference lines are based on R-multiple distances from the suggested stop. These are visual planning tools only. They do not place trades, manage positions, or execute orders.
🧭 How to Use the Script
A typical workflow is:
1. Select the chart timeframe and market being reviewed.
2. Review the Multi-Timeframe Bias Table to understand directional alignment.
3. Check whether the chart is trending, ranging, breaking out, or consolidating.
4. Review the Price Point Dashboard for key levels and market context.
5. Watch for a UT Bot Buy or Sell label if labels are enabled.
6. Compare the label direction with Supertrend, MACD, VWAP, ADX, and the Bias Table.
7. Review the Trend Strength Score and Trade Probability Score as confluence summaries.
8. Use the suggested stop and take profit reference lines only as visual planning tools.
9. Apply independent risk management and confirm the setup with your own analysis.
🌍 Timeframes and Markets
The script can be applied to different chart timeframes and PulseWire-supported markets. Lower timeframes may produce more signals and more noise. Higher timeframes may produce fewer signals but can provide broader context.
The Multi-Timeframe Bias Table is intended to help users avoid looking at a single timeframe in isolation.
⚠️ Important Limitations
This script is an indicator, not a strategy. It does not place trades, backtest trades, manage orders, or connect to a brokerage account.
The scoring systems are rule-based summaries of current chart conditions. They are not win-rate models, machine-learning predictions, or guarantees of future results.
Signals, labels, and dashboard values can vary by symbol, timeframe, liquidity, volatility, and user settings.
The Bias Table is a live context dashboard and may update while the current bar is forming. This is expected behavior because some values are based on developing bar data.
The “Draw visuals only on bar close” setting gates the UT Bot entry visuals and suggested stop/take-profit drawings to confirmed bars. It does not freeze every live dashboard value while a bar is developing.
Liquidity Sweep labels can be gated to bar close using the Bar Close Only setting.
The script is designed for standard chart analysis. Signals on non-standard chart types may behave differently because those chart types can use synthetic price construction.
No signal, score, table reading, or label should be used as a guarantee of future price movement. Users should apply their own analysis and risk management.
🧾 Credits and Inspiration
This script was inspired by the concept of combining a multi-timeframe bias table, trend labels, and a price-level dashboard into one overlay.
The current script is a ground-up Pine Script v6 implementation with additional architecture, including the rule-based Trade Probability Score, Trend Strength Score, liquidity sweep detection, relative strength comparison, volatility state classification, configurable dashboards, candlestick pattern labels, and suggested risk-reference lines.
The script also uses common technical analysis concepts such as moving averages, VWAP, MACD, RSI, ADX, ATR, Supertrend-style trend logic, and Opening Range Breakout logic. These common concepts are organized into a single decision-support framework rather than presented as separate standalone indicators. Indicator
