RSI Divergence Hunter [JOAT]RSI Divergence Hunter
Automatically detects the four classic RSI divergence types on confirmed pivots and frames each one as a trade.
What it is
Divergence between price and momentum is one of the oldest reversal and continuation reads, but marking it by hand is subjective and easy to force. This indicator detects all four divergence types algorithmically on confirmed pivots, so what you see is defined and repeatable, and then attaches a full trade structure to each. It is an original divergence engine, not a plain RSI plot.
How it works
• RSI core — the relative strength index measures the speed and size of recent moves. It is the momentum reference every divergence is measured against.
• Confirmed pivots — the engine waits for pivots on both price and RSI to confirm a set number of bars back before comparing them. Because pivots are only evaluated once confirmed, a plotted divergence does not repaint into or out of existence.
• The four types — regular bullish (price lower low, RSI higher low) and regular bearish (price higher high, RSI lower high) point to potential reversals; hidden bullish and hidden bearish point to trend continuation after a pullback. Each is drawn with a connecting line on both price and RSI and labelled by type.
• Zones and gating — overbought and oversold zones give context, and a minimum-gap control keeps divergence signals from stacking on lower timeframes.
Trade levels
Each qualifying divergence draws a red risk box to the stop and a green reward box to the third target, with inner dividers and right-edge labels for entry, stop and each take-profit at your R multiples. The stop is anchored beyond the pivot that formed the divergence.
The dashboard
An adjustable divergence-scope panel shows the current RSI value and zone, the most recent divergence type detected, the active signal, a conviction estimate, and a live first-target-before-stop tally from closed bars only.
How to use it
• Works on any asset and timeframe.
• Treat regular divergences as counter-trend reversal cues and hidden divergences as with-trend continuation cues — the distinction matters.
• Combine with structure or a trend filter; divergence works well as confluence, not in isolation.
Settings
RSI length and source, pivot strength, which divergence types to display, overbought/oversold levels, risk multiple and target R multiples, plus visual and dashboard controls.
Originality and usefulness
The contribution is a complete, confirmed-pivot detector for all four divergence classes with clear per-type labelling and integrated, non-repainting trade framing. By fixing the definition of a divergence and waiting for pivot confirmation, it removes much of the hindsight bias that makes manual divergence unreliable.
Notes and limitations
• Divergence signals can persist and reappear in strong trends; a divergence is a condition, not a timing guarantee.
• Confirmed pivots introduce a natural delay equal to the pivot strength — this is the cost of not repainting.
• The tally reflects only past bars on the current chart and is not a forecast.
• Educational and analytical tool, not financial advice.
— made with passion by officialjackofalltrades
อินดิเคเตอร์

Quant Confluence Engine [JOAT]Quant Confluence Engine
Scores several independent market factors into one weighted composite, so signals fire on agreement across dimensions rather than on any single trigger.
What it is
Single-factor signals are fragile: a momentum cross, a moving-average flip or a volume spike each fails often on its own. This engine measures several independent factors, normalises them to a common scale, and blends them into one bipolar confluence score. A signal is produced only when enough factors line up, and the transparency of the score lets you see exactly why. It is an original scoring framework, not a bundle of overlaid classic indicators.
How it works
• The factors — the engine evaluates a set of complementary dimensions, each capturing a different aspect of the tape: trend alignment, momentum, volatility regime, volume behaviour, price structure and stretch relative to a mean. Each factor is computed with a standard, well-understood method and then scaled so it contributes fairly.
• Normalisation — every factor is converted to a bounded contribution, so no single input can dominate the composite purely because of its raw magnitude.
• Composite score — the contributions are combined into one signed 0-centred score. Positive means the factors lean bullish, negative bearish, and the magnitude expresses how strong the agreement is.
• State-machine signals — a Buy fires when the score crosses into sufficient bullish agreement from a non-bullish state; a Sell is the mirror. Because a signal requires a genuine state change, the engine will not re-fire the same direction bar after bar — signals are self-spacing by construction.
Trade levels
Each signal draws a red risk box to the ATR stop and a green reward box to the third target, with inner dividers and right-edge labels for entry, stop and each take-profit at your R multiples.
The dashboard
An adjustable factor-grid panel shows each factor's current lean (up or down) alongside a bipolar composite-score headline, the active signal, a conviction reading, and a live first-target-before-stop tally from closed bars only. The grid makes it obvious which factors are driving or vetoing a setup.
How to use it
• Works on any asset and timeframe; the factors adapt to the data.
• Read the grid before acting — a signal backed by broad agreement differs from one carried by a single strong factor.
• Raise the agreement requirement for fewer, higher-conviction signals, or lower it for more frequent ones.
Settings
Per-factor lengths and weights, the agreement threshold, ATR risk multiple and target R multiples, plus visual and dashboard controls.
Originality and usefulness
The value is the framework itself: a normalised, weighted multi-factor score with a transparent per-factor readout and a state-machine trigger that prevents signal spam. It is designed so a trader can inspect the reasoning, not just accept a label — which is precisely what a confluence approach should offer.
Notes and limitations
• Confluence reduces some false signals but does not remove them; correlated factors can all be wrong together in unusual conditions.
• Weighting is a design choice — different weights suit different markets, so treat the defaults as a starting point.
• The tally reflects only past bars on the current chart and is not a prediction.
• Educational and analytical tool, not financial advice.
— made with passion by officialjackofalltrades
อินดิเคเตอร์

Volatility Squeeze Breakout [JOAT]Volatility Squeeze Breakout
Finds volatility compression — when Bollinger Bands contract inside the Keltner Channel — and signals the directional release with a built-in energy gauge.
What it is
Markets alternate between coiling and expanding. This indicator detects the coil using the classic squeeze relationship between two well-known volatility envelopes, quantifies how much energy has built up, and then signals the breakout in the direction momentum actually resolves. It is an original implementation with a charge model and full trade framing, not a bare squeeze dot script.
How it works
• The squeeze — a squeeze is on when the Bollinger Bands (price standard deviation) contract entirely inside the Keltner Channel (ATR-based). This means realised volatility has fallen below its typical range and the market is compressing.
• Charge / energy — while the squeeze persists, the tool tracks how long and how tightly the market has been coiled and expresses it as a 0–100 charge. A longer, tighter coil stores more potential energy for the eventual expansion.
• Momentum direction — a smoothed momentum measure determines which way the coil is leaning, so the breakout is read directionally rather than as a neutral event.
• The release — a Buy fires when the squeeze releases with rising positive momentum; a Sell fires when it releases with falling negative momentum. The release is a discrete event, and a minimum-gap control prevents repeated prints around the same break.
Trade levels
On a signal, a red risk box marks entry to the ATR stop and a green reward box marks entry to the third target, with inner dividers and right-edge labels for entry, stop and each take-profit at your R multiples.
The dashboard
An adjustable energy-gauge panel shows the squeeze state, the charge that had accumulated at the moment of release, the momentum direction, a conviction estimate, the active signal, and a live first-target-before-stop tally from closed bars only.
How to use it
• Works on any asset and timeframe; volatility cycles exist at every scale.
• Watch the charge build during a squeeze, then act on the release in the momentum direction.
• Higher charge readings indicate a longer coil, which some traders treat as a higher-quality setup — but a big coil can still resolve in either direction, so the momentum gate matters.
Settings
Bollinger length and multiplier, Keltner length and ATR multiplier, momentum length, release and charge options, risk multiple and target R multiples, plus visual and dashboard controls.
Originality and usefulness
The squeeze concept is public domain; the value added here is the charge model that turns coil duration and tightness into a readable energy figure, the directional momentum gate on the release, and the integrated non-repainting trade framing — combined and explained so a trader can see exactly why each breakout is flagged.
Notes and limitations
• Squeeze breakouts can fail or fake out; a release does not guarantee follow-through.
• The charge measures compression, not direction — always confirm with the momentum reading and your own context.
• The tally reflects only past bars on the current chart and is not a prediction.
• Educational and analytical tool, not financial advice.
— made with passion by officialjackofalltrades
อินดิเคเตอร์

Adaptive Momentum Ribbon [JOAT]Adaptive Momentum Ribbon
An eight-layer moving-average ribbon whose colour is driven by live momentum and whose compression flags the coil before the move.
What it is
A single moving average tells you very little. A ribbon of them, fanned by speed, tells you three things at once: direction (the colour), strength (how wide it fans) and turning points (where it squeezes and flips). This indicator builds that ribbon and adds a momentum core and a compression detector so the ribbon is not just decorative — it gates the signals.
How it works
• The ribbon — eight exponential moving averages from fast to slow, with an optional light second smoothing pass for cleaner turns. When the fast layers sit above the slow layers the stack is bullish, and vice versa.
• Momentum core — a rate-of-change normalised by ATR and then smoothed. This value is mapped onto a colour gradient, so a strong trend glows saturated while a fading one drifts toward neutral. The same value gates entries, so you buy strength rather than every flip.
• Compression detector — the width between the fastest and slowest ribbon lines is ranked as a percentile over a lookback window. A low percentile means the market is coiled; a move out of that coil is the tradable expansion. Coils are highlighted so you can see energy building.
• Flip signals — a Buy prints when the ribbon flips up out of (or just after) a compression with positive momentum; a Sell is the mirror. Because a flip requires the stack to actually reverse, signals are naturally spaced, and a minimum-gap control adds a further safeguard against clustering.
Trade levels
Each signal draws a red risk box to the ATR-based stop and a green reward box to the third target, with inner target lines and right-edge price labels for entry, stop and every take-profit at your chosen R multiples.
The dashboard
An adjustable panel shows trend direction, a block-gradient momentum meter with a signed headline value, the compression state (coiled or expanded), a 0–100 conviction estimate, the current signal, and a live first-target-before-stop tally from closed bars only.
How to use it
• Works on all assets and timeframes; the ribbon adapts to whatever data it is given.
• Use the coil highlight to prepare for a move and the flip-with-momentum signal to time it.
• Require the coil filter for cleaner, fewer signals in choppy markets, or relax it for more responsive trend entries.
Settings
Base length and layer step, source, optional smoothing, momentum length and smoothing, signal momentum gate, compression window and percentile threshold, risk multiple and target R multiples, plus visual and dashboard controls.
Originality and usefulness
The combination is the point: a speed-fanned ribbon, an ATR-normalised momentum gradient that both colours the ribbon and filters signals, and a percentile-ranked compression model that isolates coils. Together they turn a familiar visual into a structured, non-repainting trend-and-expansion tool.
Notes and limitations
• Moving averages lag by nature; the ribbon confirms trend, it does not call exact tops or bottoms.
• In strong one-way trends the compression filter may keep you out of some continuation entries — that is the intended trade-off for fewer false flips.
• The tally reflects only past bars on the current chart and is not a forecast.
• Educational and analytical tool, not financial advice.
— made with passion by officialjackofalltrades
อินดิเคเตอร์

Euphoria Momentum Oscillator📊 Euphoria Momentum Oscillator
🧾 Brief Description
A momentum oscillator that combines WaveTrend-style smoothing, adaptive overbought/oversold zones, and signal-line pivot detection to visualize momentum expansion, exhaustion, and reversals.
📖 Full Description
🔍 Overview
The Euphoria Momentum Oscillator is a smooth momentum tracking tool designed to help you understand market emotion cycles inside price action.
Instead of only showing overbought/oversold levels, it builds a continuous momentum wave that highlights:
📈 Momentum expansion
📉 Momentum exhaustion
🔄 Potential reversal zones
⚖️ Trend pressure shifts
It is built for context, not prediction, helping traders read structure inside momentum behavior.
⚙️ Core Engine
At its core, the indicator:
Builds a smoothed momentum wave from price deviation
Applies dual-layer smoothing to reduce noise
Scales movement using an amplitude multiplier for adaptability
👉 Result: a clean oscillator that reacts smoothly to market cycles.
📡 Signal Logic
A hidden signal line is used to detect momentum turning points.
This helps identify:
🔴 Peak momentum exhaustion (possible reversal down)
🟢 Trough momentum exhaustion (possible reversal up)
⚡ Transition phases between expansion & contraction
These signals are only shown when structure confirms a shift — not raw noise.
🌡️ Market Zones
The oscillator uses dynamic sentiment zones:
🔴 Overbought zone (Euphoria region)
→ Momentum may be extended or overheating
🟢 Oversold zone (Fear region)
→ Momentum may be oversold or exhausted
👉 These zones are contextual, not direct buy/sell signals.
🎯 Visual Language
🟢 Rising line = increasing bullish momentum
🔴 Falling line = increasing bearish momentum
🌈 Gradient zones = intensity of emotional pressure
🟡 Yellow dots = entry into extreme zone
🔴 / 🟢 dots = confirmed momentum pivot points
📊 Dashboard
A built-in dashboard shows:
📌 Sentiment state (Fear / Neutral / Euphoria)
📊 Current oscillator value
📉 Trend bias vs 50 EMA
This helps quickly understand market context at a glance.
🔔 Alerts
You can set alerts for:
🚨 Entering Euphoria zone (overbought pressure)
🚨 Entering Fear zone (oversold pressure)
📉 Momentum peak formation
📈 Momentum trough formation
All alerts are triggered only after structural confirmation.
⚙️ Inputs
Customize:
Channel length (momentum sensitivity)
Smoothing strength
Signal line speed
Amplitude scaling
Overbought / oversold thresholds
Visual vertical lines toggle
🧠 How to Use
Best used for:
📈 Momentum tracking
🔄 Reversal context spotting
📊 Trend continuation vs exhaustion analysis
🧩 Multi-timeframe confirmation setups
👉 Works best when combined with:
Price structure
Support/resistance
Trend indicators
⚠️ Limitations
This is a context tool, not a prediction system.
Momentum extremes can persist in strong trends
Signals should not be used alone
Confirmation from price action is recommended
💡 Originality
This indicator is not a standard oscillator.
It introduces:
🌊 WaveTrend-inspired momentum engine
🧠 Dual smoothing architecture
📡 Signal-line pivot detection
🌡️ Adaptive sentiment zones
📊 Structured dashboard context layer
👉 The goal is to transform raw momentum into readable market emotion cycles, not just overbought/oversold signals. อินดิเคเตอร์

xKen-t Williams %R + EMA w/COT Bias GateWhat's original here
This isn't a Williams %R repaint. Standard %R gives a level; this script converts it into a filtered, context-aware timing engine through four combined mechanisms: (1) exit-from-extreme triggers that fire when %R crosses back out of −80/−20 rather than when it reaches them, so signals mark the reversal instead of the ongoing move; (2) EMA-side confirmation that validates the exit against the 13-EMA; (3) a −50 regime filter that blocks counter-regime signals; and (4) a directional-bias gate that normalizes any external series you feed it (e.g. a COT commercial-net line) to a 0–100 position-in-range index and suppresses every signal that disagrees with that bias. The gate is the core idea — it makes the oscillator time entries only in a separately chosen direction, turning a reversal oscillator into a with-context pullback tool. A status table surfaces %R, its EMA, the regime, the active bias, the higher-timeframe read, and the last signal in one place.
Overview
A Williams %R momentum tool rebuilt around three ideas: it signals on the exit from an extreme rather than the touch, confirms that exit with the %R/EMA relationship, and can gate every signal by an external directional bias (such as Commitments of Traders positioning) so only signals agreeing with that bias are shown. This targets the two classic Williams %R weaknesses — catching falling knives at the band, and firing endless counter-trend reversals during strong trends.
What it calculates
- Williams %R (default 21): the standard oscillator (0 to −100) measuring where the close sits within the lookback's high-low range.
- 13-EMA of %R: a smoothing/confirmation line.
- Triggers: in "Band exit" mode a long fires when %R crosses back up through −80 (leaving oversold) and a short when it crosses back down through −20 (leaving overbought). In "EMA cross in zone" mode the trigger is %R crossing its EMA while in the lower/upper half. Either way, it marks the turn, not the extreme reading itself.
- EMA confirmation (optional): requires %R on the trigger side of its EMA at signal time.
Regime filter (optional): longs only when the %R EMA is above the −50 midline, shorts only when below.
- COT Bias Gate: point the "COT source" input at any external series on the chart — e.g. a Commitments of Traders commercial-net or COT-index line. The script converts it to a 0–100 position-in-range index over a lookback; ≥80 is treated as bullish bias, ≤20 as bearish. With the gate on, longs show only in a bullish bias and shorts only in a bearish one; opposite-bias signals are suppressed. You can also set the bias manually or turn the gate off for standalone %R.
- Divergence (optional): regular bull/bear divergence between price pivots and %R pivots.
Higher-timeframe read (optional): shows a higher-timeframe %R value in the table for top-down context.
How to use it
1. Add it on your entry timeframe (defaults: %R 21, EMA 13, band-exit, EMA confirmation on).
2. Set the bias — manually (Bullish/Bearish), or "Auto" pointed at a COT/context line, or Off.
3. Trade the markers: green up-triangle = confirmed long trigger, red down-triangle = confirmed short. Combine with your own levels and risk management.
Notes and limitations
- Divergence markers are drawn back at the confirmed pivot using an offset — they plot in the past and can repaint until the pivot forms. Treat them as context, not a standalone trigger.
- The gate reads whatever series feeds the source input; on the default (Close) the "bias" is computed from price, not COT — point it at a real COT/context line for it to be meaningful.
- The higher-timeframe read uses non-lookahead requests (no future data).
- Analysis tool for timing within a chosen bias. It does not predict outcomes and is not financial advice. อินดิเคเตอร์

Participation-Adjusted Momentum [TradeDots]Participation-Adjusted Momentum
Summary
This indicator computes a momentum oscillator that has been adjusted by participation quality . Raw momentum (standardized rate-of-change) is multiplied by a quality blend derived from volume percentile, close-location alignment within the bar, and range-per-volume efficiency. The intent is to differentiate strong momentum supported by participation from moves that look impressive on price alone but occur on thin volume or wide ranges with little net travel. The histogram is colored by one of five interpretable states (Strong Bull, Strong Bear, Thin, Quiet Accumulation, Noisy) so users see at a glance whether to trust a momentum reading.
What is original here
Momentum oscillators (rate-of-change, MACD, RSI) and volume oscillators (volume percentile, MFI) are widely available. This script's contribution is the deliberate combination into a single adjusted reading, plus the five-state classification that maps raw-momentum / participation combinations to labelled regimes. The "Quiet Accumulation" state (low momentum but rising volume percentile) and the "Thin" state (strong momentum but low participation) are specifically called out because they are the most actionable readings — both indicate that the price reading and the order-flow reading disagree, and that disagreement deserves a label.
How it works
Each bar, the following quantities are computed.
Raw momentum. Rate-of-change of close over a configurable length, then z-scored (subtract the mean, divide by the standard deviation) over the normalization lookback. The result is approximately bounded but can exceed plus or minus 3 in extreme moves.
EMA slope. A 50-period EMA's change over a configurable lookback, min-max normalized to 0-100. Used as a secondary directional bias (computed and exposed as a hidden plot, but not directly added to the displayed oscillator).
Volume percentile. Volume rank over the normalization lookback (typically 100 bars).
Close-location value. Where the close sits within the bar's high-low range, expressed as a percentage. For an upward-direction reading, a close near the bar's high indicates buyers won the bar; for a downward-direction reading, a close near the bar's low indicates sellers won.
Participation. Volume percentile (divided by 100) multiplied by direction-aligned close-location value (also normalized to 0-1). Result is in ; higher means "good participation".
Range per volume. Bar range divided by volume. High range per volume means a wide candle moved on thin flow — typical of news spikes, illiquid prints, or false moves. The percentile rank of range-per-volume is inverted (low range-per-volume gives a high "efficiency score") and used as a quality factor.
Quality blend. A weighted combination: 0.4 * participation + 0.4 * range_efficiency + 0.2. The +0.2 floor ensures that even with zero participation and zero efficiency, the adjusted momentum retains 20% of the raw signal so the oscillator does not flatline completely.
Adjusted momentum = raw momentum × quality blend.
State classification (mutually exclusive):
Strong Bull : raw momentum at or above +threshold and participation at or above 0.55
Strong Bear : raw momentum at or below −threshold and participation at or above 0.55
Thin : absolute raw momentum at or above threshold and participation below 0.35 — momentum without volume, a warning state
Quiet Accumulation : absolute raw momentum below the quiet threshold and volume percentile above the quiet-volume floor — flat price but rising participation
Noisy / Low Quality : the catch-all when none of the above apply
The histogram bar color reflects the current state.
Repainting and data integrity
All factors are computed on confirmed bar values; alerts are gated by barstate.isconfirmed. No request.security() calls are made — the script operates entirely on the chart timeframe.
How to read the chart
The primary plot is the adjusted-momentum histogram, colored by state.
A thin overlay line shows the same value with continuous color for easy zero-line reading.
Reference lines at zero and at ±1 standard deviation provide context for how extreme the current reading is.
Hidden plots expose raw momentum, participation, volume percentile, and direction so they are available in the Data Window.
The dashboard panel shows the current state in the header, then numeric readings for raw momentum (in z-units), adjusted momentum, volume percentile, participation, range efficiency, and the quality blend.
Inputs
Inputs are grouped into three sections.
Core Settings : ROC length, percentile / z-score lookback, EMA slope length, slope lookback bars, strong-momentum z-threshold, quiet-accumulation maximum z, quiet-accumulation minimum volume percentile.
Visual Settings : zero-line toggle, ±1σ band toggle, dashboard toggle, panel position and size, panel background color.
Any Alert() function call conditions : per-alert toggles.
Alerts
Four alert conditions are provided, each firing on the first bar the state is entered:
Strong Bull Momentum
Strong Bear Momentum
Quiet Accumulation Detected
Momentum Without Volume (the "Thin" warning state)
Each is declared via alertcondition() and is fired programmatically through alert() when the corresponding input toggle is enabled, with alert.freq_once_per_bar_close. Alert messages include {{ticker}} and {{interval}} placeholders.
How to use this script
This is a confirmation indicator. It does not generate entries on its own.
When considering an entry on price strength alone, check this indicator. A Strong Bull or Strong Bear state confirms that volume and close location support the move.
The "Thin" state is a warning. A breakout that prints during a Thin reading should be treated more cautiously than the same breakout during Strong Bull.
The Quiet Accumulation state can identify periods of base-building before a move and is useful as a "watchlist" signal.
Use alongside a setup-specific indicator for entry timing.
Limitations and honest caveats
Volume quality varies dramatically between markets. On crypto exchanges, wash-trading and bot-driven order flow can produce misleading volume percentile readings. Apply with awareness.
Z-score normalization requires the lookback to contain a representative variety of states. On instruments with strong regime changes, early-bar z-scores may be unreliable until the lookback fills.
The close-location alignment factor reads single-bar close behavior. On gappy markets or after market closes, the alignment may not reflect intraday order flow.
The script does not signal direction independently; it adjusts and labels momentum that is already present.
The +0.2 floor in the quality blend is a design choice to avoid flat-lining the oscillator. Users who want a strict "zero adjustment when participation is zero" reading can set the participation weights higher and adjust the floor by modifying the source code.
Disclaimer
This script is published for informational and educational purposes. It is not investment advice and is not a recommendation to buy or sell any instrument. Adjusted momentum is a descriptive measure, not a prediction of future price. Users are solely responsible for their own trading decisions and risk management.
อินดิเคเตอร์

Two Sigma Factor Composite [JOAT]TWO SIGMA FACTOR COMPOSITE
A tribute to the multi-factor approach pioneered by Two Sigma — long-only, long/short, and risk-premia funds that decompose returns into orthogonal factor exposures, normalise each factor onto the same statistical scale, and combine them into a single signed score. Two Sigma Factor Composite builds five canonical factors (Momentum, Quality, Value, Volatility, Mean-Reversion), Z-normalises each against a rolling baseline, sum-normalises the user-controllable weights, and outputs a composite score with signal labels, factor sparklines on the chart, and a rolling hit-rate backtest.
The five factors
Each factor is computed independently and Z-normalised over a configurable window (default 100 bars) with optional outlier clipping (default ±4σ):
Momentum — return / volatility over the configurable momentum window (default 50 bars). The classic "trend" factor.
Quality — inverse of recent realised volatility (default 50-bar window). Lower volatility = higher quality; an asset that has been calmer is treated as higher quality, consistent with academic factor research.
Value — deviation from a long mean (default 200-bar SMA). Negative deviation = "cheap" (positive value factor exposure); positive deviation = "expensive". The classical cross-sectional value definition, adapted to time series.
Volatility — percentile rank of recent realised volatility (default 20-bar stdev percentile-ranked over 252 bars). High vol = negative factor; low vol = positive factor.
Mean-Reversion — signed deviation from a 20-bar mean (default). Captures short-term reversion bias.
Each factor's window is independently configurable. All five outputs are Z-scores capped at ±4σ to prevent any single outlier from dominating the composite.
Sum-normalised weights
Five weight sliders (default 1.0 each) are normalised internally so any positive combination is valid. Default equal weight is the most defensible baseline; tune individual weights to bias the composite. Want a pure momentum + quality read? Set the others to 0.1 and Momentum/Quality to 2.0. The composite reshapes itself live.
Signal engine — bounded composite with three tiers
The composite is bounded by the clipping cap. The signal engine layers three thresholds:
Buy — composite crosses above the buy threshold (default +1.0σ).
Sell — composite crosses below the sell threshold (default −1.0σ).
Extreme Bull / Extreme Bear — |composite| crosses ±2.0σ. The script's strongest read.
A configurable signal cooldown (default 10 bars) prevents clustering.
Factor sparklines (the signature visual)
The script renders inline sparklines on the chart for all five factors — small line plots that visually show each factor's recent Z trajectory. Configurable base offset (vertical position below zero), row spacing, amplitude, and per-row transparency mapping. At a glance you see which factors are driving the composite and which are flat.
When all five sparklines lean the same way, the composite is high-confidence. When they disagree, the composite is a weighted compromise — the sparklines tell you the truth that a single number cannot.
Visual system
Composite line (configurable width, default 3px) with sign-coloured fill toward zero (configurable transparency).
Threshold lines at ±buyTH and ±extremeTH (configurable transparency).
Buy / Sell labels on chart on threshold crosses.
Factor sparklines — five inline Z-trajectory plots in the pane.
Optional chart-background override to follow chart.bg_color.
A locked Emerald Night palette: vivid green bull / vivid red bear / sage mid on a deep emerald background — strict 2-hue discipline with bg. No third colour invented anywhere; all variations are transparency-only.
Dashboard
Monospaced table positionable to any of eight corners. Surfaces:
Composite Z value and sign.
Per-factor Z rows (Momentum / Quality / Value / Volatility / Mean-Reversion).
Factor agreement percentage (how many factors agree with composite sign).
Last signal direction with bars-ago.
Weight configuration in use.
Backtest stats row — rolling forward-N-bar hit rate (configurable lookahead, default 10 bars). The script's own performance audit.
Alerts
Five alert conditions, each independently controllable:
BUY Cross (composite crosses above buy threshold)
SELL Cross
Extreme Bull (composite > +2.0σ)
Extreme Bear (composite < −2.0σ)
Low Factor Agreement (% of factors agreeing falls below the configurable threshold, default 40%) — the script's "no edge" warning.
How to read it
Three reads, in order of conviction:
Extreme score with high factor agreement (e.g. composite > +2.0σ AND agreement > 80%) — the highest-conviction read the script produces. Four or five factors are pointing decisively one way, and the composite is at a statistical extreme.
Buy / Sell with sparkline confirmation — visual confirmation that the directional read is being driven by multiple factors, not just one. If the composite is bullish but only the Momentum sparkline is leaning, the read is fragile; if Momentum + Quality + Value + Mean-Reversion all lean, the read is robust.
Low Agreement alert — stand-aside signal. The factors disagree internally; the composite is a wash. Wait for re-alignment.
Suggested settings
Defaults (momentum 50 / quality vol 50 / value 200 / vol 20/252 / MR 20, Z window 100, ±4σ clip, ±1.0 buy/sell, ±2.0 extreme, 10-bar cooldown) are tuned for daily charts on broad indices — the timeframes where factor approaches are statistically meaningful. For lower timeframes drop all windows proportionally. For weekly+ keep defaults; factor reads on weekly are the canonical institutional horizons.
Originality / what's reused
The factor-investing framework is published academic finance — Fama-French 1992, Carhart 1997, AQR 2013, and many others. The five factors used here (Momentum, Quality, Value, Volatility, Mean-Reversion) are the canonical institutional factor set. The implementation here — the five-factor pipeline with each factor's window independently configurable, the rolling Z-normalisation with outlier clipping, the sum-normalised five-weight composition, the bounded-composite signal engine with three-tier thresholds, the inline factor sparklines render in the same pane, the rolling forward-bar hit-rate backtest, and the strict 2-hue alpha-only palette — is JOAT-original. No third-party code reused. The script is a tribute to Two Sigma-style factor-composite portfolio construction, not a direct replication of any proprietary Two Sigma model.
Limitations
The five factors are computed from chart data only — they are time-series proxies of the cross-sectional factors used in true multi-asset portfolios. The Z-normalisation needs the window populated; early bars give a warm-up read. The forward-N-bar hit-rate backtest is descriptive of recent signal behaviour under the current settings; it is not a predictive metric. Factor exposures historically underperform for extended periods — the dashboard's agreement row and the low-agreement alert exist specifically to warn you when the model is breaking down.
—
-made with passion by jackofalltrades
อินดิเคเตอร์

Citadel Microstructure Edge [JOAT]CITADEL MICROSTRUCTURE EDGE
A tribute to the high-frequency / market-making style of microstructure-edge extraction. Builds three orthogonal microstructure signals — tick imbalance (which side is aggressively crossing the tape), spread tightness (how thin the bid-ask is relative to its baseline), and micro momentum (the EMA-pair spread on the fastest timeframe) — then composes them into a single decaying edge value with an exponential half-life. When the edge crosses a configurable threshold and has sustained for N bars same-sign, a directional signal fires. Cooldown plus asymmetric lockout keep the signal stream institutional.
Three orthogonal components
Each component is computed independently and Z-normalised (optional for tick imbalance) for stationarity:
Tick Imbalance — LTF-reconstructed buy/sell tick classification. Output is the rolling imbalance bounded in ; optionally Z-normalised over a configurable window (default 60 bars) for cross-asset stationarity. The dominant input for fast / scalping reads.
Spread Tightness — (H − L) / C against its own EMA-smoothed baseline, Z-scored. Tight spread (low relative range) is constructive for whichever side momentum favours. The sign is borrowed from the micro-momentum factor.
Micro Momentum — EMA-fast minus EMA-slow on the tick-reconstructed flow, Z-scored. The directional engine.
Default weights (0.45 / 0.25 / 0.45) bias the read toward the two most-actionable components (tick imbalance + momentum), with spread tightness as confirmation. Optional auto-normalisation to sum=1.
Decaying edge with half-life ~ 3 bars
Microstructure edges decay quickly. The script does not just sum the three components per bar — it accumulates with decay :
edge_t = decay × edge_{t−1} + contribution_t
The default decay (0.78) gives the edge a half-life of approximately 3 bars — the standard market-making decay window. Older contributions fade out automatically; new contributions get incorporated immediately. This is the institutional way to track a fast signal without re-introducing flicker.
Sustained-edge signal logic
Edge Threshold (default 0.75) — minimum |edge| magnitude required to fire.
Sustained Edge (default 5 bars same sign) — the edge must have held its sign for N consecutive bars before a signal fires. This is the script's most important false-positive filter.
Cooldown (default 7 bars) — minimum bars between signals.
Asymmetric lockout (default ON) — an opposite-side signal CAN fire during cooldown. This means a quick flip from buy to sell remains responsive while consecutive same-side signals are suppressed.
Visual system
Edge histogram — projected at the top of the chart at a configurable percent of price (default 2% of price, 1.2% top padding). Histogram columns are coloured by edge sign with magnitude-proportional intensity. At a glance you see the edge's recent trajectory.
Buy / Sell labels with optional Unicode lightning glyph (toggleable to plain ">").
Slope-tinted micro ribbon — the micro fast / slow EMAs plotted with a translucent fill coloured by spread sign. Toggleable.
Subtle background shade by edge sign (off by default).
A locked Crimson Pulse palette: electric blue buy edge / lime-yellow sell edge / muted neutral on a deep crimson-black ground — the institutional HFT aesthetic.
Dashboard
9-row monospaced table positionable to any of nine corners. Surfaces:
Edge value with status (BUY / SELL / FLAT).
Tick imbalance value.
Spread tightness Z.
Micro momentum Z.
Sustained-edge counter (how many consecutive same-sign bars).
Last signal direction with bars-ago.
Decay setting and effective half-life.
Cooldown remaining.
Configuration: LTF, weights, threshold.
Alerts
Three alert conditions, each independently controllable:
Edge Buy
Edge Sell
Sustained Edge (N bars same sign) — the script's headline alert; fires before the signal does, useful as an early-warning notification.
{image]https://www.tradingview.com/x/ybVYCAr3/
How to read it
Three reads, in order of conviction:
Sustained edge into a structural level — the highest-conviction read. The microstructure has been one-sided for N+ bars AND price is at a known S/R; the next move into the level usually breaks it.
Edge buy / sell with all three components agreeing — fast directional commitment. The dashboard's per-component rows tell you whether the read is dominated by tick imbalance (aggressive tape) or by micro momentum (sustained direction) or by spread tightness (regime-aware confirmation).
Edge above threshold but not sustained — early-warning state. Edge has crossed threshold but the sustained counter has not yet reached N. Watch the counter — if it ticks up bar-by-bar, the signal is forming; if it drops, the edge is decaying.
Suggested settings
Defaults (1m LTF, spread EMA 14 / Z 60, micro EMA 3/8 / Z 60, weights 0.45/0.25/0.45, edge threshold 0.75, sustain 5 bars, decay 0.78, cooldown 7 bars) are tuned for 5m–15m charts on liquid futures and crypto where microstructure has meaningful presence. For 1m scalping drop LTF to 15s (Premium required) and sustain to 3 bars. For HTF the script is not the right tool — microstructure edges decay too quickly to be meaningful on 1H+ timeframes.
Originality
The implementation — the three-component microstructure pipeline (tick imbalance + spread tightness + micro momentum), the LTF tick-rule reconstruction with optional Z-normalisation, the weighted-sum composition with auto-normalisation, the exponential-decay edge accumulator with configurable half-life, the sustained-edge counter and asymmetric-lockout signal logic, the price-anchored histogram render at the top of the chart, the slope-tinted micro ribbon, and the Crimson Pulse palette — is JOAT-original. No third-party code reused. The script is a tribute to Citadel-style market-making microstructure-edge extraction, not a direct replication of any proprietary Citadel code.
Limitations
Reconstructed tick direction is an inference — the tick rule is the accepted public-market proxy but is not a direct read of bid/ask. Sub-minute LTFs require a TradingView Premium or Ultimate plan. Microstructure edges decay fast by design; on 1H+ timeframes the engine produces few signals — that is correct behaviour, not a bug.
—
-made with passion by jackofalltrades
อินดิเคเตอร์

AQR Momentum Factor [JOAT]AQR MOMENTUM FACTOR
A tribute to AQR Capital Management's seminal momentum-factor research — including Asness's classic "Value and Momentum Everywhere" framework. The script estimates cross-horizon momentum by ranking returns across five independent look-back horizons (default 1, 5, 20, 60, 120 bars — including the AQR-canonical 12-1 month equivalent), volatility-adjusting the result, and producing a composite momentum score in that fires Buy / Sell labels when the score crosses configurable thresholds.
Why cross-horizon ranking
A single momentum lookback is fragile. AQR's published research (Asness, Moskowitz, Pedersen, and others) shows that momentum is best estimated by agreement across horizons — when short-, medium-, and long-term momentum all point the same way, the signal is much more reliable than any single horizon alone. The script encodes that directly:
Five horizons — 1 / 5 / 20 / 60 / 120 bars by default (configurable independently).
At each horizon the return is percentile-ranked against its own trailing 252-bar (trading year) distribution.
The five percentile ranks are mapped from to (50% → 0; 100% → +1; 0% → −1).
The composite is the average of the five mapped ranks.
The output is bounded in and represents how unusual current momentum is relative to its own recent history, averaged across timeframes .
Volatility adjustment (optional but on by default)
The composite is divided by a volatility Z-score over a configurable window (default 60 bars), clamped at a Z cap (default 2.5) to avoid division-by-zero blow-ups. This dampens signals during high-volatility regimes — which is what AQR's "low-vol momentum" research finds is the genuinely tradeable component of the factor.
When vol-adjustment is off, the score is raw cross-horizon momentum. When it is on, the score is risk-adjusted momentum, which is the institutional read.
Signal engine
BUY — composite > buy threshold (default +0.70 → top ~15% across horizons).
SELL — composite < sell threshold (default −0.70).
Extreme High / Low alerts — composite > +0.90 / < −0.90. The script's strongest reads.
A configurable Min Bars Between Same-Side Signals (default 5) prevents clustering. A confirm-on-close toggle (default ON) ensures non-repaint signals.
Bar colouring — strict 2-hue discipline
The chart bars are coloured by the sign of the composite, with saturation proportional to magnitude. The "Bar Color Saturation Floor" input controls how aggressively the colour fades when momentum is weak — at 0 the bars are always full colour; at 1 they fade toward background when momentum is weak. The defaults (0.65) produce a clean institutional read where strong-momentum bars stand out and weak-momentum bars merge into the background.
A hidden composite-line plot (toggleable) opens a pane below the chart for users who want to see the score itself, or feed it to Data Window / webhook automation.
Visual system
Buy / Sell labels on threshold crosses (configurable size).
Bar colouring by signed momentum with saturation floor.
Hidden composite line (toggleable, pane).
Light regime background (off by default) — very subtle bgcolor sampled from bull/bear.
A locked Golden Blaze palette: gold bull / oxblood bear / off-white neutral on a dark-slate ground — the classic AQR institutional aesthetic. Strict 3-hue discipline + bg.
Dashboard
Monospaced table positionable to any of nine corners. Surfaces:
Composite score with signed value.
Per-horizon percentile ranks (h1 / h2 / h3 / h4 / h5).
Horizon agreement count (how many horizons agree with the composite sign).
Volatility Z value and adjustment factor in use.
Last signal direction with bars-ago.
Configuration: rank window, vol window, thresholds.
Alerts
Four alert conditions, each independently controllable:
BUY (composite crosses above buy threshold)
SELL (composite crosses below sell threshold)
Extreme Score (|composite| crosses extreme high or low)
Horizon Disagreement (off by default) — fires when horizons split (~half above 50%, half below). Useful as a "no edge" warning.
How to read it
Three reads, in order of conviction:
Extreme score with full horizon agreement — the highest-conviction read. All five horizons agree, the score is in the top 10% / bottom 10% of its own distribution, and vol-adjustment has not damped it. This is the institutional setup.
Buy / Sell with vol-adjustment active in a low-vol regime — the "low-vol momentum" setup AQR's research identifies as the strongest factor exposure. Pair with a directional execution tool.
Horizon disagreement alert — stand-aside signal. Some horizons say bull, some say bear; there is no momentum factor exposure available. Wait for agreement to return.
Suggested settings
Defaults (horizons 1/5/20/60/120, rank window 252, vol window 60, vol Z cap 2.5, ±0.70 thresholds, ±0.90 extreme) are tuned for daily charts on broad indices — the timeframes where momentum factor exposures are statistically most meaningful. For lower timeframes drop all horizons proportionally (1/5/15/30/60) and the rank window to 200. For weekly+ keep defaults; momentum on weekly is the canonical factor.
Originality / what's reused
The momentum factor is published academic finance — Jegadeesh & Titman 1993, Asness 1994, AQR's "Value and Momentum Everywhere" 2013. The 252-bar / one-year ranking window is the classical institutional convention. The implementation here — the five-horizon configurable engine, the ta.percentrank -based ranking pipeline, the linear remap, the volatility-Z adjustment with clamp, the saturation-floored bar-colouring with strict 2-hue discipline, the horizon-disagreement alert logic, and the AQR Golden Blaze palette — is JOAT-original. No third-party code reused. The script is a tribute to AQR's published methodology, not a direct replication of any proprietary AQR model.
Open source
Published open-source under the default Mozilla Public License 2.0. The horizon pipeline, the ranking engine, the vol-adjustment routine, the signal engine, and the dashboard are isolated modules. Forks welcome with credit.
Limitations
The 252-bar ranking window assumes a daily chart for the "trading year" interpretation; on lower timeframes the window represents a different real-world horizon. The momentum factor is well-documented historically but, like all factor exposures, it can underperform for extended periods — the dashboard's horizon-agreement count is the script's own early warning when the factor is breaking down. Vol-adjustment is on by default because it is statistically supported; turn it off only for research.
—
-made with passion by jackofalltrades
อินดิเคเตอร์

Multi-Timeframe Momentum Divergence with Reliability ScoringMulti-Timeframe Momentum Divergence with Reliability Scoring
A momentum divergence on your chart timeframe is far more reliable when the bigger picture leans the same way. This script measures momentum divergence on your chart, only counts it when enough higher timeframes point in the signal's direction, then scores — in real time — whether those gated divergences have actually been worth trading on your symbol, and which way.
What it plots
A normalised momentum oscillator with stretch bands and divergence markers, connecting pivot-to-pivot lines, and a plain-language panel that turns the statistics into a verdict. By default the chart stays minimal — the oscillator plus the verdict panel — with optional key-info and per-class tables you can switch on in settings.
Why these components are combined, and how they work together
Three classical pieces are fused into one pipeline — not stacked as independent signals:
A z-scored momentum oscillator (chart timeframe) — locates where price and momentum disagree, i.e. the divergence.
A higher-timeframe agreement gate — checks momentum direction on three configurable higher timeframes and requires a minimum number to align before a divergence is allowed to fire. This filters out the counter-trend divergences that fail inside a strong higher-timeframe move.
A binomial-proportion confidence test — asks, for each divergence class, whether the expected move followed more often than a same-zone baseline would deliver.
Part 1 finds the divergence, part 2 keeps only those backed by the higher-timeframe trend, and part 3 decides whether the survivors have actually paid on this instrument, by direction. The parts are interdependent — remove any one and the script can no longer answer its core question: "is this momentum divergence worth trading here, and which way?"
How to read it
The verdict panel translates the statistics into four states:
GREEN — edge confirmed: these gated divergences have beaten a same-spot baseline here. Worth acting on.
RED — no edge here: they've lost to a coin-flip. Skip them, require more higher-timeframe agreement, or change the timeframe set.
AMBER — unproven: edge not statistically established yet; treat as low-confidence.
GREY — learning: still collecting completed samples.
It also shows "Best signal" (the direction carrying the strongest measured edge), "Higher TFs" (how many of your three higher timeframes currently agree), "Reward : risk" (the average best vs worst move after a signal, in ATR — below 1:1 means signals hurt more than they help), and the market regime. The optional key-info and per-class tables (off by default) show the per-timeframe breakdown and the full per-direction track record.
A divergence is simply price making a higher high / lower low while the momentum line does the opposite — counted only when enough higher timeframes lean that way.
What's original
Standard multi-timeframe tools just colour-code higher-timeframe trend, and standard divergence tools just mark the divergence. This one fuses higher-timeframe agreement into the divergence filter, then keeps a self-updating, confidence-scored, per-class track record against a same-zone baseline — so you see not just that a divergence printed, but whether and how it has paid once the higher timeframes were on board, and which direction is carrying it.
Universal across markets
Reads only the chart's own price (the source is configurable in settings) plus the same symbol on three higher timeframes, so it runs on any symbol, any timeframe, in any market with no external data. Defaults target NIFTY futures; change the source, lengths or timeframes for other instruments.
Outputs for other scripts
Generic EXP_* values — oscillator, signal, probability, edge, edge lower-bound, sample count, regime and higher-timeframe confluence — are published to the Data Window so other indicators can read them via input.source().
Concept credits
Relative-strength momentum and average true range — J. W. Wilder. Binomial score confidence interval — E. B. Wilson. Trend-efficiency regime measure — P. Kaufman. Multi-timeframe confluence and divergence — classical technical analysis.
Disclaimer
For research and education only. This is not financial advice, not a recommendation to buy or sell, and not a guarantee of future results. All performance shown is in-sample and past-only. Markets carry risk — do your own research and manage your own risk. อินดิเคเตอร์

Market Condition Oscillator [HexaTrades]Market Condition Oscillator classifies price action into three simple states: Bullish Trend, Bearish Trend, and Consolidation, and paints them as a color-coded histogram below your chart. It is built to answer one question at a glance: should I be trend-trading right now, or is the market just chopping sideways?
What it shows
🟢 Green histogram above zero → confirmed bullish trend. Taller bars = stronger trend.
🔴 Red histogram below zero → confirmed bearish trend. Deeper bars = stronger trend.
⚪ Gray histogram near zero → consolidation/range (no clear trend).
How it works
The indicator combines four classic, well-understood concepts so that no single signal can produce a false trend on its own:
1. ADX (trend strength): measures how strongly the market is trending. Below the threshold, the market is treated as consolidation regardless of direction.
2. DI+ / DI− (direction) : the Directional Movement pair decides whether strength is to the upside or downside.
3. EMA position + slope (confirmation) : price must be on the correct side of the EMA and the EMA must be sloping the right way. This filters out counter-trend spikes.
4. ATR & EMA-distance (range detection) : consolidation is flagged when volatility compresses or price hugs the EMA, even if ADX hasn't fully dropped yet.
A phase only changes after the condition holds for a configurable number of candles (Confirmation Bars). This is the key to removing the constant flip-flopping that plagues most trend indicators.
Trend rules
✏️ Bullish = ADX above threshold and DI+ > DI− and price above EMA and EMA rising — held for N bars.
✏️Bearish = ADX above threshold and DI− > DI+ and price below EMA and EMA falling — held for N bars.
✏️Consolidation = weak ADX, or compressed ATR, or price hugging the EMA — anything that is not a confirmed trend.
Features
- Bullish, bearish, and consolidation market phase detection.
- Separate oscillator panel for clean chart reading.
- Color-coded histogram.
- Optional histogram smoothing.
- Confirmation bars to reduce false flips.
- Phase label on the latest candle.
- Legend table for easy interpretation.
- Alert conditions for bullish, bearish, consolidation, and trend-flip events.
- Uses confirmed candle data only and does not use future references.
How to use it
- Trend traders: only take longs while the histogram is green, shorts while it is red. Stand aside on gray.
- Mean-reversion traders: the gray phase highlights range conditions where fade/scalp setups work best.
- Filter: combine with your existing entry system and ignore signals that fight the MCO color.
- Works on any market and any timeframe. For higher timeframes, consider raising the ADX threshold and Confirmation Bars.
Alerts
Five ready-to-use alert conditions:
Bullish Trend Started
Bearish Trend Started
Consolidation Started
Bullish → Bearish Shift
Bearish → Bullish Shift
This indicator is designed to help identify market conditions. It should be combined with price action, support and resistance, volume, and proper risk management. No indicator can guarantee profitable trades.
We would love to hear your suggestions. If you have ideas for new features, indicators, analytics, or improvements, please share your feedback. Your input helps guide future updates and improve the indicator for all traders.
This indicator is for educational and analytical purposes only. It should not be considered financial advice. Always use proper risk management and make trading decisions based on your own analysis
อินดิเคเตอร์

Flow Pressure OscillatorFlow Pressure Oscillator visualizes directional market pressure, trend alignment, regime quality, pullback pressure, and extended pressure conditions in a separate oscillator pane.
The tool is built to help traders read whether market pressure is leaning bullish, bearish, or neutral. It combines trend structure, EMA alignment, ATR-normalized movement, ADX, directional efficiency, volatility behavior, and volume participation into a bounded flow reading between -100 and +100.
The main Flow Trail shows the current pressure direction and strength. Positive readings indicate bullish pressure, negative readings indicate bearish pressure, and values near the zero line suggest a more neutral or mixed environment.
Regime Dots show the internal market regime state. Upper dots represent bullish regime pressure, lower dots represent bearish regime pressure, and neutral readings show that no strong directional regime is active.
The Pullback Reload Line is designed to highlight pullback pressure inside an existing bullish or bearish regime. It is not an entry signal by itself. It is meant to be used as context together with the Flow Trail, regime state, and the user’s own chart analysis.
The oscillator also highlights expansion and exhaustion-style pressure conditions. These areas can help identify when pressure is becoming stretched, accelerating, or losing momentum. They should be treated as market-context readings, not as guaranteed reversal or continuation points.
Core components
Flow Trail:
The main pressure line. It reacts to trend pressure, momentum slope, acceleration, structure alignment, volatility, and volume participation.
Zero Line:
A neutral reference level. Readings above zero show bullish pressure dominance. Readings below zero show bearish pressure dominance.
Regime Dots:
A visual regime filter for bullish, bearish, or neutral pressure conditions.
Pullback Reload Line:
A secondary pressure line designed to show pullback or reload behavior inside an active regime.
Pressure Fill:
A visual fill between the Flow Trail and the zero line to make pressure direction easier to read.
Extreme Pressure Coloring:
Highlights expanded, stretched, or exhaustion-style pressure states.
A simple way to use the oscillator is:
- Flow Trail above zero = bullish pressure is dominant;
- Flow Trail below zero = bearish pressure is dominant;
- Rising Flow Trail = pressure is strengthening;
- Falling Flow Trail = pressure is weakening;
- Regime Dots help confirm whether the broader pressure environment supports the current flow direction;
- Reload Line can help identify pullback pressure during an existing bullish or bearish regime;
- Extreme pressure areas should be used for awareness, not as automatic trade signals.
Important notes
Flow Pressure Oscillator is a market-pressure visualization tool only. It does not provide financial advice, trade recommendations, profit targets, stop losses, win-rate calculations, or performance guarantees.
The script should be used together with the trader’s own market structure, support and resistance, risk management, and confirmation process. No single oscillator should be used as a complete trading system. อินดิเคเตอร์

DUAL MOMENTUMdual momentum
dual momentum is a visual momentum oscillator built to compare a fast momentum line and a slow momentum line inside a symmetric oscillator range.
the goal of this tool is to help traders read momentum expansion, momentum compression, bullish pressure, bearish pressure, crossovers, overbought areas and oversold areas in a clean separate pane.
this indicator is not a strategy and does not place trades. it does not predict the future and does not guarantee buy or sell signals. it is designed as a technical analysis tool for reading momentum context.
main idea
dual momentum uses a normalized price calculation to transform price movement into a bounded oscillator.
the fast line reacts more quickly to price movement.
the slow line reacts more slowly and gives a smoother momentum reference.
when the fast line is above the slow line, momentum is generally stronger on the bullish side.
when the fast line is below the slow line, momentum is generally stronger on the bearish side.
the distance between both lines helps show whether momentum is expanding or compressing.
what the indicator displays
fast momentum line
slow momentum line
bullish and bearish gradient fill
fast and slow spread ribbon
higher and lower flow bands
bull and bear rails
optional cross triangles
ob and os text markers
glow effect
separate buy and sell alert conditions
how to read the oscillator
the oscillator is centered around zero.
above zero, momentum is generally stronger.
below zero, momentum is generally weaker.
when the fast line crosses above the slow line, bullish momentum may be increasing.
when the fast line crosses below the slow line, bearish momentum may be increasing.
when both lines are far from zero, momentum is extended.
when both lines return toward zero, momentum is cooling down.
input guide
engine
source
selects the price source used for the main calculation.
common choices are close, open, high, low, hl2, hlc3 or ohlc4.
normalization window
sets how many bars are used to normalize price movement.
a higher value creates a smoother and more stable oscillator.
a lower value makes the oscillator more reactive but also more sensitive to noise.
fast smoothing
controls the speed of the fast momentum line.
lower values make the fast line react quickly.
higher values make the fast line smoother.
slow smoothing
controls the speed of the slow momentum line.
lower values make the slow line more reactive.
higher values make the slow line smoother and slower.
amplitude
controls how much the oscillator expands vertically.
higher values make the lines move farther from zero.
lower values keep the lines closer to the center.
range cap
sets the maximum positive and negative range of the oscillator.
this keeps the display symmetrical and prevents the lines from expanding too far.
flow bands
show higher / lower bands
shows or hides the upper and lower flow bands.
these bands help visualize where the oscillator is moving inside its higher and lower zones.
band length
sets the calculation length used for the flow bands.
a higher value makes the bands smoother.
a lower value makes the bands more reactive.
band smoothing
smooths the flow band calculation.
higher smoothing reduces noise.
lower smoothing reacts faster.
band inner edge
controls how deep the flow bands extend toward the center.
higher values create tighter bands.
lower values create larger bands.
bull / bear fill
gradient fill under line
shows or hides the bull and bear gradient fill around the oscillator.
this fill helps identify whether the oscillator is leaning bullish or bearish.
gradient transparency
controls the visibility of the gradient fill.
higher values make the fill lighter.
lower values make the fill stronger.
fast / slow spread ribbon
shows the colored ribbon between the fast and slow lines.
when fast is above slow, the ribbon uses the bullish color.
when fast is below slow, the ribbon uses the bearish color.
ribbons
show bull / bear rails
shows or hides the rail markers at the top and bottom of the oscillator pane.
these rails help show when the fast and slow spread becomes strong enough.
rail min strength
sets the minimum strength required before the rails appear.
higher values show fewer rail signals.
lower values show more rail signals.
signals
show cross triangles
shows or hides triangle markers when the fast line crosses the slow line.
this input is off by default to keep the chart cleaner.
show ob / os text
shows or hides overbought and oversold text markers.
the script displays only text markers, without boxes.
ob text appears above the upper rail.
os text appears below the lower rail.
overbought level
sets the level where the script can mark an ob event.
an ob event appears when the fast line crosses above this level.
oversold level
sets the level where the script can mark an os event.
an os event appears when the fast line crosses below this level.
glow
neon glow
shows or hides the glow around the fast and slow lines.
glow intensity
controls the strength of the glow.
higher values make the glow stronger.
lower values make it softer.
colors
fast / bull color
sets the color of the fast line and bullish visuals.
slow / bear color
sets the color of the slow line and bearish visuals.
buy triangle color
sets the color of the bullish triangle when cross triangles are enabled.
ob / os gold
sets the color of the ob and os text markers.
signals and alerts
buy condition
a buy condition happens when the fast line crosses above the slow line.
this does not mean automatic entry.
it only means the fast momentum line moved above the slow momentum line.
sell condition
a sell condition happens when the fast line crosses below the slow line.
this does not mean automatic exit or short entry.
it only means the fast momentum line moved below the slow momentum line.
ob condition
an ob condition happens when the fast line crosses above the overbought level.
this can show strong upside extension.
os condition
an os condition happens when the fast line crosses below the oversold level.
this can show strong downside extension.
beginner tutorial
step 1: start with the default settings
keep the default settings at first.
the default setup gives a balanced view between speed and smoothness.
step 2: watch the fast and slow lines
the fast line reacts first.
the slow line confirms the broader momentum direction.
when fast is above slow, bullish momentum is stronger.
when fast is below slow, bearish momentum is stronger.
step 3: use the zero line as balance
when both lines are above zero, momentum is generally positive.
when both lines are below zero, momentum is generally negative.
when both lines are close to zero, the market may be neutral or compressing.
step 4: read the spread ribbon
the ribbon between fast and slow shows the momentum spread.
a wider ribbon means stronger separation.
a smaller ribbon means momentum is compressing.
step 5: read the rails
rails appear when the fast and slow difference becomes strong enough.
bull rails show stronger bullish spread.
bear rails show stronger bearish spread.
step 6: use ob and os as extension warnings
ob means the fast line has reached an overbought extension area.
os means the fast line has reached an oversold extension area.
these markers are not automatic reversal signals.
they only show that momentum reached an extreme area.
step 7: use cross triangles only when needed
cross triangles are off by default.
turn them on only if you want visual markers for fast and slow crosses.
for a cleaner chart, keep them disabled and focus on the lines and ribbon.
step 8: confirm with price action
before using any signal, check the price chart.
look for trend direction, support and resistance, market structure, candle close and volume reaction.
do not use the oscillator alone.
example 1: bullish momentum shift
the fast line crosses above the slow line.
the spread ribbon turns bullish.
the oscillator is moving above zero.
this can suggest that bullish momentum is increasing.
a beginner should then check if price is also making higher highs or higher lows.
example 2: bearish momentum shift
the fast line crosses below the slow line.
the spread ribbon turns bearish.
the oscillator is moving below zero.
this can suggest that bearish momentum is increasing.
a beginner should then check if price is also making lower highs or lower lows.
example 3: overbought extension
the fast line crosses above the overbought level.
the script prints ob text above the rail.
this means momentum is stretched upward.
it does not mean price must reverse immediately.
a beginner should wait for rejection, loss of momentum or a structure shift before making any decision.
example 4: oversold extension
the fast line crosses below the oversold level.
the script prints os text below the rail.
this means momentum is stretched downward.
it does not mean price must reverse immediately.
a beginner should wait for support reaction, momentum recovery or a structure shift before making any decision.
example 5: compression before expansion
the fast and slow lines move close together near zero.
the spread ribbon becomes small.
this can show momentum compression.
if the fast line later separates strongly from the slow line, momentum may begin expanding again.
recommended beginner workflow
first, identify the market trend on the price chart.
second, check whether the oscillator is above or below zero.
third, compare the fast line with the slow line.
fourth, read the spread ribbon.
fifth, check for ob or os extension.
sixth, confirm with support, resistance, structure and candle close.
seventh, define risk before any trade idea.
best use cases
reading momentum direction
spotting momentum expansion
spotting momentum compression
watching fast and slow line crosses
identifying overbought and oversold extensions
supporting trend continuation analysis
supporting reversal watch zones
building simple momentum alerts
important notes
ob does not automatically mean sell.
os does not automatically mean buy.
cross triangles are only visual momentum markers.
the oscillator should be used with price action and risk management.
higher settings make the tool smoother.
lower settings make the tool faster.
no indicator can guarantee future market direction.
risk note
this indicator is for technical analysis and educational market study only. it does not provide financial advice, investment advice or guaranteed trading signals. all signals, levels, labels and alerts are references that require independent confirmation and proper risk management.
อินดิเคเตอร์

MTF Stoch RSI Snapshot 9 Timeframe OverviewThis indicator provides a compact multi-timeframe view of the Stochastic RSI across 9 different timeframes:
1m, 5m, 15m, 30m, 45m, 1h, 2h, 6h, 1D
Instead of switching between charts, the script displays all selected timeframes side by side in a clean column layout. Each column represents one timeframe and shows the current position of the two Stoch RSI lines, making it easier to quickly understand momentum conditions across multiple market structures.
Main Features
Multi-timeframe Stoch RSI visualization
9 fixed timeframe columns
K and D lines shown inside each column
Gradient background based on oscillator level
Quick visual identification of overbought and oversold areas
20 / 50 / 80 reference levels
Optional numeric K and D values
Compact layout designed for fast market reading
How to Read It
Each column represents a timeframe.
The vertical position of the lines shows where the Stoch RSI currently is:
Near the bottom: oversold / weak momentum area
Around the middle: neutral zone
Near the top: overbought / strong momentum area
The background gradient helps identify the oscillator zone immediately, while the two plotted lines allow you to see the current relationship between K and D.
This is useful when you want to compare short-term and higher-timeframe momentum at a glance.
Typical Use Cases
Scalping confirmation
Multi-timeframe momentum alignment
Spotting overbought / oversold conditions across timeframes
Filtering entries based on higher-timeframe context
Quickly checking whether short-term movement agrees with broader market structure
Notes
This indicator does not generate buy or sell signals by itself.
It is intended as a visual decision-support tool and should be used together with price action, trend analysis, support and resistance, and proper risk management.
Disclaimer
This script is for educational and informational purposes only.
It is not financial advice. Always test any trading approach carefully before using it in live markets. อินดิเคเตอร์

Market Weariness Spectrum Indicator [MarkitTick]💡 This advanced technical tool is engineered to evaluate the exhaustion of price trends by synthesizing volume, volatility, and price action into a single, comprehensive oscillator. By tracking how much effort the market is expending relative to the actual ground gained by price, this framework helps analysts identify periods of trend fatigue and potential reversals. Rather than relying solely on traditional price-based overbought or oversold levels, it looks deeper into market friction, signaling when a trend is mathematically likely to run out of steam and when a structural recovery is probable.
✨ Originality and Utility
Traditional momentum oscillators and standard volume metrics often operate in isolated silos, which can lead to false signals during strong, prolonged trends. This script bridges that gap by creating a multi-dimensional composite weariness score.
It detects structural exhaustion where high trading volume results in minimal price movement, indicating heavy absorption.
It measures the frequency of directional hesitation within recent price action.
It tracks effort density to provide a dynamic view of trend fatigue that single-metric indicators cannot achieve.
This multifaceted approach reduces false positives and provides a highly nuanced understanding of market mechanics during extreme conditions.
🔬 Methodology and Concepts
The core logic relies on the continuous calculation of three distinct dimensions, which are dynamically weighted and smoothed into the final composite oscillator.
● Dimension 1: Phantom Volume
This component measures the volume expended per unit of price movement.
It calculates the average volume divided by the average absolute price move over a specified lookback window.
Elevated values indicate that massive trading volume is generating very little forward progress, a classic sign of market friction.
The result is strictly normalized on a scale from 0 to 100 based on historical highest and lowest bounds over a derived lookback.
● Dimension 2: Directional Hesitation
This metric tracks the frequency of indecision in the market structure.
It evaluates the size of each candle's real body relative to the underlying Average True Range (ATR).
If a candle's body is less than a specific threshold of the ATR, it is flagged mathematically as a hesitation period.
The algorithm scores the percentage of these hesitation candles over the lookback window, normalizing the output from 0 to 100.
● Dimension 3: Effort Density
Effort Density compares the raw trading volume directly against the prevailing volatility range.
It identifies periods where the market is churning heavily without expanding its dynamic range.
Like the other dimensions, this value is smoothed, tracked against its historical extremes, and normalized to a 100-point scale for seamless integration.
● Composite Calculation and Signal Logic
The three dimensions are blended using precise, user-defined weights to form the raw weariness score.
A Simple Moving Average is applied to smooth the raw data, creating the primary indicator trajectory.
The script continuously evaluates the mathematical velocity and acceleration of this smoothed line to detect structural deceleration in weariness.
This logic triggers specific reversal signals only when extreme exhaustion mathematically begins to wane, rather than at the absolute peak.
🎨 Visual Guide
The system provides a rich, multi-layered visual experience to ensure all data is instantly readable directly on the chart.
● Chart Elements and Overlays
Candle Coloring: The main chart candles are dynamically colored based on the current weariness level, transitioning through a gradient of green, yellow, orange, and red.
Reversal Labels: Explicit downward-pointing labels appear on the chart when the weariness metric peaks above the critical threshold and structural deceleration is confirmed.
Recovery Labels: Upward-pointing labels signify that the market has recovered from a state of severe exhaustion, crossing back into baseline operational zones.
● Oscillator Panel
Oscillator Line: The thick main oscillator line representing the composite weariness score, dynamically colored.
Dimension Lines: Three distinct lines representing the individual calculations for Phantom Volume, Directional Hesitation, and Effort Density.
Threshold Fills: A semi-transparent visual fill highlights the specific zone between the critical alert level and the recovery baseline.
Critical Backgrounds: The oscillator panel background shifts color dynamically when weariness exceeds absolute critical limits.
● On-Chart Dashboard
Data Table: An intuitive, heavily formatted table tracks the exact percentage and text status of the current calculation.
Progress Bars: Text-based visual progress bars represent the isolated weight of each dimension in real-time.
Acceleration Trackers: Directional arrows track the direct acceleration vector of the current trend state.
📖 How to Use
The primary application of this system is identifying when a market move has exhausted its underlying momentum, regardless of the immediate price action.
● Identifying Exhaustion
Monitor the primary oscillator as it climbs toward the upper boundary.
When the line enters this critical zone, the current trend is expending maximum effort for minimal reward. Caution is advised for trend-continuation setups.
● Evaluating Reversals
Wait for the structural acceleration to turn negative.
When a reversal label manifests, it suggests that the exhaustion has structurally peaked and the market may be susceptible to a shift in directional momentum.
● Confirming Recoveries
After a period of extreme weariness, wait for the oscillator to fall back below the defined recovery threshold.
The appearance of a recovery label indicates the market has absorbed the previous friction, signaling a return to baseline conditions.
⚙️ Inputs and Settings
The script provides granular control over all internal weighting and lookback mechanisms.
● Core Parameters
Lookback: Defines the primary window for all moving averages and historical normalization extremes.
Smooth: Adjusts the sensitivity of the final composite score to reduce standard market noise.
ATR Len: The specific period used for calculating the volatility benchmarks essential to the Hesitation and Density formulas.
● Dimension Weights
W1 Phantom Vol: The proportional weight assigned to the volume-per-move calculation.
W2 Dir Hesit: The proportional weight assigned to the structural hesitation calculation.
W3 Effort Den: The proportional weight assigned to the volume-to-volatility calculation.
● Signal and Visual Thresholds
Crit Exh %: The strict upper boundary that defines extreme structural weariness.
Recovery %: The lower boundary that defines a complete return to standard market flow.
Confirm Bars: The sustained duration required for the indicator to remain in exhaustion before any subsequent reversal signals can be mathematically validated.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
The theoretical foundation of this logic rests heavily on established volume spread principles and statistical volatility analysis.
● Effort vs. Result Mechanics
In objective terms, when a system applies maximum input volume but achieves minimal price displacement, the energy is being absorbed by opposing liquidity.
The script quantifies this exact friction mathematically through specialized density formulas, filtering out traditional momentum illusions.
● Volatility Clustering
The hesitation frameworks rely on the statistical observation of volatility clustering.
By measuring continuous body size constraints relative to an evolving volatility band, the formulas isolate periods where directional conviction fundamentally collapses.
● Derivative Logic
The internal signal engine evaluates the specific velocity and acceleration vectors of the underlying weariness curve.
By requiring structural acceleration to turn decisively negative after a local maximum, the mathematical algorithm ensures the statistical apex of the exhaustion phase has cleanly passed before printing confirmation markers.
⚠️ 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. อินดิเคเตอร์

Momentum Vol Composite Pro [JOAT]MOMENTUM VOL COMPOSITE PRO
A four-factor composite oscillator that fuses momentum, volatility, volume-flow, and trend into a single Z-normalised line — then exposes per-factor weights, divergence detection, an ASCII gauge dashboard, and a slope-coloured composite MA. Built on the idea that no single oscillator tells you what the market is doing — but four orthogonal ones, properly normalised and weighted, can.
The four factors
Each factor is Z-normalised (subtract its own rolling mean, divide by its own rolling stdev) before being blended, so they all live on the same scale and a weight of "0.25" actually means "one-quarter share of the composite" regardless of the instrument:
ROC (Rate-of-Change) — the price-velocity factor. Captures pure directional momentum.
ATR (volatility) — the range-expansion factor. Rises when bars are getting larger; useful as a "the market is committing" signal.
Volume Flow — cumulative volume minus its own EMA. A proxy for net accumulation/distribution that is regime-aware (it normalises around its own trend).
EMA Difference — short EMA minus long EMA, the classic MACD-style trend factor.
The four Z-scores are weighted (sliders 0–4 each, default 0.25 each), sum-normalised internally so any positive configuration is valid, and combined into a single composite Z-line. An EMA smoother on top of the composite produces the slope-coloured Composite MA that drives Buy/Sell flips.
This is what "composite" should mean — orthogonal factors, weighted, on a common scale, with the weights exposed so the trader controls the personality.
Why per-factor weights matter
Default 0.25 / 0.25 / 0.25 / 0.25 reproduces the textbook equal-weight composite. But equal weights are an assumption , not a fact. If your instrument is volume-driven, raise VolFlow Weight. If your timeframe is dominated by trend, raise EMA Diff Weight. If you are scalping a noisy intraday environment, drop ROC Weight in favour of VolFlow. The composite reshapes itself live as you slide.
Signal engine
A Buy signal fires when the composite MA slopes up; a Sell fires when it slopes down. The composite line itself crosses the configurable threshold guides (default ±1 Z) to mark "extreme bull" and "extreme bear" states. A separate alert fires when |composite| crosses the Extreme threshold (default 2.0 Z) — the script's strongest read.
Divergence engine (JOAT enhancement)
A slope-comparison divergence runs in parallel: it compares the slope of the composite against the slope of price over a configurable lookback. Both slopes must exceed an epsilon to filter out flat-region noise, and a divergence cooldown spaces them out. Divergence labels can be forced onto the main chart pane via force_overlay so you can see them without flipping to the oscillator pane.
Histogram background
Faint columns plot the raw composite value behind the line — this is useful as a "before the slope flips" early read. You can see exhaustion building in the histogram before the slope-coloured MA actually turns.
ASCII gauge dashboard (JOAT enhancement)
A monospaced dashboard with a unique feature — each per-factor row shows both the numeric Z-value and an ASCII bar gauge ("|||||----" style) that renders the value visually inside the table cell. The gauge maps Z in the range linearly across N glyphs (configurable width), with a separator at the centre. At a glance you can see which factors are dominating without reading the numbers.
Dashboard rows:
Composite Z + bar gauge + status (extreme bull / bull / neutral / bear / extreme bear).
ROC Z + gauge.
ATR Z + gauge.
VolFlow Z + gauge.
EMA Diff Z + gauge.
Composite MA slope (Rising / Falling / Flat).
Last signal direction with bar age.
Divergence status with cooldown remaining.
Visual system
Slope-coloured composite MA (bull / bear by slope sign, configurable width).
Translucent composite line for context (transparency configurable, default matches the v5 source).
Threshold guide lines at ±1, zero line, and faint background histogram for exhaustion-before-flip reads.
Buy / Sell labels can be force-overlaid onto the main chart pane if desired.
A locked Emerald-Night palette (vivid green bull / vivid red bear / sage neutral on a midnight-forest ground) gives the pane a distinct identity.
Alerts
Five alert conditions:
Composite crossover above high threshold (default +1)
Composite crossunder below low threshold (default −1)
|Composite| crosses Extreme |Z| (default 2.0)
Bullish divergence detected
Bearish divergence detected
How to read it
Three reads, in order of conviction:
ASCII gauge agreement — when all four factor gauges point the same way, the composite is a high-conviction read. When they disagree, the composite is a wash.
Composite MA slope — once the smoothed line slope flips and price agrees, you have a clean signal.
Divergence + extreme |Z| — the rarest and strongest read. A divergence at a composite extreme tells you that one of the factors is rolling over while price is not, which is the textbook reversal setup.
The histogram is the leading indicator on the line — when it starts shrinking while price is still extending, the slope is about to flip.
Suggested settings
Defaults (ROC 14, ATR 14, VolFlow 20, ShortEMA 12, LongEMA 26) reproduce the classical configuration. For lower timeframes drop all lengths roughly proportionally. The per-factor weights are where the personality lives: pure trend-following bias → raise EMA Diff to 1.5, drop ATR to 0.1. Pure volatility-of-momentum bias → raise ROC and ATR, drop VolFlow.
Originality / what's reused
The factor primitives (ROC, ATR, EMA difference, cumulative volume flow) are public-domain. The Z-normalisation pipeline that puts them on a common scale, the sum-normalised per-factor weighting, the ASCII bar-gauge dashboard, the histogram-behind-line exhaustion view, the slope-coloured composite MA, and the divergence engine with epsilon filter are all JOAT-original and tuned together as a single oscillator. No third-party code reused.
Open source
Published open-source under the default Mozilla Public License 2.0. Sectioned source, tooltips on every input, helper functions documented inline. Each factor's Z-normalisation, the weighting pipeline, the gauge renderer, and the divergence detector are isolated modules — adapt any single one without reading the whole file.
Limitations
The composite is statistical in nature — it tells you how stretched the blend is, not which specific factor is driving the read. That is what the per-factor rows are for. The Z-normalisation needs enough history to be meaningful; on a fresh chart with little data the composite warms up to flat. Divergences are non-repainting but carry the natural lag of slope-over-window comparison.
—
-made with passion by jackofalltrades
อินดิเคเตอร์

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

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

Order Flow Asymmetry [JOAT]Order Flow Asymmetry
Introduction
Order Flow Asymmetry is an open-source synthetic institutional order flow indicator that tracks four independent measures of directional institutional activity — Volume-Weighted Momentum, Liquidity Vacuum detection, Microstructure Imbalance scoring, and a dynamic Information Ratio Band system — and classifies the current market into one of four regime states based on trend direction and volatility level. Smart money signals are generated only when regime, VWM direction, imbalance score, and the absence of a liquidity vacuum all align simultaneously.
The core thesis is that institutional participants leave statistical footprints in price and volume data that can be approximated without access to full order book data. When a large participant is absorbing supply, the result is: above-average volume, below-average price movement, high close-to-range ratio biased toward the institutional direction, and a cumulative imbalance in the bid-side proxy. Order Flow Asymmetry tracks these proxies simultaneously rather than relying on any single measure.
Core Concepts
1. Volume-Weighted Momentum (VWM)
VWM weights each bar's price change by its volume — large-volume bars contribute more to the running total than small-volume bars. The cumulative result is then normalized relative to the 20-bar average volume, producing a -50 to +50 reading:
float vwm = ta.cum(ta.change(close) * volume) / ta.ema(volume, 20)
float vwmNorm = (vwm - ta.lowest(vwm,100)) / math.max(ta.highest(vwm,100) - ta.lowest(vwm,100), 1e-9) * 100 - 50
A crossover of zero in either direction is the primary momentum signal.
2. Liquidity Vacuum Detection
A liquidity vacuum occurs when volume collapses below two standard deviations of its 50-bar mean while price moves more than one ATR in the same bar. This pattern indicates a move through a region with no counterparty liquidity — a potential institutional trap. Vacuum bars are marked with three-layer glow boxes and treated as signal inhibitors.
3. Microstructure Imbalance Score
A bar-level bid/ask proxy is computed from close position within the high-low range. Bars closing in the upper half of their range contribute positive imbalance; bars closing in the lower half contribute negative. A 93% decay factor is applied each bar, producing a running imbalance score that emphasizes recent activity while retaining historical context.
4. Four-State Regime Classification
The regime is determined by two binary conditions: ADX above threshold (trending vs. ranging) and ATR ratio above threshold (high vs. low volatility). This produces four states: Trend Bull, Trend Bear, Range High-Vol, Range Low-Vol. Each state receives a distinct background tint. Smart money signals require a Trend state — signals in Range states are suppressed.
5. Information Ratio Bands
Standard deviation bands are computed from the MIDAS VWAP. The band width multiplier is dynamically set by the rolling Sharpe ratio estimate of recent returns — periods with higher risk-adjusted returns produce narrower bands, while periods with lower Sharpe ratios produce wider bands.
float sharpe = ta.ema(ret20, 20) / math.max(ta.stdev(ret20, 20), 1e-8)
float kFactor = math.max(0.5, math.min(3.0, math.abs(sharpe) * 2))
Features
Volume-Weighted Momentum: Cumulative volume-weighted price change normalized to -50/+50 range
Institutional VWAP center line: Thick reference line showing the cumulative volume-weighted average price anchor — the central institutional value reference
VWM gradient fill zones: Bull zone fills between VWAP and upper VWM level in bull theme color; bear zone fills between VWAP and lower VWM level in bear theme color — intensity reflects VWM magnitude
IR Band gradient fill: Subtle gradient fill between upper and lower Information Ratio bands shows the full Sharpe-adjusted deviation range
Regime transition markers: Every regime change draws a vertical dotted line plus a direction label (▲ TrendBull / ▼ TrendBear / ◆ RngHVol / ◇ RngLVol) — institutional regime context at a glance
Absorption / Distribution labels: "Absorption" label when cumulative microstructure imbalance score exceeds extreme threshold; "Distribution" label when it falls below. Identifies potential institutional accumulation/distribution zones
Smart money signal markers: "▲ SMART LONG" / "▼ SMART SHORT" labels with embedded VWM and Imbalance values, plus a vertical dotted line through each signal bar for visual alignment
Liquidity vacuum detection: Volume collapse + ATR-relative move identifies institutional trap zones with 3-layer glow visualization and "Vacuum" text label
Microstructure imbalance score: Decaying cumulative bid/ask proxy normalized by ATR, displayed in dashboard
Four-state regime classification: Trend Bull / Trend Bear / Range High-Vol / Range Low-Vol from ADX and ATR ratio — distinct background tints for each state
Information Ratio Bands: VWAP deviation bands with width dynamically set by rolling Sharpe estimate
Gradient candle coloring by VWM: Bar colors reflect normalized VWM intensity using color.from_gradient() when VWM exceeds threshold in trend direction
Three-layer glow candles (optional): Institutional-style neon glow candle effect
12-row institutional dashboard: Regime, VWM, vacuum state, imbalance score, Sharpe k-factor, IR band levels, signal, win rate, and performance stats
Four color themes: Phantom, Neon, Classic, Solar
Non-repainting: All signals gated by barstate.isconfirmed; all inputs are historical only
Input Parameters
Volume-Weighted Momentum:
Volume Average Length (default: 20)
VWM Cross Threshold (default: 5.0)
Liquidity Vacuum:
Volume Mean Length, Sigma Below Mean, Vacuum Zone Width, Glow Strength
Microstructure Imbalance:
Imbalance Decay Factor (default: 0.93)
Imbalance Signal Gate (default: 15.0)
Regime Classification:
ADX Trend Threshold (default: 25)
ATR Ratio High-Vol Threshold (default: 1.2)
Information Ratio Bands:
Show IR Bands toggle
Sharpe Window (default: 20)
Signal:
Cooldown Bars, TP ATR Multiple, SL ATR Multiple, Show Trade Block, Block Width
How to Use This Indicator
Step 1: Identify the Regime
Check the dashboard Regime row. Smart money signals only fire in Trend Bull or Trend Bear states. During Range states, no signals are generated regardless of VWM direction.
Step 2: Watch for VWM Zero Cross
The VWM crossing zero in the direction of the trend regime is the primary trigger. Ensure no vacuum is active on the signal bar — vacuum bars inhibit signals because they represent suspect moves without genuine counterparty support.
Step 3: Check Imbalance Score
The imbalance score reflects cumulative directional bias in bid/ask proxy. A score above the gate threshold in the trend direction adds confidence. A score contradicting the trend direction is a warning.
Step 4: Use IR Bands as Dynamic Reference
The Information Ratio bands widen in low-Sharpe environments (price distributing far from VWAP) and narrow in high-Sharpe environments (price efficiently priced near VWAP). These bands serve as dynamic reference levels rather than fixed targets.
Indicator Limitations
VWM uses tick volume as a proxy for institutional participation. On forex spot and some crypto venues, tick volume may not accurately represent actual participation
The microstructure imbalance score uses bar close position as a bid/ask proxy. This is an approximation — actual bid-ask data is not available in standard TradingView data
Regime classification uses ADX and ATR ratio, both of which lag price. A trend beginning explosively will be classified as ranging for several bars until indicators respond
The Information Ratio Band width is driven by a 20-bar Sharpe estimate, which is an extremely short window for a reliable Sharpe computation. It should be interpreted as a dynamic band-width scaler rather than a statistically significant Sharpe ratio
Smart money signals are rare by design — the four-condition gate produces low-frequency output
Originality Statement
The combination of Volume-Weighted Momentum, Liquidity Vacuum detection as a signal inhibitor, a decaying Microstructure Imbalance score, and Information Ratio Bands with Sharpe-driven width — all gated by a four-state regime classification — is an original analytical architecture not replicated in existing open-source Pine Script v6 publications
Treating liquidity vacuums as signal inhibitors rather than signals themselves — suppressing momentum signals that occur immediately after a volume-collapse move — is a novel application of vacuum detection logic
Dynamic VWAP deviation band width driven by a rolling Sharpe ratio estimate rather than a fixed multiplier provides adaptive band boundaries that reflect the current efficiency of price relative to VWAP
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves substantial risk of loss. Synthetic order flow measures are approximations that use publicly available price and volume data as proxies for actual institutional activity. Past signal performance does not predict future results. The author accepts no responsibility for trading losses resulting from use of this indicator.
Made with passion by jackofalltrades
อินดิเคเตอร์

Volume Drift Profile [JOAT]Volume Drift Profile
Introduction
Volume Drift Profile is an open-source trend detection indicator that derives directional bias from rolling pivot averages rather than fixed moving averages, and visualizes volume directly on the drift lines themselves as a histogram. The volume histogram coloring adapts to three modes — delta (buy-sell pressure gradient), trend (directional mono-color), and spike-highlighted — making the volume context immediately readable without a separate volume panel.
Most trend indicators separate the price trend line from the volume analysis. The trend line tells you the direction; you look at a separate volume bar panel to interpret whether that direction is supported. Volume Drift Profile overlaps both by rendering volume bars along the drift lines themselves, so the relationship between trend level and volume support is visually immediate.
Core Concepts
1. Pivot Drift Line Calculation
The upper drift line is the rolling average of the most recent N confirmed pivot highs. The lower drift line is the rolling average of the most recent N confirmed pivot lows. This produces smoothed, structurally-anchored reference levels that adapt as new pivots confirm, rather than a fixed-period moving average that treats all bars equally.
if not na(ph)
phArr.push(ph)
if phArr.size() > avgCount : phArr.shift()
upperDrift := phArr.avg()
Trend flips when price crosses above the upper drift (bull) or below the lower drift (bear).
2. Volume Normalization
Volume is normalized by its 200-bar standard deviation, capped at 4. This z-score-like measure produces a 0-4 scale where 4 represents an extreme volume spike. The step height of each volume bar on the drift line is proportional to this normalized value, so spike bars visually dominate the histogram.
3. Three Volume Coloring Modes
Delta mode computes a buy ratio from (close - low) / (high - low) and maps it through color.from_gradient() between the bear and bull theme colors. Bars with higher closes relative to their range appear in bull color; lower closes in bear color. Volume intensity is further modulated by the normalized volume level.
Trend mode uses a single directional color with intensity modulated by normalized volume.
Spike mode uses trend color normally but switches to a dedicated spike color for bars where normalized volume reaches the extreme level.
4. Absorption Detection
An absorption bar is identified when volume exceeds twice the 20-bar average (high institutional participation) while the body-to-range ratio is below 30% (price closes near where it opened). This pattern suggests large volume without directional price movement — potential institutional accumulation or distribution.
5. Volume-Weighted Momentum
A running Volume-Weighted Momentum reading tracks cumulative signed volume weighted by price change, normalized to a readable scale. This reading reflects directional institutional bias — rising VWM during an uptrend suggests genuine buying pressure supports the move.
Features
Pivot drift lines: Upper and lower drift from rolling average of last N confirmed pivot highs and lows
Volume histogram on drift lines: Volume bars rendered along the active drift line, sized by normalized volume
Three volume coloring modes: Delta (buy-sell gradient), Trend (directional mono), Spikes (trend + spike highlights)
Gradient fill between drift and price: Translucent fill between the active drift line and current price
Candle volume coloring: Optional bar coloring by volume intensity and trend direction simultaneously
Spike detection and highlighting: Bars with extreme normalized volume shown in dedicated spike color
Absorption detection: High-volume, small-body bars marked as potential institutional absorption events
Volume-Weighted Momentum display: VWM reading normalized and displayed in dashboard
Trend flip labels: Clean text labels at trend reversal points with direction indicator
Non-repainting: Pivot detection uses standard confirmed pivot functions with symmetric lookback
Dashboard: 8-row table with trend direction, volume mode, volume intensity, absorption state, spike state, bars in trend, and VWM
Input Parameters
Drift Structure:
Pivot Lookback: Bars required on each side for pivot confirmation (default: 8)
Pivot Avg Count: Number of pivots to average for drift line (default: 3)
Volume:
Volume Color Mode: Delta / Trend / Spikes
Histogram Height: Scale of volume bars on drift line (default: 0.3)
Show Volume Histogram toggle
Color Price Bars toggle
Show Drift Fill toggle
Spike Color
Absorption:
Show Absorption Dots toggle
Absorption Volume Multiple (default: 2.0)
Max Body Ratio for absorption detection (default: 0.3)
How to Use This Indicator
Step 1: Read the Drift Line Direction
The active drift line (lower drift in uptrend, upper drift in downtrend) is the primary trend reference. When price is above the lower drift, the trend is bullish. When price crosses the upper drift downward, the trend flips bearish.
Step 2: Interpret Volume Histogram Color
In Delta mode, teal/bull-colored bars represent buying pressure dominating that bar; bear-colored bars represent selling pressure. When large volume bars appear in the trend direction, it confirms the drift.
Step 3: Monitor Absorption Events
Absorption dots mark bars where institutional participants may be accumulating. Large absorption bars at drift line levels are particularly significant — they suggest the drift level is actively defended.
Step 4: Use VWM as Direction Confirmer
Rising VWM during an uptrend means volume-weighted momentum supports price movement. Flat or declining VWM during an uptrend flags weak participation — a potential warning of trend exhaustion.
Indicator Limitations
Drift lines require at least N confirmed pivots to begin rendering. In early bars of a new chart, the lines will be absent
The volume histogram renders along the drift line. In periods of very high drift line slope, the histogram may visually overlap the price range
Absorption detection uses volume relative to a 20-bar average. In low-liquidity environments, the threshold may trigger on routine trading activity
The pivot lookback introduces a lag between when a pivot forms and when the drift line updates
Originality Statement
Rendering a volume histogram directly along pivot drift lines — rather than in a separate panel — as a real-time visualization that integrates trend level and volume support in a single overlay is an original approach
Three independently selectable volume coloring modes driven by a normalized volume z-score, combined with buy-ratio gradient coloring in delta mode, is not replicated in existing open-source pivot drift indicator publications
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves substantial risk of loss. The author accepts no responsibility for trading losses resulting from use of this indicator.
Made with passion by jackofalltrades
อินดิเคเตอร์

Dynamic Price Oscillator Overlay (Zeiierman)█ Overview
Dynamic Price Oscillator Overlay (Zeiierman) is a volatility-adjusted momentum overlay that transforms oscillator behavior directly onto the price chart.
Instead of displaying momentum in a separate pane, the indicator wraps a dynamic oscillator around an adaptive price anchor, allowing traders to visualize momentum expansion, contraction, and directional bias directly within price action.
The calculation combines long-term price displacement with volatility-adjusted movement and then applies Bollinger Band analysis to identify statistically stretched market conditions.
The result is a dynamic price-following structure that highlights momentum extremes, trend transitions, and overextended conditions while remaining visually integrated with the chart.
█ How It Works
⚪ Volatility-Adjusted Price Engine
The indicator begins by measuring market volatility using True Range.
volAdjPrice = ta.ema(trueRange(high, low, close), length)
This creates a dynamic volatility component that adapts to changing market conditions.
⚪ Dual Momentum Calculation
The oscillator combines two independent measurements:
• Long-term price displacement
priceChange = close - close
• Volatility-adjusted price movement
priceDelta = close - volAdjPrice
These components are blended together and smoothed.
oscillator = ta.ema(math.avg(priceDelta, priceChange), smoothFactor)
The result is a momentum engine that reacts to both directional movement and changing volatility.
⚪ Dynamic Oscillator Bands
The oscillator is surrounded by two Bollinger Band structures.
Standard bands identify elevated momentum conditions while expanded bands identify extreme momentum conditions.
= bollingerBands(oscillator, length * 5, 1)
= bollingerBands(oscillator, length * 5, 2)
These bands create adaptive thresholds that expand and contract as market behavior changes.
⚪ Dynamic Mean
The indicator calculates a central equilibrium level using the midpoint of the expanded Bollinger Bands.
mean = math.avg(bbHighExp, bbLowExp)
This serves as the oscillator's primary trend reference.
⚪ Price Overlay Projection
Rather than plotting the oscillator separately, the indicator wraps the oscillator around a moving price anchor.
priceAnchor = ta.ema(close, anchorLength)
The oscillator is projected directly onto the chart:
overlayOsc = priceAnchor + oscillator - mean
This creates a momentum structure that follows price while preserving oscillator behavior.
█ How to Use
⚪ Dynamic Price Oscillator Overlay
• When the oscillator line remains above the Dynamic Mean, momentum conditions are generally bullish.
• When the oscillator line remains below the Dynamic Mean, momentum conditions are generally bearish.
⚪ Mean Crosses
The Dynamic Mean acts as the primary trend reference.
• Bullish Cross:
The oscillator line crosses above the mean.
• Bearish Cross:
The oscillator line crosses below the mean.
These signals often represent transitions between bullish and bearish momentum regimes.
⚪ Mean Retests
The Dynamic Mean acts as the primary momentum equilibrium level.
• Bullish Retest:
The price pulls back toward the mean from above and holds.
• Bearish Retest:
The price rallies back toward the mean from below and rejects.
Successful retests suggest the current momentum regime remains intact and may continue in the prevailing direction.
⚪ Bollinger Breakouts
The standard Bollinger Bands identify strong momentum expansions.
• Bullish Breakout:
The oscillator line closes above the upper band.
• Bearish Breakout:
The oscillator line closes below the lower band.
These conditions suggest momentum is becoming unusually strong. Bullish breakouts above the upper band may indicate overbought conditions, while bearish breakouts below the lower band may indicate oversold conditions.
⚪ Expanded Bollinger Extremes
The expanded Bollinger Bands represent statistically extreme momentum conditions.
• Bullish Extreme:
The oscillator line exceeds the expanded upper band.
• Bearish Extreme:
The oscillator line exceeds the expanded lower band.
These events occur less frequently and often identify powerful directional moves or temporary exhaustion phases.
⚪ Momentum Context
The indicator should not be viewed as a simple overbought or oversold tool.
Instead, it measures how far momentum has deviated from its dynamic equilibrium while continuously adapting to current volatility conditions.
The interaction between the oscillator, mean, and adaptive bands provides a framework for identifying:
• Trend continuation
• Momentum expansion
• Momentum exhaustion
• Volatility shifts
• Regime transitions
The result is a price-integrated momentum model that provides both trend context and extreme-condition analysis within a single overlay.
█ Related Scripts
Dynamic Price Oscillator (Zeiierman)
█ Settings
Length: Controls the primary lookback period used throughout the oscillator calculations and Bollinger Band framework.
Smoothing Factor: Controls the responsiveness of the oscillator. Higher values produce smoother movement while lower values increase sensitivity.
Price Anchor Length: Determines the EMA length used to anchor the overlay structure to price.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
อินดิเคเตอร์

Elite Oscillator ProElite Oscillator Pro is a visual momentum oscillator designed to provide a cleaner reading of overbought, oversold, neutral, and momentum-transition conditions in a separate oscillator pane.
The script can calculate its base oscillator using either Stochastic or RSI logic. The selected oscillator is then processed through a two-step smoothing engine to reduce short-term noise and make momentum transitions easier to read visually.
The goal of this indicator is not to predict future price movement or generate automatic trading instructions. It is intended as a visual analysis tool that helps users observe momentum structure, oscillator regime changes, and transitions around predefined levels.
Main features:
• Dual calculation mode
The user can choose between a Stochastic-based oscillator and an RSI-based oscillator.
• Custom source selection
The selected source is used in the oscillator calculation, allowing the user to adapt the tool to different price inputs.
• Double smoothing engine
The raw oscillator is smoothed twice with configurable lengths. This is designed to make the oscillator less noisy while preserving the main directional movement.
• Configurable levels
The script includes adjustable overbought, oversold, midline, neutral-band, upper-bound, and lower-bound levels.
• Bull and bear pressure gradients
The oscillator area is visually separated around the midline. Positive momentum above the midline and negative momentum below the midline are displayed with separate gradient regions.
• Neutral band
A configurable neutral zone can be displayed between the upper and lower neutral-band levels. This helps identify when momentum is not clearly extended in either direction.
• Signal dots
The script displays optional dots for specific oscillator states:
* Green dots mark overbought conditions.
* Red dots mark oversold conditions.
* Orange dots mark bullish momentum crosses.
* Magenta dots mark neutral-band events or neutral-band zone conditions.
The dot logic can be set to either “Events” or “Zones”.
In Events mode, dots appear only when a condition is newly triggered.
In Zones mode, dots remain visible while the condition is active.
• Alerts
The script includes alert conditions for overbought entry, oversold entry, exits from those zones, bullish momentum crosses, and bearish momentum crosses.
How to use:
1. Choose the calculation mode: Stochastic or RSI.
2. Adjust the oscillator length and smoothing settings to match the symbol and timeframe being analyzed.
3. Use the overbought and oversold levels to identify extended oscillator conditions.
4. Use the midline and neutral band to evaluate whether momentum is directional or balanced.
5. Use the dots as visual markers of oscillator state changes, not as standalone trade entries.
6. Combine this oscillator with price structure, trend context, volume, and risk management before making any trading decision.
Important limitations:
• This script is an indicator, not a strategy.
• It does not place trades.
• It does not manage risk.
• It does not provide financial advice.
• It does not guarantee profitable results.
• Overbought does not automatically mean price must fall.
• Oversold does not automatically mean price must rise.
• Momentum crosses can fail during ranging or volatile markets.
• Users should test settings on their own symbols and timeframes before relying on the visual output.
This indicator is best used as a momentum-context tool, not as a standalone entry or exit system. อินดิเคเตอร์
