Bias DashboardBias Dashboard
Bias Dashboard is a clean, dashboard-only indicator designed to quickly show the current directional strength of any chart.
It analyzes trend structure, momentum, RSI, DMI/ADX, price location, market structure, and higher-timeframe confirmation to calculate a bullish and bearish bias.
The dashboard displays:
Trend: Bullish, Bearish, or Neutral
Grade: A+ through D based on directional strength
Score: Overall trend conviction from 0–100
Bullish Meter: Current bullish pressure
Bearish Meter: Current bearish pressure
This indicator does not generate entries, stop losses, take-profit targets, or chart levels. It is intended to provide a quick market-bias overview that can be used alongside your own trading strategy.
The dashboard position, size, title, colors, EMA settings, scoring sensitivity, and higher timeframe can all be customized.
How to use it
A higher bullish score suggests buyers are currently in control, while a higher bearish score suggests sellers are in control. Higher grades indicate stronger directional alignment across the indicator’s confirmation factors.
A strong grade does not automatically mean price should be entered immediately. Traders should still wait for their preferred setup, confirmation, and risk-management conditions.
Works on stocks, ETFs, forex, futures, and cryptocurrencies across all chart timeframes.
For educational purposes only. Not financial advice. อินดิเคเตอร์

Candlestick Edge Auto-Preset MTF Self-CalibratingCandlestick Edge only fires a candlestick pattern when it is "rightly placed" — confirmed by a higher-timeframe trend AND by where price sits in the developing volume profile. Then it does what most pattern tools don't: it forward-tests every signal and reports the MEASURED edge per pattern, so you read realized performance instead of a marketing claim.
WHY THIS IS ONE TOOL (not a bundle)
The parts answer one question about one candle: "is this pattern in a place that has historically paid, and does it beat a coin-flip here?"
PATTERN detection says WHAT printed (24 classic candlestick patterns).
HTF ALIGNMENT says whether the bigger trend agrees.
VOLUME-PROFILE POSITIONING says WHERE it printed — reversals only at value-area edges, naked POC, HVN support/resistance, or liquidity sweeps; continuations only through low-volume voids or on a value breakout.
The CALIBRATION SPINE forward-resolves each signal with a triple barrier and reports Hit% vs a matched Base% (Edge) with a Wilson confidence interval, so a placed-and-confirmed pattern can be told apart from a small-sample fluke.
One pattern substrate, one location read, one calibration spine.
MEASUREMENT (the differentiator)
Each signal opens at close with target = ±TP·ATR, stop = ∓SL·ATR, over a fixed horizon. The first barrier touched decides win/loss (same-bar tie counts as the stop — conservative). Base% is the unconditional same-barrier win-rate for that direction. Edge = Hit% − Base%; a "*" marks rows whose Wilson 95% lower bound clears the base rate. A leave-one-out row prices each filter's marginal contribution, and a footer lists only the patterns that are green AND have enough samples to trust in the current configuration.
AUTO PRESET (default on)
Candlestick edges are timeframe-specific. Auto Preset reads the chart's timeframe and switches on the pattern subset plus higher-timeframe distance that performed best for that timeframe in the author's study of NSE index futures, and forces the two filters on. Turn it OFF for full manual research mode: all 24 patterns selectable, filters and HTF distance (3x / 5x / 15x / custom) under your control. Nothing is ever removed — the preset only curates which patterns are active by default per timeframe.
HOW TO USE
Leave Auto Preset on and read the labelled signals (teal = bullish, red = bearish, each tagged with the pattern name). Open "Show scoreboard" to see measured Edge per pattern — trust the EDGE column and the "*", never a raw hit-rate. Best behaviour is on intraday timeframes (1H and below).
ORIGINALITY
Standard techniques are credited below. What is original is the combination: a location-gated pattern engine whose every signal is forward-calibrated, a timeframe-adaptive auto-preset, a leave-one-out filter attribution, and an auto-surfaced tradeable set — measured edge, not asserted.
NON-REPAINT
Signals open on confirmed bars; triple-barrier outcomes resolve on bars AFTER the trigger; all higher-timeframe / lower-timeframe / prior-day-POC requests use lookahead_off and confirmed intrabars. Pivots used by sweeps confirm first.
DATA & MARKETS
Runs on any symbol that reports volume; the developing profile needs volume to be meaningful. Defaults are tuned for intraday index futures. On the Enhanced data tier the delta read uses intrabar aggregation (richer on paid plans) and auto-falls-back to an OHLCV proxy when intrabars aren't served — safe to leave on for any plan.
CONCEPT CREDITS (methods operationalized — original Pine re-derivations)
Candlestick patterns — Nison; pattern-performance framing per Bulkowski
Market / auction profile, POC / Value Area — Steidlmayer; Dalton
Bulk Volume Classification — Easley, Lopez de Prado & O'Hara (2012)
Triple-barrier labelling — Lopez de Prado
Wilson score interval — Wilson (1927)
HONESTY / LIMITS
The profile is an ATR-binned developing session profile (not tick POC). Delta is an estimate (proxy or intrabar reconstruction), not true bid/ask. Reported edge is context measured on loaded history — not a prediction or a promise. The preset defaults were tuned on one instrument over a recent window, so treat them as a well-measured hypothesis, not proven alpha.
Educational tool. Not financial advice — you alone are responsible for your trading decisions. อินดิเคเตอร์

อินดิเคเตอร์

[Core Convexity] SMT Divergences
## Description
The SMT Divergences indicator is a comprehensive tool designed to detect and manage Smart Money Tool (SMT) divergences across multiple assets directly on your primary chart. SMT divergence is a classic concept used to identify institutional accumulation or distribution by revealing a lack of correlation between highly correlated assets (such as NQ, ES, and YM, or Gold and Silver) at key structural swing points.
This script automates the detection process, filters out duplicate signals, and tracks mitigation (when an SMT structure is broken or invalidated by price action) to keep your charts clean and actionable.
### Key Features
* **Automatic Asset Pairing:** Detects the root symbol of your current chart and automatically pulls data for the most relevant correlated instruments. For example, if you are viewing NQ, it will automatically check ES and YM. It also features a dedicated "No YM" mode to simplify index correlation down to NQ and ES exclusively.
* **Custom Asset Input:** Switch the selection mode to "Custom" to manually input any two symbols you wish to compare against your primary chart.
* **Dual-Layer Detection:** The script scans both immediate pivot points and structural swings (Highs/Lows) to provide both near-term and macro SMT identification.
* **Dynamic Mitigation Stack:** When price invalidates an SMT level, the indicator can immediately remove the visual lines or keep them on the chart for a specified expiration window with a configurable tag to track historical structural breaches.
* **Advanced Merging Logic:** To eliminate chart clutter, the script includes options to merge duplicate rays triggering on the same candle, as well as merging same-origin SMTs into a single combined projection point.
---
## How It Works
An SMT Divergence occurs when one asset fails to confirm a new swing high or low made by a correlated asset:
* **Bearish SMT:** The primary asset fails to make a higher high while the correlated asset successfully drives to a higher high, indicating underlying weakness.
* **Bullish SMT:** The primary asset fails to make a lower low while the correlated asset successfully drives to a lower low, indicating underlying strength.
The script runs a safe lookback sequence up to 450 bars to find matching historical pivot structures, compares the relationship between the primary chart and your secondary/tertiary assets, and plots precision lines directly between the corresponding structural points.
---
## Settings and Inputs
### System
* **Real-Time Detection:** When enabled, calculations update dynamically on the live, open bar. When disabled, signals confirm strictly on the close of the candle.
* **Merge Duplicate Rays:** If both tracked assets trigger an SMT divergence on the exact same bar, this option condenses them into a single line with a combined text label.
* **Merge Same-Origin SMTs:** Combines multiple SMT lines originating from the exact same candle, extending the line to the furthest matching historical point and appending an (M) tag.
* **Enable Structure SMT:** Expands the algorithm to look for structural pivot failures in addition to immediate, strict candle-to-candle alignment.
* **Lookback:** Determines how many historical bars the script will scan to find a matching structural pivot point (capped safely up to 500 bars).
* **Min Bars for Line/Label:** Configures the strict visual threshold required before rendering a line or a text label to screen, filtering out negligible, noise-level divergences.
### Broken SMT Mitigation
* **Remove Broken SMTs:** Activates the garbage collection system to handle lines when price violates the divergence level.
* **Bars to Keep After Invalidation:** Determines how long a broken SMT line remains visible on your chart before deletion. Set this to 0 for immediate visual removal.
* **Show (X) Tag on Invalidated:** Appends an (X) character to the text labels of broken levels during their expiration window.
* **Mitigation Logic:** Choose between "Pair Only (Strict)" which invalidates the line if the primary chart and the specific asset break structure, or "All Connected (Global)" which requires all three assets to breach the level before declaring an invalidation.
### Asset Selection and Styling
* **Asset Selection Mode:** Toggle between Automatic, Automatic (No YM), or Custom routing.
* **Check Mode:** Options include "Strict" (where bullish lines check highs and bearish lines check lows) or "Both High & Low" for unrestricted pivot mapping.
* **Styling Groups:** Fully customize visibility, font sizes, colors, line widths, and line styles (Solid, Dashed, Dotted) independently for both Asset 1 and Asset 2 configurations. อินดิเคเตอร์

Order Flow Volume Delta, CVD, Absorption & Divergence [LunqFX]Price shows you WHERE the market went. Order flow shows you WHO pushed it there — buyers or sellers — and whether they had real volume behind the move. This Order Flow indicator reads the volume delta on every candle (the balance of buying volume vs selling volume), builds it into a cumulative volume delta (CVD) trend, and automatically marks the two order-flow events that lead price: absorption and delta divergence. Everything is drawn on your chart as clean delta candles, order-flow support/resistance levels and a live buying-pressure dashboard.
❶ THE CONCEPTS (so it's clear)
▸ VOLUME DELTA — the difference between buying volume and selling volume inside a bar. Positive delta = buyers were more aggressive, negative = sellers. It is the core of all order-flow analysis.
▸ CVD (CUMULATIVE VOLUME DELTA) — delta added up over time. A rising CVD means buyers are steadily accumulating; a falling CVD means distribution by sellers. CVD is how you see the real trend of order flow, not just price.
▸ ABSORPTION — a bar with heavy volume but almost no price movement. It means a large player (smart money / institutional) is absorbing every market order at that level. Absorption very often appears right before a reversal.
▸ DELTA DIVERGENCE — price makes a new high but CVD does not (or a new low but CVD does not). The move has no real volume behind it — a trap / exhaustion signal that warns a reversal is likely.
❷ WHAT YOU SEE ON THE CHART
▸ Delta candles — sky-blue when buyers won the bar, coral when sellers won; the brighter the candle, the more one-sided the flow. You read buying and selling pressure at a glance.
▸ Order-flow levels — every absorption (gold) and divergence (blue / coral) is projected to the right as a support/resistance level with its exact price. These are the levels where big volume actually traded, so price reacts to them again.
▸ Live dashboard — who is in control (buyers vs sellers) from the CVD, the CVD value, the current bar's buy/sell pressure split, and the latest signal.
❸ HOW TO TRADE IT — STEP BY STEP
1 — Read the BIAS. The panel shows ▲ BUYERS or ▼ SELLERS IN CONTROL from the CVD. Trade with the side that controls order flow, not against it.
2 — Watch for DELTA DIVERGENCE against the move. Price higher high while CVD makes a lower high = buyers are exhausted → look for shorts. Price lower low while CVD makes a higher low = sellers are exhausted → look for longs. This is the highest-value order-flow reversal signal.
3 — Use ABSORPTION as a reversal cue. When heavy volume fails to move price, the move is being absorbed; watch for the turn and use that gold level as your invalidation line.
4 — Trade the reaction at order-flow levels. Old absorption and divergence levels act as support and resistance — enter when the delta flips back in your favour as price returns to a level.
5 — Confirm with Bar pressure. The panel's ▲/▼ % buy shows the live buy/sell split — take the trade when it agrees with your setup and the bias.
❹ HOW IT WORKS (fully transparent)
Each bar's volume is split by where price closed in its range: buy-volume = volume × (close − low) ÷ range, sell-volume = volume × (high − close) ÷ range, and delta = buy − sell. This is a transparent, range-based volume-delta estimate — it needs no tick or bid/ask feed, so it runs on any symbol. CVD is the running sum of that delta (session-anchored on intraday charts, fully cumulative on daily and higher, handled automatically). Absorption is flagged when volume rises above its average by your chosen multiple while the candle body stays smaller than a fraction of ATR. Divergence compares each confirmed swing pivot in price with the CVD value at that pivot. Every reading comes from closed bars and confirmed pivots — no repainting, no lookahead.
Order flow is strongest on markets with true exchange volume — crypto, stocks, futures and indices — and on intraday timeframes (1m–4h), where buying and selling pressure is most meaningful. On forex, volume is broker tick-volume, so treat the delta as an approximation of order flow rather than exact.
SETTINGS — CVD reset (Session / Week / None), absorption sensitivity, divergence swing length, number of order-flow levels + glow, delta candles on/off, dashboard position.
ALERTS — bullish delta divergence, bearish delta divergence, absorption, and CVD crossing zero (buyers / sellers taking control).
This indicator is an educational market-analysis tool, not financial advice. The volume delta shown here is a transparent estimate from price and volume, not exchange-audited bid/ask order flow, and past behaviour does not guarantee future results. Always confirm with your own analysis and manage your risk.
อินดิเคเตอร์

Market Regime Engine [NQ Labs] WHAT THIS ANSWERS
Almost every indicator tells you WHAT the market is doing. Very few tell you
whether the current market has enough exploitable structure to be worth
risking money on at all. The Market Regime Engine is built for that second
question: should I be trading this right now, and if so, what style of
approach do current conditions actually favour?
It is not a signal generator. It produces no entries. It is a filter you run
underneath whatever you already trade.
WHY IT IS BUILT THIS WAY
Two design decisions separate this from a conventional regime or trend filter.
1. EVERY AXIS IS PERCENTILE-RANKED AGAINST ITS OWN HISTORY.
Most regime tools use fixed thresholds - an ADX of 25, an ATR multiplier of 3.
Those numbers are calibrated to whatever the author tested on. They are the
reason a tool behaves sensibly on one instrument and nonsensically on the
next. Here, each axis is ranked against its own recent distribution on the
current symbol and timeframe, so a 65th-percentile reading carries the same
meaning on a crypto pair as it does on an FX major. Nothing needs retuning
per market.
2. THE THREE AXES ARE ORTHOGONAL BY DESIGN.
Many "confluence" tools stack three views of momentum and present the
agreement as confirmation. Correlated inputs agreeing is not evidence. These
three measure genuinely different properties:
DIRECTIONAL EFFICIENCY - net distance travelled divided by the total path
walked to get there. A value near 1 is a straight line. A value near 0 means
price ended where it started after a great deal of work. This is the most
direct available answer to "is there a trend here", and it is independent of
direction.
VOLATILITY STATE - ATR ranked against its own history. Not "is volatility
high" in absolute terms, but "is volatility high for this instrument".
RETURN PERSISTENCE - lag-1 autocorrelation of log returns. Positive means an
up bar tends to be followed by an up bar, so momentum approaches have
something to work with. Negative means the market reverts. Near zero means
returns carry no usable memory.
THE SCORING LOGIC
The Tradeability Score (0-100) rests on one idea:
Efficiency is the signal. Volatility is the cost of being wrong.
Volatility only hurts you when there is no direction to exploit.
So the noise penalty is the product of how little direction exists and how
violent the market is. It approaches zero inside a strong trend no matter how
wild conditions get - because volatility inside a trend is opportunity, not
noise - and it peaks precisely where traders are most reliably ground down:
low efficiency combined with high volatility. That specific combination is
what the engine exists to flag.
THE FIVE REGIMES
TREND Efficiency high. Directional. Follow it.
VOLATILE CHOP Efficiency low, volatility high. No direction, maximum cost
of being wrong. The state that does the damage.
COIL Efficiency low, volatility low. Compression. Wait.
RANGE Efficiency low, volatility middling. Edges are tradeable.
TRANSITION Efficiency mid-range. No clean read. Reduce size.
A raw regime read must hold for a configurable number of consecutive bars
before it is confirmed. Without that filter, readings that straddle a
threshold flip back and forth for single bars.
REGIME MATURITY - THE PART I HAVE NOT SEEN ELSEWHERE
The engine records the length of every completed regime run on the current
chart and reports the current run against that learned baseline, together with
the sample size behind it.
A trend at 0.3x its typical duration and a trend at 2.4x are not the same
trade, even though every conventional indicator prints the identical reading
for both. A compression that has lasted three times longer than compressions
normally last on this instrument is a different proposition to one that
started six bars ago.
The sample size (n=) is shown deliberately. Below the configured threshold the
cell dims, because a baseline built from two observations is not evidence and
should not be dressed up as though it were.
HOW TO USE IT
The engine is a gate, not a trigger. The intended workflow:
1. Read the Verdict first. STAND DOWN means your edge, whatever it is, is
probably not present. The most valuable output of this tool is the trades
it talks you out of.
2. Read the Regime and Favoured Style. Trend-following systems belong in
TREND. Mean-reversion belongs in RANGE, and only when Persistence confirms
the market is actually reverting rather than merely quiet. COIL means the
setup has not arrived yet. VOLATILE CHOP means nothing you own works here.
3. Read Persistence before choosing an approach. If it reads Random, the
market has no memory to exploit in either direction, and both momentum and
mean-reversion are coin flips.
4. Use vs Typical for position management, not entry. An extended regime is
not a reversal signal. It is a reason to stop adding and to tighten what
you already hold.
5. Let the ribbon and score do the work on the price chart. The dashboard can
be forced onto the main pane so the engine occupies a pane without costing
you chart real estate.
SETTINGS THAT ACTUALLY MATTER
RANKING LOOKBACK is the important one. It must span several complete regime
cycles on your timeframe or every axis will rank near the middle and
everything will read TRANSITION. 250 bars on a daily chart is roughly a year -
a real baseline. 250 bars on a 5-minute chart is under a day, and is not.
On intraday timeframes, raise it substantially.
MINIMUM REGIME RUN trades responsiveness for stability. Higher values give a
calmer read and a cleaner duration baseline at the cost of confirming changes
later. Set it to 1 to see the unfiltered classification.
CHOP PENALTY controls how hard low-efficiency volatility is punished. Set it
to 0 and the score becomes pure efficiency rank.
EFFICIENCY and VOLATILITY thresholds are percentiles, not raw values. They do
not need adjusting per instrument. That is the point.
LIMITATIONS - STATED PLAINLY
- This is a lagging, descriptive tool. It classifies conditions that have
already formed. It does not forecast, and it cannot tell you a regime is
about to end.
- Confirmation costs lag. A genuine regime change registers a few bars late by
design. That is the price of not flickering.
- The maturity baseline is learned from visible chart history and rebuilds
whenever settings, symbol, or timeframe change. It is not persistent memory.
Early in a chart, or for a rarely-occurring regime, the sample is thin. The
n= value tells you when to discount it.
- On intraday equity charts, overnight gaps inflate ATR and distort the
persistence reading. Daily and above, or extended hours, handle this better.
- Autocorrelation is a weak statistic on short samples. Persistence readings
close to zero should be read as "no information", not as a subtle signal.
- Efficiency is directionless. TREND tells you a trend exists, not which way
it points. Pair it with something that reads direction.
- No regime classification is correct at the moment it matters most, which is
the turn. Nothing here changes that.
This script is open-source. Read the code, disagree with it, improve it.
This is an analytical tool for studying market conditions. It is not financial
advice, and it does not generate trade recommendations. Trading involves risk
of loss. อินดิเคเตอร์

ICT SMC H4 FVG Retest M15 Scalping KillzonesICT SMC H4 FVG Retest — M15 Scalping Killzones
Overview
ICT SMC H4 FVG Retest — M15 Scalping Killzones is a multi-timeframe trading indicator designed to identify structured intraday setups based on:
* Confirmed higher-timeframe Fair Value Gaps
* M15 execution Fair Value Gaps
* ICT-style killzones
* Session highs and lows
* H4 buy-side and sell-side liquidity
* Market or limit-entry models
* Liquidity-based profit targets
The indicator is intended to be used on a 15-minute chart.
Its purpose is not to generate a large number of signals. It is designed to wait for a higher-timeframe imbalance, a valid departure from that zone, and a later retest during an active trading session.
⸻
Core strategy
The standard short setup follows this sequence:
1. A bearish H4 Fair Value Gap is confirmed.
2. Price moves below the H4 FVG.
3. Price later returns to the H4 FVG during an enabled killzone.
4. A bearish M15 FVG forms and overlaps the H4 zone.
5. The M15 candle closes and confirms the setup.
6. The indicator displays the proposed entry, stop-loss and target.
The bullish setup uses the opposite sequence:
1. A bullish H4 FVG is confirmed.
2. Price moves above the H4 FVG.
3. Price later returns to the H4 FVG during an enabled killzone.
4. A bullish M15 FVG forms inside or overlapping the H4 zone.
5. The M15 candle closes and confirms the setup.
6. The indicator displays the proposed entry, stop-loss and target.
The H4 FVG that is created during the initial market displacement is treated as a future retest zone. The indicator does not use the M15 FVGs that formed before the H4 candle was confirmed.
⸻
Non-repainting higher-timeframe logic
The indicator only uses confirmed higher-timeframe candles.
A new H4 FVG is therefore displayed only after the third H4 candle in the three-candle FVG sequence has closed.
This avoids using an H4 imbalance that may appear intrabar and disappear before the H4 candle closes.
The trade-off is intentional:
* the FVG is not shown as confirmed while the H4 candle is still forming;
* once the H4 candle closes, the confirmed zone appears on the M15 chart;
* the indicator then waits for a future retest.
The confirmed HTF FVG is used for signals and alerts. No unconfirmed HTF data is used for trade validation.
⸻
Fair Value Gap definition
Bullish FVG
A bullish FVG exists when the low of the third candle is above the high of the first candle.
The imbalance is the price range between:
* the high of the first candle;
* the low of the third candle.
Bearish FVG
A bearish FVG exists when the high of the third candle is below the low of the first candle.
The imbalance is the price range between:
* the high of the third candle;
* the low of the first candle.
The large middle candle is usually the displacement candle, but its full body is not the FVG. The FVG is only the untraded space between the first and third candles.
⸻
Entry modes
The indicator includes three HTF retest models.
A — Strict retest
Price must first close outside the HTF FVG, then return to the zone.
For a bearish FVG:
* price must close below the FVG;
* price must later return into it.
For a bullish FVG:
* price must close above the FVG;
* price must later return into it.
This is the most selective mode and is the default setting.
A′ — Tolerant retest
A wick outside the HTF FVG is sufficient to validate the departure.
This mode produces more opportunities than the strict model but may accept less decisive departures.
B — Direct tap in killzone
No prior departure from the HTF FVG is required.
A direct touch of the HTF zone during an enabled killzone can become eligible if the remaining entry conditions are satisfied.
This is the least selective mode.
⸻
M15 confirmation
By default, the indicator requires an M15 Fair Value Gap in the same direction as the HTF FVG.
For a short:
* the HTF FVG must be bearish;
* the M15 FVG must also be bearish;
* the M15 FVG must overlap the HTF FVG.
For a long:
* the HTF FVG must be bullish;
* the M15 FVG must also be bullish;
* the M15 FVG must overlap the HTF FVG.
The M15 FVG size filter can be used to ignore very small imbalances.
When Require an M15 FVG is disabled, the indicator can generate a setup from a simple HTF FVG retest during a killzone.
⸻
Candle-close confirmation
The setting:
Validate signals only at M15 close
should normally remain enabled.
When enabled:
* an intrabar M15 FVG is not enough;
* the setup must still be valid when the M15 candle closes;
* triangles and alerts are produced only from confirmed M15 conditions.
This prevents signals from appearing during a candle and disappearing before its close.
⸻
Killzones
Killzones are anchored to the native timezone of each market. They automatically follow daylight-saving changes where applicable.
Asia killzone
Default timezone:
Asia/Tokyo
Default window:
09:00–13:00 Tokyo time
London killzone
Default timezone:
Europe/London
Default window:
07:00–10:00 London time
New York AM killzone
Default timezone:
America/New_York
Default window:
09:30–11:00 New York time
New York PM killzone
Default timezone:
America/New_York
Default window:
13:30–16:00 New York time
Each killzone can be enabled, disabled or adjusted independently.
The background colors only indicate an active trading window. They do not indicate bullish or bearish direction.
⸻
Entry types
Market at close
The proposed entry is the closing price of the confirmed signal candle.
The setup becomes visually active immediately after confirmation.
Limit at FVG edge
The indicator places a theoretical limit entry at the relevant edge of the M15 FVG.
For a bearish setup, the entry is placed at the lower boundary of the bearish M15 FVG.
For a bullish setup, the entry is placed at the upper boundary of the bullish M15 FVG.
If M15 confirmation is disabled, the relevant HTF FVG boundary is used instead.
The limit order remains pending for the selected number of M15 candles. If it is not filled before expiration, the order is cancelled and the HTF zone may become available for a later setup.
⸻
Stop-loss placement
For a bearish setup, the stop-loss is placed:
* above the opposite side of the M15 FVG;
* plus the selected tick buffer.
For a bullish setup, the stop-loss is placed:
* below the opposite side of the M15 FVG;
* minus the selected tick buffer.
When M15 FVG confirmation is disabled, the stop is placed beyond the opposite side of the HTF FVG.
The Stop buffer in ticks setting adds a small safety margin beyond the imbalance boundary.
⸻
Profit targets
The indicator supports two target models.
Liquidity target
When enabled, the indicator searches for the nearest eligible liquidity level in the direction of the trade.
Possible targets include:
* previous Asia session high or low;
* previous London session high or low;
* previous New York session high or low;
* H4 buy-side liquidity;
* H4 sell-side liquidity;
* the current session high or low.
A target must offer at least the selected minimum reward-to-risk ratio.
Fixed R:R fallback
If no eligible liquidity target is available, the indicator uses the selected fixed reward-to-risk ratio.
The default fallback is:
2.0R
⸻
Swept liquidity handling
Two modes are available.
Legacy v3.3
Previously swept session levels and H4 liquidity levels may still be used as targets.
This mode preserves the original behavior of the earlier indicator.
Untouched liquidity only
Once a liquidity occurrence has been swept, it is no longer eligible as a target.
A new pivot or a new completed session may later create a new active liquidity occurrence at the same or a similar price.
This mode is generally more selective because it targets liquidity that has not yet been consumed.
⸻
Session levels
The indicator tracks the highs and lows of:
* Asia
* London
* New York
Each session is calculated in its native timezone, which prevents the levels from drifting when the United Kingdom or the United States changes between standard time and daylight-saving time.
At the end of a session:
* the high and low are frozen;
* their labels remain anchored to the session close;
* the levels can be used as potential liquidity targets.
The number of stored sessions can be adjusted in the settings.
⸻
H4 SSL and BSL levels
The indicator also plots confirmed H4 pivot liquidity.
BSL
Buy-Side Liquidity
Displayed above confirmed H4 swing highs.
SSL
Sell-Side Liquidity
Displayed below confirmed H4 swing lows.
The pivot lookback determines the significance and confirmation delay of these levels.
A larger lookback produces more structurally significant levels, but they are confirmed later.
⸻
Dashboard
The dashboard shows the current state of the setup for both long and short directions.
Three display sizes are available:
* Small
* Medium
* Large
HTF active
A confirmed HTF FVG is currently active in that direction.
HTF departure
Price has moved outside the HTF FVG according to the selected A or A′ departure logic.
In Mode B, a prior departure is not required for the final signal.
HTF retest
The current candle is touching or overlapping the active HTF FVG.
Killzone
The current candle is inside at least one enabled killzone.
M15 FVG
A valid M15 FVG exists in that direction and passes the minimum-size filter.
HTF overlap
The M15 FVG overlaps the active HTF FVG.
M15 close
The current M15 candle is confirmed.
While the live M15 candle is still forming, this field may display No.
Available
No previous trade or pending limit order is currently blocking a new setup.
Raw signal
The structural conditions are satisfied before final trade-availability and candle-close validation.
Signal
All required conditions are satisfied and a valid setup has been produced.
⸻
Signal markers
A confirmed short setup is displayed as:
* a red downward triangle;
* the letter S.
A confirmed long setup is displayed as:
* a green upward triangle;
* the letter L.
The indicator also creates a label containing:
* entry price;
* stop-loss;
* target;
* expected reward-to-risk ratio.
The risk and reward areas are displayed directly on the chart.
⸻
Near-miss labels
The optional Show near misses setting helps diagnose why an otherwise valid-looking setup was rejected.
Possible reasons include:
* LEFT — price has not yet departed from the HTF FVG;
* KZ — the setup is outside an enabled killzone;
* CLOSE — the M15 candle has not yet closed;
* BUSY — a trade or limit order is already active.
Near-miss labels are primarily intended for testing and configuration. They may create visual clutter during normal use.
⸻
Alerts
The indicator provides separate alert conditions for:
* LONG setup detected;
* SHORT setup detected;
* LONG limit order filled;
* SHORT limit order filled;
* target reached;
* stop-loss reached.
For confirmed signals, alerts should be configured to trigger once per bar close.
⸻
Recommended starting configuration
For index futures such as NQ or MNQ:
* Chart timeframe: 15 minutes
* HTF FVG timeframe: 240 minutes
* Entry logic: A — Strict retest
* Require M15 FVG: Enabled
* Validate only at M15 close: Enabled
* Entry type: Limit at FVG edge or Market at close
* Minimum M15 FVG size: adjust to the instrument
* Liquidity mode: Untouched liquidity only
* Minimum target R:R: 1.0–1.5
* Fallback R:R: 2.0
* London killzone: Enabled
* New York AM killzone: Enabled
The Asia and New York PM killzones can be enabled according to the instrument and the trader’s preferred session.
⸻
Practical workflow
1. Apply the indicator to an M15 chart.
2. Confirm that an HTF FVG is active in the dashboard.
3. Wait for price to move away from the HTF FVG.
4. Wait for price to return to the zone during an enabled killzone.
5. Look for a same-direction M15 FVG inside or overlapping the HTF FVG.
6. Wait for the M15 candle to close.
7. Review the proposed entry, stop and target.
8. Confirm the broader market context before placing a trade.
The indicator is best used as a structured decision-support tool rather than as a fully autonomous trading system.
⸻
Important limitations
* A confirmed H4 FVG appears only after the relevant H4 candle closes.
* The indicator will not retrospectively use an M15 FVG that formed before the H4 FVG became confirmed.
* H4 pivot liquidity is confirmed with delay because pivots require candles on both sides.
* If both the stop and target are touched during the same M15 candle, the visual trade logic uses the stop-loss as the conservative outcome.
* The script is an indicator, not a broker emulator or complete backtesting strategy.
* No indicator can guarantee profitability.
⸻
Disclaimer
This indicator is provided for educational and analytical purposes only. It does not constitute financial advice, investment advice or a recommendation to buy or sell any financial instrument.
Trading futures, leveraged products and other financial markets involves substantial risk. Users are responsible for testing the indicator, defining their own risk-management rules and determining whether the methodology is suitable for their trading plan. อินดิเคเตอร์

1st Presented Fvg's [M1D]OVERVIEW
1st Presented Fvg's (M1D) isolates the very first Fair Value Gap each hourly window prints —
the one everything else in that hour reacts to — and tracks its full lifecycle: does it
hold, does it fail, does it invert, and does the inversion validate on a retest. Instead of
marking every FVG on the chart, it keeps only the one gap the model cares about per hour and
reports what happened to it.
It is a single-timeframe, event-tracking tool rather than a signal generator. It tags one
gap per hourly window, runs a strict hold / fail / invert / validate state machine on it, and
rolls a running Hold %, Inverted count and Valid IFVG count into a small dashboard so you can
see how the current session is actually behaving.
Detection and every state transition evaluate on confirmed bars only — nothing is decided
intrabar, and the chart requires an intraday timeframe of 60 minutes or less.
WHAT IT PLOTS
- 1st Presented FVG zone — a coloured box drawn from the exact three-candle gap, labelled
with its hourly window (e.g. "1st - 2pm") and an optional macro-window time suffix (e.g.
"1st - 2pm 1:50-2:10"). Zone colour cycles through your chosen palette by hour.
- NY Open tag — inside the 9:30-10:00 NY session specifically, the gap is labelled "1st -
NY Open" instead of the generic hour label, and only appears once price has swept a recent
pivot high or low first (see Key Definitions below).
- Inversion (IFVG) tag — a gap that held, then closed through, turns orange and is
relabelled IFVG.
- Valid IFVG tag (✔) — once an inverted gap is retested (price trades back into it), it
gains a check mark and a brighter fill, so a live, usable IFVG stands out from one still
forming.
- Failed gap (optional) — a gap that closed through without ever holding can be kept on
chart dimmed for context, or deleted outright; either way it is counted in the stats.
- Dashboard (M1D) — a small monospace table showing the current session, current time, and
a Today vs. Total read of gaps tagged, gaps held, Hold %, gaps inverted, and validated
IFVGs.
KEY DEFINITIONS
- Held — the point at which a 1st Presented FVG is considered to have defended its zone,
rather than just being tagged. Governed by the Hold Definition setting below.
- Reject & Close Away (default Hold Definition) — price must trade into the gap and then
close back outside its proximal edge before it counts as held. A tap that closes through
without that rejection is scored as a fail, not a hold — so Hold % reflects confirmed
rejections, not every incidental touch.
- Touch & Hold (alternate Hold Definition) — any trade into the gap that doesn't close
through it counts as held immediately, no rejection required.
- Inversion (IFVG) — a gap that held first, then later closed through it. This sequence is
mandatory: a gap that runs straight through without ever holding is a fail, never an
inversion.
- Valid IFVG — an inverted gap that price has subsequently traded back into.
- Hold % — held gaps ÷ gaps tagged, shown separately for Today and All-Time.
- NY Open liquidity sweep — inside the 9:30-10:00 New York session, the 1st Presented tag
runs on its own daily slot, separate from the normal hourly one, so an earlier random gap
in the same clock hour can't use up the slot before the open range even happens. That slot
only fills once price has swept a recent confirmed swing pivot — a low for a bullish gap,
a high for a bearish gap — immediately before the gap forms, so the tag reflects a genuine
liquidity grab rather than the first random three-candle gap after 9:30.
HOW TO USE IT
Reading the state of the current gap
- A live-coloured zone with no orange means the 1st Presented FVG is still fresh or holding
— treat it as an active zone.
- Orange means it has inverted — price closed through it after holding, so it now has the
opposite role.
- Orange with a ✔ means the inversion has been retested and validated — the strongest read
of the three, since price has both flipped the gap and come back to confirm it.
- A dimmed zone (if you keep failed gaps) means it closed through without ever holding —
context only, not a level to lean on.
Reading the dashboard
- Hold % (Today vs. All-Time) tells you how respected first-hour gaps have been — a low
reading suggests today's imbalances are being run through rather than defended.
- Inverted vs. Valid IFVG counts show how often a failed gap actually resolves into a
confirmed continuation level (✔) rather than just failing outright.
- Session tells you which killzone you're in without leaving the chart.
Choosing your settings
- Use Reject & Close Away when you only want gaps that show a confirmed rejection —
Touch & Hold is looser and counts the first touch, useful for comparing how often price
even reaches the gap versus how often it truly holds.
- Switch Mode to First Of Each Direction if you want to track a bullish and a bearish 1st
gap side-by-side within the same hour, instead of only the first of either.
- Turn on the Displacement Filter if you want the tag to skip small, low-conviction gaps in
favour of the next one that clears your ATR multiple.
- Leave NY Open: Require Liquidity Sweep on if you specifically want the opening-range gap
isolated from the generic hourly noise; adjust Pivot Lookback to make the swing-pivot
reference tighter (fewer bars, more sensitive) or wider (more bars, more established swings).
SETTINGS
- Detection — 1st FVG Mode (First Of Either / First Of Each Direction), Hourly Window
Timezone, Displacement Filter (ATR × multiple), Restrict To Time Window, NY Open (9:30-
10:00): Require Liquidity Sweep, Pivot Lookback.
- Inversion (IFVG) — Track Inversions toggle, Hold Definition (Touch & Hold / Reject &
Close Away).
- Labels — Show Labels, Label Text prefix, Show Macro Window Time, Label Size, Label
Colour.
- Colours — Colours In Cycle (2 or 3), the cycle colours, Inversion Colour, Zone
Transparency.
- Display — Gap Lifetime (Until Invalidated / End Of Hour / End Of Day), Keep Failed Gaps
(Dimmed), Max Gaps On Chart.
- Stats Table — Show Stats Table, Position, Text Size.
This is a decision-support and context tool for discretionary ICT trading. It does not
generate buy or sell signals and does not place trades. This is not financial advice, and no
market's past behaviour is indicative of future results.
อินดิเคเตอร์

Luxy UT God Mode - UT-Bot Forecast, Signals, Zones and RiskLuxy UT God Mode turns the classic UT Bot ATR trailing-stop into a complete, self-contained trading cockpit: momentum-adaptive buy/sell signals, a forward-looking Trend Duration Forecast, auto support/resistance zones, a 0-100 Confidence Score, a built-in multi-currency Risk Calculator, and automatic Stop Loss / Take Profit levels - all on one overlay, all non-repainting.
Note: Every forecast, probability, and statistic in this tool is a calculation based on the chart's own historical behavior. They describe past patterns, not guaranteed future results.
WHAT MAKES THIS DIFFERENT
A normal UT Bot only tells you the trend flipped. Luxy UT God Mode answers the three questions a trader actually asks at the moment of a signal:
1. Should I trust this flip? - a Confidence Score (0-100) blends seven engines into one number.
2. How long might this trend run? - a Trend Duration Forecast projects the expected remaining life of the current trend, drawn as a fading strip with survival-probability milestones.
3. What do I risk and how big do I trade? - automatic Stop Loss, R-based Take Profits, and a position-size calculator in your own account currency.
Everything is layered so you can run it bare-bones (just clean signals) or switch on the full "God Mode" stack.
METHODOLOGY AND CREDITS
This indicator implements proven concepts using entirely original code.
- UT Bot ATR trailing logic - original concept by @QuantNomad . This implementation is a significant rework: it adds volume weighting, momentum-adaptive sensitivity, a composite multi-method stop loss, a full multi-filter confirmation stack, multi-timeframe confluence, and the statistical trend-duration engine described below.
Important: this is an educational analysis tool. It does not guarantee any trading result. Always do your own analysis and manage risk.
THE SEVEN ENGINES (and the Confidence Score that fuses them)
Each bar, the script scores how well the current setup aligns and sums it into a single 0-100 Confidence Score with a visual progress bar:
UT Bot direction - is price above/below the momentum-adaptive trailing stop
SuperTrend - direction plus a distance-from-line strength bonus
Market Structure - position inside the recent swing range and structure breaks
ADX Regime - is the market trending (signals allowed) or choppy (blocked)
Multi-Timeframe - does a higher timeframe agree with the signal direction
Volume - is conviction backed by above-average volume
RSI Divergence - is a recent divergence supporting or opposing the signal
Read it at a glance: 80+ = strong, 60+ = good, 40+ = weak, under 40 = very weak. Hover the Confidence cell for the full per-engine breakdown.
1. TREND DURATION FORECAST - the headline feature
When the trend flips, the script projects how many more bars the new trend may last, based on the chart's own past trends.
How it works:
Every completed trend's duration is recorded, kept separately for bullish and bearish trends.
On each new flip the script estimates the expected duration using an exponentially-weighted average and standard deviation (recent trends weighted more heavily).
The estimate is drawn as a fading gradient strip that projects forward from the flip, with a "Trend Analysis" label and survival-probability milestones at 25% / 50% / 75% / 90% / 100% of the projection.
The percentages are empirical - they show the share of past same-direction trends on THIS chart that actually lasted at least that long. Not a fixed textbook curve.
Three forecast modes:
Simple - median duration only. Clean and fast.
Standard - exponentially-weighted average plus spread (recommended default).
Advanced - Standard plus five adaptive multipliers: Structure (proximity to S/R), Asset Type (volatility profile), Flip Strength (volume + filters passed), Error Learning (self-correction from its own past misses), and Regime (trending vs choppy).
When history is thin, the forecast honestly falls back to a combined estimate and flags it, rather than showing false precision.
2. MOMENTUM-ADAPTIVE UT BOT CORE
The trailing stop is not a fixed ATR multiple. The effective sensitivity adapts each bar to:
Momentum - faster momentum widens the trail to stay in strong moves
Relative volume - conviction adjusts the distance
Asset type - auto-detected (crypto, forex, futures, index, fund, CFD, bond, stock) with a per-class multiplier, or set it manually
Volatility mode - Fixed, Dynamic, or Aggressive auto-adjustment to the current volatility regime
The result is a trailing engine that behaves differently on a calm blue-chip than on a volatile small-cap or crypto pair - without you re-tuning it.
3. ANTI-WHIPSAW AND SIGNAL FILTER STACK
Signals only fire when they survive the filters you enable, so you control the trade-off between frequency and quality:
ADX Regime - block signals in choppy, non-trending conditions
Cooldown and Confirmation - minimum bars between signals and N-bar direction confirmation
Swing - only trade aligned with recent swing structure
Full Candle - require the whole candle beyond the trailing line (no straddles)
Volume, RSI, Hull MA, SuperTrend - optional confirmation layers
High-Volatility and % Change - only trade meaningful moves
2-Bar Confirm - extra confirmation for volatile markets
Every active filter appears as a row in the table with a live pass/fail state, so you always know why a flip did or did not become a signal.
4. SUPPORT / RESISTANCE ZONES
The script clusters significant swing pivots into persistent price zones and draws only the two that matter right now: the nearest resistance above price and the nearest support below price. Each zone shows its price and touch count (e.g. "S 4.19 (3x)" = a support tested three times). A level that price has broken through drops off automatically, and an optional Zone Filter can block buys into resistance and sells into support. Pivot strength is adjustable so you can show only major levels.
5. AUTOMATIC STOP LOSS, TAKE PROFIT AND RISK CALCULATOR
On every signal the script draws a complete trade plan:
Stop Loss - choose from seven methods: ATR, % based, tick based, swing, scaled ATR, Smart Adaptive (auto-scales to volatility), or Safer (widest of several).
Take Profit - TP1 / TP1.5 / TP2 / TP3 as R multiples of the stop distance, with optional price and % labels, and a freeze-on-touch check mark for journaling.
Entry line - marks the signal price; all lines can auto-limit to 10 bars for a clean chart.
Risk Calculator - enter account size and risk (% or fixed amount) and it returns the position size in shares/contracts, in your own currency, with live FX conversion (USD, EUR, GBP, JPY, CAD, AUD, CHF) or a manual rate.
6. MULTI-TIMEFRAME CONFLUENCE AND RSI DIVERGENCE
The table shows the trend of up to seven higher timeframes (5m, 15m, 30m, 1H, 4H, D, W) via an EMA 9/21 cross, so you can see whether the bigger picture agrees before you act. An optional MTF filter blocks counter-trend signals. Separately, RSI divergence (regular bullish and bearish) is detected, labeled on the chart, and fed into the Confidence Score.
7. LIVE STATUS TABLE
A configurable dashboard (position and size adjustable) summarizes everything: asset type, Confidence Score, adaptive mode, current signal, win-rate / average-bars statistics, multi-timeframe row, divergence, forecast, position size, and one row per active filter - each with a detailed tooltip.
HOW TO USE IT - QUICK START
Step 1 - Add it and pick your sensitivity. Defaults suit intraday (5-15m). For scalping lower the Sensitivity/ATR; for swing raise them (see the Sensitivity tooltip for presets).
Step 2 - Read a signal. A Buy (aqua, below bar) or Sell (orange, above bar) appears only after the bar closes and all enabled filters pass. Check the Confidence Score and the Multi-TF row for context.
Step 3 - Use the trade plan. The Entry, Stop Loss and Take Profit lines draw automatically. Read the Position row for size. Use the Trend Duration Forecast strip as a realistic hold-time expectation - scale out near the median, reassess if price runs past the projection.
Step 4 - Set alerts. Use "Any alert() function call" to receive BUY/SELL and trend-flip alerts on bar close, or pick the specific "Momentum Buy/Sell Signal" conditions. All alerts fire on confirmed bars only.
TUNING FOR MORE OR FEWER SIGNALS
Too few signals: turn off MTF, then Full Candle, then lower the ADX threshold or the Anti-Whipsaw filter. Too many / choppy: raise the ADX threshold, enable Volume and Full Candle, increase Cooldown, or add 2-Bar Confirm. Every filter is independent and shown live in the table.
TECHNICAL NOTES
Pine Script v6, overlay, max bars back 5000.
No repaint: signals, lines, forecast and alerts are committed on bar close (barstate.isconfirmed); all higher-timeframe data uses lookahead_off.
Works on stocks, crypto, forex, futures and indices, on any timeframe.
Higher timeframes and longer history produce more reliable forecasts; a new symbol needs a number of completed trends before the duration model is meaningful.
LIMITATIONS
Trend-following by nature: signals arrive after a trend establishes, not at exact tops/bottoms.
Best in trending conditions; use the ADX regime and filters to avoid chop.
The duration forecast needs history to become meaningful and is a statistical estimate, never a guarantee.
DISCLAIMER
This script is an educational analysis tool, not financial advice. Trading stocks, crypto, forex and futures involves substantial risk of loss - you can lose all invested capital. Forecasts, probabilities and win-rate statistics are calculated from historical chart data and do not guarantee future performance. Test on paper first, and you are solely responsible for your own trading decisions.
Feedback and suggestions are welcome in the comments. Happy trading.
อินดิเคเตอร์

Edo Liquidity SweepsEdo Liquidity Sweeps — Detects Liquidity Sweeps of Swing Highs and Lows and Tracks Each One Through Detected, Confirmed and Faded States
Markets move toward liquidity. Above every relevant swing high rests buy-side liquidity — the stops of short positions and the breakout buy orders waiting there. Below every relevant swing low rests sell-side liquidity — the stops of longs and the breakout sells. Those order clusters act as magnets: very often price travels precisely to reach them. A liquidity sweep is the moment that happens and is rejected — price wicks beyond the level to take the resting liquidity, then closes back on the other side, the classic trap that leaves breakout traders offside and frequently turns price around.
Edo Liquidity Sweeps isolates that single event and, crucially, tracks what happens next. It marks each sweep on the chart and follows it through three clear states — Detected, Confirmed and Faded — so you can separate the sweeps that actually reversed price from the ones that failed, all validated on closed bars so the indicator does not repaint. It is the sweep specialist of the Edolab structure family, designed to pair with Edo Liquidity Zones, which maps the liquidity pools these sweeps take.
LIQUIDITY LEVELS: SWING HIGHS AND LOWS
Everything starts from the swings that define where liquidity sits. A swing high is confirmed when a candle has the highest high of its surroundings; a swing low, the lowest low. The size of that surroundings is set by the Swing Profile: Scalper (5 bars each side) tracks short-term liquidity for intraday work, Swing (10 bars, the default) is the balanced setting for 4H and daily, and Long Term (21 bars) watches only the liquidity of the major structures. Each confirmed swing high becomes a buy-side liquidity level to monitor, and each swing low a sell-side one, until price sweeps it.
SWEEP DETECTION
A sweep is detected, on closed bars only, when price pierces a level with a wick but closes on the opposite side. A bearish sweep: the candle's high takes a swing high (grabbing the buy-side liquidity) but the close stays below that level — price pierced the high and rejected it, an downward reversal is expected. A bullish sweep: the candle's low loses a swing low (grabbing the sell-side liquidity) but the close stays above it — price pierced the low and rejected it, an upward reversal is expected. At detection the indicator draws a dotted line at the swept level with a Sweep ▲ or Sweep ▼ label, and records the high and low of the sweep candle itself, which will later decide whether the sweep confirms or fails. A wick that pierces a level but closes back on the same side generates nothing.
THREE STATES: DETECTED, CONFIRMED, FADED
A sweep is not a one-candle signal. The indicator follows each one through three states, evaluated on every closed bar against the range of the sweep candle. Detected: the sweep has just happened and it is not yet known whether price will turn — a dotted line. Confirmed: price confirms the reversal by closing beyond the sweep candle's extreme in the expected direction — the line turns solid and bold and the label gains a ✓. Faded: price closes the opposite way, reclaiming the level, so the sweep failed — the line turns dashed and faded grey and the label gains a ✕. For a bullish sweep, confirmation is a close above the sweep candle's high and a fade is a close below its low; for a bearish sweep it is the mirror. This follow-through confirmation is what separates the operative sweeps from the anecdotal ones: a Confirmed sweep has proven the rejection had continuation, while a Faded one warns that the trap did not work and the level has genuinely been broken.
INFORMATION PANEL
The panel condenses the read into a compact table. It shows the Last Sweep with its direction (Bull ▲ / Bear ▼) and state, and the live count of sweeps in each state: Detected, Confirmed and Faded. The Confirmed-to-Faded ratio gives a quick sense of how reliable sweeps are behaving on that instrument and timeframe. The panel sits in any of the four chart corners (Top Right by default), comes in three sizes (Tiny / Small / Normal) and two themes (Dark / Light), and can be hidden entirely.
NO REPAINTING
Sweeps are validated on closed bars only and on confirmed pivots, so a level and its sweep never appear or disappear intrabar. A wick that pierces a level but closes back inside generates nothing — the indicator waits for the close. This removes the false signals that clutter tools which mark instantly, at the cost of confirming each sweep once it has completed. There are no higher-timeframe functions: all logic runs on the current chart timeframe.
CONFIGURATION
The inputs are grouped by block. Detection sets the swing profile and the maximum number of sweeps kept on the chart (12 by default). Style exposes the bullish and bearish sweep colours, the faded colour, the label size and the Dark/Light theme. Panel controls panel visibility, position and size. The defaults are calibrated to work without adjustment on stocks, crypto, forex, indices and futures, on any timeframe — the input most users touch is the Swing Profile, to match the sensitivity of the tracked liquidity to their horizon.
ALERTS
Five predefined alerts cover the life of a sweep: Bullish Sweep Detected and Bearish Sweep Detected fire the moment a sweep is detected; Bullish Sweep Confirmed and Bearish Sweep Confirmed fire when a sweep confirms its reversal through follow-through; and Sweep Faded fires when a sweep fails and the level is reclaimed. The Detected alerts are the earliest but least confirmed, the Confirmed alerts are more reliable at the cost of arriving later, and the Faded alert is useful to discard a reversal idea. All alerts fire on bar close, consistent with the indicator's anti-repaint validation.
HOW TO READ IT
Wait for confirmation: a Detected sweep only flags that liquidity was taken and rejected, not that price will turn — waiting for it to become Confirmed reduces false signals at the cost of entering later, and the panel's Confirmed-to-Faded ratio shows how trustworthy sweeps are being. Read the fade as a warning: when a sweep turns Faded, the trap did not work and the level was genuinely broken — recognising a failed sweep in time avoids forcing a reversal idea the market has already rejected. Trade sweeps in confluence: a confirmed sweep that takes liquidity at an important level, a demand zone or a higher-timeframe support is a far more solid reference than an isolated one. And pairing Edo Liquidity Sweeps with Edo Liquidity Zones closes the loop — the zones say where liquidity sits, the sweeps say when it is taken.
OPEN SOURCE
Edo Liquidity Sweeps is published as a free open source indicator. The full Pine Script is publicly accessible on TradingView for study, adaptation and integration into any workflow. Part of the Edolab Markets free tools ecosystem alongside Edo Liquidity Zones, Edo Smart Money Map, Edo Order Blocks, Edo ZigZag Auto Fib SR and more available on TradingView.
This indicator is a technical analysis tool for educational and informational purposes only. It does not generate automatic buy or sell signals and should not be considered financial advice. Trading financial markets involves significant risk of capital loss. Past performance does not guarantee future results. Always use proper risk management.
TAGS
LiquiditySweep SmartMoneyConcepts Liquidity MarketStructure PriceAction StopHunt SwingHighLow SupplyDemand Reversal Overlay Indicator OpenSource Edolab EdolabMarkets Stocks Crypto Forex Indices
CATEGORIES (TradingView dropdowns)
— Direction: Both
— Market category: All markets (Stocks / Crypto / Forex / Indices)
— Analysis type: Trend Analysis / Chart patterns / Support and Resistance
อินดิเคเตอร์

อินดิเคเตอร์

อินดิเคเตอร์

Forza Relativa - Professional Table v2█ OVERVIEW
Questo indicatore calcola e mostra la Forza Relativa (Relative Strength) di un asset rispetto a un benchmark di riferimento e al suo settore di appartenenza (se applicabile). Tutti i calcoli sono basati su giorni solari reali ("Calendar Days"), garantendo un confronto preciso e uniforme delle performance su diversi archi temporali: 1g, 7g, 30g, 60g, 90g e 180g.
A differenza delle tabelle standard, questa versione è stata interamente ottimizzata per il Tema Scuro (Dark Theme) di TradingView, garantendo una leggibilità nitida e professionale in ogni condizione di mercato.
█ CARATTERISTICHE PRINCIPALI
• Adattabilità Asset & Crypto: Lo script rileva automaticamente la classe di asset sul grafico. Se l'asset è una Criptovaluta, imposta come benchmark predefinito Bitcoin (BTC) o Ethereum (ETH) a scelta dell'utente. Se l'asset è un'Azione o ETF, utilizza lo S&P500 (SPY) come benchmark e attiva la colonna dedicata al "Settore".
• Selezione del Settore: Per il mercato azionario, è possibile selezionare manualmente l'ETF settoriale di riferimento (es. XLK per il Tech, XLF per i Finanziari, ecc.) per monitorare se l'asset sta sovraperformando o sottoperformando il proprio settore di appartenenza.
• Calcolo a Giorni Solari (Calendar Days): Le variazioni percentuali non si basano sul semplice conteggio delle candele del grafico corrente (che variano a seconda del timeframe), ma calcolano l'effettiva variazione temporale indietro nel tempo, rendendo l'indicatore ideale sia su grafici Daily che Intraday.
█ OTTIMIZZAZIONE GRAFICA & NITIDEZZA (DARK THEME)
Per risolvere il classico problema di scarsa leggibilità delle tabelle TradingView su sfondi scuri, sono state introdotte le seguenti migliorie:
1. Contrasto Dinamico: Il testo delle celle utilizza una palette di colori e trasparenze che si adatta allo sfondo per risaltare chiaramente senza affaticare la vista.
2. Palette Colori Soft: Sostituiti i verdi e rossi standard (troppo accesi e fastidiosi su sfondo scuro) con un elegante Verde Smeraldo Soft per i rendimenti positivi e un Rosso Corallo Soft per quelli negativi.
3. Griglia Protetta: La tabella presenta bordi grigio-scuri solidi per separare nettamente i dati e le colonne, rendendo l'interfaccia pulita e moderna.
█ PARAMETRI PERSONALIZZABILI (INPUTS)
• Crypto Benchmark: Consente di scegliere tra BTCUSDT ed ETHUSDT quando si analizzano le criptovalute.
• Dimensione Testo Tabella: Modifica la dimensione della tabella per adattarla a schermi di diverse risoluzioni (Tiny, Small, Normal, Large, Huge).
• Posizione Tabella: Permette di posizionare la griglia in qualsiasi angolo del grafico (es. in basso a destra, in alto a sinistra, ecc.) per non coprire i prezzi.
• Settore Manuale: Consente di selezionare l'ETF settoriale SPDR di riferimento per l'asset azionario sotto analisi.
█ NOTE SUL TIMEFRAME
Dato che l'indicatore analizza performance storiche fino a 180 giorni solari fa, si consiglia di utilizzare timeframe come il Giornaliero (1D) o l'Orario (1H/4H). Su timeframe estremamente ridotti (es. 1 o 5 minuti), TradingView potrebbe non avere abbastanza candele storiche caricate per calcolare i periodi più lunghi, mostrando la dicitura "n/a" (non disponibile).
Relative Strength vs Benchmark & Sector (Dark Theme)
█ OVERVIEW
This indicator measures and displays the Relative Strength (RS) of an asset by comparing its performance against a selected benchmark and, when applicable, its sector benchmark.
All calculations are based on actual Calendar Days rather than a simple bar count, ensuring consistent and accurate performance comparisons across the following periods:
1D, 7D, 30D, 60D, 90D, and 180D
The table has been specifically designed and optimized for the TradingView Dark Theme, providing maximum readability, strong contrast, and a professional appearance under all market conditions.
█ KEY FEATURES
• Automatic Asset Detection
The script automatically identifies the type of asset displayed on the chart:
Cryptocurrencies: uses either Bitcoin (BTC) or Ethereum (ETH) as the benchmark, selectable by the user.
Stocks and ETFs: uses SPY (S&P 500 ETF) as the benchmark and automatically enables the Sector comparison column.
• Sector Comparison
For equities, users can manually select the appropriate SPDR sector ETF (XLK, XLF, XLE, XLV, etc.) to determine whether the stock is:
Outperforming its sector
Underperforming its sector
Moving in line with its sector
• Calendar-Day Performance Calculation
Performance measurements are independent of the chart timeframe.
Instead of relying on the number of bars displayed, percentage changes are calculated using actual calendar days, ensuring consistent results across both Daily and Intraday charts.
█ DARK THEME VISUAL OPTIMIZATION
To improve readability on dark backgrounds, several visual enhancements have been implemented:
1. Dynamic Contrast
Text colors and transparency levels have been carefully tuned to provide excellent visibility while minimizing eye strain.
2. Soft Color Palette
Standard colors have been replaced with more balanced tones:
Soft Emerald Green for positive values
Soft Coral Red for negative values
This creates a cleaner appearance and improves readability during extended analysis sessions.
3. High-Definition Grid
The table uses solid dark-gray borders to clearly separate cells, columns, and headers, resulting in a modern and professional layout.
█ CUSTOMIZABLE INPUTS
• Crypto Benchmark
Select the benchmark used for cryptocurrency analysis:
BTCUSDT
ETHUSDT
• Table Text Size
Adjust the table size to fit different screen resolutions:
Tiny
Small
Normal
Large
Huge
• Table Position
Place the table anywhere on the chart:
Top Left
Top Right
Bottom Left
Bottom Right
• Manual Sector Selection
Choose the SPDR sector ETF used as the sector benchmark for relative performance analysis.
█ DATA INTERPRETATION
Positive values indicate that the asset is outperforming its benchmark or sector.
Negative values indicate underperformance, signaling weaker relative strength compared to the benchmark or sector being analyzed.
█ TIMEFRAME NOTES
Since the indicator analyzes historical performance up to 180 calendar days, the following timeframes are recommended:
1D
4H
1H
On very low timeframes (such as 1-minute or 5-minute charts), TradingView may not have enough historical bars loaded to calculate the longest lookback periods. In these cases, some cells may display "n/a" (data not available).
Ideal for quickly identifying assets that are demonstrating superior relative strength versus both the broader market and their respective sector, regardless of the chart timeframe being used.
อินดิเคเตอร์

ATK/DEF KDJ Rewind ContextRewind KDJ Context is a visual KDJ analysis indicator designed to provide a clearer understanding of momentum structure through the relationship between the K, D, and J lines.
Traditional KDJ analysis often focuses on fixed overbough and oversol levels. This indicator expands the interpretation by analyzing the interaction between KDJ components, including line arrangement, directional changes, momentum development, and structural transitions.
The script transforms KDJ movement into different context states, helping users observe how momentum conditions develop, slow down, weaken, and recover over time.
Instead of treating K, D, and J as isolated values, Rewind KDJ Context focuses on the relationship between the three components and presents their current condition through a structured visual approach.
KDJ Context Framework
▶️ Momentum Push
Identifies conditions where K, D, and J show coordinated upward momentum development.
This context represents a phase where KDJ structure is aligned with increasing momentum activity and stronger directional movement.
⏸️ Momentum Pause
Highlights situations where momentum remains active but begins to slow or entr a temporary balance condition.
This state focuses on changes in momentum speed and the relationship between K, D, and J during a slowing phase.
⏪ Reversal Context
Highlights changes in KDJ structure where J-line movement and the relationship between K and D indicate a possible transition in short-term momentum conditions.
This context focuses on structural changes rather than predicting future pric direction.
⬇️ Weakness Context
Displays conditions where KDJ structure shows reduced momentum strength and weaker directional movement.
This state helps visualize when previous momentum conditions begin losing strength.
🔄 Recovery Context
Highlights situations where KDJ structure begins improving after a weaker phase.
This context observes changes in J-line behavior and KDJ alignment during potential momentum recovery conditions.
⚪ Neutral Context
Represents situations where K, D, and J do not form a strong directional structure and momentum remains relatively balanced.
Main Features
• Customizable KDJ calculation parameters
• Dynamic K, D, and J value visualization
• KDJ line relationship and structure analysis
• Momentum context classification
• Historical context table display
• Recent bar comparison
• Visual markers for important KDJ transitions
• KDJ arrangement monitoring
• Adjustable display range and historical reference position
How It Works
Rewind KDJ Context uses the traditional KDJ calculation method based on RSV, followed by smoothing calculations for the K and D lines.
The J line is derived from the relationship between K and D:
• K line represents the smoothed RSV movement
• D line represents the smoothed K line movement
• J line represents an extended momentum relationship between K and D
The indicator evaluates several aspects of KDJ behavior, including:
• Relative position between K, D, and J
• Directional movement of each component
• Changes in momentum expansion and contraction
• KDJ structural transitions
• Recent historical context
These calculations are organized into visual context states to make KDJ behavior easier to interpret.
Intended Use
Rewind KDJ Context is designed as a technical analysis tool for observing momentum conditions and KDJ structure.
It can be used together with price action analysis, trend evaluation, support and resistance analysis, volatility analysis, and other technical methods to build a broader market view.
The indicator is intended to provide additional context about momentum behavior rather than replace complete market analysis.
Notes
Rewind KDJ Context is based on mathemat calculations derived from historical pric data.
The displayed context states represent current and historical KDJ conditions based on the selected settings and market data available on the chart.
Different assets, timeframes, and market environments may produce different interpretations of the same indicator behavior.
Disclaimer
Rewind KDJ Context is provided for informational and technical analysis purposes only.
This indicator does not provide finacl advice, personalized recommendations, autm trading decisions, or guaranteed results.
The displayed KDJ context states, momentum conditions, and visual markers are generated from mathematical calculations and should not be interpreted as predictions of future pric movements.
Users are responsible for conducting their own analysis, making their own decisions, and applying appropriate risk management methods.
Past market behavior and technical indicator performance do not guaran future outcomes. อินดิเคเตอร์

Premium/Discount ML Zones [PickMyTrade]What does it do?
Builds a Premium / Equilibrium / Discount map from a higher-timeframe dealing range, then runs an online logistic regression over every price level inside that map to detect the exact band where the model currently reads a directional edge. Because the range is read from one anchor timeframe, the zones sit at the same prices whether you view the 5m, 1h or Daily chart.
────────────────────────────────────
The intellectual problem
Premium/Discount is a location framework: above the 50% equilibrium of a dealing range price is expensive, below it price is cheap. Two problems show up the moment you try to automate it.
First — the range is usually drawn on whatever chart you are looking at. A 5-minute chart finds 5-minute swings, so it anchors to a micro-range that may be a few points wide. The Daily chart finds a range a hundred times larger. The same price is then simultaneously "premium" on one timeframe and "discount" on another, and the label stops meaning anything. The conventional discipline is to define the range on a higher timeframe and drop down only to execute — never to redraw the range on the execution chart.
Second — location alone is not an edge. Knowing price is in the lower half of a range tells you it is cheap relative to that range. It does not tell you whether cheapness is currently being rewarded. In a strong downtrend every discount print keeps getting cheaper. Location is a filter; something else has to decide whether the location is worth acting on.
This indicator separates those two jobs. The dealing range and its three zones are the map , anchored once on a higher timeframe. A logistic regression trained on the chart's own history is the decision , and it is what marks the actionable band inside the map.
────────────────────────────────────
How the dealing range is anchored
The range is built from confirmed swing highs and lows read from the Dealing Range Timeframe (default Daily) via request.security(..., lookahead=barmerge.lookahead_off) . Each side re-anchors to its most recent confirmed swing, with guards that keep the pair coherent:
if not na(ph) and (na(swingLow) or ph > swingLow) swingHigh := ph if not na(pl) and (na(swingHigh) or pl < swingHigh) swingLow := pl
Those guards are what make the range track the current leg rather than a fixed lookback window. In an uptrend each new higher low pulls the low side up with price, instead of leaving equilibrium pinned to an ancient low that price has long since left behind.
From that range:
Equilibrium — the exact 50% midpoint, (rangeHigh + rangeLow) / 2 Equilibrium band — a neutral fair-value zone of ± Equilibrium Band × range around the midpoint (default ±10%, i.e. the middle 20%). No signals fire inside it. Premium — everything above the band. Discount — everything below it.
Break of structure — when price closes beyond the anchored range, the old range is stale until a new swing confirms. A bearish BOS blocks longs and a bullish BOS blocks shorts, so the model does not fade a breakout while waiting for the range to re-anchor.
────────────────────────────────────
How the logistic regression works
Step 1 — Three z-score normalised features
All three are standardised over the Z-Score Window (default 50) so the model is scale-invariant across instruments and timeframes.
F1 — Position in range : where the close sits between the range low and high, clamped to 0–1. This is the premium/discount coordinate itself. F2 — Dwell time : a rolling time-at-price measure — the fraction of the last N bars that closed within one price band of the current close. High dwell means price has spent real time here; a level touched once in a spike scores low. F3 — Momentum : rate of change over the momentum length, normalised. Distinguishes a discount that is stabilising from one that is still falling.
Step 2 — Online gradient descent with L2 regularization
There is no fixed training window and no retraining pass. Each confirmed bar is labelled from its forward return over the Label Horizon, and the weights take one gradient step per bar, always evaluated on the previous bar's features so no current-bar information leaks into the update:
_pred = f_sigmoid(w0 + w1f1 + w2f2 + w3*f3 ) _label = label_bull ? 1.0 : 0.0 _err = _label - _pred w1 := w1 + i_learn_rate * (_err * f1 - i_l2_lambda * w1)
The - i_l2_lambda * w1 term is weight decay: it pulls weights back toward zero each step, which stops any single feature from running away to an extreme value on a stretch of trending data. The bias term w0 is deliberately left unregularized — it carries the base rate, not a feature relationship.
Step 3 — Posterior
post_bull = f_sigmoid(w0 + w1f1 + w2f2 + w3*f3) post_bear = 1.0 - post_bull
Step 4 — The ML entry zone (what the model detects)
This is the part that does the work. Rather than only scoring the bar in front of it, the model scores every price level inside the discount half and the premium half — sweeping the position feature across the zone while holding dwell and momentum at their current values — and marks the contiguous band where its probability clears the Entry Threshold:
for j = 0 to i_nbins float p = rangeLow + (eq_bot - rangeLow) * j / i_nbins float f1p = ((p - rangeLow) / range_size - pos_mean) / pos_std float pbup = f_sigmoid(base + w1 * f1p) if pbup >= i_posterior_thresh ml_long_lo := na(ml_long_lo) ? p : math.min(ml_long_lo, p) ml_long_hi := na(ml_long_hi) ? p : math.max(ml_long_hi, p)
That band is the ML Buy / Sell Zone drawn on the chart. It is the exact price range in which a signal would fire right now — visible before price arrives there. Its thickness is meaningful: a thin band means only a sliver of the zone clears the threshold, a thick band means the model reads an edge across most of the zone. When nothing clears the threshold, the band disappears entirely rather than showing a level the model does not support.
────────────────────────────────────
Reading the indicator
PREMIUM box (orange) — upper region of the HTF range. Shorts are considered here only. EQUILIBRIUM box (grey) — the fair-value band around the 50% midpoint. Nothing fires here by design. DISCOUNT box (blue) — lower region. Longs are considered here only. ML BUY / SELL ZONE (bright band) — the model-detected band inside the discount/premium region, labelled with the peak probability found in that band. ● circle (blue) — high-conviction long: P(Bull) ≥ 0.85. ▲ triangle (blue) — standard long: P(Bull) ≥ threshold. ● circle (orange) — high-conviction short: P(Bear) ≥ 0.85. ▼ triangle (orange) — standard short: P(Bear) ≥ threshold. Dashed equilibrium line — the exact 50% midpoint. Dashed SL / TP lines — reference levels from the range extreme at ATR × multiplier and the Risk:Reward ratio.
Only the first bar of each signal cluster fires — if conditions stay true for several bars, only the transition bar is marked.
Info table (top-right)
● LIVE (green) — the model has taken ≥ Training Samples Needed gradient steps. ● WARMUP (yellow) — still accumulating; signals suppressed. Zone — Premium / Equilibrium / Discount, or BOS ↑ / BOS ↓ (yellow) when price has broken the range. P(Bull) / P(Bear) — live posterior at the current bar. N Trained — total gradient updates taken.
────────────────────────────────────
Inputs
Dealing Range Dealing Range Timeframe — whose swings define the map (default D). Set it equal to or higher than your execution chart. This is the input that makes the zones identical across timeframes. Swing Left / Right Bars — swing definition on the anchor timeframe (default 3/3). Right Bars is the confirmation delay: the range re-anchors that many anchor-timeframe bars after a swing forms. Equilibrium Band — half-width of the neutral zone as a fraction of range (default 0.10). Set 0 to collapse it to a single line.
Dwell-Time Feature Scan / Dwell Bands (default 20) — price resolution for the entry-zone scan and the dwell band width. Dwell Lookback (default 50).
Logistic Regression Training Samples Needed — gradient updates before signals activate (default 80). Entry Threshold — minimum probability to fire a signal and to light the ML zone (default 0.65). Learning Rate — gradient step size (default 0.05). Higher adapts faster but noisier. L2 Regularization — weight decay (default 0.001). 0 disables it. Label Horizon (default 5), Momentum Length (default 14), Z-Score Window (default 50).
Signal Levels Show SL/TP Lines, ATR Period, SL ATR Buffer (default 1.2), Risk:Reward (default 1.8).
Visual / Display Show Premium/Discount Map, Show ML Entry Zone, Zone Left Extent / Forward Extend, Show Equilibrium Line, Regime Background, zone colours. Zen Mode — hides SL/TP lines and the table; map and ML zone remain.
────────────────────────────────────
Three alerts included
PD ML - Long — discount long fired PD ML - Short — premium short fired PD ML - Any Signal — either direction
────────────────────────────────────
Technical notes
Swing detection on the anchor timeframe needs Swing Right Bars of that timeframe to confirm. With the Daily default that is a three-day confirmation delay before the range re-anchors. This is inherent to non-repainting swing detection, not a tunable away. request.security uses lookahead_off , so historical bars use only confirmed anchor-timeframe values. The developing anchor bar updates in real time, which is expected behaviour for a live higher-timeframe reference. The dwell feature counts closes within one band of the current close over the lookback — a bar-based proxy for time-at-price. It does not use tick or volume-profile data. The entry-zone scan holds dwell and momentum fixed while sweeping position. It answers "if price were at level X, with today's momentum and dwell, what would the model read?" — a counterfactual across location, not a forecast of the path. Logistic regression assumes a monotonic relationship between each feature and the log-odds. Real price behaviour is not always monotonic in position-within-range; the model captures the dominant direction of that relationship, not its curvature.
────────────────────────────────────
Requirements and limitations
The model needs Training Samples Needed gradient steps before signals activate; on short-history charts the table shows WARMUP and nothing fires. Weights are learned per chart and per timeframe — switching symbol or timeframe restarts the learning from zero.
Probabilities are the model's read of patterns in its own training history. They are not a probability of profit, and patterns that historically preceded a directional move may not repeat.
The equilibrium band is deliberately dead space. If you want signals nearer the midpoint, reduce the band toward 0 — but the closer to fair value you trade, the less the premium/discount premise is contributing.
If the Dealing Range Timeframe is left blank or set below your chart's timeframe, the range is computed on the chart timeframe and the cross-timeframe consistency is lost. That is the failure mode this indicator exists to avoid.
The three zones describe location within one dealing range. They carry no information about ranges above them — a Daily discount can sit inside a Weekly premium.
────────────────────────────────────
Risk disclosure
Nothing here forecasts price. The zones describe where price sits inside a measured range; the classifier reports what its training history associates with that location. Use with your own position sizing and risk management. Not financial advice.
Built natively in Pine Script® v6. Online logistic regression trained by per-bar gradient descent with L2 weight decay, a rolling dwell-time feature, and a higher-timeframe swing-anchored dealing range. No external libraries, no data feeds.
Open source — Mozilla Public License 2.0. อินดิเคเตอร์

XI0033 Williams FractalA Williams fractal confirms late by definition: the pattern is complete only after the bars to its right have closed, so the marker always appears in the past. This script keeps the classic fractal template — three- or five-bar — and adds the one thing the classic version cannot show: the bar that is about to become a fractal, before the confirmation arrives.
It draws triangles for confirmed fractal highs and lows, plus one highlighted triangle for the last potential fractal on the live edge. Nothing else: no lines, no levels, no signals.
Confirmed fractals
A fractal high is a bar whose high stands above the highs of its neighbours; a fractal low mirrors that on the lows. The 3-bar mode compares one neighbour on each side, the 5-bar mode two on each side — the original Bill Williams definition. The Periods input sets how many bars back the reference bar sits. Confirmed fractals are painted as muted grey triangles above the highs and below the lows, and once the pattern that produced them is closed, they are history: they do not move and do not disappear.
Confirmed fractal highs and lows in the muted default colour: every triangle marks a bar whose extreme beat its neighbours on both sides, printed only after the pattern completed.
The last potential fractal
This is the addition. One bar to the right of the last confirmable centre there is always a candidate: a bar already higher (or lower) than its closed neighbours, waiting only for the current bar to keep its distance. The script highlights that candidate with an orange triangle — pointing down above a potential high, pointing up below a potential low — so the developing swing is visible before it becomes official.
The highlight exists only on the live bar. It is recalculated tick by tick, disappears the moment price violates the candidate, and is deliberately dropped on the bar's final update, so it never leaves a trace in the chart history. Scroll back and you will find only confirmed fractals.
Left: the orange triangle under the newest low is the last potential fractal. Right, a few bars later: that low now carries a grey confirmed triangle — the preview left no trace — and a new potential fractal already sits above the latest high.
What repaints, and what does not
The potential marker repaints by design — that is its job. It is a live preview that appears, moves and vanishes with the current bar, and it is intentionally not committed to history. Confirmed fractals in the default 3-bar mode are built from closed bars only, so once a triangle prints, it is final. In the 5-bar mode with the default period, the newest confirmation still involves the forming bar's extreme, so it can appear and be withdrawn until that bar closes; after the close it is final. And every confirmed fractal is late by definition — the triangle appears above a bar that is already in the past, because that is what confirmation means.
What is reused, and what is new
The confirmed-fractal logic is the classic Bill Williams fractal template as coded by Mit Nayi, reused open-source with attribution in the source header. What this edit adds: the port to Pine Script v6, and the whole potential-fractal layer — the candidate detection one bar to the right of the confirmable centre, and the barstate mechanism that shows the preview on the live bar only and drops it on the bar's final update, so it never piles up in history.
What it does not do
It gives no signals. A fractal marks a local extreme, and most local extremes get traded through; on their own they are not entries. This is a structural marker — swing logic, liquidity maps and ICT-style analysis use fractals as raw material, and the potential marker only tells you where the next one may appear. The decision stays yours.
The Inputs allow you to set:
Periods: how many bars back the fractal centre sits; the triangles are drawn on that centre bar
3 or 5 Bar Fractal: one or two neighbours compared on each side
Show last potential fractal: the live-edge preview on or off
Potential down and up fractal colours
About the chart
BYBIT:BTCUSDT.P, 5-minute chart. The only script on it is this one, with default settings: muted grey triangles mark confirmed fractal highs and lows across the chart, and the orange triangle at the right edge is the last potential fractal, not yet confirmed. No other indicators, no drawings. อินดิเคเตอร์

Fractal Timeframe Collision Node [MarkitTick]💡 The financial markets operate across multiple interacting timeframes, creating complex structural geometries that cannot be accurately analyzed through a single, isolated lens. The tool presented here acts as a comprehensive multi-timeframe aggregation engine, designed to isolate highly significant structural support and resistance clusters. By evaluating pivot points across four distinct time spans and merging them based on volatility-adjusted proximity, this system identifies high-probability reaction zones where structural exhaustion is most likely to occur. It is built strictly for the modern Pine Script environment, utilizing an entirely non-repainting architecture that respects the highest standards of data integrity and execution logic.
● ✨ Originality and Utility
Standard pivot or support/resistance scripts typically plot historical swing highs and lows independently. This creates chart clutter and often leaves the analyst guessing which level holds the most technical weight. This tool introduces the concept of "Collision Nodes." Instead of simply drawing every pivot, the algorithm scans higher timeframe data, identifies structural extremes, and clusters them together using a dynamic, adaptive mechanism.
When multiple higher timeframes project a pivot at the exact same price zone, a structural "Collision Node" is formed.
The utility lies in its objective strength grading: a node formed by the confluence of the 1-hour, 4-hour, and Daily charts mathematically demands more respect than a single localized swing point on a lower timeframe.
By filtering out the noise and only projecting nodes that meet a user-defined minimum strength threshold, the analyst is presented with a remarkably clean chart displaying only the most critical, high-liquidity zones.
Furthermore, the script automatically generates full trade execution parameters (Entry, Stop Loss, and multiple Take Profits) directly on the chart when a valid structural rejection occurs.
● 🔬 Methodology and Concepts
• Multi-Timeframe Pivot Extraction
The core engine relies on detecting localized extrema (Pivot Highs and Pivot Lows) over a user-defined lookback window. The script fetches these pivot values simultaneously from three higher timeframes plus the current chart's timeframe. To ensure absolute data integrity and prevent any future data leakage (repainting), the algorithm strictly requests historical, confirmed data using offset historical referencing.
• Volatility-Normalized Spatial Clustering
Once the pivots are extracted, the algorithm must determine if they "collide" or overlap. Because absolute price distance is irrelevant across different assets, the script uses a dynamic clustering mechanism normalized by the Average True Range (ATR).
A tolerance band is calculated by multiplying the current ATR by a user-defined coefficient.
If a newly discovered higher timeframe pivot falls within this exact tolerance band of an existing pivot cluster, it is merged into that cluster, and the cluster's "strength" rating is incremented.
If it falls outside the tolerance band, a new independent node is registered.
• Memory Management and Age Pruning
Financial markets possess a memory, but structural relevance decays over time. The script incorporates a memory management protocol that continually monitors the age of all registered nodes. If a node has not been tested or updated within a specific bar count limit, it is automatically pruned from the active array, ensuring that only highly relevant, modern liquidity pools are analyzed.
• Automated Signal Validation
A visual node is not a signal; it is an area of interest. The script validates trade signals by combining spatial location with price action. A valid signal requires the price to close inside the tolerance zone of a high-strength node, accompanied by a rejection candle (where the wick constitutes a significant percentage of the total candle range), and a structural close confirming the directional bias.
● 🎨 Visual Guide
• Collision Nodes
Teal Horizontal Lines: Represent bullish support nodes. The opacity of the line dynamically shifts based on the strength of the node (darker/more solid lines indicate higher timeframe confluence).
Red Horizontal Lines: Represent bearish resistance nodes. Like the bullish nodes, their visibility scales with structural strength.
Diamond Labels (◆×2, ◆×3): Attached to the end of the node lines, these labels explicitly display the node's strength rating. A "◆×3" label means three separate timeframes have confirmed a pivot at this exact mathematical level.
• Trade Execution Box
Dashed Blue Line: Indicates the exact Entry price upon signal confirmation.
Solid Red Line: Represents the dynamic Stop Loss, which is placed behind the collision node with an added ATR-based buffer to avoid premature liquidation.
Dashed Teal Lines (TP1, TP2, TP3): Represent calculated Take Profit levels projected automatically based on the user's defined Risk-to-Reward (RR) multipliers.
Red Background Fill: Visually maps the total risk zone between the Entry and the Stop Loss.
Teal Background Fill: Visually maps the total reward zone extending from the Entry up to the final Take Profit target.
• Real-time Dashboard
Located by default in the top right corner, this data table provides an instant summary of the market structure.
Bias: Displays the current active signal direction (LONG, SHORT, or NONE).
Active Nodes & Strengths: Lists the exact price levels of the nearest active bull and bear nodes, accompanied by visual progress bars displaying their respective strengths (Green for high strength, Yellow for medium, Red for low).
Trade Tracking: Displays the currently active Stop Loss and primary Take Profit levels if a trade configuration is locked on the chart.
● 📖 How to Use
Apply the indicator to your chart and set your three preferred higher timeframes in the settings (e.g., if trading on the 15-minute chart, you might select 1-Hour, 4-Hour, and Daily).
Observe the chart for the formation of high-strength Collision Nodes (look for ◆×3 or ◆×4 labels). These are your primary zones of interest.
Wait for price action to approach these nodes. Do not place blind limit orders.
Allow the script's internal logic to identify a structural rejection. When a valid rejection candle forms and closes at a node, a trade execution box will automatically populate on the chart.
Use the provided Entry, Stop Loss, and Take Profit lines to format your position sizing and manage the trade according to the mapped risk-to-reward parameters.
Optionally, link the script's advanced JSON webhook alerts to an external execution platform for automated trade routing.
● ⚙️ Inputs and Settings
• Core Settings
Pivot Lookback: The structural length required to confirm a swing high or low.
TF 1, TF 2, TF 3: The three higher timeframes used to scan for structural confluence.
Include Chart TF: Determines if the current chart's timeframe should also contribute to node strength.
Node Tolerance (×ATR): The spatial bandwidth used to cluster pivots together, measured as a multiplier of current volatility.
Min Node Strength: The minimum number of overlapping timeframes required for a node to be rendered on the chart.
• Filters
Require Rejection Candle: Enforces strict price action criteria, demanding that signals only fire if the candle displays a prominent rejection wick.
Min Wick % of Range: The exact percentage of the candle that must be composed of the wick to validate a rejection.
Max Node Age (bars): The duration a node remains active without being re-tested before being permanently purged from memory.
• Trade Tools
SL Buffer (×ATR): Adds a dynamic volatility buffer beyond the structural node to determine the absolute invalidation point.
TP1, TP2, TP3 (×SL Risk): The respective risk-to-reward multipliers used to dynamically project profit targets.
Lock Current Trade Levels: Freezes the visual risk/reward box on the chart until the trade hits either the final target or the stop loss, ignoring subsequent signals.
• Dashboard & Alerts
Show Dashboard: Toggles the visibility of the real-time data table.
Alert Actions: Customizable text fields allowing users to define specific JSON payload strings for long, short, and exit triggers.
● 🔍 Deconstruction of the Underlying Scientific and Academic Framework
The architectural foundation of this algorithm is heavily rooted in the Fractal Market Hypothesis (FMH), which posits that financial markets exhibit self-similar statistical structures across varying scales of time. In practical terms, a distribution pattern on a 5-minute chart mathematically resembles a distribution pattern on a Weekly chart. By aggregating pivot extrema from multiple independent time scales, this script exploits these fractal geometries to identify areas of harmonic resonance—price zones where liquidity pools overlap across different cohorts of market participants.
To resolve the spatial clustering problem, the system utilizes a volatility-normalized one-dimensional grouping algorithm conceptually akin to Density-Based Spatial Clustering of Applications with Noise (DBSCAN). Instead of utilizing fixed scalar distances (which fail as asset prices scale), the algorithm calculates an epsilon distance bounded by the Average True Range (ATR). This ensures that the clustering logic expands and contracts organically with market entropy. The ultimate output is a mathematically objective reduction of structural noise, isolating only the highest-density liquidity nodes that possess the greatest statistical probability of halting directional momentum.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. อินดิเคเตอร์

Options Sniper Pro v1Options Sniper Pro v1 — Indicator Summary
Options Sniper Pro v1 is an intraday momentum and trend-following indicator designed to identify higher-probability CALL and PUT option setups on liquid ETFs and stocks such as SPY, QQQ, and IWM.
The indicator works best when used during the New York trading session, especially during high-volume periods when momentum is strongest. It combines:
EMA Trend Analysis (9/21/200) – Identifies the overall market direction and avoids trading against major trends.
RSI Momentum Filter – Confirms buying or selling pressure.
Volume Confirmation – Helps identify moves supported by increased participation.
Pullback Entries – Looks for entries after price retraces toward the fast EMA before continuing the trend.
Candlestick Confirmation – Uses bullish/bearish engulfing patterns to improve entry timing.
Smart Money Concepts – Includes Order Blocks and Fair Value Gaps to highlight areas where institutional-style price reactions may occur.
ATR Risk Management – Automatically calculates stop-loss levels and 1R/2R/3R profit targets.
Dashboard Monitoring – Displays trend direction, RSI strength, volume conditions, and active signals.
Best Usage:
Timeframes: 5-minute, 15-minute, and 30-minute charts
Best Markets: SPY, QQQ, IWM, large-cap stocks with strong volume
Best Trading Window: 9:30 AM–11:30 AM and 2:00 PM–4:00 PM EST
Trading Style: Intraday options scalping and momentum trades
Ideal Setup:
✅ Wait for the dashboard to show trend alignment
✅ Enter CALLS when price is above VWAP/EMAs with strong volume and bullish confirmation
✅ Enter PUTS when price is below VWAP/EMAs with strong volume and bearish confirmation
✅ Use TP1 for partial profit and TP2/TP3 for runners
✅ Avoid low-volume chop and sideways markets
Purpose:
This indicator is designed to help traders filter out weak setups and focus on momentum-driven option opportunities with defined entries, exits, and risk management. It is best used as a trade confirmation tool, not as a standalone buy/sell system. อินดิเคเตอร์

อินดิเคเตอร์

Daily Pivot Points - Classic ( S&R Levels )Daily Pivot Points
Classic daily pivot point levels — P, R1, R2, S1, S2 — calculated automatically from the prior session's High, Low, and Close. Levels update at the start of each new trading day and are labeled directly on the right edge of the chart with their exact prices, so you always know where you stand without doing any math.
Levels included:
P — Central pivot (orange)
R1 / R2 — Resistance zones (red)
S1 / S2 — Support zones (green)
R3 / S3 — Extended levels (optional, off by default)
Features:
Right-edge price labels on every level — no guessing
Soft zone fill between R1→R2 and S1→S2 for a clean visual bias
Works on any intraday timeframe (1m, 5m, 15m, 30m, 1H)
Built-in alerts for R1, R2, S1, S2 crosses
Fully customizable colors and line width
How to use:
Pivots are one of the most widely used levels in intraday trading. Price tends to react at these zones — use P as the neutral line, R1/R2 as overhead resistance targets, and S1/S2 as downside support. Watch for rejection or breakout at each level to time your entries and exits.
Lightweight, no repainting, no clutter. Just the levels that matter.
Added concise inline comments explaining:
why lookahead_on + is used (locks levels to prior day at open)
the floor-trader pivot formula logic
why stepline style prevents diagonal artifacts
how the var label + delete-and-redraw pattern keeps the label count clean
the barstate.islast gate
No bloat — just enough for a reader to follow the logic without re-deriving it. อินดิเคเตอร์

Chart Narrator [verticetrading]An analyst that writes. Chart Narrator reads your chart and describes it in plain sentences — no cryptic numbers, no jargon.
◆ WHAT IT DOES
It turns the chart into a written briefing: main trend and whether the higher timeframe agrees, unusual calm or agitation in volatility, the last structural break in plain words, nearest tested support/resistance with distances in %, fresh candlestick patterns, and volume participation. Everything is summarized in a bias header with a conviction score ("BULLISH — 4 of 5 signals point the same way").
◆ HOW IT WORKS
Six evidence modules (trend + higher-timeframe confirmation, volatility ranking, market structure, merged pivot levels weighted by touches, candlestick patterns, volume vs its average) each produce a verdict and the numbers behind it. A narration engine turns them into sentences, stays silent when a module has nothing to say, and detects confluences between modules (e.g. a bullish pattern printed on a tested support) to flag higher-quality situations. With enough history it also adds a day-of-week tendency note with its sample size.
◆ HOW TO USE IT
Add it to any symbol and timeframe. Read the panel top to bottom: bias first, evidence after. Set the "Bias flip" alert to receive the full written analysis when the overall picture changes. Interface in English and Spanish.
◆ WHAT MAKES IT ORIGINAL
Indicators show numbers; this one explains itself. Every sentence cites its evidence, only confirmed bars are narrated (no repainting), and the panel says "mixed, no clear edge" when that is the truth.
◆ LIMITATIONS
It describes the present; it does not predict. Not financial advice.
────────────────────────
ESPAÑOL — El analista que escribe
Convierte el gráfico en un informe escrito: tendencia y si la temporalidad mayor la confirma, calma o agitación inusual de la volatilidad, la última ruptura estructural en palabras llanas, soporte/resistencia más cercanos con distancias en %, patrones de velas recientes y participación del volumen — todo resumido en un sesgo con puntuación de convicción ("ALCISTA — 4 de 5 señales apuntan en la misma dirección"). Seis módulos de evidencia alimentan un motor de redacción que calla cuando no hay nada que decir y detecta confluencias entre señales. Solo narra velas confirmadas (sin repintado). Interfaz en inglés y español. Describe el presente, no predice; no es asesoramiento financiero. อินดิเคเตอร์

IQE + Volume Bubbles Engine LiteIQE + Volume Bubbles Engine Lite
Overview
Recently I have just seen DeepCharts and BookMap and HeatMaps with Volume Bubbles. I trade XAUUSD and scalp that instrument and wanted this for TradingView. But realised the way TradingView implements Level 2 MBO data it would not be possible to implement the heatmaps and Volume Bubbles, but I cracked on regardless and created IQE. I was trying to identify Institutional Particpation . Then I came across Volume Bubbles (QuantAlgo) and how they implemented Volume Bubbles and thought I could implement that methodology, Then I put both indicators on the chart and thought how much richer the Indicators when merged together looked, giving increased insights into Volume.
IQE + Volume Bubbles Engine Lite combines the Institutional Quality Engine (IQE) with an enhanced Volume Bubble Engine to identify high-quality institutional participation and volume events on a single chart.
Rather than relying on volume alone, IQE analyses multiple aspects of market behaviour to classify the quality of each move before combining that information with significant Volume Bubble events.
The result is a simple visual representation of potential institutional participation using three signal families:
VI – Volume Bubble + IQE
V – Volume Bubble Only
I – IQE Only
The Lite version is designed to provide a powerful institutional participation indicator while remaining easy to understand and configure.
Institutional Quality Engine (IQE)
IQE is an original multi-engine scoring model developed to evaluate the overall quality of market participation rather than relying on a single technical indicator.
Every candle is analysed using five independent market components.
Participation Engine
Measures whether unusually large market participation is occurring by analysing:
Relative volume
Volume acceleration
Volume persistence
Candle expansion
Overall participation quality
This attempts to distinguish genuine participation from normal market activity.
Efficiency Engine
Evaluates how efficiently price moved during the candle.
Factors include:
Body size
Wick size
Close location
ATR efficiency
Directional close strength
Strong institutional candles generally close efficiently with limited rejection.
Structure Engine
Evaluates market structure including:
Break of previous highs/lows
Breakout strength
Range compression
Close outside previous structure
This helps identify meaningful structural moves rather than random price fluctuations.
Trend Engine
Analyses trend quality using:
EMA trend direction
Trend slope
Higher highs
Higher lows
Lower highs
Lower lows
Trend continuation
This helps distinguish trend participation from counter-trend movement.
Liquidity Engine
Evaluates potential liquidity behaviour including:
Liquidity sweeps
Rejection candles
High-volume stalls
Exhaustion characteristics
The Lite version includes this internal liquidity assessment as part of the IQE score.
IQE Classification
Each candle is classified into one of three quality levels.
PRO
Professional participation.
Represents above-average institutional quality and is often the earliest indication of meaningful activity.
INST
Institutional participation.
Requires stronger agreement between the IQE engines and generally indicates higher confidence.
EXCE
Exceptional participation.
Reserved for the strongest institutional-quality candles where multiple market conditions align.
Volume Bubble Engine
The Volume Bubble Engine identifies statistically significant volume clusters and classifies them into three levels.
Small
Medium
Big
Each cluster may be classified as:
Buy
Sell
Mixed
depending on the selected classification method.
The Volume Bubble settings remain intentionally compatible with the original implementation.
For a detailed explanation of the Volume Bubble detection methods, percentile settings, consensus modes and lower timeframe delta calculations, users are encouraged to refer to the original Volume Bubbles publication by QuantAlgo .
Combined Signal Engine
The Lite version introduces three independent signal families.
VI
Volume Bubble and IQE occur together.
This represents the strongest confluence because both engines independently agree on institutional participation.
V
Volume Bubble only.
Used when significant volume is detected without an accompanying IQE classification.
I
IQE only.
Used when institutional-quality price behaviour is detected without a qualifying Volume Bubble.
Consecutive Signal Confirmation
One of the major additions in the Lite version is the ability to require multiple qualifying signals within a user-defined lookback period before a signal is displayed.
This helps reduce isolated signals and instead highlights repeated institutional participation.
Each signal family can be configured independently.
VI Confirmation
Require multiple VI signals within a configurable lookback window.
Useful for confirming repeated institutional participation combined with elevated volume.
V Confirmation
Require multiple Volume Bubble signals.
Useful for identifying persistent high-volume activity rather than isolated spikes.
I Confirmation
Require multiple IQE signals.
Useful for confirming repeated institutional-quality behaviour even when volume remains below cluster thresholds.
TDFI Trend Filter
The Lite version includes an integrated TDFI v2 filter which can optionally suppress signals that occur against the prevailing trend.
Two filtering modes are available.
Threshold Hold
Signals are permitted whenever TDFI remains inside its bullish or bearish threshold.
This is the more responsive mode and generally produces more trading opportunities while still filtering obvious counter-trend signals.
Momentum / Recovery
Signals require both:
TDFI to remain inside the bullish or bearish threshold
Momentum to continue in the same direction (or remain pinned near an extreme)
This is a stricter confirmation method designed for traders who prefer stronger trend continuation before allowing signals.
Informative Alerts
Dynamic alerts include:
Signal family
Buy or Sell direction
IQE classification
IQE score
Volume Bubble level
Volume ratio
Delta information
Signal occurrence count
TDFI status
Trend filter state
Candle Colouring
The indicator supports four colouring modes.
Off
IQE Only
Volume Bubbles Only
IQE + Volume Bubbles
When both engines are enabled, Volume Bubble colours take priority while IQE colours remain visible on candles without an active Volume Bubble.
Attribution
This indicator combines original work with adapted open-source components.
Original work
nrendall
Original developments include:
Institutional Quality Engine (IQE)
IQE scoring methodology
Participation, Efficiency, Structure, Trend and Liquidity engines
VI / V / I Combined Signal Engine
Consecutive signal confirmation
TDFI integration
Dynamic alert system
Candle colouring system
Overall architecture and user interface
Volume Bubble Engine
This indicator includes an adapted implementation of the open-source Volume Bubbles indicator.
Original author:
QuantAlgo
When using a laptop hovering over the Bubbles gives additional volume insights. This does work of a phone or tablet but does not work as well as when using a laptop
TDFI Trend Filter
This indicator includes an adapted implementation of TDFI v2.
Original author:
causecelebre
The TDFI filter has been integrated into the IQE signal engine and extended with configurable filtering modes while respecting TradingView's House Rules for open-source scripts.
Looking Ahead – IQE Professional
IQE + Volume Bubbles Engine Lite is the community edition of the IQE platform.
The upcoming IQE Professional will introduce a completely new proprietary architecture, including:
Institutional Absorption Engine - Completed
EMA Squeeze / Market State filter showing Squeeze and Ranging Markets - Completed
Participation Persistence Engine
Advanced Liquidity Analysis
Institutional Confidence Scoring
Multi-engine confirmation
Advanced dashboards
Premium alerts
Iceberg Identification
Multi-timeframe participation analysis
Accumulation and distribution regimes
Institutional continuation and reversal models
Liquidity sweep sequences
Reload and estimated iceberg behaviour
Cross-engine confluence scoring
Configurable trade-rating framework
Session and regime analytics
Research/export tools
These may have to be split into two different indicators as the Pro is already 3000+ lines and creeping towards the max of PineScript.
Additional institutional market analytics
The long-term goal is the IQE Institutional Suite, bringing together original institutional participation and market-structure analysis into a unified professional trading platform. อินดิเคเตอร์

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.
อินดิเคเตอร์
