Custom Footprint [Auto-Scale & Filter]This indicator provides a functional approximation of a Footprint Chart within TradingView by extracting lower timeframe (LTF) data and visualizing the bid/ask volume distribution directly inside the current candles.
While TradingView's Pine Script has a hard limit on the number of labels (maximum 500) that prevents a full historical footprint mapping, this script bypasses structural limitations using smart auto-scaling and historical offsetting.
Key Features:
Auto-Scaling by Asset: Uses ATR to automatically calculate the optimal price bin step. Whether you are viewing Crypto, Forex, or Indices, the script adjusts itself to maintain readable density without cluttering the screen.
Volume Filtering: Includes a minimum volume filter. Price levels with total volume below your specified threshold will not be rendered, allowing you to focus on high-liquidity nodes and true absorption.
Customizable Visuals: You can customize the buy/sell delta text colors, toggle the label backgrounds on or off, and adjust background opacity so the numbers remain clearly visible over the candles.
History Offset: Due to the 500-label limit, the script limits visibility to the most recent candles. To view the footprint of older price action, simply increase the "Bar Offset" in the settings to shift the focus window backward.
How to Use:
Apply it to your chart and set the "Lower Timeframe" in the settings. (If you are on a Premium plan, using "1S" or "5S" will provide highly granular tick-level approximations. Otherwise, "1" minute is recommended).
Adjust the "Min Volume Filter" based on the asset's average volume to clean up noise.
Toggle "Show Background" depending on your chart theme for better visibility.
Limitations:
This is not a native order flow footprint chart. It estimates bid/ask by evaluating if the LTF close was higher or lower than its open.
Cannot display footprint data for the entire chart history at once due to Pine Script’s rendering limits. Use the "Offset" feature to inspect past structure.
I built this tool to provide a practical workaround for order flow traders relying on Pine Script. Feel free to adjust the settings to fit your preferred assets and trading style.
Feel free to modify the code however you like. Индикатор

Contested Volume Bubbles█ OVERVIEW
Contested Volume Bubbles marks bars where both sides of the trade committed unusually hard, drawing a bubble at the price where the fight actually happened. It measures contested volume — the volume committed by whichever side lost the bar.
In practice it is used to find areas of interest. Bubbles cluster at prices where the two sides repeatedly disagreed, and those levels often matter again on a return. A large bubble late in an extended move reads differently: a push meeting real opposition rather than clean continuation, which is the shape exhaustion usually takes.
█ CONCEPTS
Contested volume
For each bar, contested volume is the smaller of the two sides:
contested = min(buy volume, sell volume)
Heavy volume that resolves cleanly in one direction gives you a low number. The same volume with both sides pushing and neither finishing ahead gives you a high one.
It's also exactly complementary to directional volume:
contested = (total volume − total delta) ÷ 2
Contested volume, total volume and directional volume are three views of the same thing. You can trigger on one and size the bubble by another, which is where most of the flexibility comes from.
Lower timeframe sampling
You can't get any of this off a chart bar. A candle that closes mid-range looks balanced. The activity underneath it may have been not have been: heavy pushes both ways that happened to cancel by the close.
So every candle gets broken into as many as twenty lower-timeframe samples and measured piece by piece. The useful part is placement. The bubble lands on the section of the candle that carried the fight, so it sits at a price that actually traded instead of an average of the bar.
█ TIME OF DAY NORMALIZATION
Normally, volume is heavy at the open, declines through the morning, flat around midday, building into the close. Anything that compares a bar to the bars right behind it will be inherently flawed since volume activity shifts throughout the session.
Time Of Day normalization gets rid of this issue. Instead of comparing a bar to whatever came before it, it compares the bar to what that clock slot USUALLY looks like. This minute against this minute, from previous sessions.
Session level
Time Of Day normalization can also account for how busy today is. Turn the setting down and a bubble means the bar was unusual for the time of day. Turn it up and the bar has to be unusual for the time of day and for today's own level.
There's a Standard mode as well, which ranks each bar against the bars right behind it. It needs no history and works on any chart type, and it carries the intraday bias described above.
█ WHAT EACH BUBBLE TELLS YOU
Three things drive each bubble:
• Whether it appears — If it appears, it says the bar's level of contested volume was unusual based on your selected percentile rank.
• Size — how big the bar's magnitude source is compared to the last 100 bars. By default, its Total Delta Volume. Other options are below.
Magnitude sources
• Total delta volume — Total cumulative volume delta.
• Contested volume — Total contested volume
• Total volume — Simply how much traded.
• Net delta — how directional the bar was end to end, ignoring churn that reversed inside it.
Hover any bubble and the tooltip gives you all four, the trigger rank, and in Time Of Day mode both the slot's normal level and how today is running against it.
█ NOTES
• Time Of Day needs a few sessions of each clock slot before it prints anything, so a chart you just loaded starts empty at the left edge. It falls back to Standard on daily and above and on non-time-based charts.
• Intrabar precision depends on lower-timeframe data, which may vary by symbol and by account plan. Without lower-timeframe data, the indicator will still work, but with much less precision.
• Three alerts are available: any bubble, bubbles on a positive net delta bar, bubbles on a negative one. All initiate on bar close. Индикатор

SHM - Dual-WMA Momentum OscillatorSHM - Dual-WMA Momentum Oscillator
Overview-
The SHM Dual-WMA Momentum Oscillator (DWO) is an institutional-grade momentum indicator engineered to isolate structural trend direction, momentum acceleration, and high-probability market cycles across custom timeframes.
By calculating the percentage distance between a Fast WMA and a Slow WMA, the DWO filters out transient market noise and locks calculation logic to a customizable higher timeframe wave—allowing you to project and track macro momentum seamlessly across every chart resolution.
Key Features & Architecture-
* Flexible Multi-Timeframe (MTF) Engine: Complete control over your anchor timeframe (Anchor Momentum Timeframe). Choose your preferred momentum wave (e.g., 4H, Daily/24H, 3D, Weekly) and lock it to display consistently across all timeframes without repainting or distortion.
* Universal Timeframe Visibility: Lock your preferred anchor to the 4-Hour wave, and that 4H momentum wave stays strictly visible whether you zoom down to a 15-minute execution chart or step up to inspect the Daily or Weekly macro chart.
* Structural Trend Isolation: Eliminates short-term volatility, revealing where higher-timeframe capital flow is actually moving.
* Triple Equilibrium Baselines: Features customizable numeric anchor points (+33, 0, -33) paired with dynamic 4-color momentum acceleration histograms to easily spot expansion, exhaustion, and mean-reversion zones.
* Signal Tracking Line: Integrates an EMA-smoothed signal tracking line to highlight momentum crossovers and zero-line baseline retests cleanly.
How to Use for Analysis-
1. Selecting Your Anchor Timeframe:
* Set the Anchor Momentum Timeframe in the settings input to your preferred cycle (e.g., 240 for 4H execution, 1440 for Daily macro, or 1W for high-timeframe positioning).
2. Determining Trend Bias:
* DWO Line Above Zero Baseline: The selected anchor wave is structurally bullish. Intraday pullbacks act as buying liquidity within the broader trend.
* DWO Line Below Zero Baseline: The selected anchor wave is structurally bearish. Intraday bounces act as counter-trend rallies.
3. Equilibrium Acceleration Histograms:
* Green / Teal Histograms: Positive momentum acceleration relative to your selected anchor timeframe.
* Red / Dark Red Histograms: Negative momentum acceleration relative to your selected anchor timeframe.
Inputs & Settings-
* Anchor Momentum Timeframe (Default: 24H / 1440): Selects the timeframe wave to project across all charts (supports 1m up to 1W).
* Fast WMA Lookback (Default: 65): Controls the sensitivity of the primary signal curve.
* Slow WMA Lookback (Default: 480): Establishes the baseline filter for long-term trend isolation.
* Signal Smoothing Line (Default: 63): Adjusts the sensitivity of the EMA signal tracking curve.
* Triple Baseline Configuration: Sets the Y-axis levels for upper (+33), zero (0), and lower (-33) histograms.
Disclaimer
This script is designed for educational, informational, and analytical charting purposes only. It does not constitute financial or trading advice. Always perform independent analysis and practice strict risk management.
Индикатор

Dual Shock SPMA | NAL1. Overview
Dual Shock SPMA | NAL is a dual-memory trend indicator designed to separately track how significant bullish and bearish price shocks are developing through time.
Unlike the standard Shock Percentile Moving Average, the Dual Shock SPMA maintains two independent adaptive baselines. Positive shocks update the Bull Shock SPMA, while negative shocks update the Bear Shock SPMA.
This creates two separate memories of where statistically stronger directional moves have occurred, allowing the indicator to evaluate the relationship between bullish and bearish shock structure rather than treating all large movements as one stream.
2. Calculation
The indicator begins by calculating the percentage return of the selected source and ranking the absolute magnitude of that return against recent history.
Ret = not na(source ) ? (source - source ) / math.max(math.abs(source ), syminfo.mintick) : 0.0
ShockRank = ta.percentrank(math.abs(Ret), percentrank_lookback)
Because the percentile calculation uses the absolute return, bullish and bearish shocks are ranked against the same magnitude distribution.
The direction of the return then determines which baseline is allowed to update.
BullGate = Ret > 0.0 and not na(ShockRank) and ShockRank > percentile_gate
BearGate = Ret < 0.0 and not na(ShockRank) and ShockRank > percentile_gate
A qualifying positive shock updates only the Bull Shock SPMA. A qualifying negative shock updates only the Bear Shock SPMA. Otherwise, each baseline retains its previous value.
BullMA := na(BullMA ) ? emaValue : BullGate ? emaValue : BullMA
BearMA := na(BearMA ) ? emaValue : BearGate ? emaValue : BearMA
Each shock stream then maintains its own directional memory.
A rising Bull SPMA means significant positive shocks are occurring at progressively higher price levels. A rising Bear SPMA means significant negative shocks are also occurring at progressively higher levels. The inverse applies when either baseline is declining.
BullTrend := BullSPMA > BullSPMA ? 1 : BullSPMA < BullSPMA ? -1 : nz(BullTrend , 0)
BearTrend := BearSPMA > BearSPMA ? 1 : BearSPMA < BearSPMA ? -1 : nz(BearTrend , 0)
The final state requires agreement between both shock memories.
For a bullish regime, both baselines must be trending upward and the Bull SPMA must remain above the Bear SPMA. For a bearish regime, both must be trending downward and their ordering must reverse.
An optional midpoint gate can additionally require price to remain aligned with the center of the dual-shock structure.
ShockMid = math.avg(BullSPMA, BearSPMA)
Long = BullTrend == 1 and BearTrend == 1 and (not UseMidGate or close > ShockMid) and BullSPMA > BearSPMA
Short = BearTrend == -1 and BullTrend == -1 and (not UseMidGate or close < ShockMid) and BullSPMA < BearSPMA
3. Key Features
Separate bullish and bearish shock-memory baselines.
Absolute-return percentile ranking for directly comparable shock magnitude.
Event-driven updates restricted to statistically stronger price movements.
Independent directional memory for positive and negative shocks.
Dual-baseline agreement and relative-position logic.
Optional price midpoint confirmation.
Optional neutral state during unresolved shock structure.
Shock-memory spread visualization and state-based candle coloring.
4. Use
Dual Shock SPMA is designed to analyze how significant positive and negative price events are evolving relative to one another.
Rather than treating volatility as a single undifferentiated stream, the indicator preserves separate memories for each side of the market. This makes the relationship between bullish and bearish shock structure itself part of the signal.
The spread between the two baselines visually represents this evolving relationship, while the midpoint provides a central reference for the combined shock structure.
Dual Shock SPMA is designed as a specialized structural component within a complete strategy framework. Its role is to identify when independently maintained bullish and bearish shock memories begin establishing directional agreement, providing a distinct layer of information about the underlying development of larger price movements.
Индикатор

Индикатор

MarketMaulers Volume ProfileMarketMaulers Volume Profile is a volume profile that tells you how accurate it is.
Price tells you where the market went. Volume tells you where it mattered. A profile splits the window into horizontal rows and measures how much traded inside each one, so you can see where the auction did business and where it merely passed through. That part every profile tool does. This one adds the number none of them report.
THE ACCURACY PROBLEM NOBODY MENTIONS
A profile needs to know where INSIDE each bar the volume traded. On a 5m chart a single bar might cover twenty points, and dumping all of its volume at one price would be a lie.
So the tool requests intrabar data and distributes each bar's volume across the prices it actually visited. But TradingView limits how far back intrabar data reaches and how much a script may request. Past that limit the request comes back EMPTY. No error, no warning. Every volume profile then falls back to bar level volume, meaning the whole bar's volume at one price.
Most tools do this silently. The profile still draws, it just quietly becomes a sketch.
This one reports it. Two rows: how many bars used real intrabar distribution, and how many used the crude fallback. A profile that is mostly fallback is a rough sketch. One that is mostly intrabar is a measurement. Now you know which one you are looking at.
WHAT IT DRAWS
• VPOC. The row that traded the most volume, the fairest price the auction found
• Value Area. The band holding 70% of the window's volume by default, with VAH and VAL as its edges
• HVN and LVN. The shelves where price lingered and the air pockets it ran through
• Naked VPOC. A prior session's point of control that price has never traded back to
THREE WINDOWS
• Session. One trading auction, resetting daily. The default, and the one that matches how a day actually trades.
• Fixed lookback. A set number of bars. Stable and repeatable.
• Visible range. Whatever is on your screen, moving as you pan. Useful for exploring, and it moves by design.
IT TELLS YOU WHEN A SETTING DID NOT TAKE
Two settings can quietly mean something other than what you set.
Session mode needs your chart timeframe to fit inside a session. Set it on a 4H chart and a session spans days.
Ticks per row is a REQUEST. A wide window at a fine row height would need more rows than a script is allowed to draw, so the tool coarsens them. Ask for 20 ticks per row on a wide window and you might get 101.
A setting that quietly means something else is worse than one that is plainly wrong, because nothing tells you to look. So the panel defaults to Auto: hidden until something has actually diverged, then it appears with the offending row flagged. Quiet in normal use, loud exactly when it matters.
ALERTS
Three toggles, all off by default, produce five alert conditions: VPOC touch, VAH touch, VAL touch, Value Area edge touch, and naked VPOC touch.
Each one compares price against the PREVIOUS bar's level, so a level that moves onto price cannot fire by itself. Only price reaching the level fires it. The code for that is three lines and you can go read them.
These are LOCATION alerts, not signals. They tell you price has arrived somewhere structurally interesting. They make no claim about what happens next.
WHY IT DOES NOT REPAINT
A profile is a snapshot of the window it measured, rebuilt on the last bar. Nothing historical is rewritten and nothing is read from the future. There is no request.security anywhere in the script, so there is no lookahead question to answer. The one data request is request.security_lower_tf, which reads bars already inside the current one.
Visible range mode moves with your viewport because that is what you asked it to do, which is the mode working as designed rather than the tool repainting.
READ THE CODE
This one is published open source, so nothing above is a claim you have to take on trust. The header comment is written for exactly that: it states every convention the tool chose where no published source settles the question, and it says why.
• The value area expands ONE ROW AT A TIME from the VPOC, taking the heavier neighbour, and it INCLUDES the row that crosses the threshold. CQG, Sierra Chart and TradingView all add one row at a time. The Dalton books print a two row pair method instead. The original CBOT Liquidity Data Bank tables land between 70.3 and 73.7%, never under 70, which is why the crossing row is included.
• VAH sits at the TOP edge of the highest value area row and VAL at the BOTTOM edge of the lowest, so the band genuinely contains its rows. No vendor documents whether their line is the row's edge or its middle. This one does.
• The VPOC prints at its row's MIDPOINT, and ties go to the row nearest the profile's middle, with equidistant going to the lower row.
• A naked VPOC dies when a later bar's RANGE touches it, not on a close through, and the session that formed it never counts against itself.
• The 70% is a share of TOTAL VOLUME. Not of range, not of bars.
Disagree with any of those and the file is right there. That is the point of publishing it this way.
MADE TO FIT YOUR CHART
Window · Volume Engine · Profile · Value Area · Nodes and Naked VPOC · Style · Diagnostics · Alerts. Every element toggles independently, and every colour, size and position is exposed, the panel included. The defaults suit a dark chart.
HOW TRADERS ACTUALLY USE IT
Read the VPOC as the session's fair price and the value area edges as the boundary between acceptance and rejection. Price leaving the value area and holding outside is an auction trying to find business elsewhere. Price rejecting the edge and returning to the VPOC is the auction saying it already found it.
The LVNs are where the useful trades hide. An air pocket is a price range the market refused to do business in, so price tends to cross it quickly rather than grind. A naked VPOC on the other side of one is a magnet with nothing in the way.
Check the two accuracy rows first. A profile built mostly from the fallback still shows you the shape, but the exact VPOC row is a rounder number than it looks. Fix it with a shallower window or a lower chart timeframe, never by hiding the number.
WHAT IT WILL NOT CLAIM
You will not find a hit rate here for how often price returns to a VPOC, or how quickly an LVN gets crossed. Nobody has measured those on your instrument, your timeframe, and a sample worth the name.
It also will not tell you the value area is one standard deviation. That story is a hedged analogy, not a computation. This algorithm builds a modal, highest density region anchored on the POC. Mean plus or minus one sigma is a different object anchored on the mean. They agree only on symmetric profiles, which is to say not on the trend days profiling exists to identify.
Terms belonging to time based Market Profile, meaning single prints, tails, excess, poor highs and lows and day types, are not used here. They reference 30 minute sub periods a volume profile does not have. An LVN is the honest analogue of a single print.
This tool shows you the structure. What you do with it is yours.
Works on any market and any timeframe, though intrabar accuracy is best on liquid futures and on recent history.
Display only. This measures where volume traded, it does not fire buy/sell signals and it does not forecast. Educational tool, not financial advice.
Published OPEN SOURCE. The intrabar distribution engine, the row budget coarsening, the value area expansion, the naked VPOC carry forward and the divergence checks are all readable in the script, and the header comment documents the reasoning behind every one of them. Read it, check it, and change it if you disagree. Индикатор

Индикатор

Hybrid Sniper 15m: Dual Entry MTF with Bayesian ProbabilityA 15m execution system with two entry types — liquidity sweeps of the prior 2H level and volume-backed trend continuation — gated by 2H+4H bias and a NY session filter, with a self-learning Naive Bayes probability, macro-driver consensus, Fibonacci prediction channel, and a color-coded status panel.
WHAT THIS IS
An intraday execution indicator for the 15-minute chart (defaults tuned for micro gold futures; every symbol and driver is an input, so it adapts to any liquid instrument). It combines a rule-based dual-entry system with a statistical engine that learns from the chart's own history, and compresses everything into one vertical status panel.
THE TWO ENTRY TYPES
SWEEP (liquidity grab): price wicks below the previous 2H low (or above the previous 2H high) but closes back inside, on at least average volume — the classic stop-run reversal. TREND (continuation): price holds beyond both VWAP and the 1H baseline with volume above threshold, in the direction of the candle. Both entries require the 2H and 4H trends to agree (close vs EMA20 plus candle direction on each), and both are restricted to the NY session window (8:20–13:30 ET, configurable) — no signals on thin overnight tape. Entries plot with labeled tags; stop-loss sits beyond the swept level plus an ATR buffer, take-profit at a configurable R multiple, with WIN/EXIT labels marking outcomes.
HOW THE PROBABILITY IS FORMED
The P↑ number is not a fixed formula — it's a Bernoulli Naive Bayes classifier fit by maximum likelihood on a rolling window (default 800 bars ≈ 8 days). Thirteen binary features are tracked: seven from price/volume (2H trend, 4H trend, prior-2H breakout, 1H baseline side, 1H momentum, 1H relative volume, VWAP side) and six cross-asset drivers (defaults for gold: DXY, 10Y nominal yield, 10Y REAL yield, 10Y breakevens, silver, and GVZ — the real-yield and breakeven series are FRED daily data, acting as a slow regime dial). Each bar, the script counts how often each feature historically coincided with the market rising vs falling over the next 8 bars (2 hours); those frequencies are the maximum-likelihood weights. Predictive features earn large log-odds; useless ones converge to zero — the model re-tunes itself continuously with no manual weighting.
THE FIB PREDICTION CHANNEL
The script auto-detects the active swing leg over the last 24 hours, draws the retracements (50%/61.8% emphasized) and extensions, and snaps a two-line channel to the nearest Fib level above and below price. Each wall shows a first-touch probability: the geometric first-passage odds (the nearer wall gets hit first more often) tilted by the model's directional odds — so the percentages respond both to where price sits between the walls and to what the learned model expects.
READING THE PANEL (top to bottom)
BIAS — 2H+4H trend agreement (hover shows session status).
P↑ — learned probability of higher price in 2 hours: green ≥ ~60, red ≤ ~40, gray = coin flip.
MAC — macro consensus, −5 to +5 (hover lists drivers; HI-VOL tag when the vol index is elevated).
SET — current structure: SWP (sweep forming), TRD (trend setup), BRK↑/↓ (2H breakout), IN (inside range).
VOL — relative volume vs 20-bar average; orange when above the entry threshold.
▲ / ▼ — channel walls: probability of touching the upper/lower Fib target first.
SIG — flashes BUY/SELL on the bar a signal fires; "—" otherwise.
KEY PARAMETERS
Risk:reward multiple, ATR stop buffer, RVOL threshold; session window; MLE horizon and training window; Fib swing lookback and channel projection; the six macro symbols (swap the whole set to repurpose for another market); display toggles for Fib levels, labels, and 2H boxes.
HONEST DISCLOSURES
The 2H data request uses lookahead with a 1-bar offset for the completed prior bar's high/low (the standard non-repainting idiom); the live 2H/4H trend states update while those bars form, so panel colors can change intrabar until the higher-timeframe bar closes — signals themselves evaluate on the 15m close. Probabilities are learned from recent history: they lag genuine regime changes by design and mean little on thin volume. The trade labels are illustrative sequential outcomes, not a backtest with slippage and fees. Nothing here is financial advice — forward-test before trusting any threshold. Индикатор

R-Level Targets R-Level Targets — Drag-to-Set Entry, Stop & R-Multiple Targets
Draws entry, stop, and R-multiple target lines from two price levels you set by dragging lines directly on the chart — no settings dialog required, though typing exact values into settings works too. Direction (Long/Short) is inferred automatically from whether the stop is above or below entry.
How it works
Add the indicator, then drag the Entry and Stop lines to your levels (or type them into the settings).
Risk = distance from entry to stop. Each R level is drawn at a multiple of that risk, projected in the direction implied by your stop placement.
The stop-to-entry range is shaded as a loss zone; each R interval above/below entry is shaded a progressively deeper profit zone, echoing TradingView's built-in Long/Short Position tool.
Lines run from today's session open to a label column on the right — they don't stretch back across every session loaded on the chart.
A small "Current R" value is available in the Data Window (hover the chart) so you can track live unrealized R without cluttering the chart itself.
Inputs
Position — Entry price, Stop price, label offset (bars), and a snap increment so a hand-dragged line lands on a real tradeable price instead of a stray decimal.
R Levels — a free-form comma-separated list (e.g. 1, 1.5, 2), any order, up to 10 levels, plus a "Target R" value that gets highlighted separately from the rest.
Display — toggle tick count and $ risk-per-contract on the Stop label.
Colors — every line and fill color is configurable.
Notes / limitations
This is a manual planning tool, not an auto-trader: Pine Script has no access to your broker's live fills or position events, even through TradingView's Trading Panel, so nothing here executes or tracks real trades — it's a visual guide you set yourself.
Custom scripts can't add themselves to TradingView's drawing-tools sidebar, so input.price() (a draggable line in settings) is used as the closest equivalent to a drawing tool.
Defaults on add (23500 / 23475) are just a starting point sized for NQ/MNQ — update the levels for your instrument, or drag/type them each trade.
Disclaimer
This script is a visual planning aid and does not constitute financial advice. It does not place trades or connect to any brokerage account. Индикатор

Premium Map Pro: Bayesian Probability Fan, Order BlocksWHAT THIS IS
This indicator is a higher-timeframe "regime map," designed for a 2-hour chart (defaults tuned for micro silver futures, but every symbol and driver is an input). It answers three questions on one screen: what regime is the market in (trend, premium/discount, money flow), where are the levels that matter (displacement order blocks, equilibrium, VWAP), and what does recent history suggest happens next (a probability fan over the next 8 hours, with a percentage on each path).
HOW THE PREDICTION IS FORMED
The engine is a Bernoulli Naive Bayes classifier fit by maximum likelihood on a rolling window (default 500 bars). Each bar, 14 binary features are recorded — 8 from price/volume (2H trend vs EMA20, 4H trend, discount vs equilibrium, VWAP side, structure, volume vs average, volume rising, MFI above 50) and 6 from cross-asset drivers (gold, DXY, gold/silver ratio, copper, 2Y yield, a volatility index — all symbol inputs). For each feature, the script counts how often it coincided with the market rising vs falling over the following N bars (default 4 = 8 hours). Those frequencies are the maximum-likelihood estimates of each feature's predictive weight: features that predicted well get large log-likelihood ratios, useless ones converge to zero. The weights are re-estimated every bar, so the model adapts to regime changes with no manual tuning. The result is P(up), shown as the triangle and its percentage.
THE PROBABILITY FAN
The fan extends five dotted rays from the current close to five targets one horizon ahead: ±2 ATR, ±1 ATR (ATR scaled by √horizon), and flat. Each ray's percentage is the empirical frequency of that size of move in the training window, tilted by the model's current directional odds, renormalized to 100%. Ray thickness encodes probability. Read the shape, not just the lean: a fat middle ray means "drift expected"; fat outer rays with a thin middle mean "big move brewing, direction uncertain."
ORDER BLOCKS
A displacement bar (body > 1.5 ATR closing beyond the prior bar's extreme) marks the previous opposite-colored candle as an order block — supply above, demand below. Blocks born on above-average volume are tagged OB+ with a solid border. Blocks expire after a set lifespan (default 24h) or immediately when price closes through them (mitigation).
READING THE PANEL (bottom-right, top to bottom)
4H·8H — higher-timeframe trend agreement (green BULL / red BEAR / gray MIX). Hover for the daily trend.
P↑ — the model's probability of the market being higher in 8 hours. Green ≥ ~60, red ≤ ~40, gray = coin flip.
MAC — macro consensus from the six drivers, −5 (all hostile) to +5 (all supportive). Hover shows the drivers and a HI-VOL tag when the volatility index is elevated.
LOC — PREM/DISC: price above or below the 50% equilibrium of the recent swing range.
MFI — money flow IN/OUT (volume-weighted RSI). Red price bars with MFI drifting green is a classic accumulation divergence.
V-6h / V-4h / V-2h — the last three 2H bars: cell color = that bar's price direction, text = its volume vs the bar before (UP 2.3 = expanding). Red+UP = heavy selling; red+DN = selling drying up.
PLAY — trend × location playbook: BUY (bull trend + discount), SELL (bear trend + premium), WAIT otherwise.
KEY PARAMETERS
MLE horizon (bars ahead to predict) and training window; order-block displacement multiple, lifespan, and volume-quality threshold; equilibrium swing lookback; the six macro symbols (swap them to repurpose for any market — e.g., for gold use DXY, 10Y yield, real yields, breakevens, silver, GVZ); toggles for the fan, labels, and macro features.
HONEST LIMITATIONS
Probabilities are learned from recent history — after a news shock they need time to re-adapt, and on thin overnight volume they mean little. The Naive Bayes independence assumption makes extreme readings somewhat overconfident; treat 65% as a lean, not a promise. Values on the live bar update until it closes. This is a decision-support map, not a signal service, and nothing here is financial advice. Индикатор

Structure Participation Matrix [MQLSoftware]OVERVIEW
Structure Participation Matrix turns confirmed structure breaks into auditable records. It shows price-travel and chart-feed participation context, then compares endpoints across frozen score buckets. Each record has four readings, a score, and one delayed observation. It is research, not entries, stops, targets, sizing, execution, or forecasts.
Its distinct contribution is the complete frozen event ledger: strict delayed pivots, four disclosed measurements fixed at the break close, explicit UNSCORED handling, and one outcome check aggregated by frozen bucket. It links structure, participation, and later observation rather than merely combining standard indicators.
CONCEPTS
Strict symmetric pivots require a unique extreme on both sides; ties are rejected. A pivot becomes eligible only after its full right-side delay. A break requires a confirmed close beyond the armed level plus the ATR buffer; a wick alone is not an event.
Four 0-100 components freeze at that close. PATH measures displacement against the leg's total path. CLOSE averages directional close location over its final bars. REL VOL compares average leg volume with a rolling median. BALANCE weights volume by close location. The fixed score is 30% EFF/PATH, 25% CLOSE, 25% RVOL/REL VOL, and 20% BAL/BALANCE, normalized once for displays, buckets, and alerts.
RVOL uses reported or tick volume; BAL is an OHLCV proxy. They are not bid/ask delta, order flow, or a footprint; neither proves participant identity or predicts future behavior. Missing leg volume or bounded history makes an event UNSCORED and excludes it from bucket statistics.
After exactly N confirmed bars, the close is checked once. HELD N means the endpoint is beyond the broken level; FAILED N means it is not. HELD does not mean price stayed beyond the level throughout. The result is fixed.
FEATURES
Confirmed BREAK UP and BREAK DOWN events
Latest-event PATH, CLOSE, VOL, BAL rail
LOW, MODERATE, HIGH, and VERY HIGH score bands
HELD N or FAILED N endpoint checks
Sample-aware count and held-at-N rate by bucket
Break, direction, score-60+, and outcome alerts
HOW TO USE
Start with defaults. Higher Strict Swing Strength gives fewer pivots and a longer delay. Break Buffer sets the required closing distance in ATR units. Maximum Measured Leg Bars bounds history; an older leg remains a visible UNSCORED break.
Read the latest label first. In the rail, PATH describes travel efficiency; CLOSE, final-bar commitment; VOL, relative chart activity versus baseline; and BAL, a directional OHLCV proxy. The score summarizes a frozen event, not an instruction or probability.
The newest event keeps its expanded label and rail. Older events become compact labels; Historical Detailed Rails restores detail. Visual switches and retention affect drawings only, not calculations, counts, or alerts.
The matrix uses events recalculated from the history currently loaded on the chart. Counts and rates change with symbol, timeframe, inputs, or the history boundary. Small buckets remain collecting. HELD N rates are historical endpoint observations, not future estimates.
CONCLUSION
The result is an inspectable break record with transparent measurements, compact history, one timed outcome, and visible data limits. Индикатор

CTT - Position Size Calculator V1.0CTT - Position Size Calculator V1.0 | Risk-Based Position Sizing
Confluence Trading Tools LLC
A chart overlay that calculates exactly how many shares to buy or sell based on your account size, risk tolerance, and stop loss — then draws entry, stop, and R-multiple profit targets directly on the chart. No more mental math, no more spreadsheets, no more guessing.
---
WHAT IT DOES
Enter your account balance and risk percentage. Set a stop loss (manually or let ATR do it). The calculator tells you exactly how many shares to trade so that if you get stopped out, you lose only the amount you chose to risk — nothing more.
---
CORE FEATURES
ATR-BASED STOP LOSS
Toggle between a manual stop price and an automatic ATR-calculated stop. In ATR mode, the stop is placed at entry ± (ATR × multiplier). Configurable ATR length (default 14) and multiplier (default 1.5×). No more eyeballing stop placement.
R-MULTIPLE PROFIT TARGETS
Three configurable profit targets based on your risk distance:
- 1R Target: risk/reward 1:1
- 2R Target: twice your risk distance
- 3R Target: three times your risk distance
Each target shows both the price level and the dollar profit at that level based on your calculated position size.
MAX POSITION CAP
Prevents overconcentration by capping the maximum position size to a percentage of your account (default 25%). When the calculated position exceeds the cap, shares are reduced and the table flags it in orange with the effective risk after capping.
CHART LINES
Entry (solid blue), stop loss (dashed red), and R-multiple targets (dotted green) are drawn directly on the chart with price labels. See exactly where your levels sit relative to price action. Line length is configurable.
LONG / SHORT SUPPORT
Toggle between long and short trades. Stops and targets automatically adjust direction — stop below entry for longs, above for shorts.
INFO TABLE
Compact table showing:
- Risk amount and percentage
- Stop price (with ATR info when in ATR mode)
- Stop distance in dollars and percentage
- Share count (flagged if capped)
- Capital required and percentage of account
- Max cap status
- All three R-multiple target prices with dollar profit
---
HOW TO USE
1. Set your account balance and risk percentage
2. Choose Long or Short
3. Set your stop — either type a manual price or switch to ATR mode
4. Read the table: shares to buy, capital required, and all three profit targets
5. Use the chart lines to visualize your trade setup against price action
---
USAGE NOTES
- Works on any asset class: equities, futures, forex, crypto
- Entry price defaults to the current close — you can also link it to another indicator's output via the source input
- ATR stop mode is recommended for volatile instruments where a fixed stop price doesn't adapt to conditions
- The position cap protects against concentration risk but does NOT override your broker's margin limits
- All calculations update in real time as price moves
---
Confluence Trading Tools LLC
Индикатор

Adaptive Range Opportunity Hunter [SMI] v1.3Adaptive Range Opportunity Hunter
This indicator was created as an experimental tool to help identify potential entry opportunities near the end of a trading session, with the intention of evaluating positions that may be held for at least the following trading day rather than relying on frequent same-day scalping.
The underlying idea is simple: instead of evaluating price using a fixed absolute threshold, the script measures where the current price is located inside its own recent local range.
By default, the indicator uses the highest and lowest prices of the previous 40 bars as a local price reference. This value was selected empirically after observing that, on many charts, approximately 40 bars often contain around one or two recent price cycles. It should therefore be understood as a practical local reference rather than a universal cycle length.
The main metric, Distance from Local Low %, represents the normalized position of the current close relative to the lowest price in that local range:
0% means price is at the local low.
3% means price is inside the lowest 3% of the local range.
50% represents approximately the middle of the range.
100% corresponds to the local high.
The complementary Distance from Local High % provides the symmetric measurement from the upper extreme. Both values are continuously displayed so users can experiment with their own thresholds.
The default research condition combines two elements:
SMI <= -40
Distance from Local Low <= 3%
This identifies situations where momentum is in an oversold SMI region while price is simultaneously located very close to the lower extreme of its recent local range.
The 3% threshold is not a predicted loss, stop-loss, or expected downside. It simply describes the price's normalized location within the recent high-low range.
The indicator also calculates a Standardized Benefit to Local High %. This represents the hypothetical percentage distance from the configured lower-range threshold to the current local high. It is intended to help compare simultaneous opportunities between different symbols. It is not an expected return or price target.
Intended use
My initial research use is to review signals near the end of the trading day and evaluate whether the resulting positions can be held into at least the following session. The goal is to explore a slower operational approach than habitual intraday scalping and reduce reliance on repeated same-day round trips.
The indicator exposes both the raw measurements and combined SMI conditions, allowing users to test different ideas such as:
Distance from Local Low below 1%, 2%, 3%, 5%, etc.
Local-range proximity without SMI confirmation.
Local-range proximity combined with SMI oversold conditions.
Symmetric conditions near the local high.
Alerts are included so users can monitor multiple symbols and be notified when a new condition appears.
Experimental status
This is a research indicator, not a trading system and not a recommendation to buy or sell. The default values of 40 bars, 3%, and SMI ±40 are intentionally kept as an initial reference rather than presented as universally optimal parameters.
Community feedback is especially welcome regarding different symbols, markets, timeframes and threshold values. One of the purposes of publishing the script is to evaluate whether the observed behavior remains useful outside the instruments and historical examples used during its development.
Credits
The Stochastic Momentum Index calculation is based on the original TradingView implementation by UCSgears. The original source also credits Surjith S M for part of the overbought/oversold visualization.
This adaptation adds the local rolling-range framework, normalized distance measurements, configurable opportunity conditions, standardized local-range comparison, alerts and dashboard. Индикатор

Индикатор

IB FIB CUCAPHere's a plain-English description of what IB High/Mid/Low + Break Fib (steveniscu) does — useful either as your own reference or as copy for the TradingView "Description" box if you publish it:
What it does
Marks out the Initial Balance (IB) — the high and low of the first 30 minutes of the session (9:30–10:00 AM ET / 8:30–9:00 AM CT by default) — and plots three static levels once that window closes: IB High, IB Low, and IB Mid (the 50% midpoint).
From there, it watches for the first time price closes outside that range in either direction. Whichever side breaks first becomes the "dominant" direction for the day — only that side's fib gets drawn, even if price later reverses and tags the opposite extreme too. This keeps the chart clean and reflects the idea that the first break sets the day's character (initiative/trend vs. failed break back to balance).
Once a dominant break happens, it draws a live fib retracement anchored between the IB extreme on the origin side and the developing swing extreme on the breakout side — so as a downside break keeps making lower lows, the retracement recalculates and slides down with it. It shows 0.786, 0.618, 0.5, and 0.382, plus optional "1"/"0" anchor labels and a dashed connector line showing the leg being measured.
The 0.618–0.65 zone (the "golden pocket") gets a translucent yellow box overlay that resizes along with the rest of the fib, so the highest-probability pullback re-entry zone is visually obvious at a glance.
Inputs
IB session window and timezone
Toggle for IB Mid
Toggle for the break-fib, anchor labels, and connector line
Golden zone toggle plus adjustable low/high ratio bounds (default 0.618/0.65)
Line width, label size, extend-right styling
Trading logic it encodes: the IB is the first "honest" value area of the day. A hold outside it signals a trend day and gives you a real, high-volume leg to measure a fib retracement from for pullback entries — rather than drawing fibs on arbitrary swings. Индикатор

Multi-Timeframe Structure Overlay [ITA]🟠 OVERVIEW
Multi-Timeframe Structure Overlay draws the structure of two higher timeframes
onto the chart you are actually trading.
Most multi-timeframe tools put the answer in a corner table: one hour bullish,
four hour bearish. That tells you the state but not where it sits, and price
does not trade against a table. Here the swing highs and lows those timeframes
are working with become lines on your chart, so you can see how far price is
from the level that would flip them.
Breaks are marked at the price where they happened, not in a corner.
🟠 CONCEPTS
* Higher Timeframe Structure - The swing highs and lows a larger timeframe has
confirmed. They are the levels that decide its direction, and they usually sit
somewhere your own timeframe never draws.
* Break of Structure - A close beyond the last confirmed swing in the direction
the timeframe was already going. Continuation.
* Change of Character - A break in the opposite direction to the previous one.
The first sign that the higher timeframe has turned, and marked separately
because it means something different.
* Bias - Which way each timeframe is currently pointing, based on its last
confirmed break. Shown as a small tag at the right edge rather than a panel.
* Alignment - Both higher timeframes pointing the same way. It has its own
alert, because that is usually the condition people are waiting for.
🟠 FEATURES
🔹 Two higher timeframes at once, each with its own colour, drawn as levels on
your chart rather than listed in a table
🔹 BOS and CHoCH labelled at the price where the break occurred, tagged with
which timeframe produced it
🔹 Bias tags at the right edge, offset from each other so they never overlap
🔹 A warning on the chart if a selected timeframe is lower than the one you are
viewing, instead of quietly drawing values that look plausible and mean nothing
🔹 Alignment alert for when both higher timeframes agree
🔹 Levels are requested with lookahead off and read from confirmed bars only,
so nothing shifts after the fact
🔹 Independent swing sensitivity, applied on each higher timeframe rather than
on your chart
🟠 HOW TO USE
Pick two timeframes above the one you are on. Working a 15 minute chart, one
hour and four hour is the usual pair. On a daily chart, use weekly and monthly.
Read the lines first. A higher timeframe level sitting just above price is the
level that flips its bias, and it is often nowhere near anything your own
timeframe would have drawn.
A CHoCH tag matters more than a BOS tag. Continuation is expected, a change of
character is the first evidence the larger move is turning.
When both bias tags point the same way, the higher timeframes agree. That is
the alignment alert, and it is usually a better filter than either timeframe on
its own.
Swing Lookback controls sensitivity on the higher timeframes. Raise it for
fewer and more significant levels.
🟠 CONCLUSION
Knowing the higher timeframe is bullish is not the same as knowing what price
has to do for that to change. This puts the second thing on the chart, where it
can actually be used. Индикатор

MovTrend Pullback SystemWhat it is: A trend-following 5 minute indicator built around a linear regression trend line ("MovTrend") with ATR-based volatility bands. It generates four distinct signal types, each answering a different question about price action relative to the trend.
Core components
MovTrend Line (MT) — A linear regression line (ta.linreg) plotted over price, colored by direction: green when sloping up, red when sloping down, gray when flat. This is the trend backbone everything else references.
Slope — The MT line's rate of change over a lookback window, plotted as a histogram in the lower pane. Crossing above/below configurable thresholds marks a "confirmed" up or down trend (green/red bars); values between thresholds are a gray "no-trade zone" where the trend isn't strong enough to trust.
ATR Bands — Upper/lower bands plotted around the MT line at a multiple of ATR, representing a "normal" volatility envelope. Price moving outside these bands is considered stretched/overextended relative to the trend.
The four signals
🟢 Buy Dot / 🔴 Sell Dot (Pullback Touch)
Fires when price dips down and touches the MT line during a confirmed uptrend (buy), or pokes up and touches it during a downtrend (sell), then closes back in the trend's favor. This is the core "buy the dip / sell the rip" signal — a shallow pullback to the trend line that holds.
🟡 Stretch Dot (Mean-Reversion Warning)
Fires when price closes outside the ATR bands — i.e., stretched further from the trend line than normal volatility would suggest. Dot size scales with how extreme the stretch is (tiny = mild, small = moderate, orange/normal = extreme), giving you an at-a-glance read on how overextended price is. This isn't a reversal signal on its own — it's a caution flag that price may be due to snap back toward the MT line. It's filtered by:
Volatility regime — suppressed during low-volatility chop, since a "stretch" in dead conditions is less meaningful
FVG confluence — checks if price is near a fair value gap, adding context to the stretch
Volume — requires above-average volume to confirm real participation, not just a thin drift
Slope deceleration — confirms the trend itself is actually losing momentum, not just that price poked outside the band
🔷 Trend Continuation Diamond (cyan up / magenta down)
Fires on a high-volume push with the trend, away from the MT line — meant to catch strong continuation moves the pullback-touch signal misses (since it only fires on touches, not on strength). It's built specifically to avoid firing at exhaustion tops/bottoms by requiring:
Volume that is not the largest in the recent lookback window (avoids climactic blow-off bars)
Slope that's still accelerating, not flattening
A cooldown between diamonds so one strong leg doesn't spam multiple signals
Filters that apply across signals
Session filter — dims the chart and can gate signals outside your configured trading hours, since overnight/thin-liquidity behavior isn't comparable to regular session action
MTF confirmation — optionally requires a higher timeframe's slope to agree before a buy/sell touch fires, filtering out signals that look right locally but fight the bigger picture
Signal conflict resolution — a Trend Continuation diamond won't fire on the same bar as a Buy/Sell touch, avoiding mixed signals
Performance tracking table
How to read it together
The intended workflow: use the MT line + slope histogram to establish trend context, take Buy/Sell touches as primary pullback entries in the direction of that trend, treat Stretch dots as a caution/take-profit signal rather than a new entry, and use Continuation diamonds as confirmation that a trend still has legs when you're already in a position or considering adding. Индикатор

COT Pulse Cloud TrendCOT Pulse Cloud Trend — Script Description
What it does
COT Cloud plots a translucent price cloud whose color and intensity reflect CFTC Commitment of Traders positioning for the chart's own market — large speculators (Non-Commercial) and/or hedgers (Commercial). It auto-detects the market from the chart symbol and pulls the matching weekly CFTC data automatically; no per-chart setup needed for covered markets.
Data source
Pulls straight from TradingView's own CFTC feed via request.security() — the Legacy report's Non-Commercial/Commercial Long and Short symbols (_F_NCP_L/S, _F_CP_L/S), no exchange prefix. This is the same report definition (noncomm_positions_long_all, comm_positions_long_all, etc.) used by CFTC's own Socrata dataset, so it lines up with the official weekly COT report.
Auto-detection
Reads syminfo.basecurrency/syminfo.currency/syminfo.root to identify the market and looks up its CFTC contract code. Covered: EUR, GBP, JPY, AUD, NZD, CAD, CHF; Gold, Silver, Copper, Palladium, Platinum; Wheat, Cotton, Corn, Soybeans, Sugar, Coffee, Cocoa, Live Cattle; WTI Crude Oil, Natural Gas; 2-Year and 10-Year Treasury Notes; Nikkei 225, S&P; 500, Nasdaq-100, Dow, Russell 2000, VIX, US Dollar Index, Bitcoin. For USDCAD/USDCHF/USDJPY-style charts (USD as the base currency) and the corresponding CAD/CHF/JPY futures, long and short are swapped so a positive net always means "bullish USD" — CFTC quotes those three the other way round.
If the chart's market isn't in this table, the script does not silently fall back to whatever is in the manual-symbol fields (that would plot a different market's COT data without warning) — it shows a gray "no COT match" label instead. Turn auto-detect off and enter symbols manually to use it on an uncovered market.
Position (what feeds the cloud)
Non-Commercial — large speculators' net (Long − Short)
Commercial — hedgers' net
Difference — Non-Commercial net minus Commercial net
Color by (how it's colored)
Auto (default) — picks the mode a backtest found works best per market: Absolute for Gold, Trend everywhere else, Excel for Difference.
Excel — a 3-point color scale anchored at of the value over a configurable history window: red at the low anchor, white at the median, green at the high anchor, plus a sign-colored border.
Trend — white at the position's own 13-week average, fading to green (more long than usual) or red (more short than usual) with distance from it; blue when both legs are below their own 13-week average ("cooling" interest on both sides).
Absolute — %Long of the current week's total (Long + Short).
Relative — where net positioning sits within its own trailing lookback window (0–100 percentile).
Extreme-reading marker
A small orange triangle appears below the cloud, plus an alert condition, whenever the active reading is in the top or bottom 20% of its scale. A backtest (COT signal vs. forward price return, 1/4/13/26 weeks ahead, across five markets back to 2007) found this is where the spread between the best- and worst-performing readings was consistently widest — i.e. where whatever edge COT positioning carries actually concentrates. It flags "pay attention," not a direction: the same extreme reading preceded further trend continuation in Gold/EUR but reversals in GBP/S&P; 500, so read it in the context of the specific market, not as a universal buy/sell signal.
Honest limitations
The backtest behind Auto mode and the extreme marker covered 5 of the many markets this script auto-detects (EUR, GBP, USDJPY, Gold, S&P; 500), not all of them — treat the defaults as a reasonable starting point, not a validated rule for every market.
Even where tested, the edge was weak (correlation ~0.1–0.25, hit rate ~50–62%) and only showed up at 13–26 week horizons; a single week's change in positioning carried essentially no signal.
CFTC codes beyond EUR and Gold's Non-Commercial/Commercial symbols were cross-checked across public sources but not individually re-verified live on TradingView — if a market's cloud looks off, search _F_N in TradingView's symbol search to confirm.
This is a slow, structural positioning indicator meant to add context to other analysis — not a standalone timing signal. Индикатор

Unicorn Model Unicorn Model
Finds the ICT Unicorn and frames its context. A Unicorn forms where a displacement leaves a Breaker behind and the Fair Value Gap that displacement traded through inverts onto it — the same-direction Inversion FVG overlapping the Breaker is what confirms it. Two arrays reinforcing each other at one price, which ICT teaches as a tight, high-probability zone. This tool detects that overlap, marks the Breaker that qualifies, always shows the inversion FVG that makes it one, tracks the liquidity that engineered it, and keeps the HTF bias and the draw on a clean dashboard. It maps structure. It does not fire trades.
The sequence it looks for
The Unicorn is a confluence, not a standalone trigger. Bullish below; bearish mirrors.
Liquidity is taken — price sweeps a sellside low, engineering the reversal.
A swing is broken — displacement closes through the last swing high. The candles immediately before that leg are left behind as an order block, and it becomes a Breaker only once price later closes back through it, the block failing and flipping exactly as an FVG inverts into an IFVG.
The FVG inverts onto the Breaker — a candle body closes through the gap, so it fails and flips polarity into an Inversion FVG. A Breaker that a same-direction IFVG overlaps IS the Unicorn; with no overlapping IFVG it stays a plain Breaker.
Bias frames it — the model needs a clear higher-timeframe read, so a bullish Unicorn shows in a bullish or discount context and a bearish one in premium.
The draw — engineered liquidity in the direction of bias is the target the setup delivers toward.
Because the Unicorn is only as good as its narrative, bias is first-class: qualification is gated to the HTF read by default, and the dashboard keeps the read, the raid and the draw in front of you.
These are established Inner Circle Trader concepts — the Fair Value Gap, the Breaker, market structure shift, liquidity, the Midnight Open and premium/discount. This script is an original implementation of them, and what makes it its own thing is that it resolves the Breaker and the Inversion FVG that confirms it into a single zone rather than plotting each array in isolation.
What it draws
The Unicorn. When a live same-direction IFVG overlaps a Breaker, that box is relabelled Unicorn + or Unicorn -, drawn in purple or magenta with a distinct dashed border so the setup reads at a glance against the solid-bordered arrays around it. It is confirmed once and holds — it does not flicker bar to bar — and the confirming IFVG is kept alive with it. The two live and die together, so a Unicorn always shows the inversion that makes it one.
The ingredients. Drawn faintly beneath: FVGs in blue for bullish and red for bearish, Breakers in a neutral black, each tagged with the chart timeframe. A gap that sits inside the Unicorn or its inversion hides its own box, so the zone is never buried under the ingredient it is built from. Everything invalidates by candle body only — a wick through a zone never counts. A plain FVG inverts the moment one body closes through it; the Breaker and the inversion take a configurable number of body closes to retire, two by default.
The inversion. When a body closes through an FVG it does not vanish, it inverts — flipping polarity to deliver from the other side. The same-direction inversion overlapping a Breaker is what confirms the Unicorn. It is shaded orange, carries no label because orange reads as IFVG on its own, and sits behind the Unicorn so the zone stays in front.
Liquidity. Swing highs are buyside, swing lows are sellside, plus prior-day and prior-week levels as external-range reference, each anchored to the candle that formed it. The outermost live swing each side is tagged Buyside or Sellside Liquidity; inner swings carry Minor tags; prior-period levels keep a dated one. A level that is also an Asia, London or New York session extreme carries that tag too. Every level is removed the instant it is taken — no dotted stub, no lingering line — and an un-taken level that price trends a full range past without returning also clears. Tags that share a price merge into one rather than stacking.
Midnight Open. The 00:00 New York open, a core daily reference and a bias input. Below it leans bullish, above it leans bearish.
The draw. The target the setup delivers toward. It stays hidden until a Unicorn has set up AND its setup-side liquidity has been swept; only then is the opposing draw tagged on that level. That ordering is deliberate — the marker can never read as a standalone entry signal.
Dashboard
HTF bias, bullish or bearish or mixed, auto or manual. Whether a Unicorn is live and which way, falling back to the last one's direction rather than a bare dash. Which side of liquidity was most recently raided. The current draw with its price. Prior-day high and low, tracked even when the lines are hidden. Price against the Midnight Open. And where price sits in the dealing range, discount or premium against the equilibrium.
Reading it in practice
Trade with the dashboard bias. A Unicorn marks the Breaker whose overlapping inversion FVG makes it one; the orange IFVG shows the imbalance it sits within. ICT guidance waits for price to tap the FVG side, places the stop beyond the combined Breaker and FVG extreme — whichever is furthest — and targets the engineered liquidity the draw tag names. A gap left open below a bullish Unicorn range is intended: it shows intent and speed, and is not meant to be filled.
Method and repainting
All detection evaluates on closed bars. Swings, the structure break, the Breaker flip, the FVGs, the inversion and the Unicorn overlap are confirmed on candle close, never intrabar. Once a Unicorn is confirmed it is locked — it does not re-evaluate or flip state bar to bar — and invalidation counts only confirmed body closes, so an in-progress candle, wick included, never removes it. The Midnight Open fixes on its forming bar, and every level anchors to the candle that formed it.
Live zones and levels extend to the right edge for readability. That projection is cosmetic and changes no confirmed level, tap or raid.
Settings
Session timezone, right-side offset and label sizes. Bias mode and whether Unicorns are gated to it. Pivot strength. Liquidity display, per-side level caps, prior day and week levels with their lookbacks, and the raid-relevance window. Session tagging and the three session windows. FVG minimum height and displacement size, both in ATR, the declutter, the cap on live gaps, the framing IFVG, and how many body closes retire a zone. Unicorn colours. Dashboard position, including middle right, and text size.
Analytics only
This is a decision-support tool for discretionary ICT study. It maps zones, structure and context. It contains no alerts and no buy or sell signals, and it does not tell you when to enter or exit. The draw marker is a text label that appears only after a Unicorn has set up and liquidity has been swept, pointing at a liquidity target — not a trade instruction.
Disclaimer
This is a decision-support tool for discretionary ICT trading. It is not financial advice, and no market's past behaviour is indicative of future results. Индикатор

Edo Premium DiscountEdo Premium Discount — Splits the Dealing Range into Premium, Equilibrium and Discount Zones with a Live Position Reading
Inside the range price moves in, where you enter is not neutral. Buying near the low of the range — in discount — offers a far better risk/reward than buying near the high — in premium. Institutional money accumulates cheap and distributes expensive, and trading with that logic rather than against it is one of the simplest structural edges to add. Edo Premium Discount turns that principle into a direct visual tool: it takes the current dealing range and answers, at all times, one question — is price trading expensive or cheap relative to the range it sits in?
The indicator builds the dealing range from the latest confirmed swing high and swing low, splits it into three zones, and reads where price sits within it. Premium is the expensive upper half (the sell side), discount is the cheap lower half (the buy side), and equilibrium is the fair-value band around the 50% midpoint. Everything is built on confirmed swings, so the indicator does not repaint. It is the relative-value frame of the Edolab structure family, the canvas on which to place liquidity, order blocks and the rest of the read.
THE DEALING RANGE
The range is the foundation: without a reference high and low, there is no premium or discount to measure. The indicator defines it with the most recent confirmed pivots — the last swing high as the range high and the last swing low as the range low. When price breaks out and forms new swings, the range updates to the new leg. The Swing Profile sets the sensitivity of those pivots: Scalper (5 bars each side) for short, reactive ranges on low timeframes, Swing (10 bars, the default) for the balanced 4H and daily read, and Long Term (21 bars) for the major ranges on weekly and higher horizons. The zones extend a configurable number of bars to the right so they project over the forming candles.
THE THREE ZONES
Splitting the range at its midpoint, the indicator draws three zones. Premium: the upper portion, above the equilibrium band, shaded red — price is trading expensive, the zone where sells are sought. Discount: the lower portion, below the equilibrium band, shaded teal — price is trading cheap, the zone where buys are sought. Equilibrium: the central band around the exact 50% midpoint, shaded neutral grey, with a dashed line marking the 50% level — fair value, neutral territory where neither side has a clear location edge. The Equilibrium Band input sets the half-width of that central band as a percentage of the range (5% by default, giving a 45%–55% band); widen it to enlarge the neutral zone, narrow it to expand the two operative zones.
POSITION AND ZONE STATE
On every bar the indicator classifies the close into one of the three zones — Premium above the equilibrium band, Discount below it, Equilibrium inside it — and reads its Position: how high the close sits in the range as a percentage, where 0% is the range low, 100% the range high and 50% the midpoint. The percentage refines the zone read: premium at 55% (just across the midpoint) is a very different proposition from premium at 95% (at the edge of the range high). The state shows in the panel's Zone cell in its colour and fires the matching alert when price enters each zone.
INFORMATION PANEL
The panel condenses the value read into a compact table: the current Zone (PREMIUM / EQUILIBRIUM / DISCOUNT) in its colour, the Position in percent, and the Range High and Range Low levels. It sits in any of the four chart corners (Top Right by default), comes in three sizes (Tiny / Small / Normal) and two themes (Dark / Light), and can be hidden entirely.
NO REPAINTING
The range is built on confirmed pivots: the range high and low only change when a new swing is confirmed, not during the forming candle, so the zones do not shift intrabar. There are no higher-timeframe functions — all logic runs on the current chart timeframe.
CONFIGURATION
The inputs are grouped by block. Range sets the swing profile, the equilibrium band as a percentage of the range and how many bars the zones extend to the right. Style exposes the premium, discount and equilibrium colours, the zone opacity and the Dark/Light theme. Panel controls panel visibility, position and size. The defaults are calibrated to work without adjustment on stocks, crypto, forex, indices and futures, on any timeframe — the inputs most users touch are the Swing Profile, to size the range to their horizon, and the Equilibrium Band, to set the width of the neutral zone.
ALERTS
Three predefined alerts cover the zone changes: Price entered Premium fires when the close enters the premium zone, Price entered Discount when it enters the discount zone, and Price entered Equilibrium when it returns to the fair-value band. The discount alert flags when price reaches the cheap half of the range — where buys are sought — and the premium alert when it reaches the expensive half. All alerts fire on bar close, consistent with the indicator's anti-repaint validation.
HOW TO READ IT
The most direct use is location: seek buys when price is in discount and sells when it is in premium, not the other way around — not a signal in itself, but a filter that grades trades by their risk/reward, since a buy in deep discount starts from a far more favourable zone than a buy in premium. Watch the extremes: a Position near 0% or 100% means price is at an edge of the range, and inside a range price tends to revert toward equilibrium, so an extreme reading warns that pushing further from fair value starts from a high-risk zone. Use equilibrium as a hinge: price reclaiming equilibrium from discount, or losing it from premium, marks a change of value half worth watching. And trade in confluence: a liquidity sweep or a quality order block in discount is a far stronger buy reference than the same signal in premium — Edo Premium Discount provides the value frame on which to place the rest of the structure.
OPEN SOURCE
Edo Premium Discount is published as a free open source indicator. The full Pine Script is publicly accessible on TradingView for study, adaptation and integration into any workflow. Part of the Edolab Markets free tools ecosystem, all available on TradingView.
This indicator is a technical analysis tool for educational and informational purposes only. It does not generate automatic buy or sell signals and should not be considered financial advice. Trading financial markets involves significant risk of capital loss. Past performance does not guarantee future results. Always use proper risk management.
Индикатор

Intraday Relative Volume+Intraday Relative Volume+
This indicator is intended to measure whether an individual intraday volume bar is unusually active for its specific time of day.
It is designed as the intraday companion to Daily Relative Volume+.
Same-Time Relative Volume
Rather than comparing every intraday bar with a generic rolling volume baseline, the indicator evaluates each bar against historical activity from the same point in the trading session.
This helps account for the fact that normal volume can differ significantly between the open, midday, and the close.
The current session is kept separate from its historical benchmark, and available historical observations are used when full history is not present.
Why Time-of-Day Context Matters
Intraday volume naturally follows a strong time-of-day pattern.
A generic rolling comparison can therefore make normal opening activity look unusually high or normal midday activity look unusually low.
Intraday RVOL+ is designed to reduce that distortion by comparing each bar with more relevant historical context.
The methodology also preserves time alignment across irregular sessions, including missing bars, trading halts, and shortened trading days.
Developing Bars
A live bar is evaluated using the volume it has accumulated at that point in time, so its relative-volume classification can change as the bar develops.
Average Volume MA
The indicator also includes a conventional rolling Average Volume MA.
This is independent of the same-time RVOL methodology and provides a familiar view of recent chart-volume activity.
The MA can be shown or hidden, and its current value can be displayed on the volume scale.
Volume Coloring
When Color Bars Based On Previous Close is enabled, direction is based on the current close versus the previous close.
When disabled, direction is based on the current close versus the current bar's open.
Volume-bar classification is driven by the relative-volume methodology, not by the conventional Average Volume MA.
Sessions
The indicator follows the chart's displayed session data.
On a regular-hours chart, regular-session bars are analyzed.
With Extended Hours enabled, available premarket and postmarket bars can also participate.
Usage and Limitations
Designed for minute-based intraday charts.
Second-based and tick charts are not supported.
Requires a standard time-based chart.
Synthetic chart types such as Heikin Ashi, Renko, Line Break, Kagi, and Point & Figure are not supported.
Relative Volume Length is limited to 68 sessions.
The conventional Average Volume MA is not subject to that RVOL lookback limit.
Methodology
Traditional intraday RVOL can be distorted when it compares volume from very different parts of the trading session.
Intraday RVOL+ improves on this by adding time-of-day context, making the relative-volume signal more appropriate for intraday analysis while retaining a conventional Volume MA as a separate reference. Индикатор

Daily Relative Volume+Daily Relative Volume+
This indicator is designed to show how active the current session is relative to recent history and whether volume is developing at an unusually strong or weak pace.
It is intended specifically for the 1D chart and focuses on regular-session volume.
Relative Volume
RVOL provides a straightforward view of how current session volume compares with recent completed sessions.
The current developing session is kept separate from the historical reference so the comparison remains anchored to completed trading days.
RVOL Pace
RVOL Pace adds time-of-day context to traditional daily RVOL.
Instead of treating an unfinished trading session as directly comparable with completed days, it evaluates how current activity is progressing relative to the stock's own historical intraday volume behavior.
The live RVOL Pace calculation begins once one minute of regular-session data is available.
This is intended to make live daily RVOL more useful earlier in the session, when a simple comparison with completed daily volume can otherwise be misleading.
After the session is complete, RVOL Pace converges with realized RVOL.
Average Volume and Dollar Volume
The indicator also includes:
A conventional daily Average Volume MA.
Average Dollar Volume for a broader view of typical trading liquidity.
These use a separate Average Volume Length setting.
The Average Volume MA can be shown or hidden independently.
Volume Coloring
When Color Bars Based On Previous Close is enabled, price direction is based on the current close versus the previous close.
When disabled, direction is based on the current close versus the current bar's open.
Live-session coloring incorporates RVOL Pace, while completed sessions reflect realized RVOL.
Dashboard
The configurable table can display:
RVOL
RVOL Pace
Average Volume
Average Dollar Volume
Usage and Limitations
Designed only for the 1D timeframe.
RVOL-related calculations focus on regular-session activity.
RVOL Pace is a historical volume-based estimate, not a prediction of price direction.
News, catalysts, and unusually event-driven sessions can cause final volume to differ substantially from the pace reading.
Methodology
Traditional daily RVOL is useful, but it can be difficult to interpret while the trading day is still developing.
Daily RVOL+ improves on this by adding a time-aware view of current volume progression, giving more context to whether today's activity is merely high so far or is developing into an unusually active session. Индикатор

Pattern Atlas: Candlestick Indicator [AxeAlgo]Pattern Atlas: Candlestick Indicator
Companion indicator to Pattern Atlas : Candlestick (Library #1 of the AxeAlgo Pattern Atlas)
WHAT THIS INDICATOR IS
This is a complete candlestick pattern scanner built on top of the Pattern Atlas : Candlestick library — 23 classical candlestick patterns, detected on every bar and turned into on-chart highlighting, a live scanner table, and alerts. It doesn't implement any pattern math itself; every detection is delegated to the library's detect*() functions, so what you see here is exactly what that library finds, with nothing added or reinterpreted.
Candlestick reading is one of the oldest tools in technical analysis, tracing back to Steve Nison's work bringing Japanese candlestick charting to Western traders. The 23 patterns here follow that standard catalog (cross-checked against TA-Lib's CDL* function list), so anyone who already knows what a Morning Star or a Bullish Engulfing bar looks like will recognize exactly what's being flagged.
THE 23 PATTERNS IT SCANS
Single-bar patterns (9): Doji, Long-Legged Doji, Dragonfly Doji, Gravestone Doji, Hammer / Hanging Man, Inverted Hammer / Shooting Star, Marubozu, Spinning Top, Belt Hold.
Two-bar patterns (6): Engulfing, Harami, Harami Cross, Piercing Line / Dark Cloud Cover, Tweezer Top / Bottom, Kicker.
Three-bar-and-longer patterns (8): Morning / Evening Star, Morning / Evening Doji Star, Three Soldiers / Crows, Three Inside Up / Down, Three Outside Up / Down, Abandoned Baby, Rising / Falling Three Methods (the one pattern spanning 5 bars), Stick Sandwich.
READING THE CHART
Each matched pattern gets a box drawn around the exact bars it spans, colored gold for bullish, pale gold-white for bearish, and bright gold for neutral (indecision) patterns — colors are user-configurable. On top of that, a "pin" marker appears at the bar: bullish pins hang below the bar, bearish pins sit above it, and neutral patterns get a plain floating gem with no stem, since indecision doesn't have a direction to anchor to. Hovering any pin or gem shows the full description of everything that matched on that bar, including a measured strength percentage for each one — not just the pattern name repeated back at you.
Strength is a generic, direction-based read on how decisively the bar closed within its own high-low range (near the high for a bullish match, near the low for a bearish one, or a small body relative to the range for a neutral one) — a rough, pattern-agnostic proxy, not a bespoke ratio breakdown per pattern, since that level of internal detail isn't something the library exposes.
THE SCANNER TABLE
A table lists all 23 patterns grouped by category, with a live status column showing each one's current match percentage (or a dash when nothing's matching on the current bar). Position, text size, and whether it's shown at all are all configurable. This table is intentionally live — it reflects the forming bar in real time rather than waiting for the bar to close, since it's meant as a "what's happening right now" readout rather than a persisted signal.
FILTERS AND SETTINGS
Every pattern has its own on/off checkbox, and each of the three categories (Single-Bar, Two-Bar, Three-Bar+) has a master switch above its checkboxes to turn the whole group off in one click.
Three additional filters are available, all off by default so the scanner stays an unbiased detector unless you opt in:
- Volume confirmation — requires a match to occur on at least a chosen multiple of its own trailing average volume before it counts.
- Trend context — requires bullish matches to occur against a downtrend and bearish matches against an uptrend (the classical reading that a reversal candle means more against the trend it's reversing than in the middle of a random chop). Neutral patterns are never filtered by this, since they don't imply a direction.
- Minimum strength — hides matches below a chosen strength percentage.
These filters affect what's drawn on the chart and what feeds the pin/gem tooltips. They do not affect the scanner table, which always shows the library's raw, unfiltered read of the current bar, and they do not affect the per-pattern alerts described below, which fire independently of the visual display settings.
ALERTS
Every pattern has its own alert condition available in TradingView's Create Alert dialog, plus three combined conditions (any bullish pattern, any bearish pattern, any neutral pattern), plus one dynamic alert with a full message listing every pattern that matched, grouped by direction, with each one's measured description and strength.
A NOTE ON REPAINTING
Every box, pin, gem, and alert is gated on the bar actually having closed — nothing here fires or gets drawn off a still-forming bar, regardless of your alert-frequency setting in TradingView's dialog. The one exception is the scanner table, which is deliberately live so it can answer "what's happening on this bar right now" — that's a readout, not a persisted signal, and it's expected to change as the current bar develops.
PART OF A LARGER SERIES
This indicator is the companion to Library #1 of the AxeAlgo Pattern Atlas — a planned set of Pine libraries splitting pattern detection by the method actually used to find each kind of pattern: candlestick shape (this one), classical chart/geometric patterns (Library #2), harmonic Fibonacci-ratio patterns (Library #3), and market-structure concepts (order blocks, liquidity, Wyckoff-style events). Each library has, or will have, its own companion scanner indicator built the same way this one is.
DISCLAIMER
This indicator is a technical analysis tool for identifying classical candlestick shapes in historical and live price data. It does not predict future price movement, and a detected pattern — including its measured strength — is a description of past price action, not a signal guaranteed to repeat. Nothing in this script constitutes financial advice. Always combine pattern recognition with your own risk management and broader analysis before making any trading decision.
Индикатор
