RSI Superstack
**RSI Superstack — Multi-Timeframe RSI Alignment Indicator**
RSI Superstack monitors the Relative Strength Index across seven timeframes simultaneously — 5m, 15m, 30m, 1H, 4H, 1D, and 1W — and alerts you when multiple timeframes line up in oversold or overbought territory at the same time. Instead of watching one RSI in isolation, you get a complete picture of market momentum across the full timeframe stack.
**How it works**
The indicator calculates RSI on each of the seven timeframes and checks whether each one is currently oversold (below 30) or overbought (above 70). A live table in the top-right corner of your chart displays every timeframe's RSI value and status at a glance. When enough timeframes align, visual signals are plotted directly on the chart and alerts fire automatically.
**Signals**
- **ALL OS / ALL OB** — all seven timeframes are simultaneously oversold or overbought. These are the highest-conviction setups and are marked with full-size triangles and a chart background highlight.
- **5+ signals** — five or six timeframes aligned. Marked with smaller triangles. Strong confluence, but not a full stack.
**Settings**
- RSI Length — default 14, adjustable
- Oversold Level — default 30
- Overbought Level — default 70
- Extended Hours — toggle on or off depending on your instrument and session preference
**Built-in alerts**
Four alert conditions are included and ready to set up with a single click — all timeframes oversold, all timeframes overbought, 5+ oversold, and 5+ overbought.
**How to use it**
This indicator works best as a confluence filter rather than a standalone entry trigger. When the full stack aligns, it signals that selling or buying pressure is extreme across every meaningful timeframe — a condition that historically precedes strong reversals or continuation moves depending on context. Pair it with your existing price action, support/resistance levels, or trend-following tools for the highest-quality setups.
Works on any instrument — stocks, crypto, forex, and futures.
Indicator

Cluster Money Flow Index [UAlgo]Cluster Money Flow Index is a zone based MFI structure tool designed to detect repeated Money Flow Index turning points and group them into meaningful reaction areas. Instead of treating every isolated MFI pivot as a standalone event, the script searches for clusters of nearby pivots that occur around similar MFI levels. When enough touches accumulate in the same area, the indicator promotes that region into a live zone.
The main idea is simple. If MFI repeatedly turns down from a similar high region, that area can behave like an overbought supply style zone inside the oscillator. If MFI repeatedly turns up from a similar low region, that area can behave like an oversold demand style zone. By clustering these repeated reactions, the script attempts to map oscillator structure in the same way traders often map support and resistance on price.
What makes this indicator especially useful is that the zones are not static. They can expand when fresh touches appear, they gain visual strength as more reactions accumulate, and they can later be invalidated if MFI decisively breaks beyond them. This creates a much more dynamic view than a simple overbought line, oversold line, or ordinary pivot marker.
The script also includes a smoothed MFI reference, optional center lines, zone labels, a live dashboard, and alert conditions when MFI enters active cluster zones. This makes the indicator useful both for structural oscillator analysis and for workflow monitoring.
In practical use, Cluster Money Flow Index can help highlight repeated MFI rejection areas, repeated MFI support areas, transition zones near the middle range, and regions where oscillator behavior has historically clustered before reversal or pause.
🔹 Features
🔸 Pivot Based MFI Structure Detection
The script detects confirmed MFI pivot highs and pivot lows using user defined left and right pivot settings. This means clusters are built only from confirmed oscillator turning points rather than from every small fluctuation.
🔸 Cluster Logic Instead of Single Pivot Logic
A new pivot does not automatically create a new zone. The script first checks whether that pivot is close enough to an existing valid cluster. If it is, the cluster gains another touch. If it is not, a new cluster is created.
🔸 Adaptive Proximity Threshold
Cluster sensitivity is based on MFI volatility. The script calculates the standard deviation of raw MFI and multiplies it by the user selected proximity multiplier. This makes zone grouping adapt to the current oscillator environment.
🔸 Minimum Touch Confirmation
A cluster is displayed only after it reaches the required minimum number of touches. This helps filter out weak one time reactions and focuses attention on repeated oscillator behavior.
🔸 Optional Zone Expansion
When enabled, the zone can expand with each new retest. If a fresh pivot extends beyond the current cluster boundary, the top or bottom is updated and the center is recalculated. This allows the zone to evolve naturally as more data arrives.
🔸 Dynamic Zone Strength Visualization
Zones become slightly more visible as touch count increases. This gives stronger clusters more visual weight and helps the user quickly distinguish weak from strong oscillator regions.
🔸 Overbought, Oversold, and Mid Context
Zone color is chosen from the zone center. Clusters centered high in the MFI range use the overbought color, clusters centered low use the oversold color, and clusters near the middle range use the mid color.
🔸 Optional Center Line and Labels
Each displayed cluster can include a center line and an information label showing whether the zone is an upper or lower type cluster, its approximate center level, and its total touch count.
🔸 Invalidation Logic
A zone remains valid until MFI breaks clearly beyond it. Upper clusters are invalidated if MFI pushes decisively above the zone. Lower clusters are invalidated if MFI drops decisively below it.
🔸 Dashboard Summary
A built in dashboard can show current MFI state, number of active upper and lower zones, strongest cluster strength, and the nearest upper and lower cluster centers.
🔸 Alert Support
Alerts are provided for:
MFI entering an upper cluster zone,
MFI entering a lower cluster zone,
MFI crossing above 80,
and MFI crossing below 20.
🔹 Calculations
1) Calculating Raw and Smoothed MFI
float rawMFI = ta.mfi(hlc3, mfiLen)
float smoothedMFI = ta.ema(rawMFI, mfiSmooth)
This is the starting point of the indicator.
The script first calculates the standard Money Flow Index from hlc3 using the selected MFI length. Then it applies an EMA smoothing pass to create a softer reference line.
The raw MFI is used for all pivot detection, clustering, invalidation, zone interaction, and alerts. The smoothed MFI is mainly a visual aid that helps the user see the broader oscillator path more clearly.
So the indicator always builds its logic from raw MFI structure while also giving the user a smoother secondary guide.
2) Defining the Cluster Object
type MFICluster
float top
float bottom
float center
bool isOB
int touches
int firstBarTime
int lastTouchTime
int firstBarIdx
bool isValid
bool isDisplayed
box zoneBox
line centerLine
label infoLabel
This object stores the full lifecycle of one MFI cluster zone.
It contains:
the zone top,
the zone bottom,
the center level,
whether the zone came from an upper pivot or lower pivot,
how many touches it has,
when it first formed,
when it was last touched,
whether it is still valid,
whether it has already been drawn,
and its visual objects.
So the script is not just plotting shapes. It is managing structured oscillator zones that have state, memory, and display properties.
3) Calculating the Adaptive Proximity Threshold
float mfiStd = ta.stdev(rawMFI, 50)
float proximity = math.max(2.0, mfiStd * proxMult)
This is the sensitivity engine of the clustering logic.
The script measures the standard deviation of raw MFI over the last fifty bars. It then multiplies that volatility measure by the user selected proximity multiplier. Finally, it enforces a minimum threshold of 2.0.
This means a new pivot is considered close enough to an existing cluster only if it lies within a volatility adjusted distance from the cluster center.
So the zone grouping automatically adapts to how noisy or how compressed the MFI environment currently is.
4) Detecting Confirmed MFI Pivot Highs and Lows
float mfiPH = ta.pivothigh(rawMFI, pivotLeft, pivotRight)
float mfiPL = ta.pivotlow(rawMFI, pivotLeft, pivotRight)
This is the pivot discovery step.
The script finds confirmed pivot highs and pivot lows directly on the raw MFI series. A pivot high becomes an upper type candidate cluster. A pivot low becomes a lower type candidate cluster.
Because the pivots are confirmed using both left and right bars, the script avoids reacting too early to temporary oscillator wiggles.
So all clustering logic is based on confirmed structure rather than live unconfirmed turns.
5) Checking Whether a Pivot Belongs to an Existing Cluster
method checkProximity(MFICluster this, float pivotVal, bool isOB, float threshold) =>
bool result = false
if this.isOB == isOB and this.isValid
if math.abs(pivotVal - this.center) <= threshold
result := true
result
This method decides whether a new pivot should strengthen an existing cluster.
A pivot can only join a cluster if:
the cluster is of the same type,
the cluster is still valid,
and the distance between the pivot value and the cluster center is less than or equal to the current threshold.
This is important because upper pivot highs are never mixed with lower pivot lows, and stale invalidated clusters are ignored.
So this method is the actual grouping filter that turns repeated nearby pivots into one shared zone.
6) Adding a New Touch to a Cluster
method addTouch(MFICluster this, float pivotVal, int pTime, bool shouldExpand) =>
this.touches += 1
this.lastTouchTime := pTime
if shouldExpand
if pivotVal > this.top
this.top := pivotVal
if pivotVal < this.bottom
this.bottom := pivotVal
this.center := (this.top + this.bottom) / 2.0
int(na)
Once a pivot is assigned to a cluster, this method updates the cluster state.
The touch count is incremented and the last touch time is refreshed. If zone expansion is enabled, the script also checks whether the new pivot extends above the current top or below the current bottom. If it does, the cluster boundaries are widened and the center is recalculated.
So clusters do not have to remain frozen. They can evolve as new oscillator reactions appear.
7) Creating a New Cluster When No Match Exists
if not wasClustered
float zoneHalf = math.max(proximity * 0.15, 0.8)
float zTop = pVal + zoneHalf
float zBot = pVal - zoneHalf
MFICluster newCl = MFICluster.new(
top = zTop,
bottom = zBot,
center = pVal,
isOB = isOB,
touches = 1,
firstBarTime = pTime,
lastTouchTime= pTime,
firstBarIdx = pBarIdx,
isValid = true,
isDisplayed = false)
If the new pivot does not belong to any existing valid cluster, the script creates a fresh cluster.
The initial zone width is determined from the current proximity threshold. Specifically, the script takes fifteen percent of that threshold and applies it equally above and below the pivot center, while enforcing a minimum half size of 0.8.
So every new cluster begins as a compact seed zone around one confirmed pivot and can later grow through repeated touches.
8) Minimum Touch Display Rule
if this.touches >= minT
This is the first major visual gate inside the drawing logic.
A cluster is not drawn just because it exists internally. It becomes visible only when its touch count reaches the user selected minimum touches threshold.
This helps reduce noise by hiding weak single touch or low confidence zones until repeated oscillator interaction has been proven.
So display is based on structural repetition, not just first occurrence.
9) Zone Strength and Opacity Calculation
f_calcOpacity(int touches, int baseOp) =>
float strength = math.min((touches - 1) / 8.0, 1.0)
int result = int(baseOp + (strength * 15))
math.min(result, 40)
This function converts touch count into visual intensity.
The script measures strength from the number of touches relative to a capped scale. Then it adds that strength bonus to the base opacity setting, while also imposing an upper limit.
This means zones with more touches appear slightly stronger and easier to notice than weaker zones.
So touch count influences not only logic, but also visual emphasis.
10) Zone Color Selection
f_zoneColor(float center) =>
center >= 70 ? obColor : center <= 30 ? osColor : midColor
This is the color classification rule.
If the cluster center is at or above 70, the zone uses the overbought color.
If the cluster center is at or below 30, the zone uses the oversold color.
Anything in between uses the mid color.
This is important because a cluster may come from an upper or lower pivot, but its actual center still determines how extreme its oscillator location really is.
So the visual color reflects where the cluster sits inside the MFI range.
11) Drawing the Zone Box
this.zoneBox := box.new(
left=this.firstBarTime, top=this.top, right=time, bottom=this.bottom,
border_color=borderCol, border_width=bWidth, bgcolor=fillCol,
xloc=xloc.bar_time)
Once the cluster qualifies for display, the script draws a box from the first touch time to the current bar time, with the cluster’s top and bottom as boundaries.
So the zone is not a single point marker. It becomes a persistent horizontal oscillator region that extends over time.
This makes the MFI structure much easier to interpret as a live area rather than isolated pivot dots.
12) Drawing the Optional Center Line
if drawCenter
this.centerLine := line.new(
x1=this.firstBarTime, y1=this.center, x2=time, y2=this.center,
color=color.new(baseCol, zoneOpacity - 5), style=line.style_dotted,
width=1, xloc=xloc.bar_time)
If enabled, the script also draws a center line through the middle of the cluster.
This gives the user a clean reference for the average reaction level inside the zone, which can be useful when the zone expands and becomes wider over time.
So the center line acts like an equilibrium guide inside the cluster.
13) Drawing the Info Label
string typeStr = this.isOB ? "OB" : "OS"
string lblText = typeStr + " · " + str.tostring(math.round(this.center, 1)) + " | ×" + str.tostring(this.touches)
this.infoLabel := label.new(
x=time, y=this.isOB ? this.top : this.bottom,
text=lblText, textcolor=textCol,
style=label.style_none, size=f_labelSize(lSize),
xloc=xloc.bar_time, textalign=text.align_right)
The label contains three pieces of information:
the cluster type,
the approximate center level,
and the touch count.
This means a user can immediately see whether the zone is an upper or lower cluster, where it is centered, and how strong it is based on repeated reactions.
So the label turns the zone into an interpretable structural object instead of only a colored band.
14) Updating Existing Displayed Zones
box.set_right(this.zoneBox, time)
box.set_bgcolor(this.zoneBox, fillCol)
box.set_border_color(this.zoneBox, borderCol)
box.set_border_width(this.zoneBox, bWidth)
box.set_top(this.zoneBox, this.top)
box.set_bottom(this.zoneBox, this.bottom)
Once a zone is already displayed and still valid, the script updates it on every bar.
It extends the right edge to the latest time, refreshes the fill and border styling, and updates the top and bottom in case the zone expanded after new touches.
So visible zones remain live and adaptive rather than remaining frozen in their original shape.
15) Zone Invalidation Logic
method invalidate(MFICluster this, float mfiVal) =>
bool broken = false
if this.isOB
if mfiVal > this.top + 2
broken := true
else
if mfiVal < this.bottom - 2
broken := true
if broken
this.isValid := false
broken
This method decides when a cluster has failed.
For upper type clusters, invalidation occurs if MFI pushes clearly above the zone top by more than two MFI points.
For lower type clusters, invalidation occurs if MFI falls clearly below the zone bottom by more than two MFI points.
This extra buffer is important because it avoids invalidating zones on tiny marginal touches.
So the script requires a decisive break beyond the zone before it stops treating that cluster as active structure.
16) Visual Handling of Invalidated Zones
else
box.set_bgcolor(this.zoneBox, color.new(baseCol, math.max(zoneOpacity + 20, 95)))
box.set_border_color(this.zoneBox, color.new(baseCol, math.max(zoneOpacity + 20, 95)))
if not na(this.centerLine)
line.set_style(this.centerLine, line.style_dashed)
line.set_color(this.centerLine, color.new(baseCol, 80))
When a cluster becomes invalid, the script does not delete it immediately. Instead, it fades the zone heavily and softens the center line.
This allows the user to keep the historical context of where the zone existed while also clearly seeing that it is no longer considered valid.
So invalidated zones remain on the pane as context, but not as active structure.
17) Detecting Whether MFI Is Inside an Active Cluster
if cl.isValid and cl.touches >= minTouches
if cl.isOB and rawMFI >= cl.bottom and rawMFI <= cl.top + 5
inOBZone := true
if not cl.isOB and rawMFI <= cl.top and rawMFI >= cl.bottom - 5
inOSZone := true
This block checks whether the current raw MFI value has entered a valid displayed cluster zone.
For upper clusters, the script allows a small tolerance above the zone.
For lower clusters, it allows a small tolerance below the zone.
This produces the conditions used by the entry alerts. So the alerts are not tied merely to MFI crossing 80 or 20. They can also trigger when MFI enters historically clustered oscillator reaction areas.
18) Dashboard Metrics
int obZoneCount = 0
int osZoneCount = 0
int strongMax = 0
float nearOB = na
float nearOS = na
if cl.touches > strongMax
strongMax := cl.touches
if cl.touches >= minTouches
if cl.center >= 70
obZoneCount += 1
else if cl.center <= 30
osZoneCount += 1
The dashboard summarizes the live structure.
It counts how many active displayed zones are centered in overbought and oversold territory, finds the highest touch count among all clusters, and tracks the nearest upper and lower cluster centers relative to current MFI.
So the dashboard gives a quick structural overview without requiring the user to visually inspect every zone one by one.
19) MFI State Classification for the Dashboard
string mfiState = rawMFI >= 80 ? "OVERBOUGHT" : rawMFI <= 20 ? "OVERSOLD" : rawMFI >= 50 ? "BULLISH" : "BEARISH"
This line classifies the current oscillator state into four broad conditions.
At or above 80 is treated as overbought.
At or below 20 is treated as oversold.
Between 50 and 80 is treated as bullish.
Between 20 and 50 is treated as bearish.
This gives the dashboard an easy to read directional context in addition to the cluster statistics.
20) Alert Conditions
alertcondition(inOBZone, title="MFI Entered OB Cluster Zone", message="Cluster MFI: Price entered an overbought cluster zone — watch for reversal")
alertcondition(inOSZone, title="MFI Entered OS Cluster Zone", message="Cluster MFI: Price entered an oversold cluster zone — watch for reversal")
alertcondition(ta.crossover(rawMFI, 80), title="MFI Crossed Above 80", message="Cluster MFI: MFI crossed above 80 — overbought territory")
alertcondition(ta.crossunder(rawMFI, 20), title="MFI Crossed Below 20", message="Cluster MFI: MFI crossed below 20 — oversold territory")
The script provides four alert types.
Two alerts are structural cluster alerts:
entering an upper cluster,
and entering a lower cluster.
Two alerts are classic threshold alerts:
crossing above 80,
and crossing below 20.
So the user can monitor both traditional MFI extremes and the more advanced cluster based structure. Indicator

RSI Prediction by Range Segmentation [LuxAlgo]The RSI Prediction by Range Segmentation indicator projects a future path for the Relative Strength Index (RSI) by analyzing and averaging historical patterns that originated from similar RSI levels. This tool provides a probabilistic forecast based on how the RSI has historically behaved after reaching specific value segments.
🔶 USAGE
The indicator segments the RSI range (0-100) into multiple horizontal zones. When the current RSI value falls into a specific zone, the script identifies all historical instances where the RSI was in that same zone and calculates the average path it took over a subsequent period.
Users can observe the dynamic polyline forecast extending from the current RSI value to anticipate potential overbought or oversold conditions before they occur. The RSI line itself changes color based on its position relative to the 50 level, providing an immediate visual cue for bullish or bearish momentum.
🔹 Range Segmentation
The RSI scale is divided into "Range Segments" (e.g., 10 segments of 10 points each). This allows the indicator to categorize market momentum into specific states. By increasing the number of segments, you make the historical matching more precise but may have fewer historical samples to average. A step-line is plotted to visualize the base of the current segment being analyzed.
🔹 The Forecast
The forecast is generated only on the most recent bar using a polyline. It looks at the current RSI segment, retrieves the "Historical Limit" of stored patterns for that specific segment, and plots the mathematical average of those paths. The forecast color is dynamic: it appears bullish if the predicted endpoint is higher than the current RSI, and bearish if it is lower.
🔹 Overbought/Oversold Fills
To highlight extreme momentum, the script includes conditional vertical gradient fills. When the RSI rises above the user-defined Overbought Level, a green gradient fills the space between the RSI and the level. Conversely, when it drops below the Oversold Level, a red gradient appears.
🔶 DETAILS
The script utilizes User-Defined Types (UDTs) to store sequences of RSI values (Segments) within specific RangeData objects. This architecture allows the script to efficiently manage memory while maintaining a deep history of price momentum patterns.
Every time a new bar is processed, the script "looks back" at a pattern of a specific length and stores it in the bucket corresponding to where that pattern started (the anchor point). This creates a library of outcomes categorized by their starting momentum state, which is then accessed on the real-time bar to generate the forecast.
🔶 SETTINGS
🔹 General Settings
Historical Limit : Determines the maximum number of historical segments stored for each RSI range. A higher limit provides a more "smoothed" average by including more historical data.
Forecast Length : The number of bars into the future the prediction will extend. This also defines the length of the historical patterns being recorded.
Range Segments : The number of divisions for the 0-100 RSI scale. For example, setting this to 10 creates segments of 10 units (0-10, 10-20, etc.).
RSI Length : The lookback period for the standard RSI calculation.
🔹 Levels
Overbought Level : The threshold above which the RSI is considered overbought and the bullish gradient fill is triggered.
Oversold Level : The threshold below which the RSI is considered oversold and the bearish gradient fill is triggered.
🔹 Colors
Bullish Color : The color used for the RSI line (when > 50), the overbought gradient, and bullish forecasts.
Bearish Color : The color used for the RSI line (when < 50), the oversold gradient, and bearish forecasts.
Level Color : The color of the Overbought, Oversold, and Center (50) horizontal levels.
Indicator

Indicator

Indicator

Flow EngineFlow Engine
Most indicators tell you which direction price is moving. Flow Engine tells you whether to trust it . It does this by combining momentum, volume, trend, and a higher timeframe check all into one pane, plus it draws divergence signals directly on your price chart so you never have to look away.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT'S ON THE SCREEN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The Histogram (the bars)
This is the main thing. The height of each bar shows how strong the momentum is. The color tells you the direction — cyan for up, red for down.
The part that makes this different is the opacity . If a bar is bright and vivid, it means big volume is behind that move. If a bar looks faded or ghosted, the move happened on low volume and probably won't last. You can see this instantly without checking a separate volume pane.
Tall vivid cyan bar = strong upward move with real volume behind it
Tall faded cyan bar = price went up but nobody really showed up
Same logic applies on the red side
The OB/OS Line
This line tells you when things are getting stretched too far in one direction.
When it goes above +70 — the move is getting overdone on the upside.
When it drops below -70 — the selloff is getting overdone.
In between — cyan means leaning bullish, red means leaning bearish
The Trend Line
A slow moving line that tells you what the overall structure looks like on your current timeframe.
Lime green above zero — uptrend
Soft red below zero — downtrend
Think of it as the background context. When this line is green, you want to be looking for longs. When it's red, be careful going long or look for shorts instead.
The Background Tint (HTF Bias)
A very subtle color behind everything that comes from a higher timeframe — by default the Daily chart.
Cyan tint — the daily trend is bullish
Red tint — the daily trend is bearish
No tint — daily is mixed, no clear direction
This is the big picture check. If you are trading a 15 minute chart and the background is red, you know you are going against the daily trend. That doesn't mean you can't trade, but you should be more careful.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DIVERGENCE SIGNALS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Divergence is when price and momentum stop agreeing with each other. It usually means the current move is running out of steam.
Bearish divergence — price made a higher high but the histogram made a lower high. The rally is weakening. Orange triangle appears above the candle on your price chart.
Bullish divergence — price made a lower low but the histogram made a higher low. The selloff is weakening. Green triangle appears below the candle on your price chart.
You also get a dashed line drawn on the Flow Engine pane connecting the two points so you can see exactly where the divergence happened.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SETTINGS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Momentum Length (14) — how many bars the momentum calculation looks back. Lower number reacts quicker but gives more false signals. Higher number is slower but cleaner.
Volume MA Length (20) — the average used to judge whether current volume is high or low. Leave this at default unless you have a reason to change it.
Overbought Level (70) — where the OB/OS line turns orange. Lower this if you want earlier warnings.
Oversold Level (-70) — where the OB/OS line turns green. Change this together with the overbought level.
Trend Length (50) — how slow the trend line moves. Higher number = smoother line.
Pivot Lookback Left & Right (5) — controls how strict the divergence detection is. Raise both to 8 or 10 if you are getting too many signals. Lower to 3 if you want more.
HTF Timeframe (D) — the higher timeframe for the background tint. Set this one step above whatever chart you are on. D = Daily, W = Weekly, 240 = 4 Hour.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW TO USE IT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Every time you look at the indicator, go through it top to bottom:
Check the background tint — what is the daily (or higher TF) saying?
Check the trend line — is the current chart agreeing with that?
Check the OB/OS line — are we stretched? If yes, don't chase.
Check the histogram — is momentum vivid (real) or faded (weak)?
The best setup looks like this:
Background is cyan + trend line above zero + OB/OS line near oversold + bullish divergence triangle on the chart + histogram bars turning bright cyan
When all of that lines up, the move has multiple things confirming it at the same time. That's when you pay attention.
A quick tip on the faded bars: Don't get excited about a tall bar if it's faded. Price can move fast on thin volume and snap right back. The vivid bars are the ones that tend to follow through.
Which timeframe to set HTF to:
Trading 1m or 5m → set HTF to 1H or 4H
Trading 15m or 1H → keep HTF on Daily
Trading 4H or Daily → set HTF to Weekly
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GOOD TO KNOW
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Does not repaint — signals are based on confirmed bars only
Divergence signals show up a few bars after the actual pivot
Looks best on a dark theme
Indicator

Luminance Breakout Engine [LuxAlgo]The Luminance Breakout Engine indicator is a high-performance momentum oscillator designed to identify institutional breakout zones and trend transitions through multi-timeframe analysis and adaptive volatility thresholds.
🔶 USAGE
The indicator functions as a comprehensive momentum "engine," mapping price velocity across four different timeframes into a single composite oscillator. It identifies high-probability breakout zones by monitoring when this composite momentum breaches adaptive volatility bands.
🔹 Luminance Glow Zones
When the oscillator enters the "Glow" zones (beyond the dotted thresholds), it indicates an extreme momentum breakout. These zones are often the precursor to sustained trends or significant institutional expansions. The oscillator changes color to a neon glow to highlight these high-intensity moves.
🔹 Institutional Order Blocks
At the exact moment a "Glow" breakout is triggered, the engine identifies the origin candle of that move and plots a Luminance Order Block (OB) on the price chart. These blocks represent areas where institutional liquidity was likely deployed to start the move.
🔹 Volume Breakdown Stats
Each Order Block features a unique "Volume Split" dashboard on the right edge. This provides a percentage-based breakdown of Bullish vs. Bearish volume during the five bars leading up to the breakout, helping traders understand the quality of the move's participation.
🔶 DETAILS
The script utilizes a weighted Composite Rate of Change (ROC) calculation across four periods (Fast, Medium, Slow, and Macro). This ensures that the oscillator only reaches extreme "Glow" levels when momentum is synchronized across multiple time-horizons.
The thresholds are not static; they use a standard deviation of the oscillator's own history to create an adaptive "envelope." This allows the indicator to remain sensitive during low-volatility periods while filtering out noise during highly volatile market conditions.
The Order Blocks remain active on the chart until "mitigated" (when a candle closes through the zone). Once mitigated, the internal volume data is cleared, and the zone becomes a dotted historical reference.
🔶 SETTINGS
🔹 Oscillator Settings
Fast/Medium/Slow/Macro Period: The lookback periods used for the multi-timeframe composite ROC calculation. Smoothing: The EMA length applied to the final oscillator to reduce noise.
🔹 Visual Settings
Threshold Multiplier: Controls the sensitivity of the breakout "Glow" zones. Higher values require more extreme momentum to trigger. Show Base Heatmap: Toggles the gradient fill between the zero line and the signal. Show Threshold Glow: Toggles the neon fills that appear during volatility breakouts.
🔹 Order Blocks
Show Luminance OBs: Enables the plotting of institutional zones on the price chart. Max OBs per Side: Limits the number of active/historical zones to keep the chart clean. Show Volume Stats: Toggles the B:XX% ┃ S:YY% volume breakdown labels. Label Offset: Shifts the statistics labels to the right to prevent overlap with price action. Label Size: Adjusts the text size of the volume statistics (Tiny, Small, Normal, Large).
🔹 Color Settings
Momentum Colors: Sets the primary colors for bullish and bearish trends. Glow Colors: Sets the high-intensity colors used during breakout phases. Zero Line Color: Customizes the appearance of the central equilibrium line. Indicator

Geometric Bias Oscillator [LuxAlgo]The Geometric Bias Oscillator indicator provides a normalized measure of market structure by comparing the cumulative magnitude of bullish and bearish segments derived from a simplified price path. It utilizes the Ramer-Douglas-Peucker (RDP) algorithm to filter out market noise, allowing traders to identify the underlying structural bias within a specific lookback window.
🔶 USAGE
The indicator oscillates between -100 and 100, where positive values indicate a dominant bullish structure and negative values indicate a dominant bearish structure. Unlike traditional oscillators that rely on raw price changes or moving averages, this tool focuses on the "weight" of simplified structural movements.
Traders can use the oscillator to:
Identify the prevailing trend bias based on structural significance rather than just closing prices.
Spot potential reversals when the oscillator crosses the zero line, signaling a shift in structural dominance.
Assess the strength of a trend; values near 100 or -100 suggest a highly directional market with very little structural retracement.
🔹 Visual Interpretation
The indicator features a dynamic gradient fill to provide better visual context. When the oscillator is above zero, a green gradient appears, with higher values showing increased intensity. Conversely, when below zero, a red gradient indicates bearish structural dominance. A hidden zero line serves as the central axis for these transitions.
🔶 DETAILS
The Geometric Bias Oscillator employs several advanced geometric concepts to determine market bias.
🔹 Ramer-Douglas-Peucker (RDP) Algorithm
The core of the calculation is the RDP algorithm, a line-simplification technique. It takes the price action over the defined "Window Size" and reduces it to a series of essential points. By eliminating minor price fluctuations (noise) that fall below a specific distance threshold, the algorithm reveals the primary "skeleton" of the market structure.
🔹 Coordinate Normalization
To ensure the simplification is consistent across different assets and volatility regimes, the script normalizes price coordinates using the Average True Range (ATR). Price values are divided by the ATR before the RDP distance calculations are performed. This ensures that the "ATR Multiplier" setting remains meaningful regardless of whether the asset is highly volatile or stable.
🔹 Structural Magnitude Calculation
Once the simplified structure is established, the script calculates the vertical distance (magnitude) of every segment in the path. These segments are categorized into bullish (upward) and bearish (downward) moves. The final oscillator value represents the percentage difference between the total bullish magnitude and the total bearish magnitude relative to the total structural movement.
🔶 SETTINGS
Window Size : The number of recent bars used to construct the structural path for the RDP algorithm.
ATR Multiplier : The sensitivity threshold for simplification. Higher values result in a more aggressive simplification, keeping only the most significant structural pivots.
ATR Length : The period used to calculate the ATR for price normalization.
Smoothing : Applies a Simple Moving Average to the final oscillator values to reduce jaggedness in the output.
Bullish Color : The color used for the oscillator and gradient when structural bias is positive.
Bearish Color : The color used for the oscillator and gradient when structural bias is negative.
Indicator

Stochastic Adaptive %D [LuxAlgo]The Stochastic Adaptive %D Difference Oscillator indicator provides a sophisticated alternative to classic momentum oscillators, prioritizing a balance between high-grade smoothing and adaptive reactivity. By calculating the divergence between a pre-smoothed Stochastic %D and a specialized Adaptive %D signal line, this tool highlights momentum shifts with significantly reduced noise while maintaining the ability to react quickly to trend accelerations.
🔶 USAGE
This indicator is designed for traders who require the clarity of a smooth oscillator without the lag typically associated with heavy filtering. The "Difference Oscillator" component serves as the primary visual guide, representing the spread between momentum and its adaptive average.
🔹 Signal Generation
The indicator features three main visual components:
Standard %D Line: A dual-smoothed stochastic calculation that acts as the core momentum measure, plotted as a dotted line.
Adaptive %D Line: A reactive signal line that adjusts its smoothing alpha based on market intensity, plotted as a dashed line.
Difference Oscillator: A histogram-style fill centered at the 50 midline. This represents the momentum "delta"—when price velocity accelerates away from the adaptive baseline, the oscillator expands, providing earlier warning of trend strength or exhaustion.
When the Standard %D leads the Adaptive %D, the oscillator fills green, suggesting bullish momentum. When it lags, it fills red, suggesting bearish momentum. The expansion and contraction of this fill help identify whether a trend is gaining or losing "torque" relative to its adaptive mean.
🔶 DETAILS
The script achieves its unique balance through a specialized architectural approach that focuses on conserving smoothness while remaining reactive to volatile shifts.
🔹 Smoothness Conservation
To eliminate the "jaggedness" often found in standard Stochastics, the indicator applies a pre-smoothing filter (SMA) to the High, Low, and Close sources. This ensures that the foundation of the calculation is filtered for noise before the Stochastic formula is even applied, resulting in much cleaner oscillations.
🔹 Adaptive Reactivity
The Adaptive %D signal line employs a variable alpha smoothing mechanism. The "speed" of the signal line is dynamically linked to the position of the %D relative to the 50 midline.
Trend Extremes: As momentum reaches overbought (80) or oversold (20) zones, the alpha increases. This allows the signal line to track the %D more aggressively, capturing the peak of the move.
Mean Reversion/Ranging: Near the 50 midline, the alpha decreases, making the signal line more "stubborn" and less prone to whipsaws during low-conviction market phases.
🔶 SETTINGS
🔹 Stochastic Settings
Stochastic Length: The lookback period used for the raw stochastic range calculation.
%K Smoothing: Determines the internal smoothing applied to produce the standard %D line.
Price Pre-Smoothing: The length of the SMA applied to price sources before the oscillator is calculated to ensure foundational smoothness.
🔹 Adaptive Smoothing Settings
Attenuation Factor: A sensitivity multiplier that controls the reactivity of the Adaptive %D. Higher values increase the "inertia" of the adaptive calculation, making the signal line more conservative.
🔹 Colors
Standard %D Color: Sets the color for the core momentum dotted line.
Adaptive %D Color: Sets the color for the reactive signal dashed line.
Bullish/Bearish Color: Defines the colors used for the Difference Oscillator's gradient fill.
Indicator

Isotonic Regression Oscillator [LuxAlgo]The Isotonic Regression Oscillator indicator aims to quantify the degree of trendiness and structural complexity in price movement by comparing non-decreasing and non-increasing fits. It uses the Pool Adjacent Violators Algorithm (PAVA) to determine the best-fitting monotonic sequence for a given period, providing a normalized oscillator that highlights the strength and direction of the underlying trend.
Note: The isotonic regression fit displayed on the price chart is subject to repainting and is displayed retrospectively to illustrate the most recent calculation window.
🔶 USAGE
The indicator consists of an oscillator oscillating between -100 and 100, and a visual fit line displayed on the price chart.
🔹 Interpretation
Positive Values: Indicate that a non-decreasing (bullish) fit has a lower Mean Squared Error (MSE) than a non-increasing fit. Higher values suggest a more complex, multi-step bullish structure.
Negative Values: Indicate that a non-increasing (bearish) fit has a lower MSE. Lower values suggest a more complex bearish structure.
Zero Crosses: A crossing of the zero line indicates a shift in the "best fit" direction, signaling a potential change in the dominant trend bias.
🔹 Fit Complexity
The magnitude of the oscillator is determined by the number of "pools" or steps in the regression fit. A value near 100 or -100 suggests a highly granular fit that closely follows the price movement, while values near 0 suggest a very simple, flat, or linear-like monotonic structure.
🔶 DETAILS
🔹 The PAVA Algorithm
Isotonic regression involves finding a series of non-decreasing (or non-increasing) values that are as close as possible to the original data points. The script implements the Pool Adjacent Violators Algorithm (PAVA). This algorithm works by iteratively averaging adjacent values that violate the monotonic constraint (e.g., in a non-decreasing fit, if a previous value is greater than the current value, they are pooled together and averaged).
🔹 MSE-Based Selection
For every bar, the indicator calculates two regressions: one forced to be non-decreasing and one forced to be non-increasing. It calculates the Mean Squared Error (MSE) for both. The fit with the lower MSE is selected as the representative model for the current price action.
🔹 Normalization
The oscillator value is normalized based on the number of unique "pools" (constant segments) found by the PAVA. The formula used is:
((Number of Pools - 1) / (Period - 1)) * 100
This scales the complexity of the trend into a readable range of 0 to 100 (or -100 for bearish fits).
🔶 SETTINGS
Period: The lookback window used to calculate the isotonic regression fits.
Source: The price data used for the calculations (defaults to Close).
🔹 Style
Bullish Color: The color used for the oscillator and fit line when the bullish fit is dominant.
Bearish Color: The color used for the oscillator and fit line when the bearish fit is dominant.
Fit Line Width: Controls the thickness of the polyline fit displayed on the chart.
Fit Line Style: Sets the visual style (Solid, Dashed, or Dotted) of the regression fit line.
Indicator

Trend Pressure Prism [LuxAlgo]The Trend Pressure Prism indicator is a comprehensive trend-analysis tool that synthesizes momentum, market structure, and pullback quality into a single composite oscillator to identify high-conviction trading opportunities.
🔶 USAGE
The indicator operates as a "prism," refracting price action through three distinct lenses to determine the total pressure behind a market move. Users can monitor the central ribbon to gauge trend strength and the "Agreement" metric to identify how unified the underlying forces are.
🔹 Trend States & Conviction
The oscillator fluctuates between -100 and 100. When the ribbon enters the "Extreme Zones" (above 80 or below -80), the background glows, signaling a period of high conviction.
Bullish Conviction: High positive pressure with unified agreement among the three pillars.
Bearish Conviction: High negative pressure with unified agreement among the three pillars.
Exhaustion: Occurs when the pressure score remains high but agreement drops below 50%, suggesting a potential reversal or thinning liquidity.
🔹 Filtered Crossover signals
The indicator includes a Signal Line (EMA) that generates entry and exit cues. To ensure only high-quality opportunities are highlighted, signals are filtered by primary conditions:
Relative Volume (RVOL): Ensures the move is backed by institutional participation.
Agreement Filter: Requires a minimum level of harmony between momentum and structure.
Dynamic Sizing: Signals are plotted as circles on the ribbon. Their size and opacity scale based on volume—larger, solid circles represent high-volume breakouts, while smaller circles indicate standard filtered moves.
🔶 DETAILS
The script is built upon three core components that form the Composite Pressure Score:
Momentum Drive: Measures the aggression of price movement using a normalized Rate of Change.
Structural Alignment: Analyzes price position relative to fast and slow EMAs to ensure the trend has structural support.
Pullback Quality: Evaluates the health of retracements by analyzing where price sits within its recent range.
The Agreement metric calculates the mathematical harmony between these three components. High agreement suggests a "perfect storm" where all three factors point in the same direction, increasing the probability of a sustained move.
🔹 Dashboard Information
The on-screen dashboard provides a real-time summary of the market's technical state:
Current State: Identifies the market regime, such as "Bullish/Bearish Conviction," "Exhaustion" (divergent forces), or "Glass / Neutral" (low-conviction environments).
Action: Provides a suggested context based on the prism's logic. This includes "Bullish/Bearish Cross" for potential entries, "Hold" for trending environments with high agreement, and "Wait" for low-conviction periods.
Pressure Score: The numerical value of the composite oscillator (-100 to 100).
Agreement: A percentage representing how unified the three internal forces are. Higher percentages indicate stronger confluence.
🔶 SETTINGS
🔹 Calculation Settings
Lookback Period: Determines the window used for momentum, structure, and range calculations.
Prism Sensitivity: Controls how reactive the normalized scores are to price changes.
Min Signal RVOL: The volume threshold required to trigger a signal circle (e.g., 1.2 requires 20% above average volume).
Min Signal Agreement: The required harmony between the 3 pillars (0.0 to 1.0) for a signal to appear.
🔹 Visual Settings
Prism Opacity: Adjusts the transparency of the central ribbon and conviction glows.
Enable Dashboard: Toggles the on-screen information panel.
Position/Size: Controls the placement and scale of the dashboard UI.
Indicator

Normalized Resonator [LuxAlgo]The Normalized Resonator indicator provides a specialized bandpass oscillator designed to isolate specific market cycles while maintaining a normalized scale for overbought and oversold analysis.
🔶 USAGE
The indicator can be used to identify cyclical turns in the market by isolating a specific frequency (period) and filtering out noise. Traders can use the oscillator to spot potential reversals when the price reaches extreme levels or when the main line crosses its signal line.
🔹 Trend Identification
Beyond reversal signals, the oscillator serves as a momentum and trend filter. When the oscillator is sustained above the zero line, it indicates a bullish cycle where the isolated frequency is currently in an upward phase. Conversely, values below zero indicate a bearish cycle. The distance from the zero line represents the strength of the cycle relative to its recent historical peaks.
🔹 Filtering and Momentum
The "Bandwidth" setting is crucial for practical application. A lower bandwidth (e.g., 0.1 - 0.3) creates a sharper filter that is highly selective of the central period, which is useful for identifying very specific recurring cycles but may increase lag. A wider bandwidth (e.g., 0.5 - 0.8) allows more price movement through, making the oscillator more reactive to momentum shifts and broader market swings.
🔹 Trading Signals
The script features built-in signals that appear on the main chart to highlight potential exhaustion points:
Bullish Reversal: Indicated by a green "▲" label below the price. This occurs when the oscillator crosses above the signal line while below the oversold threshold.
Bearish Reversal: Indicated by a red "▼" label above the price. This occurs when the oscillator crosses below the signal line while above the overbought threshold.
🔹 Combining with Price Action
For the best results, traders should look for confluence between the resonator signals and price action structures. For example, a bullish crossover occurring at a major horizontal support level or a trendline adds significant weight to the signal.
In trending markets, the resonator can be used to "buy the dip" by looking for bullish signals that occur when the higher-timeframe trend is up, rather than attempting to catch every reversal in both directions.
🔶 DETAILS
The script is built upon a digital resonator filter, which is a type of second-order bandpass filter. Unlike standard oscillators that use moving average differences, a resonator is mathematically tuned to "vibrate" at a specific frequency (the Center Period).
🔹 Normalization
Standard bandpass filters often have varying amplitudes depending on market volatility, which makes static levels difficult to use. This script solves this by implementing a normalization process. It calculates the highest absolute peak of the filter output over a rolling lookback period.
By dividing the raw filter output by this peak, the oscillator is squeezed into a range typically between -1 and +1, allowing for consistent Overbought (OB) and Oversold (OS) levels regardless of the asset's price scale or volatility.
🔶 SETTINGS
Center Period: The primary cycle length (in bars) the filter aims to isolate.
Bandwidth: Determines the width of the passband. Lower values result in a very sharp, selective filter. Higher values allow more frequencies to pass.
Lookback Multiplier: Sets the normalization window as a multiple of the Center Period. A value of 1.0 means the peak is searched for over a window equal to the Center Period.
Signal Line Period: The smoothing length for the Signal Line (EMA).
Overbought/Oversold: The threshold levels used to trigger the chart signals.
Signal Size: Adjusts the visual size of the "▲" and "▼" labels on the chart.
Indicator

Harmonic Resonance Oscillator [LuxAlgo]The Harmonic Resonance Oscillator indicator provides a specialized oscillator that decomposes price action into multiple harmonic cycles to identify confluence in market rotations.
By isolating short, medium, and long-term frequencies, the tool aims to pinpoint exhausted price movements and potential reversal zones through the concept of cyclic resonance.
🔶 USAGE
The Harmonic Resonance Oscillator can be used to identify market turning points by observing when the aggregate cycle resonance reaches extreme levels. Unlike standard oscillators that rely on a single lookback period, this tool aggregates multiple filtered cycles to provide a more robust view of market momentum and exhaustion.
When the oscillator enters the dynamic overbought (upper) or oversold (lower) zones, it indicates that the various price cycles are aligning at an extreme, often preceding a corrective move or a trend reversal.
🔹 Harmonic Multipliers
The script uses a Reference Period combined with three multipliers to define the cycles:
The Short Multiplier captures fast, intraday-style fluctuations.
The Medium Multiplier focuses on the primary trend rhythm.
The Long Multiplier tracks broader market cycles.
When all three cycles reach peak or trough levels simultaneously, the oscillator displays a "resonance" peak, which is highlighted by background coloring if the signal exceeds the dynamic thresholds.
🔶 DETAILS
The indicator is built upon three primary technical pillars:
🔹 Ehlers' Bandpass Filter
At its core, the indicator uses John Ehlers' Cycle decomposition method. The bandpass filter is designed to pass only price components within a specific frequency range while attenuating everything else. This allows the script to "tune in" to specific market rhythms without the lag typically associated with moving averages.
🔹 Normalization & Resonance
Each isolated cycle is normalized onto a scale of 0 to 100 using a specific lookback length. The final "Harmonic Resonance" signal is the arithmetic mean of these three normalized cycles. A value of 50 represents a neutral state, while values approaching 0 or 100 represent extreme harmonic alignment.
🔹 Dynamic Volatility-Adjusted Zones
The Overbought and Oversold thresholds are not static. They adjust dynamically based on the standard deviation of the resonance signal. During periods of high cyclic volatility, the bands expand to require stronger confluence for a signal; during low volatility, the bands contract to stay sensitive to smaller market rotations.
🔶 SETTINGS
🔹 Harmonic Settings
Reference Period: The base period used to calculate the harmonic cycles.
Short Multiplier: Multiplier applied to the reference period for the short-term cycle.
Medium Multiplier: Multiplier applied to the reference period for the medium-term cycle.
Long Multiplier: Multiplier applied to the reference period for the long-term cycle.
Bandwidth: Controls the "tightness" of the bandpass filter. Lower values isolate specific cycles more precisely.
🔹 Normalization Settings
Normalization Lookback: The window used to scale the cycles and calculate the volatility of the resonance signal.
🔹 Overbought / Oversold Control
Overbought Threshold: The base level for the upper dynamic zone (default 80).
Oversold Threshold: The base level for the lower dynamic zone (default 20).
🔹 Style
Bullish Color: Color of the oscillator when above the 50 midpoint.
Bearish Color: Color of the oscillator when below the 50 midpoint.
Overbought Color: Color of the upper dynamic threshold.
Oversold Color: Color of the lower dynamic threshold.
Show Background Highlighting: Toggles the background coloring when resonance reaches extreme levels.
Indicator

Rhokeo-VW-RSI Histogram for Cumulative Delta by ZeiirmanRhokeo-VW-RSI Histogram: Volume-Weighted Momentum (use with Cumulative Delta from Zeiierman) Note that Cumulative Delta is a paid indicator.
Overview: The Rhokeo-VW-RSI Histogram is a momentum oscillator designed to filter out market noise by integrating volume directly into the RSI calculation. Unlike a standard RSI, which only considers price change, this indicator weights those changes by the volume occurring at the time.
It creates a momentum profile in the form of a Histogram. If the price moves on high volume, the indicator reflects that strong market interest through its volume-weighted gain and loss calculations. It is particularly effective as a complementary filter for “Cumulative Delta” from Zeiierman to confirm the strength behind a move before you enter a trade.
How It Works The indicator operates on a normalized scale of -1.0 to +1.0 for easier visual interpretation and compatibility with Cumulative Delta indicator:
• The Volume-Weighted Core: Gains and losses are calculated by multiplying the price change by volume to ensure the "Relative Strength" reflects true capital flow.
• Smoothing for Clarity: The raw Volume Weighted RSI (VW-RSI) is processed through a customizable Moving Average—such as SMA, EMA, SMMA, WMA, or VWMA—to produce the smooth histogram.
• Four-Zone Coloring System: The histogram changes color dynamically based on momentum intensity:
o Strong Bull: Price is trending up with high-volume conviction.
o Weak Bull: Positive momentum, but not yet overextended.
o Weak Bear: Negative momentum starting to build.
o Strong Bear: Heavy selling pressure with high-volume conviction.
Key Features
• Shading: The background features optional red and green shading in the "Extreme" zones to warn traders of potential exhaustion areas.
• Dynamic Zero Line: The center line flips color between Green and Red based on whether the VW-RSI is positive or negative.
• Customization: Traders can adjust the smoothing length, source price, and the specific levels for overbought/oversold zones.
Best Use Case for New Traders: New traders often get "faked out" by price spikes that have no volume behind them. This indicator helps confirm and time better entries:
1. Wait for your Cumulative Delta indicator to give a signal.
2. Check the VW-RSI Histogram and whether it confirms or not.
3. Long Entry: Only enter if the histogram is positive and rising (above 0).
4. Short Entry: Only enter if the histogram is negative and decreasing (below 0).
________________________________________
Disclaimer
Financial Risk:
• Trading involves significant risk, and most traders lose money.
• This indicator is a tool for technical analysis and does not constitute financial, investment, or trading advice.
• Past performance is not indicative of future results; never trade with money you cannot afford to lose.
Usage & Reliability:
• The Rhokeo-VW-RSI Histogram is provided "as-is" for educational and informational purposes only.
• While volume-weighting aims to filter market noise, no indicator can guarantee 100% accuracy or predict future market movements with certainty.
• This script is intended to be a complementary tool that works well with other indicators in this case the Cumulative Delta from Zeiirman; it should be used in conjunction with other forms of analysis, risk management, and your own due diligence.
Commercial Notice:
• If you are using this alongside a third-party paid indicator, please note that I am not responsible for the performance or support of external products.
• Users are responsible for their own trade execution and account management.
Indicator

MTF RSI Confluence (3 TFs) + Table + AlertsThis indicator displays RSI confluence across three user-selectable timeframes in a single oscillator pane. It's designed to help you quickly confirm whether momentum conditions (overbought/oversold/neutral) align across multiple time horizons before acting.
What it does
- Plots three RSI lines at once, each sourced from a different timeframe (defaults: 5m / 15m / 1H ).
- Applies independent overbought/oversold thresholds per timeframe , so each RSI can be evaluated with its own rules.
- Shows a color-coded table summarizing:
- timeframe
- RSI value
- status (OVERBOUGHT / NEUTRAL / OVERSOLD)
- that timeframe's OB/OS levels
- Highlights the pane background when there is full confluence:
- All 3 overbought (red tint)
- All 3 oversold (green tint)
- Provides alert conditions when all three timeframes agree on overbought or oversold.
How it works (key logic)
- RSI is calculated per timeframe using request.security() with lookahead=barmerge.lookahead_off to avoid forward-looking values.
- Each timeframe's RSI is classified:
- RSI >= Overbought → Overbought
- RSI <= Oversold → Oversold
- otherwise → Neutral
- Confluence triggers when all three statuses match (all overbought or all oversold).
- Signals/alerts are gated by barstate.isconfirmed so the confluence events only trigger on confirmed bars (reduces repaint-like behavior on the current forming bar).
How to use it
1. Add to chart (works on any symbol: crypto, forex, indices, stocks).
2. Configure:
- RSI Length (1–200)
- TF1 / TF2 / TF3 (any PulseWire timeframe string)
- OB/OS per timeframe with input constraints:
- Overbought: 50–100
- Oversold: 0–50
- Optional: enable/disable the table and choose its position.
3. Interpret output:
- RSI line colors reflect status (red = overbought, green = oversold, gray = neutral).
- Table provides an at-a-glance confluence dashboard.
- Use alerts for "all oversold" or "all overbought" as a filter for entries/exits or as a regime warning.
Recommended usage
- Works well on lower chart timeframes (1m–15m) to confirm setups with a higher timeframe (e.g., 1H / 4H).
- Typical approach:
- Look for all-oversold confluence during uptrends (potential pullback exhaustion).
- Look for all-overbought confluence during downtrends (potential bounce exhaustion).
- Consider pairing with trend context (moving averages, market structure) to avoid counter-trend signals.
What makes it useful/original
- Combines three MTF RSI readings + independent thresholds into one pane and a compact table, reducing chart clutter.
- Uses non-forward-looking MTF data (lookahead_off) and confirmed-bar gating for more reliable confluence alerts.
- Clear "traffic light" style status labeling to support fast discretionary decisions and alert-driven workflows.
Disclaimer
This script is for educational and informational purposes only and does not constitute financial advice. Alerts and signals are based on historical/hypothetical calculations and do not guarantee future results. Always manage risk and validate signals within your own trading plan. Indicator

Crypto PCA [LuxAlgo]The Crypto PCA indicator provides a sophisticated, multi-asset sentiment gauge by applying Principal Component Analysis (PCA) to a basket of the top 20 cryptocurrencies.
By extracting the primary driver of variance across these assets, the tool offers a "market-wide" oscillator that filters out individual coin noise to highlight the dominant trend and sentiment shifts in the crypto space.
In modern quantitative finance, PCA is used to reduce dimensionality and identify the underlying factors that move a group of assets. This indicator brings that institutional-grade approach to the retail trader, condensing the price action of Bitcoin, Ethereum, Solana, and 17 other majors into a single, actionable signal.
🔶 USAGE
The script serves as a macro-sentiment oscillator, allowing traders to see the "hidden" force driving the crypto market. It is designed to identify when the market is moving in unison and when that collective movement has reached an extreme.
🔹 Identifying Market Regimes
The primary use of the PCA line (PC1) is to determine the current market regime. When the oscillator is above the zero line and colored green, it indicates that the majority of the top 20 assets are experiencing positive variance, signaling a broad bullish regime. Conversely, when the line is below zero and colored red, the market is in a collective bearish state. Traders can use this to align their individual trades with the direction of the total market energy.
🔹 Using Snapshot Mode for Situational Analysis
While the continuous mode is ideal for long-term trend following, the Snapshot Mode provides a focused view of market dynamics over the most recent lookback window. This mode isolates the current sentiment cycle, allowing traders to see the specific trajectory and "shape" of the latest move without the influence of older historical data.
By enabling Snapshot Mode, you can analyze the immediate internal structure of the market. It is particularly useful for identifying whether a recent pump or dump is a coordinated market-wide event or a more fragmented move. This helps in distinguishing between a broad structural shift and a temporary volatility spike.
🔹 Spotting Overextended Sentiment
The indicator includes dashed horizontal lines at +2 and -2, representing standard deviation thresholds. Because the assets are standardized before calculation, these levels mark statistical extremes.
Overbought Extremes: When the PCA line exceeds +2, the broad market is significantly overextended to the upside. This often precedes a cooling-off period or a mean-reversion event across the entire sector.
Oversold Extremes: When the PCA line drops below -2, it suggests a "panic" or exhausted selling state across the basket. This can signal potential bottoming interest or a relief rally.
🔹 Gauging Relative Strength
The faint "ghost" lines in the background represent the individual standardized price paths of the 20 included assets. By comparing these to the main PCA line, traders can identify leaders and laggards. An asset line that stays consistently above the PCA line during a rally is exhibiting relative strength, while an asset trailing below the PCA line is underperforming the market average.
🔶 DETAILS
The indicator follows a rigorous mathematical pipeline to ensure the data is statistically significant and comparable across assets with different price scales.
🔹 Standardization (Z-Scores)
Before performing PCA, every asset must be on the same scale. The script converts the price of all 20 assets into Z-scores based on the user-defined Lookback Period. A Z-score tells us how many standard deviations a price is from its mean. This allows the movement of a high-priced asset like BTC to be mathematically compared to a lower-priced asset like PEPE.
🔹 The Basket & PCA Approximation
The indicator includes the following assets: BTC, ETH, BNB, XRP, SOL, TRX, DOGE, ADA, BCH, WBTC, XLM, LTC, HBAR, LINK, AVAX, PEPE, DOT, UNI, NEAR, and ICP.
The script uses a correlation-based approximation to find the First Principal Component. It calculates the correlation of each asset to the equally weighted basket and uses these correlations as "loadings" to compute the PC1. This ensures that assets moving in sync with the general market trend are given higher priority in the final oscillator value.
🔹 Why PCA?
Most "Crypto Indices" are simply weighted averages. PCA is superior because it identifies the commonality between assets. If 18 coins are moving up and 2 are moving down, PCA gives more weight to the 18 moving together, as they represent the "Principal Component" of the market's current energy.
🔶 SETTINGS
🔹 Main Settings
Lookback Period (N): Determines the window used for Z-score standardization and PCA calculation. A shorter period makes the indicator more reactive, while a longer period identifies macro-cycle shifts.
Z-Score Smoothing: Applies a Simple Moving Average (SMA) to the standardized asset values before the PCA calculation. This effectively filters out high-frequency noise and produces a smoother principal component line, which is useful for reducing false regime shifts in volatile markets.
Enable Snapshot Mode: Switches the visual output from a continuous rolling line to a static view of the PCA over the most recent lookback window.
🔹 Visual Settings
Standardized Assets Color: Controls the color and transparency of the 20 individual asset lines.
Bull/Bear Colors: Defines the colors used for positive and negative market sentiment.
Disclaimer: This indicator is a statistical tool for sentiment analysis and does not constitute financial advice. The PCA approach measures variance and correlation, not guaranteed future direction. Indicator

Std Dev Zones MTFStd Dev Zones MTF Key Features Overview
• ⭐ Built using ADR10 (Average Daily Range) logic to measure volatility-based standard deviation zones from timeframe open.
• ⚙️ ADR10 STD DEV Zones Pine v6 — MTF support for Daily, H4, H8, H12 timeframes for multi-timeframe volatility analysis.
• 📦 Dynamic zones calculated from period open (Daily/H4/H8/H12) using average range = clean, objective volatility structure.
• 📊 ±0.5 SD zones = neutral territory — price within normal range from open.
• 📈 +0.75 SD & +1.0 SD = OVERBOUGHT zones — price extended above normal range, potential exhaustion or reversal area.
• 📉 -0.75 SD & -1.0 SD = OVERSOLD zones — price extended below normal range, potential exhaustion or reversal area.
• 🔥 +1.25 SD = MAX OVERBOUGHT — extreme extension above open, highest volatility threshold for exits/profit-taking.
• 🧊 -1.25 SD = MAX OVERSOLD — extreme extension below open, highest volatility threshold for exits/profit-taking.
• 🧠 Adjustable zone thickness (% of ADR10) so zones scale with market volatility — perfect for Gold, Forex, Crypto swings.
• 🎨 Color-coded zones with large labels inside each zone for instant visual clarity — no interpretation lag.
• 🧭 Zones extend throughout the trading period so you can track price behavior relative to volatility bands.
• 🟩🟪 Dual color system for upper/lower zones + descriptive labels - zero confusion on market extension.
• 🧼 Clean overlay display: zones + open line = actionable, minimal, fast volatility assessment.
• ⭐ Apply to your M15/M30/H1/H4 PulseWire chart — your volatility roadmap for Gold, FX, Crypto, Indices.
• 🚀 Use for exit planning & take-profit levels at overbought/oversold extremes — NOT for standalone entry signals.
• 📦 Enable/Disable individual zone levels (±0.5, ±0.75, ±1.0, ±1.25) to customize your chart view.
• 📦 Too cluttered? Adjust "Periods to Show" or increase zone thickness % from settings.
• 🎯 How to use this? Monitor price behavior at overbought/oversold zones for potential reversals or continuations. Use Max Overbought/Oversold levels for aggressive profit-taking. Combine with your entry system for complete trade management.
• ⚠️ IMPORTANT NOTICE: This indicator is designed to measure market volatility and identify potential exit/take-profit zones. It should NOT be used as a standalone signal for entering trades. Use it in conjunction with your trading strategy to assess overbought/oversold conditions and plan exits.
NQ
GBPUSD
BTCUSD
Indicator

Indicator

Tanh Clamped Momentum Oscillator [Alpha Extract]A sophisticated momentum measurement system that combines dual EMA trend analysis with volatility-weighted pressure calculations, applying hyperbolic tangent normalization for bounded oscillator output with adaptive signal generation. Utilizing ATR-based volatility regime detection and candle pressure metrics, this indicator delivers institutional-grade momentum assessment with multi-tiered band structure and pulse-based envelope visualization. The system's tanh clamping methodology prevents extreme outliers while maintaining sensitivity to genuine momentum shifts, combined with histogram divergence detection and comprehensive alert framework for high-probability reversal and continuation signals.
🔶 Advanced Dual-Component Momentum Engine
Implements hybrid calculation combining EMA trend differential with candle pressure analysis, weighted by volatility regime assessment for context-aware momentum measurement. The system calculates fast and slow EMA difference normalized by ATR, measures intrabar pressure as close-open relative to range, applies volatility-based weighting between trend and pressure components, and produces composite raw momentum capturing both directional bias and internal candle dynamics.
// Core Momentum Framework
EMA_Fast = ta.ema(src, Fast_Length)
EMA_Slow = ta.ema(src, Slow_Length)
Trend = EMA_Fast - EMA_Slow
// Volatility Regime Detection
ATR_Short = ta.atr(ATR_Length)
ATR_Long = ta.atr(ATR_Length * 2)
Vol_Ratio = ATR_Short / ATR_Long
Vol_Weight = clamp((Vol_Ratio - 0.5) / 1.0, 0, 1)
// Pressure Component
Pressure = (close - open) / (high - low)
// Composite Momentum
Raw = Trend_Normalized * Vol_Weight + Pressure_Scaled * (1 - Vol_Weight)
🔶 Hyperbolic Tangent Normalization Framework
Features sophisticated tanh transformation that clamps raw momentum into bounded range while preserving proportional sensitivity across varying market conditions. The system applies safe exponential calculations with input capping to prevent overflow, computes hyperbolic tangent to compress extreme values while maintaining linearity near zero, and scales output by configurable factor creating oscillator with enhanced dynamic range and reduced outlier distortion.
// Tanh Clamping Logic
tanh(x) =>
x_clamped = clamp(x, -5.0, 5.0)
e = exp(2.0 * x_clamped)
(e - 1.0) / (e + 1.0)
Oscillator = tanh(Smoothed_Momentum / Clamp_Factor) * Scale
🔶 Volatility Regime Weighting System
Implements intelligent volatility assessment comparing short-term and long-term ATR to determine market regime, dynamically adjusting weight between trend and pressure components. The system calculates ATR ratio, normalizes to 0-1 range, and uses this weight factor to emphasize trend component during high-volatility regimes and pressure component during low-volatility consolidations, creating adaptive momentum sensitive to market microstructure.
🔶 Multi-Tiered Band Architecture
Provides comprehensive threshold structure with soft, hard, and maximum bands marking progressive momentum extremes for graduated overbought/oversold assessment. The system establishes configurable levels at soft zones (initial caution), hard zones (strong extreme), and maximum zones (critical overextension) with visual differentiation through line styles and background highlighting, enabling nuanced interpretation beyond binary extreme detection.
🔶 Pulse Envelope Visualization
Features dynamic envelope bands calculated from exponential moving average of absolute oscillator value, creating adaptive boundary that expands during momentum acceleration and contracts during deceleration. The system applies configurable length and width multiplier to pulse calculation, fills area between positive and negative pulse bounds with gradient coloring matching oscillator direction, providing visual context for momentum magnitude relative to recent activity.
🔶 Signal Line Integration Framework
Implements dual-mode signal line supporting both EMA and SMA smoothing of primary oscillator for crossover-based swing detection. The system calculates configurable-length moving average, generates histogram differential between oscillator and signal, applies additional smoothing to histogram for noise reduction, and uses crossovers/crossunders as momentum swing indicators distinguishing bullish and bearish momentum shifts.
🔶 Histogram Divergence Display
Creates column-style histogram visualization showing oscillator-signal differential with intensity-based coloring reflecting momentum acceleration or deceleration. The system plots histogram bars in bright colors when expanding (accelerating momentum) and faded colors when contracting (decelerating momentum), enabling instant visual identification of momentum divergences and convergences without numerical analysis.
🔶 Advanced Reversion Signal Logic
Generates overbought/oversold signals requiring both signal line crossover and extreme threshold breach for high-conviction reversal identification. The system triggers oversold when oscillator crosses above signal while below negative reversion level, triggers overbought when crossing below signal while above positive reversion level, and plots small circle markers at signal locations for clear visual confirmation of setup conditions.
🔶 Comprehensive Alert Framework
Provides six distinct alert conditions covering overbought/oversold reversions, midline trend changes, and oscillator-signal swings with configurable notification preferences. The system includes alerts for extreme reversions (OB/OS), zero-line crossovers (trend changes), and signal line crossovers (momentum swings), enabling traders to monitor critical oscillator events across multiple signal types without constant chart observation.
🔶 Adaptive Bar Coloring System
Implements four coloring modes including midline cross (trend direction), extremities (threshold breach), reversions (OB/OS signals), and slope (oscillator vs signal) for customizable visual integration. The system applies selected color scheme to candles providing chart-level momentum feedback, with option to disable coloring for minimal visual interference while maintaining oscillator pane analysis.
🔶 Performance Optimization Architecture
Utilizes efficient tanh calculation with safe clamping, streamlined EMA computations, and optimized ATR ratio processing for smooth real-time updates. The system includes intelligent null handling, minimal recalculation overhead through smart smoothing application, and configurable display toggles allowing users to disable unused visual elements for enhanced performance during extended historical analysis.
🔶 Why Choose Tanh-Clamped Momentum Oscillator ?
This indicator delivers sophisticated momentum analysis through hybrid trend-pressure calculation with volatility-adaptive weighting and hyperbolic tangent normalization. Unlike traditional momentum oscillators susceptible to extreme outlier distortion, the tanh clamping ensures bounded output while preserving sensitivity to genuine momentum shifts. The system's dual-component architecture combining directional trend with intrabar pressure, weighted by volatility regime assessment, creates context-aware momentum measurement that adapts to market microstructure. The multi-tiered band structure, pulse envelope visualization, and comprehensive signal framework make it essential for traders seeking nuanced momentum analysis with graduated extreme detection and high-probability reversal signals across cryptocurrency, forex, and equity markets. Indicator

Smart RSI Candles [DotGain]Smart RSI Candles – Description
Smart RSI Candles is a minimalist yet powerful overlay indicator that visualizes RSI conditions directly on price candles. Instead of plotting a separate RSI oscillator, this tool colors the chart bars based on customizable RSI threshold levels, allowing traders to instantly identify overbought and oversold regimes within the price action itself.
The indicator is built on the classic Wilder RSI and supports up to three upper (overbought) and three lower (oversold) levels. Each level can be individually enabled or disabled, making the indicator fully modular and adaptable to different trading styles and market conditions.
Key Features
RSI-based candle coloring (no separate panel required)
Up to 6 customizable RSI levels
Individual On/Off toggle for each level
Extreme conditions highlighted in blue
Works on any market and timeframe
Clean, non-intrusive visual design
Color Logic
Overbought (Upper Levels)
Level 1: Light green → mild overbought
Level 2: Dark green → strong overbought
Level 3: Blue → extreme overbought
Oversold (Lower Levels)
Level 1: Light red → mild oversold
Level 2: Dark red → strong oversold
Level 3: Blue → extreme oversold
Neutral RSI values keep the original candle color.
How to Use
Use upper levels to identify potential exhaustion in bullish moves.
Use lower levels to spot potential panic or capitulation zones.
Combine with trend analysis, support/resistance, or volume for confirmations.
Disable specific levels to create conservative or aggressive RSI regimes.
Use Cases
Mean reversion strategies
Momentum exhaustion detection
Visual risk regime mapping
Multi-timeframe RSI context
Smart RSI Candles is designed for traders who want RSI information integrated directly into price, without clutter — fast, intuitive, and highly customizable.
Have fun :)
Disclaimer
This Smart RSI Candles indicator is provided for informational and educational purposes only. It does not, and should not be construed as, financial, investment, or trading advice.
This indicator is an independent implementation of a Relative Strength Index (RSI) based visualization tool and is not affiliated with, or endorsed by, any third-party trading systems, strategies, or trademarked methodologies. The colored candles displayed by this indicator are generated by a predefined set of algorithmic conditions based on RSI threshold levels. They do not constitute a direct recommendation to buy or sell any financial instrument.
All trading and investing in financial markets involves a substantial risk of loss. You may lose part or all of your invested capital. Past performance does not guarantee future results. This indicator highlights potential overbought and oversold market conditions and may produce false, lagging, or misleading signals. Market conditions can change rapidly and remain irrational longer than expected.
The creator DotGain assumes no responsibility or liability for any financial losses, damages, or decisions made based on the use of this indicator or the information it provides.You are solely responsible for your own trading and investment decisions. Always conduct your own research (DYOR), use proper risk management, validate signals with additional tools or analysis, and consider your personal financial situation and risk tolerance before entering any trade. Indicator

Unreached Highs/Lows Oscillator [LuxAlgo]The Unreached Highs/Lows Oscillator highlights the amount of unreached high/low prices as a percentage over time, helping visualize trend strength and momentum from bullish and bearish market participants.
🔶 USAGE
This indicator measures the strength of directional price movements, helping traders visualize the strength of both the bullish and bearish market participants.
When prices are moving up with strength, the price structure will not come back to retest previous lows. Therefore, unreached lows keep adding up.
When prices are moving down with strength, they will not retest previous highs; therefore, unreached highs keep adding up.
As we can see on the chart, high readings of unreached highs (red) and low readings of unreached lows (green) are considered bearish, and a downtrend in price confirms this bias. Conversely, high readings of unreached lows and low readings of unreached highs are considered bullish. On the chart, this is reflected as an uptrend.
Additionally, the oscillator can reveal significant breakouts on the chart, with unreached highs or lows decreasing rapidly indicating that a large number of highs/lows have been reached.
Due to the oscillator being normalized, overbought and oversold levels are included.
In this gold chart, we have different examples of how to use the tool in conjunction with price behavior to understand the market. Let's dissect it step by step:
1. Uptrend: Bullish readings are above 80, and bearish readings are below 20. The market is trending up.
2. Range: Mixed readings around 50 for both bullish and bearish; the market is ranging.
3. Uptrend: The same as before. Bullish above 80 and bearish below 20.
4. Pullback: A bullish dip below 80 to 50 and a bearish reading below 20 indicates a pullback.
5. Range: Mixed readings. In this case, it is bullish above and below 80 and bearish above and below 20. The market is ranging.
6. Uptrend: Bullish above 80 and bearish below 20; the market keeps moving up.
7. Pullback: Bullish dips below 80 and bearish rises to 50 indicate a pullback.
8. Uptrend: As before, bullish is above 80 and bearish is below 20; the market is trending up.
This Bitcoin chart shows how to use extreme readings of 0 and 100 to detect potential reversals. When both readings are at extreme opposites, we set the threshold level at 100 and 0 instead of the default levels of 80 and 20 to better identify these areas.
As we can see, extreme readings at points 1 and 5 identify major reversals that lead to a change in trend. Extreme readings at points 2, 3, 4, and 6 identify minor reversals that do not lead to a change in trend.
From the settings panel, traders can adjust the length parameter. A smaller value measures smaller price movements, while a larger value measures larger price movements. A length value of 20 is used by default.
The chart shows how different values affect bullish and bearish measures.
🔶 SETTINGS
Length: Select the maximum number of highs and lows to be used.
🔹 Style
Bullish: Select a color for unreached lows.
Bearish: Select a color for unreached highs.
Top Threshold: Select the top threshold level and color. Enable the Auto feature to choose the default color.
Bottom Threshold: Select the bottom threshold level and color. Enable the Auto feature to choose the default color.
Indicator

Adaptive RSI [BOSWaves]Adaptive RSI - Percentile-Based Momentum Detection with Dynamic Regime Thresholds
Overview
Adaptive RSI is a self-calibrating momentum oscillator that identifies overbought and oversold conditions through historical percentile analysis, constructing dynamic threshold boundaries that adjust to evolving market volatility and momentum characteristics.
Instead of relying on traditional fixed RSI levels (30/70 or 20/80) or static overbought/oversold zones, regime detection, threshold placement, and signal generation are determined through rolling percentile calculation, smoothed momentum measurement, and divergence pattern recognition.
This creates adaptive boundaries that reflect actual momentum distribution rather than arbitrary fixed levels - tightening during low-volatility consolidation periods, widening during trending environments, and incorporating divergence analysis to reveal momentum exhaustion or continuation patterns.
Momentum is therefore evaluated relative to its own historical context rather than universal fixed thresholds.
Conceptual Framework
Adaptive RSI is founded on the principle that meaningful momentum extremes emerge relative to recent price behavior rather than at predetermined numerical levels.
Traditional RSI implementations identify overbought and oversold conditions using fixed thresholds that remain constant regardless of market regime, often generating premature signals in strong trends or missing reversals in range-bound markets. This framework replaces static threshold logic with percentile-driven adaptive boundaries informed by actual momentum distribution.
Three core principles guide the design:
Threshold placement should correspond to historical momentum percentiles, not fixed numerical levels.
Regime detection must adapt to current market volatility and momentum characteristics.
Divergence patterns reveal momentum exhaustion before price reversal becomes visible.
This shifts oscillator analysis from universal fixed levels into adaptive, context-aware regime boundaries.
Theoretical Foundation
The indicator combines smoothed RSI calculation, rolling percentile tracking, adaptive threshold construction, and multi-pattern divergence detection.
A Hull Moving Average (HMA) pre-smooths the price source to reduce noise before RSI computation, which then undergoes optional post-smoothing using configurable moving average types. Confirmed oscillator values populate a rolling historical buffer used for percentile calculation, establishing upper and lower thresholds that adapt to recent momentum distribution. Regime state persists until the oscillator crosses the opposing threshold, preventing whipsaw during consolidation. Pivot detection identifies swing highs and lows in both price and oscillator values, enabling regular divergence pattern recognition through comparative analysis.
Five internal systems operate in tandem:
Smoothed Momentum Engine : Computes HMA-preprocessed RSI with optional post-smoothing using multiple MA methodologies (SMA, EMA, HMA, WMA, DEMA, RMA, LINREG, TEMA).
Historical Buffer Management : Maintains a rolling array of confirmed oscillator values for percentile calculation with configurable lookback depth.
Percentile Threshold Calculation : Determines upper and lower boundaries by extracting specified percentile values from sorted historical distribution.
Persistent Regime Detection : Establishes bullish/bearish/neutral states based on threshold crossings with state persistence between signals.
Divergence Pattern Recognition : Identifies regular bullish and bearish divergences through synchronized pivot analysis of price and oscillator values with configurable range filtering.
This design allows momentum interpretation to adapt to market conditions rather than reacting mechanically to universal thresholds.
How It Works
Adaptive RSI evaluates momentum through a sequence of self-calibrating processes:
Source Pre-Smoothing: Input price undergoes 4-period HMA smoothing to reduce bar-to-bar noise before oscillator calculation.
RSI Calculation: Standard RSI computation applied to smoothed source over configurable length period.
Optional Post-Smoothing: Raw RSI value undergoes additional smoothing using selected MA type and length for cleaner regime detection.
Historical Buffer Population: Confirmed oscillator values accumulate in a rolling array with size limit determined by adaptive lookback parameter.
Percentile Threshold Extraction: Array sorts on each bar to calculate upper percentile (bullish threshold) and lower percentile (bearish threshold) values.
Regime State Persistence: Bullish regime activates when oscillator crosses above upper threshold, bearish regime activates when crossing below lower threshold, neutral regime persists until directional threshold breach.
Pivot Identification: Swing highs and lows detected in both oscillator and price using configurable left/right parameters.
Divergence Pattern Matching: Compares pivot relationships between price and oscillator within min/max bar distance constraints to identify regular bullish (price LL, oscillator HL) and bearish (price HH, oscillator LH) divergences.
Together, these elements form a continuously updating momentum framework anchored in statistical context.
Interpretation
Adaptive RSI should be interpreted as context-aware momentum boundaries:
Bullish Regime (Blue): Activated when oscillator crosses above upper percentile threshold, indicating momentum strength relative to recent distribution favors upside continuation.
Bearish Regime (Red): Established when oscillator crosses below lower percentile threshold, identifying momentum weakness relative to recent distribution favors downside continuation.
Upper Threshold Line (Blue)**: Dynamic resistance level calculated from upper percentile of historical oscillator distribution - adapts higher during trending markets, lower during ranging conditions.
Lower Threshold Line (Red): Dynamic support level calculated from lower percentile of historical oscillator distribution - adapts lower during downtrends, higher during consolidation.
Regime Fill: Gradient coloring between oscillator and baseline (50) visualizes current momentum intensity - stronger color indicates greater distance from neutral.
Extreme Bands (15/85): Upper and lower extreme zones with strength-modulated transparency reveal momentum extremity - darker shading during powerful moves, lighter during moderate momentum.
Divergence Lines: Connect price and oscillator pivots when divergence pattern detected, appearing on both price chart and oscillator pane for confluence identification.
Reversal Markers (✦): Diamond signals appear at 80+ (bearish extreme) and sub-15 (bullish extreme) levels, marking potential exhaustion zones independent of regime state.
Percentile context, divergence confirmation, and regime persistence outweigh isolated oscillator readings.
Signal Logic & Visual Cues
Adaptive RSI presents four primary interaction signals:
Regime Switch - Long : Oscillator crosses above upper percentile threshold after previously being in bearish or neutral regime, suggesting momentum strength shift favoring bullish continuation.
Regime Switch - Short : Oscillator crosses below lower percentile threshold after previously being in bullish or neutral regime, indicating momentum weakness shift favoring bearish continuation.
Regular Bullish Divergence (𝐁𝐮𝐥𝐥) : Price forms lower low while oscillator forms higher low, revealing positive momentum divergence during downtrends - often precedes reversal or consolidation.
Regular Bearish Divergence (𝐁𝐞𝐚𝐫) : Price forms higher high while oscillator forms lower high, revealing negative momentum divergence during uptrends - often precedes reversal or correction.
Alert generation covers regime switches, threshold crossings, and divergence detection for systematic monitoring.
Strategy Integration
Adaptive RSI fits within momentum-informed and mean-reversion trading approaches:
Adaptive Regime Following : Use threshold crossings as primary trend inception signals where momentum confirms directional breakouts within statistical context.
Divergence-Based Reversals : Enter counter-trend positions when divergence patterns appear at extreme oscillator levels (above 80 or below 20) for high-probability mean-reversion setups.
Threshold-Aware Scaling : Recognize that tighter percentile spreads (e.g., 45/50) generate more signals suitable for ranging markets, while wider spreads (e.g., 30/70) filter for stronger trend confirmation.
Extreme Zone Confluence : Combine reversal markers (✦) with divergence signals for maximum-conviction exhaustion entries.
Multi-Timeframe Regime Alignment : Apply higher-timeframe regime context to filter lower-timeframe entries, taking only setups aligned with dominant momentum direction.
Smoothing Optimization : Increase smoothing length in choppy markets to reduce false signals, decrease in trending markets for faster response.
Technical Implementation Details
Core Engine : HMA-preprocessed RSI with configurable smoothing (SMA, HMA, EMA, WMA, DEMA, RMA, LINREG, TEMA)
Adaptive Model : Rolling percentile calculation over confirmed oscillator values with size-limited historical buffer
Threshold Construction : Linear interpolation percentile extraction from sorted distribution array
Regime Detection : State-persistent threshold crossing logic with confirmed bar validation
Divergence Engine : Pivot-based pattern matching with range filtering and duplicate prevention
Visualization : Gradient-filled regime zones, adaptive threshold lines, strength-modulated extreme bands, dual-pane divergence lines
Performance Profile : Optimized for real-time execution with efficient array management and minimal computational overhead
Optimal Application Parameters
Timeframe Guidance:
1 - 5 min : Micro-structure momentum detection for scalping and intraday reversals
15 - 60 min : Intraday regime identification with divergence-validated turning points
4H - Daily : Swing and position-level momentum analysis with macro divergence context
Suggested Baseline Configuration:
RSI Length : 18
Source : Close
Smooth Oscillator : Enabled
Smoothing Length : 20
Smoothing Type : SMA
Adaptive Lookback : 1000
Upper Percentile : 50
Lower Percentile : 45
Divergence Pivot Left : 15
Divergence Pivot Right : 15
Min Pivot Distance : 5
Max Pivot Distance : 60
These suggested parameters should be used as a baseline; their effectiveness depends on the asset's volatility profile, momentum characteristics, and preferred signal frequency, so fine-tuning is expected for optimal performance.
Parameter Calibration Notes
Use the following adjustments to refine behavior without altering the core logic:
Too many whipsaw signals : Widen percentile spread (e.g., 40/60 instead of 45/50) to demand stronger momentum confirmation, or increase "Smoothing Length" to filter noise.
Missing legitimate regime changes : Tighten percentile spread (e.g., 48/52 instead of 45/50) for earlier detection, or decrease "Smoothing Length" for faster response.
Oscillator too choppy : Increase "Smoothing Length" for cleaner readings, or switch "Smoothing Type" to RMA/TEMA for heavier smoothing.
Thresholds not adapting properly : Reduce "Adaptive Lookback" to emphasize recent behavior (500-800 bars), or increase it for more stable thresholds (1500-2000 bars).
Too many divergence signals : Increase "Pivot Left/Right" values to demand stronger swing confirmation, or widen "Min Pivot Distance" to space out detections.
Missing significant divergences : Decrease "Pivot Left/Right" for faster pivot detection, or increase "Max Pivot Distance" to compare more distant swings.
Prefer different momentum sensitivity : Adjust "RSI Length" - lower values (10-14) for aggressive response, higher values (21-28) for smoother trend confirmation.
Divergences appearing too late : Reduce "Pivot Right" parameter to detect divergences closer to current price action.
Adjustments should be incremental and evaluated across multiple session types rather than isolated market conditions.
Performance Characteristics
High Effectiveness:
Markets with mean-reverting characteristics and consistent momentum cycles
Instruments where momentum extremes reliably precede reversals or consolidations
Ranging environments where percentile-based thresholds adapt to volatility contraction
Divergence-driven strategies targeting momentum exhaustion before price confirmation
Reduced Effectiveness:
Extremely strong trending markets where oscillator remains persistently extreme
Low-liquidity environments with erratic momentum readings
News-driven or gapped markets where momentum disconnects from price temporarily
Markets with regime shifts faster than adaptive lookback can recalibrate
Integration Guidelines
Confluence : Combine with BOSWaves structure, volume analysis, or traditional support/resistance
Threshold Respect : Trust signals that occur after clean threshold crossings with sustained momentum
Divergence Context : Prioritize divergences appearing at extreme oscillator levels (80+/15-) over those in neutral zones
Regime Awareness : Consider whether current market regime matches historical momentum patterns used for calibration
Multi-Pattern Confirmation : Seek divergence patterns coinciding with reversal markers or threshold rejections for maximum conviction
Disclaimer
Adaptive RSI is a professional-grade momentum and divergence analysis tool. It uses percentile-based threshold calculation that adapts to recent market behavior but cannot predict future regime shifts or guarantee reversal timing. Results depend on market conditions, parameter selection, lookback period appropriateness, and disciplined execution. BOSWaves recommends deploying this indicator within a broader analytical framework that incorporates price structure, volume context, and comprehensive risk management. Indicator

Indicator
