Regression Slope Oscillator [QuantAlgo]🟢 Overview
The Regression Slope Oscillator measures the rate of directional change in price using a robust regression estimator that resists outliers, then converts that slope into a scale free reading so a single threshold carries the same meaning across instruments and timeframes. Rather than fitting a least squares line, which a single spike or gap can pull off course, it takes the median of pairwise slopes inside a rolling window to produce a trend estimate that holds up through erratic data. A three state engine with separate entry and exit thresholds then translates the normalized slope into a bullish, bearish, or neutral regime, holding established states through pullbacks instead of flickering whenever the reading brushes the boundary.
🟢 How It Works
The indicator's core methodology lies in its combination of outlier resistant slope estimation and volatility relative normalization, where a trend regime is only established once the fitted rate of change clears a threshold expressed in units of the instrument's own volatility.
First, the source is optionally moved into log space so the fitted slope becomes a proportional rate of change rather than an absolute one, keeping readings comparable across instruments at very different price levels and across histories where price has moved by an order of magnitude:
srcMid = useLog ? math.log(srcSafe) : srcInput
Then the slope is fitted across the window using a robust estimator rather than ordinary least squares, which has an effective breakdown point of zero and lets a single gap or liquidation wick tilt the fit for the entire window. Theil-Sen takes the median of every pairwise slope inside the window, tolerating roughly 29 percent contaminated data while staying close to a least squares fit on clean data:
for i = 0 to length - 2 by 1
for j = i + 1 to length - 1 by 1
array.push(slopes, (source - source ) / (j - i))
array.median(slopes)
Repeated Median nests the same idea, taking a median of pairwise slopes anchored on each bar and then a median of those results, which lifts the breakdown point to 50 percent, the theoretical maximum, at several times the computational cost. Both estimators target the same underlying quantity, so switching between them changes robustness without shifting the scale.
The raw slope is then divided by a volatility unit to strip out the instrument's price scale and volatility regime, producing a reading that means the same thing on any chart:
normUnit = switch normMode
'ATR' => useLog ? atrUnit / srcSafe : atrUnit
'Stdev' => sdevUnit
=> useLog ? 0.01 : srcSafe / 100.0
slope = rawMid / normUnit
Each path is dimensionally self consistent with the log transform, so numerator and denominator always move together and the resulting reading stays dimensionless. In ATR mode a value of 0.10 means the trend is advancing at one tenth of an average true range per bar.
The normalized slope then drives a state engine where the level required to establish a regime and the level required to release it are deliberately different, creating a hysteresis band that suppresses boundary flicker:
if slope > entryTh
state := 1
else if slope < -entryTh
state := -1
else if useNeutral and state == 1 and slope < exitTh
state := 0
else if useNeutral and state == -1 and slope > -exitTh
state := 0
Finally, in Candles display mode the estimator runs two additional passes against the chart high and the chart low, building a synthetic OHLC series in slope space where the body spans the change in slope and the wicks reveal how far trend disperses across the bar range, with an optional Heikin-Ashi transform applied on top:
barHigh = math.max(slopeHigh, math.max(barOpen, barClose))
barLow = math.min(slopeLow, math.min(barOpen, barClose))
haClose = math.avg(barOpen, barHigh, barLow, barClose)
🟢 Signal Interpretation
▶ Bullish State (Oscillator Above the Upper Entry Band with Bullish Color)
The normalized slope has cleared the positive entry threshold, meaning price is advancing faster than the instrument's own recent volatility rather than simply drifting higher. Trend traders take the confirmation as a long entry and hold through pullbacks, since the state only releases once the slope retreats below the exit level rather than on every minor pause, and a reading that climbs deeper into the upper zones represents strengthening rather than a reason to exit. Mean reversion traders read the same plot for depth instead of direction. A reading sitting in the first zone is an ordinary trend and offers nothing to fade, but a push into the second or third upper zone means price is rising at two or three times the rate required for confirmation, which is statistically unusual and marks the region where an advance is most likely to decelerate and revert toward the band. The trigger for a fade is the turn back down out of the outer zone rather than arrival in it, because a steep slope can hold for a surprisingly long stretch in a genuine trend.
▶ Bearish State (Oscillator Below the Lower Entry Band with Bearish Color)
The normalized slope has cleared the negative entry threshold, confirming that price is declining at a rate meaningful relative to its own volatility. Trend traders use this for short entries or long exits and keep directional bias through corrective bounces that fail to reverse the underlying rate of change. Mean reversion traders again work from zone depth, treating a reading in the lower second or third zone as an accelerated decline that is stretched far enough for a bounce back toward the band to carry a favorable expected move. In either direction, a slope that decays back toward the entry band while price continues in the trend direction is an early rate of change divergence, giving mean reversion traders advance notice of exhaustion and trend traders a reason to tighten stops before the state formally releases.
▶ Neutral State (Oscillator Inside the Threshold Band with Neutral Color)
The oscillator has released into neutral, either because an established regime decayed back through its exit level or because the slope never cleared entry to begin with. This reading carries the same meaning for both styles, since price is neither trending quickly enough to follow nor stretched far enough to fade. Trend traders stand aside and watch for the compression that frequently precedes the next confirmed regime, while mean reversion traders treat the return into the band as a completed reversion and the natural place to close a fade, the move having exhausted itself by definition once the slope no longer clears the threshold.
🟢 Features
▶ Preconfigured Presets: Three optimized parameter sets tailored to different trading styles and timeframes, each configuring the slope window, normalization length, entry threshold, exit fraction, and normalization method together so the threshold always stays matched to the units it is measured in. "Default" balances noise filtering against responsiveness for swing trading on 4-hour and daily charts. "Fast Response" shortens the window and lowers the entry threshold to engage regimes early for intraday use on 5-minute to 1-hour charts, while a raised exit fraction releases them quickly. "Smooth Trend" lengthens the window and raises the entry threshold to produce few, high conviction regimes held through deep pullbacks, suited to position trading on daily and weekly charts.
▶ Built-in Alerts: Six alert conditions plus a dynamic alert message enable automated monitoring of regime transitions without constant chart observation. "Bullish State" and "Bearish State" trigger on first confirmation of a directional regime, "Neutral State" fires when a directional regime is released, and "Any State Change" provides a combined alert covering all transitions through a single setup. "Bullish Zero Cross" and "Bearish Zero Cross" track the moment the slope changes sign, offering an earlier and more sensitive trigger than threshold confirmation.
▶ Visual Customization: A Candles or Line display toggle switches between the full synthetic slope candle series and a single plotted value for a lighter, cleaner presentation. In Candles mode, an optional Heikin-Ashi transform makes sustained trend phases visually contiguous, and hollow up candles layer bar direction on top of the regime color so momentum inside a state can be read at a glance, for example a filled bar within a bullish phase indicating the slope eased on that bar. Graduated threshold zones fill at one, two, and three multiples of the entry threshold at progressively increasing transparency, giving an immediate sense of how far beyond confirmation the current reading sits.
Six color presets (Classic, Aqua, Cosmic, Cyber, Neon, plus Custom) accommodate different chart themes with coordinated bullish and bearish schemes applied consistently across every element.
อินดิเคเตอร์

TF: Market Cycle MA (MCMA)TradingFlow: Market Cycle MA (MCMA)
MCMA plots two moving averages of the same length on the price chart: an EMA and a Wilder RMA. These two averages smooth price at different rates, so their relative position tells you about the current trend direction and momentum at a chosen cycle length.
Switch the chart timeframe and you'll see the broader market regime at each level, from intraday cycles up to weekly and monthly trends. This helps you stay aligned with the dominant direction while filtering out short-term noise.
The cycle length comes from a standard market calendar: up to 5 minutes maps to a trading day, 6–15 minutes to a trading week, 16–65 minutes to a trading month, up to 24 hours to a quarter, and weekly and above to a year. You can also use shorter cycle fractions (75% or 50%) for faster response.
How It Works
EMA uses a smoothing factor of 2/(N+1), while Wilder RMA uses 1/N. With the same period N, the EMA responds roughly twice as fast as the RMA. This difference is the core signal:
• When price is trending upward, the faster EMA pulls above the slower RMA.
• When price is trending downward, the faster EMA drops below the slower RMA.
• When price is flat, both averages converge and the spread narrows.
In practice, this behaves like a fast/slow EMA crossover system where the "slow" side is approximately twice the "fast" side's period, packed into a single setting.
How to Read the Chart
• Green line (thicker): EMA, the faster average.
• Fainter line (thinner): Wilder RMA, the slower average, same color family as the EMA but more transparent.
• Fill between lines: colored by the current trend regime. Green for bullish, red for bearish, gray for neutral.
The fill color changes as the regime shifts, giving you a continuous read on trend state.
Trend Classification
MCMA classifies each bar into one of three regimes based on multiple conditions:
• Bullish: EMA is above RMA, price is above RMA, EMA is rising, and RMA is not falling.
• Bearish: EMA is below RMA, price is below RMA, EMA is falling, and RMA is not rising.
• Neutral: Any other combination, such as small spread, flat slopes, or mixed price position.
You can raise the minimum EMA–RMA spread (in ATR units) to filter out low-confidence signals during choppy markets. A slope filter is also available to require the EMA to be moving decisively in the trend direction.
Important
MCMA is a trend-direction indicator. It does not predict reversals, generate entry signals, or measure volatility. The trend classification is a filtered interpretation of the two averages' relationship, not a confirmation of price action. Because both averages use the same nominal period, the EMA–RMA spread primarily reflects recent momentum rather than the full cycle's worth of data. For the best results, use MCMA as context alongside other tools rather than as a standalone signal.
---
TradingFlow: Market Cycle MA (MCMA)
MCMA 在價格圖上同時繪製兩條相同週期長度的均線:EMA 和 Wilder RMA。兩種均線對價格的平滑速率不同,因此它們之間的相對位置可以揭示市場在選定週期下的趨勢方向與動量狀態。
切換圖表時間框架,就能看到不同層級的市場狀態,從日內週期到週線和月線趨勢,幫助你在各個時間框架下識別主要趨勢方向,過濾掉短期雜訊。
週期長度來源於標準市場日曆:5m 及以下對應一個交易日,6–15m 對應一個交易週,16–65m 對應一個交易月,24h 及以下對應一個季度,週線以上對應一年。指標也支持較短的週期比例(75% 或 50%),以獲得更快的響應。
工作原理
EMA 使用 2/(N+1) 的平滑係數,Wilder RMA 使用 1/N。在相同週期 N 下,EMA 的響應速度大約是 RMA 的兩倍。這種差異就是核心訊號來源:
• 價格上漲時,較快的 EMA 會領先於較慢的 RMA。
• 價格下跌時,較快的 EMA 會落後於較慢的 RMA。
• 價格橫盤時,兩條均線趨於收斂,價差縮小。
實際上,這等於一個快/慢雙均線交叉系統,「慢」側的週期約為「快」側的兩倍,只是用單一設定就能實現。
如何閱讀圖表
• 綠色線(較粗): EMA,較快的均線。
• 較淡的線(較細): Wilder RMA,較慢的均線,與 EMA 同色系但透明度更高。
• 兩條線之間的填充區域: 顏色由當前趨勢狀態決定。綠色表示看漲,紅色表示看跌,灰色表示中性。
填充區域的顏色會隨趨勢狀態的變化而切換,提供持續的視覺趨勢讀取。
趨勢分類
MCMA 根據多個條件將每根 K 線分為三種狀態之一:
• 看漲: EMA 位於 RMA 上方,價格位於 RMA 上方,EMA 正在上升,且 RMA 未在下降。
• 看跌: EMA 位於 RMA 下方,價格位於 RMA 下方,EMA 正在下降,且 RMA 未在上升。
• 中性: 其他任何組合,例如價差較小、斜率平坦或價格位置不一致。
可調高最小 EMA–RMA 價差(以 ATR 為單位)來過濾震盪市中的低置信度訊號。還可使用斜率過濾器,要求 EMA 在趨勢方向上明確運動。
重要說明
MCMA 是一個趨勢方向指標。它不預測反轉、不生成進場訊號、也不衡量波動率。趨勢分類是對兩條均線關係的過濾解釋,而非價格行為的確認。由於兩條均線使用相同的名義週期,EMA–RMA 價差主要反映近期動量,而非完整週期的數據。為獲得更好的效果,建議將 MCMA 作為輔助背景工具,與其他分析方法配合使用,而非作為獨立訊號。
---
TradingFlow: Market Cycle MA (MCMA)
MCMAは、価格チャートに同じ期間の2本の移動平均線をプロットします。1本はEMA、もう1本はウィルダーRMAです。2本の線は異なる速度で値動きを平滑化するため、互いの位置関係から選択したサイクルにおけるトレンドの方向とモメンタムを読み取ることができます。
チャートのタイムフレームを切り替えれば、日中の短いサイクルから週足・月足のトレンドまで、各レベルでの市場のレジームを把握できます。主たる方向感覚を保ちつつ、短期的なノイズを排除するのに役立ちます。
サイクルの長さは標準的な市場カレンダーから算出されます。5分足以下は1営業日、6〜15分足は1営業週、16〜65分足は1営業月、24時間以下は四半期、週足以上は1年に対応します。より短いサイクル割合(75% or 50%)を選択すると、応答が速くなります。
仕組み
EMAの平滑化係数は2/(N+1)、ウィルダーRMAは1/Nです。同じ期間Nでも、EMAはRMAのおよそ2倍の速さで反応します。この差がシグナルの核となります。
• 価格が上昇トレンドにあるとき、速いEMAは遅いRMAの上に位置します。
• 価格が下降トレンドにあるとき、速いEMAは遅いRMAの下に位置します。
• 価格がレンジで推移するとき、2本の線は収束し、スプレッドは狭まります。
実質的にこれは、速いEMAと遅いEMAのクロスオーバーシステムと同じ動作をします。「遅い」側の期間が「速い」側の約2倍に相当し、1つの設定で実現しています。
チャートの見方
• 緑の線(太い方): EMA。速い方の移動平均です。
• 薄い色の線(細い方): ウィルダーRMA。遅い方の移動平均で、EMAと同じ色系統ですが透過率が高くなっています。
• 2本の線の間の塗りつぶし: 現在のトレンドレジームに応じて色が変わります。強気なら緑、弱気なら赤、中立ならグレーです。
レジームが切り替わると塗りつぶしの色も変わり、トレンドの状態を視覚的に把握できます。
トレンド分類
MCMAは複数の条件に基づき、各足を3つのレジームのいずれかに分類します。
• 強気: EMAがRMAの上、終値がRMAの上、EMAが上昇中、RMAが下降していない。
• 弱気: EMAがRMAの下、終値がRMAの下、EMAが下降中、RMAが上昇していない。
• 中立: 上記以外のすべての組み合わせ。スプレッドが小さい、傾きがフラット、価格の位置が混在する場合など。
EMA−RMAスプレッド(ATR単位)の最小値を上げれば、もみ合い相場での偽シグナルをフィルタリングできます。傾きフィルタを使えば、EMAがトレンド方向に明確に動いていることを条件として設定できます。
注意事項
MCMAはトレンド方向を示す指標です。反転の予測、エントリーシグナルの生成、ボラティリティの測定を行いません。トレンド分類は2本の移動平均の関係をフィルタリングして解釈したものであり、価格行動の確認ではありません。両方の平均が同じ名目の期間を使用しているため、EMA−RMAスプレッドはサイクル全体のデータよりも直近のモメンタムを反映します。より効果的に使うには、MCMA単体ではなく他のツールと併用して背景情報として活用してください。
อินดิเคเตอร์

Ghost Pattern Finder Ghost Pattern Finder searches an instrument’s historical price action for candle patterns that closely resemble a user-selected section of the current chart.
The idea is simple:
If price behaved like this before, what happened next?
Unlike a traditional pattern indicator, the script does not look for predefined formations such as triangles, flags, or head-and-shoulders patterns. Instead, you manually select the price sequence you want to analyze. The indicator then searches the instrument’s own history for similar market behavior and overlays the historical pattern directly on the selected area.
Candle-based Ghost Overlay
The historical match is displayed as a transparent candle overlay rather than only as a line.
This makes it possible to visually compare:
candle bodies
wicks
bullish and bearish sequences
local swings
volatility
acceleration and consolidation phases
the overall shape of the move
The overlay is intentionally semi-transparent so the original chart remains clearly visible underneath it.
Historical Candle Forecast
Once a qualified historical match is found, the candles that actually followed that historical pattern are projected forward.
The projected candles are therefore not generated by AI, regression, or mathematical extrapolation.
They are the real OHLC candles that occurred after the historical match, adjusted to the current price level and time scale.
The forecast should therefore be understood as a historical ghost, not as a guaranteed prediction.
Multi-Timeframe Search
The indicator can search neighboring timeframes automatically.
For example, when used on a 1-hour chart, it can compare patterns from approximately:
15 minutes
30 minutes
1 hour
2 hours
4 hours
A match from another timeframe is not required to have exactly the same number of candles.
Variable Pattern Duration
Historical market structures often develop faster or slower than the current pattern.
For this reason, the indicator also searches different pattern lengths within every timeframe.
By default, historical candidates can range from approximately:
0.5× to 2.0× the duration of the selected pattern.
All candidates are normalized before comparison.
This allows the indicator to recognize similar market behavior even when the historical event unfolded at a different speed.
Strict Ghost Qualification
The script does not simply display the best available candidate.
A historical pattern must pass several independent filters before it is accepted as a Qualified Ghost.
The qualification process evaluates:
overall price-shape correlation
correlation of the most recent part of the pattern
candle-body and wick similarity
swing/directional structure
normalized shape distance
robustness when the comparison window is slightly shortened or shifted
If no candidate meets the selected requirements, the indicator displays:
NO QUALIFIED GHOST
This is intentional. A weak historical similarity should not automatically produce a forecast.
Ghost Stability
Similar matches belonging to the same historical event are grouped into a Ghost Family.
This prevents slightly shifted versions of the same historical pattern from being treated as completely new signals.
The AUTO mode also favors the currently active ghost unless another qualified historical event becomes clearly superior.
The goal is to reduce unnecessary forecast switching when only a few new candles appear.
Multiple Ghosts
The indicator can retain several independent qualified historical matches.
The user can choose:
AUTO
Ghost #1
Ghost #2
Ghost #3
Ghost #4
Ghost #5
This allows manual inspection of alternative historical analogs instead of relying entirely on the algorithm’s highest-ranked candidate.
Adjustable Search Parameters
The settings allow control over:
timeframes included in the search
historical search depth
minimum and maximum pattern-duration scaling
search precision
correlation requirements
tail correlation
candle similarity
swing similarity
robustness
shape distance
ranking weights
ghost-family clustering
ghost switching sensitivity
Preset modes are available for easier use:
Strict, Balanced, Loose and Manual.
Appearance
Overlay and forecast visuals can be customized independently.
Users can adjust:
overlay bullish candle color
overlay bearish candle color
overlay wick color
overlay transparency
forecast bullish candle color
forecast bearish candle color
forecast wick color
forecast transparency
selected-pattern area
invalidation level
This allows the historical ghost to remain visible without hiding the original chart.
How to Use
Select a meaningful section of price action using the Pattern START and Pattern END inputs.
The indicator then:
Builds the selected candle pattern.
Searches historical data across the enabled timeframes.
Tests multiple historical pattern durations.
Scores and filters the candidates.
Groups similar candidates into historical Ghost Families.
Overlays the selected ghost as transparent candles.
Projects the actual historical candles that followed it.
For a conservative workflow, start with Ghost Strictness = Strict.
Important
Ghost Pattern Finder is a historical analog analysis tool.
Markets do not have to repeat previous behavior. A high-quality historical match only means that a similar sequence existed in the past; it does not mean the same outcome will occur again.
The projected candles show what happened after a historical analog, not what must happen next.
The indicator does not place trades and should be used as additional market context rather than as a standalone trading signal. อินดิเคเตอร์

Moving Average IndexMoving Average Index is an overlay indicator that manages up to ten moving averages at once and highlights their relationship to each other, rather than just displaying them side by side. It's built for anyone who wants to track several moving averages at the same time without the chart turning into a tangle of lines — for example to compare short- and long-term trends, or to keep multiple timeframes in view at once, and see at a glance how these averages relate to one another.
Each moving average can independently be calculated as SMA, EMA, WMA, VWMA, HMA, or RMA — standard formulas from TradingView's own library, with no custom modification.
**Moving Average** (present ten times, MA 1–MA 10, each instance identically structured)
- Length: number of bars the average is calculated over.
- Type: calculation method: SMA, EMA, WMA, VWMA, HMA, or RMA.
- Source: the price or value the calculation is based on (e.g. close).
- Timeframe: a separate timeframe for this average; left empty, it uses the chart's timeframe. On a higher timeframe, the value updates within that timeframe's still-forming bar and can shift slightly until that bar closes.
- Line style: Line, Stepline, or Circles.
- Line width: thickness of the plotted line.
- Color: color of the line.
**Fill** (present three times, Fill 1–Fill 3, each instance identically structured)
- Connect: the two moving averages the area is drawn between.
- Bull / Bear: two colors: one for when the first selected average is above the second, the other for the opposite case.
Each enabled moving average is plotted as its own line, in the chosen style, width, and color. Up to three areas can also be shown between any two of these averages: their color switches automatically whenever the order of the two connected averages changes — one color while the first one is above, the other once it drops below. Once such an area is active, the indicator hides the two lines it connects; only the colored area remains visible, making trend changes stand out more clearly than with two crossing lines.
This indicator is intended solely for market analysis and does not constitute investment advice or a guarantee of success. Use it at your own discretion and risk; past results are not indicative of future performance. อินดิเคเตอร์

OBV Acceleration / DecelerationDescription:
Introduction
Classic On-Balance Volume (OBV) is a powerful tool for tracking smart money and volume flow. However, standard OBV relies on raw closing prices to determine whether volume was "bullish" or "bearish" for the day. This makes it highly susceptible to market noise, wicks, and fake-outs.
This open-source script, OBV Acceleration / Deceleration, rebuilds the OBV formula from the ground up. It filters price noise using a Fibonacci-weighted Master Average and introduces a Volume Kinetics engine to detect exactly when volume is accelerating (spiking) or decelerating (drying up)
How It Works: Core Logic & Features
This indicator is built on three core mechanical features. Here is the exact logic behind how they work:
1. The Fibonacci Master Average (Noise Filtering)
Instead of looking at the raw close price to decide if volume should be added or subtracted, this script calculates six separate Simple Moving Averages (SMAs) based on the first six numbers of the Fibonacci sequence (1, 1, 2, 3, 5, 8).
*The Logic: The script averages these six SMAs together to create a "Master Average."
*The Result: If the Master Average is pointing up, the volume is added to the OBV. If it points down, it is subtracted. This ensures that a single erratic price wick does not falsely flip the volume flow.
2. Volume Kinetics (Acceleration & Deceleration)
Standard OBV only tells you direction, not intensity. This script measures the "velocity" of the volume by tracking the absolute change in the OBV step bar-by-bar, and compares it to a 40-period historical average.
*Acceleration (Volume Spikes): If the current volume is greater than our customizable Expansion Factor (default 2.0x the average), it flags an Acceleration state. This indicates high momentum, institutional participation, or a heavy breakout.
*Deceleration (Volume Dry-Up): If the current volume drops below our Compression Factor (default 0.5x the average), it flags a Deceleration state. This mathematically highlights market exhaustion, tight consolidation, or a lack of interest.
3. OBV Moving Average & Cloud Fill
To help determine the broader momentum context, a 20-period SMA is applied directly to the custom OBV line.
*The Logic: A dynamic cloud fills the space between the OBV line and its SMA.
*The Result: When OBV is above its SMA, the cloud is Teal (Bullish momentum). When OBV is below its SMA, the cloud is Maroon (Bearish momentum).
Visual Guide (Reading the Dots)
The indicator plots color-coded dots directly on the OBV line to give you instant visual feedback on volume kinetics:
🟢 Bright Green Dot: Bullish Acceleration (High-volume buying spike).
🔴 Bright Red Dot: Bearish Acceleration (High-volume selling spike).
🟡 Yellow Dot: Deceleration / Exhaustion (Volume has severely dried up).
🔵 Teal Dot: Standard bullish volume flow.
🟤 Maroon Dot: Standard bearish volume flow.
Practical Trading Applications
Confirming Breakouts: If price breaks through a key resistance level and the indicator prints a Bright Green Dot, it confirms the breakout is supported by anomalous volume and is more likely to succeed.
Spotting Reversals (Exhaustion): When price approaches a major support or resistance level and prints a cluster of Yellow Dots, it means the volume pushing the trend has dried up. This often precedes a reversal or a deep pullback.
Trend Riding: Stay in trades as long as the OBV line remains on the correct side of its SMA (represented by the Teal or Maroon cloud fill), ignoring minor price pullbacks.
อินดิเคเตอร์

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

TTP IMB - Unfilled ImbalancesWhat it draws
Unfilled imbalances — three-bar fair value gaps — from four timeframes at once (4H, 1D, 1W, 1M by default, all configurable), rendered on whatever chart timeframe you are on. Switching the chart resolution does not change the levels: a weekly gap keeps the same two prices whether you are looking at 4H or 1D.
A gap is defined by wicks across a three-bar window:
bullish — the high of the first bar is below the low of the third
bearish — the low of the first bar is above the high of the third
The box spans exactly those two extremes.
When a gap stops being drawn
Once price has overlapped 66.6% of the box's ORIGINAL height, measured from the side price enters by. A bullish gap dies when price falls that far into it from the top; a bearish gap when price rises that far from the bottom. A wick is enough by default — there is a setting to require a close instead, which leaves noticeably more zones alive.
The threshold is adjustable. 100 means only a complete traverse closes a zone, 50 is the classic midpoint rule.
Partially overlapped zones keep their full original geometry — the box does not shrink, so you can always see the imbalance as it was formed.
Fading
A zone price has already eaten at least 50% into, but which has not reached the closing threshold, is drawn faded and labelled with its fill percentage. This separates an untouched imbalance from one that has already been worked, without hiding either.
Multiplicative search band
Zones lying entirely outside a band around current price are discarded before anything else. That band is a RATIO — price/N up to price*N, N=2 by default — not a percentage.
This matters more than it sounds. A symmetric percentage band is badly lopsided, because price moves in multiples: −80% is 0.2x, a five-fold drop, practically zero, while +80% is only 1.8x, a couple of levels. Equal ratios up and down is what a log chart actually shows.
Timeframe gating
Only timeframes at or above the chart's own are computed, and only up to a ceiling of N rungs above it (2 by default). On a 4H chart that gives 4H/1D/1W and drops the monthly; on a daily chart, 1D/1W/1M. Timeframes below the chart are never drawn — they would be hairlines — and are not calculated at all.
Set the ceiling to 3 to see everything at or above the chart, or to 0 for the chart's own timeframe only.
How much is shown
Per timeframe: the N nearest unfilled zones above price and N below (3 each by default), plus every zone that currently CONTAINS price — those are the operative ones and are never rationed away.
Border thickness increases with timeframe, so the hierarchy reads at a glance.
Settings worth knowing
Filled at (%) — closing threshold, default 66.6
A wick is enough to fill — off requires a bar close beyond the threshold
Zones per side, per TF — default 3
Search range (xN) — multiplicative band, default 2
Dim a zone once filled (%) — fading threshold, default 50
Rungs above chart TF — the gating ceiling, default 2
Ignore zones thinner than (%) — optional micro-gap filter, off by default
Notes and limitations
The still-forming higher-timeframe bar cannot CREATE a zone — that would repaint intrabar — but it does count toward FILLING one, so a zone can die live as price moves into it. Everything else is closed-bar only.
Buffers fill only as far back as the chart's own loaded history reaches. On a 4H chart covering roughly two years, the monthly buffer holds about two dozen months rather than the full setting. This does not affect zones near price, which is all the script draws.
The gap scan is linear in the number of bars. The "has this gap been filled" test is answered with suffix extremes rather than a nested scan over later bars, which is what keeps four timeframes inside the execution budget instead of timing out.
This is a visualisation tool. It marks structural levels and does not generate entry or exit signals. อินดิเคเตอร์

Daily High & Low Time Map (HOD / LOD)Daily High & Low Time Map
What it does
This indicator counts, across the completed trading days that your chart has loaded, which time window of the day produced the daily high and which produced the daily low. The result is a two-row heat strip in its own pane, lined up in time under the running day, plus a dashboard that answers the one question that actually matters intraday: at this hour, in how many of the past days was the final high still ahead? Every number carries its sample size, so you can see when a bright cell stands on three days instead of three hundred.
How it works
The script walks the chart bar by bar, never leaves the timeframe you are on and never requests data from a higher timeframe. A day is a span between two anchor points that you choose; inside that span each confirmed bar can move the running high and low. The time bucket of an extreme is taken from the opening time of the bar that produced it, so a later part of the day can never move an earlier reading.
A day is closed on the first bar of the next day and written once into a ring buffer; the running day is never part of the statistics.
The bucket index comes from the bar opening time in the anchor timezone, which follows daylight saving. The repeated hour of the autumn change stays inside the same day, which is capped at 100 % coverage instead of counting as an error.
Days below the coverage threshold - half days, data gaps, the clipped first day of a replay - are dropped and reported as skipped instead of silently diluting the counts.
Filters for weekday, day type and sample window are applied while counting; stored days are never modified. Shares carry a Wilson score interval, which stays inside 0 to 100 % even when a bucket holds no hits or every hit.
How to use it
Add the script. It opens in its own pane below the chart.
Pick the day definition that matches the instrument: midnight New York for index and FX charts, the 18:00 anchor for CME futures, the 09:30 anchor when only the cash session interests you, midnight UTC for symbols that trade around the clock.
Read the upper row of the strip as "how often the daily high was made here" and the lower row as the same for the daily low. Brighter means more often.
Read the dashboard line "High still ahead" as a conditional share over completed days, never as a statement about today.
If the cells look pale and the note says the sample is small, widen the slot or load more history before you read anything into them.
What makes it original
Time-of-day statistics for highs and lows exist, and so do session boxes; what this script does differently is refuse to hand out a number without the evidence behind it. Every share is printed with the sample it came from and with a Wilson confidence interval, so a bucket built from eleven days does not read like one built from two hundred. Days are admitted only when they carry enough bars to be comparable, and the dropped ones are counted in plain sight. The map is a strip of buckets rather than a table, because the question is a shape. The conditional row extends the same idea forward: given the time of day, how much of the day's high-making is still ahead - again with the sample attached.
Inputs
Behaviour:
Day definition - where a trading day starts: Midnight New York, Futures 18:00 NY, RTH 09:30 NY or Midnight UTC. Session windows use the same timezone, and an evening session is labelled by the calendar day it ends on.
Slot width - 15, 30 or 60 minutes. A bucket narrower than one chart bar is raised automatically and the dashboard says so.
Min day coverage % - a day counts only with at least this share of the bars of the fullest day on the chart. Range 10-100, default 60.
Last N days - size of the ring buffer. Range 5-1000, default 250.
Tie rule - which occurrence wins when the same price is reached twice in a day.
Use start date and Start date - restrict the sample to days after a fixed date. Off by default.
Mon , Tue , Wed , Thu , Fri - on by default. Sat and Sun - off by default. Auto-include weekends for 24/7 symbols - on by default; crypto includes both anyway.
Day type - all days, or only those that closed above or below their open.
Asia , London KZ , NY AM KZ , Lunch , NY PM KZ - session windows, one dashboard row each; a bucket counts when any part of it falls inside. NY AM KZ drives the session-start alert.
Show Silver Bullet rows - three fixed one-hour rows. Off by default.
Count current slot as still open - whether a day whose extreme fell into the current bucket counts as ahead. On by default.
Ahead alert threshold % - level at which the ahead alert fires. Range 1-99, default 25.
Ramp scaling - relative to the busiest bucket, or a fixed scale so two symbols can be compared.
Strip mode - both rows, high only, low only, or one combined row counting either extreme.
Presentation: whether the strip, dashboard, live row, Wilson bounds, sparkline, session rows and the H and L markers are drawn, the dashboard corner and text size, the marker size and background, the two colour ramps and the theme.
Signals and alerts
Entering high-frequency high slot - fires on bar close when price enters the bucket that held the daily high most often in the current sample.
Entering high-frequency low slot - the same for the daily low.
Ahead alert - fires on bar close the first time the share of days with a later high falls below the threshold.
Session start - fires on the first bar inside the NY AM window.
New running day extreme - fires on bar close when the running high or low of the day has moved.
The first three depend on the aggregation, which is evaluated on the most recent bar. They are meant for live use; on historical bars they stay silent.
Repainting
Every state change happens on a confirmed bar. The running day is written into the sample only on the first bar of the next day, so the current day never influences a count. The bucket of an extreme is taken from the opening time of the bar that made it and is stored once; nothing rewrites it later. There is no request for a higher timeframe and no lookahead, so a reload and a bar replay produce the same numbers.
Limitations
The map is suppressed above a certain timeframe and whenever the chart bar does not divide the bucket width - on a daily chart every day is one bar, and on a 45-minute chart with 60-minute buckets some buckets get twice as many bars. The strip stays empty and the note line says why. Use a minute timeframe that divides the bucket width.
The sample is the loaded chart history, nothing more: at 20 000 bars roughly 14 days on 1-minute futures, 51 on a 1-minute regular-hours stock chart, 72 on 5-minute futures, 256 on 5-minute regular hours, 217 on 15-minute futures, 430 on 30-minute and 870 on hourly. The dashboard prints the number it has.
Small samples move. Below 30 days the cells are dimmed on purpose, and a share out of ten days is a number, not a finding.
Buckets the chart has no bars for - the night hours of a regular-hours stock chart - stay dark. That is missing data, not a measurement.
On a 1-minute chart the strip cannot be drawn more than 500 bars into the future; the dashboard reports how many buckets were left out.
It describes the past of one symbol on one chart and says nothing about where today's high will be.
This script is a charting tool for educational purposes. It does not provide financial advice and does not predict future price movement. Trading carries risk; decisions and their outcome remain yours. อินดิเคเตอร์

Regime Gated Confluence Score [Pineify]Regime Gated Confluence Score
Overview
This pane indicator combines trend, momentum, and volume after a four-state gate selects meaning and weight. The main score and dashboard reconcile signed contributions.
Problem Definition
Fixed-weight confluence hides a regime error. Positive RSI may confirm a trend but mark extension in a range. EMA separation can persist after efficient travel ends. Relative volume shows participation, not acceptance. A permanent sum can stay strong when path efficiency is low, factors disagree, or ATR leaves its baseline, so users cannot tell whether magnitude reflects agreement or one dominant input.
Design Rationale
ATR-normalized EMA separation and slope measure trend across price scales. Centered RSI supplies momentum; RANGE reverses it to express a fade. Volume pressure combines capped relative volume with close location without claiming aggressor flow. EMA spread and path efficiency classify structure; ATR versus baseline identifies displacement. Lower hold thresholds add hysteresis. A trained model would add hidden data assumptions, while fixed weights preserve the failure. Explicit rules accept sensitivity and lag for auditability.
Key Features
Four regimes with hysteresis.
Standardized trend, RSI, and participation factors.
Regime weights, range inversion, missing-volume renormalization, conflict attenuation, exact contribution totals, and confirmed alerts.
How It Works
EMA spread and fast-EMA change are normalized by ATR, blended 65/35, and clipped to -1 through +1. RSI is centered at 50, divided by 25, and clipped. Volume multiplies close location inside the bar by relative volume capped at 2.5 times baseline, then smooths it. If fewer than 80% of volume-window bars are usable, volume is omitted.
Trend strength is absolute normalized EMA spread. Path efficiency divides net movement by total one-bar movement. ATR relative to baseline measures displacement. VOLATILE has priority until its lower hold level clears. Otherwise, strong separation and efficiency enter TREND, weak evidence enters RANGE, and unresolved evidence is TRANSITION.
Trend/momentum/volume weights are 55/30/15 in TREND, 15/60/25 in RANGE, 40/35/25 in VOLATILE, and 35/40/25 in TRANSITION. RANGE reverses only RSI. Missing volume removes its weight and renormalizes the others. Agreement divides absolute net contribution by total absolute contribution and sets a 0.55-to-1 gate; VOLATILE adds an ATR penalty. Gated components sum to the score. Warm-up or invalid threshold and EMA ordering blocks output with a diagnostic.
How Multiple Indicators Work Together
Trend estimates structure, momentum locates bounded pressure, and volume tests participation plus bar acceptance. The regime interprets them before combination. Without range inversion, extension becomes a continuation vote; without trend, brief momentum can dominate; without volume, weights must be renormalized. Agreement converts remaining conflict into lower magnitude rather than hiding it.
Trading Ideas and Insights
Use the score as context, not an order. A confirmed threshold cross during TREND identifies aligned conditions. In RANGE, check whether trend or volume opposes inverted momentum before considering a fade. In VOLATILE, a compressed gate shows ATR displacement discounting the raw sum. A strong component beside a modest total indicates conflict.
Unique Aspects
The contribution is the sequence of classification, interpretation change, weighting, and attenuation. RANGE reverses momentum while other factors can veto it; hysteresis separates trend entry from persistence; missing volume is removed; and agreement scales every component so the ledger equals the score. The halo shows magnitude, the background shows regime, and the table exposes construction.
How to Use
Start with defaults and compare the regime label with visible path behavior. Wait for warm-up. Keep the ledger visible to see whether structure, oscillator pressure, or participation drives direction. Use confirmed alerts when closing-state transitions matter. Contribution lines are diagnostic; the halo and background form the primary view. Omitted volume means a disclosed two-factor score.
Customization
EMA lengths and slope lookback control structural response; RSI length controls momentum sensitivity. Volume baseline and smoothing trade speed for stability. Regime length changes path efficiency and the ATR baseline. Entry thresholds must exceed hold thresholds. Raising the score threshold reduces alert frequency but does not establish better forecasting. Visual switches change display only.
Assumptions and Limitations
The script uses chart OHLC and reported volume. Exchange, tick, and absent volume differ; close-location volume is only a proxy. EMA, ATR, RSI, and rolling baselines lag. RANGE can fade a breakout, hysteresis can delay exits, and attenuation can suppress an early shock.
Realtime factors, regime, colors, and score can change before close; alerts require confirmation. No request calls, future data, pivots, or negative offsets are used. The script does not model liquidity, news, sizing, entries, stops, or exits. Thresholds do not establish expected return. Sparse bars and unreliable volume can distort evidence.
Conclusion
This replaces a fixed sum with an inspectable state process. The score and ledger show weights, conflict attenuation, and missing-data effects. Keep separate risk and execution rules.
.
อินดิเคเตอร์

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

5-Day Rolling SMA 1m + Trend Alignment Band5-Day Rolling SMA 1m + Trend Alignment Band
This indicator displays a rolling multi-day Simple Moving Average calculated from 1-minute closing prices, together with a three-state Trend Alignment Band.
It is designed to provide a continuous view of short-term market direction across intraday chart timeframes.
Concept
A conventional 5-day SMA calculated on a daily chart averages only five daily closing prices.
This indicator uses a different approach. It calculates the average from all 1-minute closing prices contained in approximately five regular trading sessions.
For a U.S. stock or ETF with a 390-minute regular trading session:
390 minutes x 5 trading days = 1,950 one-minute bars
The default 5-day calculation is therefore approximately equivalent to:
SMA = Sum of the last 1,950 one-minute closes / 1,950
However, the script does not assume that every market has exactly 390 one-minute bars per trading day.
Instead, it measures the actual number of 1-minute bars in recent completed trading sessions. It then uses the median session length to estimate the typical number of bars per day.
The rolling window is calculated as:
Rolling Window = Typical 1-minute bars per session x Rolling Days
Using the median helps reduce the influence of shortened or unusual trading sessions.
Why use 1-minute data?
Using 1-minute data allows the multi-day average to move continuously instead of behaving like a daily moving average projected onto an intraday chart.
On a 1-minute chart, the rolling SMA can update every minute as:
one new 1-minute close enters the calculation;
the oldest observation leaves the rolling window.
On higher chart timeframes, the same internally calculated 1-minute rolling SMA is sampled onto the selected chart timeframe.
The purpose is not to reproduce a conventional 5-period daily SMA. It is to represent the average location of intraday prices over approximately the most recent five trading sessions.
Trend Alignment Band
The area between price and the rolling SMA is colored according to the relationship between price and the direction of the SMA.
Green - Bullish Alignment
Green appears when:
Price is above the rolling SMA.
The rolling SMA is rising.
Condition:
Price > SMA AND SMA(t) > SMA(t-1)
This indicates that price location and short-term trend direction are aligned upward.
Red - Bearish Alignment
Red appears when:
Price is below the rolling SMA.
The rolling SMA is falling.
Condition:
Price < SMA AND SMA(t) < SMA(t-1)
This indicates that price location and short-term trend direction are aligned downward.
Yellow - Transition / Conflict
Yellow appears when the two conditions are not aligned.
Examples include:
Price moves above the SMA while the SMA is still falling.
Price moves below the SMA while the SMA is still rising.
The SMA is flat.
Yellow should therefore not automatically be interpreted as a ranging market. It represents disagreement between current price location and the direction of the rolling average, which can occur during transitions, pullbacks, reversals, or consolidation.
Intended Use
The indicator is intended primarily as a short-term market-regime and directional context tool rather than as a standalone entry signal.
Possible uses include:
Identifying short-term directional bias.
Distinguishing aligned trends from transition phases.
Providing context for pullbacks and rallies.
Comparing current price with the average intraday price location of recent trading sessions.
Maintaining a consistent short-term reference when moving between intraday chart timeframes.
The three band states can be interpreted as:
Green = bullish alignment
Red = bearish alignment
Yellow = transition or directional conflict
These states are descriptive, not predictive, and should not be treated as automatic buy or sell signals.
Original Features
The script differs from a standard daily SMA or a fixed-length intraday SMA in several ways:
The moving average is calculated internally from 1-minute closing prices.
The script automatically measures the typical number of 1-minute bars in recent completed sessions.
The median session length is used to reduce sensitivity to shortened or irregular trading days.
The rolling period is automatically constructed from the detected session length and selected number of trading days.
The Trend Alignment Band combines both price position and SMA direction instead of using a simple price/SMA crossover alone.
This allows the indicator to adapt its multi-day rolling window to different symbols and trading-session structures without relying on a permanently fixed 1,950-bar setting.
Settings
Show 5-Day Rolling SMA
Shows or hides the rolling SMA line.
Show Trend Alignment Band
Shows or hides the colored area between price and the rolling SMA. Enabled by default.
SMA Line Width
Adjusts the thickness of the SMA.
SMA Color
Default: orange.
Band Transparency
Controls the transparency of the colored trend band.
Bullish Band / Bearish Band / Transition Band
Allows customization of the green, red, and yellow states.
Rolling Days
Default: 5 trading days.
Session Detection Days
Controls how many completed sessions are used when estimating the typical number of 1-minute bars per trading day.
Session
Regular: Uses the symbol's regular trading session.
All: Uses the available session data for the symbol.
For U.S. stocks and ETFs, Regular is the intended default.
Limitations
This is not the same calculation as a conventional 5-period SMA on a daily chart.
The indicator averages 1-minute closing-price observations, so it is better interpreted as a rolling intraday time-sampled price average over approximately the selected number of trading days.
Results can vary depending on:
the symbol's trading-session structure;
Regular versus All session selection;
holidays and shortened trading sessions;
the amount of 1-minute historical data available from the data provider;
the chart timeframe on which the internally calculated series is sampled.
A sufficient amount of historical intraday data is required before the script can determine the normal session length and calculate the full rolling window.
This indicator does not predict future prices and does not generate guaranteed trading signals. It should be used together with price structure, support/resistance, volume analysis, risk management, or other independent forms of analysis.
日本語説明
このインジケーターは、**直近の複数営業日相当の1分足終値から計算するローリングSMA(単純移動平均線)**と、価格とSMAの状態を3色で表すTrend Alignment Bandを表示します。
一般的な日足5SMAとは計算方法が異なります。
通常の日足5SMAは、
直近5本の日足終値の平均
ですが、本インジケーターは直近約5営業日に含まれる1分足終値を連続的に平均します。
米国株・ETFの通常取引時間が1日390分の場合、
390分 × 5営業日 = 1,950本
となるため、デフォルト設定では概ね1分足1950期間SMAに相当します。
1日のバー数を自動判定
このインジケーターでは、1日のバー数を390本と固定していません。
過去の完了した取引日について実際の1分足本数を計測し、その中央値から通常の1営業日あたりのバー数を推定します。
計算期間は、
ローリング本数 = 1営業日の代表的な1分足本数 × ローリング日数
として自動的に決定されます。
中央値を使用することで、短縮取引日などの特殊なセッションの影響を受けにくくしています。
1分足を使用する理由
日足5SMAをそのままイントラデイチャートへ表示すると、日ごとに値が切り替わるため階段状になります。
本インジケーターでは内部計算を1分足で行うため、1分足チャートでは新しい1分足が形成されるごとにローリング平均が更新されます。
したがって、通常の日足5SMAよりも連続的に、直近数営業日における価格の平均的な位置を表現できます。
上位時間足では、この1分足で計算されたRolling SMAを各チャート時間足へサンプリングして表示します。
Trend Alignment Band
価格とRolling SMAとの間を、価格の位置とSMAの方向に応じて3色に分類します。
緑 - Bullish Alignment
以下の2条件が同時に成立した状態です。
価格がSMAより上
SMAが上向き
Price > SMA かつ SMA(t) > SMA(t-1)
価格と短期トレンドの方向が上方向に一致している状態を示します。
赤 - Bearish Alignment
以下の2条件が同時に成立した状態です。
価格がSMAより下
SMAが下向き
Price < SMA かつ SMA(t) < SMA(t-1)
価格と短期トレンドの方向が下方向に一致している状態を示します。
黄 - Transition / Conflict
価格とSMAの方向が一致していない状態です。
代表例:
価格はSMAを上回ったが、SMAはまだ下降している
価格はSMAを下回ったが、SMAはまだ上昇している
SMAが横ばい
したがって黄色は単純な「レンジ」を意味するものではありません。
価格の位置と短期平均の方向に不一致が生じている状態であり、転換、押し・戻し、反転、持ち合いなどで発生します。
基本的な使い方
本インジケーターは直接的な売買シグナルではなく、短期的な相場環境と方向性を把握するためのツールとして設計しています。
基本的には、
緑 = 上昇方向への整合
赤 = 下降方向への整合
黄 = 移行状態または方向の不一致
として使用します。
価格が単にSMAの上か下かだけではなく、SMA自体の方向も同時に判定することが特徴です。
本インジケーター独自の特徴
一般的な日足SMAや固定期間のイントラデイSMAと比較して、以下の特徴があります。
1分足終値を内部計算に使用
1営業日の実際の1分足本数を自動計測
過去セッションの中央値によって通常のセッション長を推定
セッション長 × 日数からローリング期間を自動設定
価格のSMAに対する位置とSMAの方向を組み合わせて3色の状態を表示
これにより、1950本などの固定値をすべての銘柄に適用するのではなく、銘柄ごとの取引セッションに応じた複数日Rolling SMAを構成します。
設定
Show 5-Day Rolling SMA
Rolling SMAの表示・非表示。
Show Trend Alignment Band
Trend Bandの表示・非表示。デフォルトはON。
SMA Line Width
SMAの太さ。
SMA Color
デフォルトはオレンジ。
Band Transparency
帯の透明度。
Bullish / Bearish / Transition Band
緑・赤・黄色を個別に変更できます。
Rolling Days
デフォルト5営業日。
Session Detection Days
通常の1営業日の1分足本数を判定するために使用する過去セッション数。
Session
Regular:通常取引時間のみ
All:取得可能なセッションデータを使用
米国株・ETFではRegularを基本設定として想定しています。
通常の日足5SMAとの違い
通常の日足5SMAは、5本の日足終値を平均します。
本インジケーターは、直近約5営業日に含まれる大量の1分足終値を平均します。
したがって、両者は「5日」という時間範囲を扱っていても同じ指標ではありません。
本インジケーターは、直近数営業日において価格が平均的にどの水準に滞在していたかを連続的に表現することを目的としています。
制約・注意事項
計算結果は以下の要因によって変化する場合があります。
銘柄ごとの取引時間
Regular / All の選択
祝日や短縮取引
TradingView側で利用可能な1分足履歴
表示しているチャート時間足
十分な1分足履歴が存在しない場合、通常のセッション長および完全なローリング期間を計算できるまでSMAが表示されない場合があります。
また、本インジケーターは将来の価格を予測するものではなく、売買結果を保証するものでもありません。価格構造、支持抵抗、出来高、リスク管理など、他の分析と組み合わせて使用してください。 อินดิเคเตอร์

Volume Surge Radar - 2x/4x/8x/16x# Volume Surge Radar — 2x / 4x / 8x / 16x
The goal is simple: don't just find unusual volume—find when unusual volume keeps coming back.
## Overview
**Volume Surge Radar** is designed to identify unusual and **repeated volume activity**, not just isolated volume spikes.
The indicator compares each bar's volume against the **average volume of the previous trading week** and classifies unusual activity into four customizable tiers:
**2x → 4x → 8x → 16x**
It then tracks how often these volume surges occur within a configurable rolling window and combines that information with price behavior to provide a **RISING, FALLING, MIXED, or QUIET bias**.
The idea is simple:
**One volume spike may be noise. Repeated volume surges can tell a much more interesting story.**
---
## Key Features
### 🔹 Relative Volume Multiples
Every bar's volume is compared with its 1-week average volume.
For example:
* **2x** = Volume is at least 2 times the weekly average
* **4x** = Volume is at least 4 times the weekly average
* **8x** = Volume is at least 8 times the weekly average
* **16x** = Volume is at least 16 times the weekly average
The tiers are cumulative. For example, a **9x volume bar qualifies as a 2x, 4x and 8x event**.
---
### 🔹 Dynamic 1-Week Baseline
The indicator can automatically calculate the appropriate number of bars representing approximately one trading week based on the chart timeframe.
For example, the baseline can adapt differently when viewing:
* Daily charts
* Hourly charts
* 15-minute charts
* 5-minute charts
Session minutes and trading days per week are configurable, making the indicator adaptable to different markets.
You can also disable automatic calculation and manually specify the baseline.
---
## 🔹 Repeat Volume Detection
This is one of the main features of Volume Surge Radar.
Instead of only asking:
**"Is volume unusually high right now?"**
the indicator also asks:
**"How many times has unusually high volume appeared recently?"**
For each tier, the dashboard counts how many bars inside the configured rolling window reached:
**2x / 4x / 8x / 16x volume**
This can help distinguish an isolated spike from repeated participation.
For example:
**2x volume once**
may simply represent a single event.
But:
**2x+ volume 4 times within 20 bars**
may deserve significantly more attention.
---
# Understanding the Dashboard
The dashboard provides a compact view of current and recent volume activity.
### NOW
Shows whether the current bar has reached each volume tier.
### Hit Count
Shows how many times each volume threshold has been reached within the configured rolling window.
### Ratio
Displays the exact current volume multiple.
For example:
**3.7x**
means the current bar's volume is approximately **3.7 times the calculated 1-week average volume**.
### Price Change
Displays the percentage price change over the same rolling window used for volume analysis.
### Up / Down Surge Count
Shows how many qualifying high-volume bars closed higher versus lower.
For example:
**5↑ 2↓**
means five qualifying surge bars were positive candles and two were negative candles.
---
# Volume Bias
Volume Surge Radar combines two pieces of information:
1. **Price change over the rolling window**
2. **Whether qualifying volume surges occurred more frequently on up or down bars**
The indicator then produces one of several possible readings.
### 🟢 RISING
Price direction and volume-surge direction both support a bullish interpretation.
Repeated high-volume activity is occurring alongside positive price behavior.
### 🟢 RISING?
Only one of the two measurements supports the bullish interpretation.
Consider this an early or weaker signal rather than confirmation.
### 🔴 FALLING
Price direction and volume-surge direction both support a bearish interpretation.
Repeated high-volume activity is occurring alongside negative price behavior.
### 🔴 FALLING?
Only one measurement supports the bearish interpretation.
Additional confirmation may be useful.
### ⚪ MIXED
Price movement and volume-surge direction disagree.
This may indicate conflicting participation, consolidation, absorption, or a transition period.
### ⚪ QUIET
Not enough qualifying volume events have occurred to establish a meaningful bias.
---
# How I Use It
The indicator is particularly useful as a **confirmation and discovery tool** rather than as a standalone buy/sell signal.
### Example 1 — Breakout Confirmation
A stock breaks above an important resistance level.
Instead of looking only at whether the breakout candle has high volume, Volume Surge Radar can show whether **multiple elevated-volume events have appeared around the breakout**.
Repeated 2x or 4x volume combined with a **RISING** bias can provide additional evidence of participation behind the move.
### Example 2 — Finding Unusual Accumulation
Price may initially move only modestly while several unusually high-volume bars appear within a relatively short period.
For example:
**4 separate 2x+ volume events within 20 bars**
can be more interesting than one isolated 4x spike.
The indicator helps make these repeated events easier to identify.
### Example 3 — Distribution / Weakness
Suppose a stock remains near its highs, but repeated high-volume bars increasingly close down.
The dashboard may begin showing more:
**↓ volume surges**
while the bias moves toward **FALLING?** or **FALLING**.
That divergence between price location and volume behavior may deserve additional investigation.
### Example 4 — Extreme Volume Events
An **8x or 16x** volume bar represents an unusually large departure from the recent baseline.
These events can occur around:
* Earnings
* News
* Breakouts
* Gap moves
* Institutional activity
* Capitulation
* Major reversals
The indicator highlights these extreme-volume bars so they can be investigated quickly.
---
# Alerts
Volume Surge Radar includes several built-in alert conditions.
### Single Volume Surge Alerts
Alerts are available when volume reaches:
**2x / 4x / 8x / 16x**
These are useful when monitoring individual extreme-volume events.
### Repeated Volume Alerts
You can also receive alerts when a particular volume tier occurs repeatedly within the rolling window.
For example:
**2x volume reached 4 times within the last 20 bars**
This allows you to detect persistent unusual-volume activity without constantly watching the chart.
### Bias Alerts
Alerts are also available when the volume/price bias changes to:
**RISING**
or
**FALLING**
### Custom Repeat Alert
A configurable alert allows you to choose:
**Volume Tier + Required Hits + Direction**
For example:
**4x Volume + 3 Hits + Rising Bias**
This makes it possible to create alerts around the specific type of volume behavior you want to monitor.
---
# Suggested Workflow
I generally recommend using Volume Surge Radar alongside market structure rather than interpreting volume in isolation.
Look for repeated volume activity around:
* Support and resistance
* Breakouts and breakdowns
* Consolidation ranges
* Moving averages
* Previous highs/lows
* Gap areas
* Earnings or news events
The indicator answers:
**"Is unusual volume appearing repeatedly, and what is price doing while that volume appears?"**
The trader still determines **why that activity matters within the broader chart structure.**
---
# Important Interpretation
High volume is **not automatically bullish**.
A 4x, 8x or even 16x volume event simply tells us that market participation is unusually high compared with the recent baseline.
That activity could represent:
**Accumulation, distribution, breakout participation, profit-taking, capitulation, news-driven trading, or other market activity.**
For this reason, volume should always be interpreted together with **price action and market structure**.
---
# Limitations
Volume Surge Radar is an analytical tool and should not be treated as an automatic trading system.
The RISING/FALLING bias is based on price movement and the direction of qualifying volume bars. It does **not** directly identify institutional buying or selling.
Extremely high volume can also occur because of earnings, news, index rebalancing or other one-time events.
Different assets have different volume characteristics, so the default thresholds and rolling-window settings may need adjustment depending on the instrument and timeframe.
---
## Final Thought
Traditional volume indicators tell you:
**"Volume is high."**
Volume Surge Radar goes one step further:
**"How high is it, how often has it happened recently, and what has price been doing while those volume surges occurred?"**
That is the core idea behind **Volume Surge Radar**.
The goal is simple: don't just find unusual volume—find when unusual volume keeps coming back.
อินดิเคเตอร์

Blended Momentum OscillatorBlended Momentum Oscillator
Overview
A bounded momentum indicator plotted in a separate pane below the chart. It blends two normalized momentum measures into a single 0–100 line, smoothing out the whipsaw that either measure produces on its own.
How it works
The output is the arithmetic mean of two components:
1. **Smoothed RSI** — a 14-period RSI passed through a 14-period Hull Moving Average. The HMA reduces lag compared to a simple or exponential smoothing of the same length while cutting the noise of raw RSI.
2. **Slow Stochastic** — a 200-period Stochastic of close against the 200-bar high/low range, smoothed with a 50-period EMA. The long lookback makes this component a slow-moving positional reference rather than a fast trigger.
Both components are natively bounded to 0–100, so their average is too. Missing values are substituted with the neutral midpoint of 50 so the line stays continuous on new symbols or thin history.
The fast RSI leg supplies responsiveness; the slow Stochastic leg anchors the reading to where price sits within its longer-term range. A high combined value therefore requires both recent momentum *and* an elevated position in the 200-bar range.
Reading the indicator
**Color gradient.** The line is continuously colored by its own value, dark green at the bottom of the scale through green, lime, yellow, orange, red, to maroon at the top. Color alone communicates the current regime without reading the number.
**Levels.** Dashed lines mark 80 and 20; a dotted line marks the 50 midpoint. The 20–80 band is lightly shaded. Because both components are long-period and averaged, excursions past 80 or below 20 are comparatively rare — these are not the frequent, low-signal touches typical of a standalone 14-period RSI.
**Pivot markers.** An X cross is plotted at each confirmed local extreme of the oscillator that occurs in an extreme zone: pivot highs above 80 (maroon) and pivot lows below 20 (teal). Detection uses one bar left and one bar right, so a marker is confirmed one bar after the fact and is drawn back at the pivot bar. These mark the point where an extended reading actually turns, rather than the moment it first enters the zone.
**Scale.** Two invisible anchor plots at 0 and 100 pin the pane to the full range. The vertical scale never rescales to the visible data, so the distance between readings is comparable across symbols and timeframes.
Notes
- No inputs. All periods are fixed by design; the component lengths are chosen to be deliberately mismatched in speed, and altering them changes the character of the blend.
- Requires roughly 200 bars of history before the slow component is fully seeded.
- Timeframe-agnostic. It works on any chart period, but the 200-bar Stochastic means the effective lookback in calendar time scales with the chart's timeframe.
- This is an analytical tool, not a signal system. Extreme readings and pivot markers describe conditions; they are not entry or exit instructions.
อินดิเคเตอร์

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