RSI Divergence ScoutRSI Divergence Scout is a pivot-based RSI divergence study designed to mark potential disagreement between price movement and RSI momentum directly on the price chart.
The purpose of this script is to make bullish and bearish RSI divergences easier to see without requiring a separate oscillator pane or a large visual dashboard.
What the script detects
The study looks for two common RSI divergence conditions:
Bullish RSI divergence
A bullish divergence is detected when:
– price forms a confirmed pivot low below the previous confirmed pivot low
– RSI forms a higher value compared with the RSI value at the previous pivot low
– the previous RSI value was below the lower RSI context threshold
This can suggest that downside momentum is weakening, even though price has made a lower low.
Bearish RSI divergence
A bearish divergence is detected when:
– price forms a confirmed pivot high above the previous confirmed pivot high
– RSI forms a lower value compared with the RSI value at the previous pivot high
– the previous RSI value was above the upper RSI context threshold
This can suggest that upside momentum is weakening, even though price has made a higher high.
How the calculation works
The script uses confirmed pivot highs and pivot lows.
For bearish divergence, it compares the current confirmed pivot high with the previous confirmed pivot high:
– current pivot high price is higher than the previous pivot high price
– current RSI value is lower than the previous RSI value
– the previous RSI value is above the upper RSI context threshold
For bullish divergence, it compares the current confirmed pivot low with the previous confirmed pivot low:
– current pivot low price is lower than the previous pivot low price
– current RSI value is higher than the previous RSI value
– the previous RSI value is below the lower RSI context threshold
When a divergence is detected, the script draws a dashed line between the two relevant price pivots and places a label on the current confirmed pivot. The label can also show the RSI value at that pivot.
Why pivot confirmation matters
The script waits for a pivot high or pivot low to be confirmed using the selected left/right pivot sensitivity.
This means a signal appears only after the pivot is confirmed, not at the exact live high or low. This delay is intentional. It helps reduce noise and avoids marking every small candle fluctuation as a swing point.
Inputs
RSI length
Controls the RSI calculation period.
Pivot left bars
Controls how many bars to the left are required for pivot confirmation.
Pivot right bars
Controls how many bars to the right are required for pivot confirmation.
Higher pivot values produce fewer signals and focus on larger swings. Lower values produce more signals and make the script more sensitive to smaller price movements.
Upper RSI context threshold
Used as a context filter for bearish divergence. The previous pivot high RSI must be above this threshold.
Lower RSI context threshold
Used as a context filter for bullish divergence. The previous pivot low RSI must be below this threshold.
Display settings
The script allows bullish and bearish divergence labels to be shown or hidden independently. Pivot-to-pivot lines and RSI values on labels can also be enabled or disabled.
Alerts
The script includes basic alert conditions for bullish and bearish RSI divergence.
Because the script uses confirmed pivots, alerts trigger only after the pivot confirmation process is complete.
How to use it
RSI divergence should be treated as an early warning signal, not as a complete trade trigger.
A divergence can show that momentum is changing, but it does not confirm that price must reverse. In strong trends, multiple divergences can appear before price actually changes direction.
This study is most useful when combined with additional market context, such as:
– trend structure
– support and resistance
– volume behavior
– higher-timeframe direction
– risk management rules
Limitations
The script does not predict future price direction.
It does not generate complete buy or sell signals.
Pivot-based signals appear only after the pivot is confirmed.
Divergence can fail during strong trends, low-liquidity conditions or news-driven price movement.
The study should be used as one part of a broader analysis process.
Educational content only. Not financial advice.
Indicator

Swing Momentum Pullback Strategy + ChecklistSwing Momentum Pullback Strategy + Checklist
This indicator is a complete swing trading system designed to help traders identify
trend breakouts and low-risk momentum pullbacks, optimized for the Daily Timeframe.
The script combines a long-term trend filter, automated resistance detection, and
specific entry triggers into a single chart overlay, along with a real-time Strategy
Checklist Dashboard that confirms setups at a glance.
─────────────────────────────────
🎯 CORE COMPONENTS
─────────────────────────────────
▸ Trend Filter (Purple Line)
200-period Simple Moving Average (SMA). Acts as the long-term trend filter.
Long setups are only considered when price is above this line.
▸ Momentum Guide (Orange Line)
8-period Exponential Moving Average (EMA). Tracks short-term momentum.
In strong trends, price tends to "ride" this line. Entries are sought when
price pulls back to test this area.
▸ Multi-Month Resistance Line (Orange Horizontal)
Automatically plots the highest price over a user-defined lookback period (in months).
Instantly visualizes the key resistance level a stock must break out above.
▸ Strategy Checklist Dashboard
A real-time table that evaluates Trend, Resistance, and Momentum conditions to
display a clear ✅ ENTER, 🚀 GAP UP, or ⏳ WAIT signal.
─────────────────────────────────
🛠 HOW IT WORKS — TWO SETUPS
─────────────────────────────────
1. The Daily Gap Up ("GAP" Label)
Fires when a stock gaps up with strong overnight momentum.
• Open is at least X% above the prior day's Close (adjustable, default 3%)
• Open is above the prior day's High
• Price must be above the 200 SMA
→ Marked with a green "GAP" label on the chart
2. The Trend Pullback ("ENTER" Signal)
A trend-following entry to join an existing move at lower risk.
• Stock is in an uptrend (above 200 SMA)
• Price dips down to touch or test the 8 EMA
• Candle shows a pullback (red candle or lower close) — confirms we're buying
a dip, not chasing a top
→ Dashboard "Action Signal" turns orange and displays ✅ ENTER
─────────────────────────────────
📋 CHECKLIST DASHBOARD — READINGS
─────────────────────────────────
Trend (> 200 SMA):
🟢 Bullish — Price is in an uptrend. Safe to look for entries.
🔴 Bearish — Price is below the 200 SMA. Stay out.
Above Resistance?:
🟢 Breakout — Price has cleared the multi-month resistance line.
⚪ --- — Price is currently below the key breakout level.
Near 8 EMA?:
🟢 Yes — Price is near the value zone for a potential pullback entry.
Action Signal:
🚀 GAP UP — Strong momentum gap detected.
✅ ENTER — Valid pullback entry confirmed.
⏳ WAIT — No qualifying setup on the current bar.
─────────────────────────────────
⚙️ SETTINGS
─────────────────────────────────
- Momentum EMA Length — Default: 8. Controls pullback line sensitivity.
- Trend SMA Length — Default: 200. Long-term trend filter period.
- Gap Up % Threshold — Default: 3.0%. Minimum overnight gap to trigger signal.
- Resistance Lookback (Mo.) — Default: 3. Months used to find the key resistance level.
- Table Position — Move the checklist dashboard to any corner of your chart.
─────────────────────────────────
⚠️ DISCLAIMER
─────────────────────────────────
For educational purposes only. Not financial advice.
Always manage your risk and use a stop loss. Indicator

Divergence Hunter [Proozac]# Divergence Hunter — RSI · MACD · OBV
**Pine Script v5 — Overlay Indicator**
---
## What It Does
Scans three oscillators simultaneously — RSI, MACD, and OBV — and draws labelled lines directly on the price chart whenever a divergence is detected between price action and oscillator momentum.
Two divergence types are covered per oscillator:
- **Regular divergence** — signals a potential trend reversal
- **Hidden divergence** — signals a potential trend continuation
---
## Divergence Types Explained
### Regular Bullish Divergence
```
Price: Lower Low (LL)
Oscillator: Higher Low (HL)
Signal: Potential reversal UP
```
Price is making lower lows but the oscillator is making higher lows — sellers are losing momentum. The downtrend is weakening.
### Regular Bearish Divergence
```
Price: Higher High (HH)
Oscillator: Lower High (LH)
Signal: Potential reversal DOWN
```
Price is making higher highs but the oscillator is making lower highs — buyers are losing momentum. The uptrend is weakening.
### Hidden Bullish Divergence
```
Price: Higher Low (HL) ← trend is up
Oscillator: Lower Low (LL)
Signal: Continuation UP
```
Price holds higher lows (uptrend structure intact) while the oscillator dips lower — a temporary oscillator pullback during a healthy uptrend. A continuation signal.
### Hidden Bearish Divergence
```
Price: Lower High (LH) ← trend is down
Oscillator: Higher High (HH)
Signal: Continuation DOWN
```
Price is making lower highs (downtrend structure intact) while the oscillator makes higher highs — a temporary oscillator bounce during a healthy downtrend.
---
## The Three Oscillators
| Oscillator | What it measures | Why it diverges |
|-----------|-----------------|-----------------|
| **RSI** | Relative momentum of closes | Classic divergence tool — very reliable at extremes |
| **MACD** | Trend + momentum combined | Useful in trending markets, less noise than RSI |
| **OBV** | Cumulative volume flow | Measures whether volume confirms the price move |
Each oscillator runs through the same `detect_divs()` function. You can enable or disable each one independently. When multiple oscillators show the same divergence simultaneously, that is a high-conviction signal.
---
## Detection Logic
The indicator uses `ta.pivothigh` and `ta.pivotlow` on the **price** series to find swing points, then reads the **oscillator value at that same bar** to compare:
```
For each new pivot high in price:
Compare price level vs previous pivot high price
Compare oscillator vs previous pivot high oscillator
→ Regular Bear: price HH + osc LH
→ Hidden Bear: price LH + osc HH
For each new pivot low in price:
Compare price level vs previous pivot low price
Compare oscillator vs previous pivot low oscillator
→ Regular Bull: price LL + osc HL
→ Hidden Bull: price HL + osc LL
```
When detected, a **line** is drawn connecting the two price pivot points and a **label** marks the divergence type and oscillator name.
---
## Inputs
| Input | Default | Description |
|-------|---------|-------------|
| **RSI Divergence** | true | Enable RSI divergence scanning |
| **RSI Length** | 14 | RSI calculation period |
| **MACD Divergence** | true | Enable MACD line divergence scanning |
| **MACD Fast** | 12 | MACD fast EMA length |
| **MACD Slow** | 26 | MACD slow EMA length |
| **MACD Signal** | 9 | MACD signal line length |
| **OBV Divergence** | true | Enable OBV divergence scanning |
| **Pivot Lookback (left bars)** | 5 | Bars to the left required to confirm a swing point |
| **Pivot Lookback (right bars)** | 5 | Bars to the right required to confirm a swing point |
| **Show Hidden Divergences** | true | Toggle hidden divergence lines on/off |
| **Bullish Regular** | Bright green | Line/label color for regular bullish divergences |
| **Bearish Regular** | Bright red | Line/label color for regular bearish divergences |
| **Bullish Hidden** | Faded green | Line/label color for hidden bullish divergences |
| **Bearish Hidden** | Faded red | Line/label color for hidden bearish divergences |
---
## Visual Output
| Element | Meaning |
|---------|---------|
| Solid bright green line + label `"RSI Bull Div"` | Regular bullish divergence on RSI |
| Solid bright red line + label `"RSI Bear Div"` | Regular bearish divergence on RSI |
| Dashed faded green line + label `"RSI Hid Bull"` | Hidden bullish divergence on RSI |
| Dashed faded red line + label `"RSI Hid Bear"` | Hidden bearish divergence on RSI |
| Same patterns with `"MACD"` or `"OBV"` prefix | Divergence from that oscillator |
| Green background flash | Any bullish regular divergence firing |
| Red background flash | Any bearish regular divergence firing |
Lines connect the **two price swing points** that form the divergence, making it immediately clear which highs or lows are being compared.
---
## How to Use
**Entry logic:**
- Regular divergence → look for a reversal entry after the divergence confirms (pivot right bars have closed).
- Hidden divergence → look for a continuation entry in the direction of the main trend.
- Always wait for the pivot to fully confirm — the signal appears `pivot_rb` bars after the actual swing point.
**Confluence filter:**
A divergence is most reliable when:
1. Two or more oscillators show the same divergence simultaneously
2. Price is at a key structural level (support/resistance, Order Block, session high/low)
3. The MTF Dashboard (indicator 02 in this suite) confirms the higher timeframe trend
**Reducing noise:**
- Increase `Pivot Lookback` (left/right bars) to 8–10 for cleaner, less frequent signals
- Disable OBV if trading Forex (OBV is volume-dependent and FX volume data is tick-based)
- Disable hidden divergences if you only want reversal signals
---
## Configuration Tips
| Scenario | Recommended settings |
|----------|---------------------|
| Fast scalping (1–5m) | Pivot: 3/3, RSI only |
| Day trading (15m–1H) | Pivot: 5/5, RSI + MACD |
| Swing trading (4H–D) | Pivot: 8/8, all three oscillators |
| Crypto (high volatility) | Pivot: 7/7 to filter noise |
---
## Alerts
Two built-in `alertcondition` entries:
- `Bullish Divergence` — fires when any enabled oscillator confirms a regular bullish divergence
- `Bearish Divergence` — fires when any enabled oscillator confirms a regular bearish divergence
Set up in PulseWire: Alerts → Condition → Divergence Hunter → select the desired condition.
Indicator

Velocity Hybrid Oscillator (VHO)🚀 VELOCITY HYBRID OSCILLATOR
The Velocity Hybrid Oscillator (VHO), engineered by gunebak4n, is a dual-momentum normalization and trend velocity detection framework designed to isolate high-probability cyclical turning points and structural trend regimes.
VHO is built on the principle that true market velocity cannot be captured by a single momentum lookback or absolute price changes alone. By structurally merging the trend-following smoothing of the Price Momentum Oscillator (PMO) with the reactive cyclicality of the Relative Strength Index (RSI), and processing both through a rolling Min-Max normalization matrix, the system projects multi-dimensional momentum fields onto a fixed boundary.
Unlike conventional oscillators that frequently pin at extremes or trigger premature counter-trend signals during strong expansions, VHO normalizes relative strength and price velocity over a wide structural lookback, anchoring the final hybrid signal to a highly scannable, noise-filtered trend baseline.
💡 CORE DESIGN PRINCIPLE
🧭 Multi-Dimensional Momentum Convergence
VHO interprets market momentum not as an isolated price derivative, but as a convergence of absolute velocity (PMO) and internal strength velocity (RSI). True trend shifts emerge when these two fields align within a normalized range.
🧬 Absolute Velocity–Internal Strength–Smoothing Model
The system evaluates three interacting structural layers:
• Absolute Velocity: Double-smoothed Price Momentum Oscillator tracking rate of change.
• Internal Strength: Relative Strength Index tracking gains versus losses.
• Min-Max Normalization: Rescaling both metrics to a dynamic 144-period lookback.
The mathematical aggregation of these layers defines the final hybrid trend line.
💡 KEY FEATURES
📊 Double-Smoothed Absolute Velocity (PMO)
The system extracts clean, absolute price velocity by calculating a custom Price Momentum Oscillator. This process applies two sequential exponential moving averages to custom daily rate-of-change inputs, effectively filtering out high-frequency market noise before normalization.
🧪 Cyclical Internal Strength Layer (RSI)
To capture real-time overbought and oversold conditions without lagging the underlying price discovery, the system integrates a classical relative strength layer, subsequently smoothed by a simple moving average to align its frequency with the PMO.
📦 Dynamic Min-Max Normalization Matrix
To prevent standard indicator drift and pinning, both the raw PMO and smoothed RSI values are dynamically rescaled between 0 and 100 based on a fixed rolling lookback. This anchors all historical data points to identical relative boundaries.
📈 Velocity Hybrid Line Aggregation
The normalized absolute velocity and normalized internal strength are synthesized into a single "Sharp Line," which is then subjected to an exponential smoothing filter to generate the final, high-conviction "Hybrid Line."
🧠 Asymmetric Color & Directional Logic
The main signal line features an adaptive, four-state color architecture that reacts instantly to directional changes relative to the 50-midline pivot, shifting hue based on whether the velocity is expansionary or decaying.
🎨 Structural Divergence Detection Engine
VHO automatically maps multi-factor divergence signals across structural price action. High-probability continuation or reversal points are highlighted by identifying localized asymmetries where price makes new extremes while the Hybrid Line prints decaying peaks or troughs.
🔬 MATHEMATICAL STRUCTURE
Price Rate of Change (ROC):
ROC = ((Close - Close ) / 1) * 100
Double-Smoothed PMO:
PMO = EMA(EMA(ROC, Length1), Length2)
PMO_Raw = (PMO + PMO_Signal) / 2
RSI Internal Strength:
RSI = ta.rsi(Source, Length)
RSI_MaRaw = SMA(RSI, RSI_MA_Length)
Min-Max Normalization Function (f_normalize):
Min = Lowest(Source, Length)
Max = Highest(Source, Length)
f_normalize = 100 * (Source - Min) / max(Max - Min, 0.000001)
Hybrid Line Aggregation:
SharpLine = (f_normalize(PMO_Raw, n) + f_normalize(RSI_MaRaw, n)) / 2
HybridLine = EMA(SharpLine, k)
Divergence Signal Matrix:
BearishDiv = ta.rising(High, 5) and ta.falling(HybridLine, 5) and HybridLine > 70
BullishDiv = ta.falling(Low, 5) and ta.rising(HybridLine, 5) and HybridLine < 30
This structure ensures that cyclical overextended states are measured against a standardized historical baseline, rather than floating nominal boundaries.
🛠️ USAGE FRAMEWORK
1. Midline Pivot Evaluation
Treat the 50 level as the structural axis of equilibrium. Hybrid Line values sustained above 50 dictate a dominant bullish regime, while values below 50 confirm bearish structural control.
2. Directional Velocity Scaling
Monitor the four-state line coloration. A bright cyan (#00ffbb) or bright red (#ff5252) signal line denotes maximum acceleration in trend direction, while darker tones indicate velocity decay or potential consolidation.
3. Symmetrical Overextended Extremes
Utilize the 70 and 30 dashed reference levels to identify standard overbought and oversold thresholds. The dotted 90 and 10 parameters act as absolute extreme volatility caps.
4. Multi-Factor Divergence Validation
When the system prints red (bearish) or green (bullish) circles on the Hybrid Line, cross-reference these divergence zones with major support/resistance levels to time high-probability counter-trend reversals.
5. Regime Background Filtering
Leverage the optional "Trend Background" fill to maintain clear macro-bias context, allowing short-term hybrid fluctuations to be scaled within the overarching directional environment.
⚙️ SYSTEM CHARACTERISTICS
• Dual-engine absolute and internal velocity integration
• Fixed-boundary rolling Min-Max normalization matrix
• Four-state direction-and-regime sensitive line coloring
• Automatic high-probability divergence mapping
• Multi-layered zone fill for enhanced visual scannability
• Fully parameterized smoothing filters to match any operational asset class
📌 CREDIT
Velocity Hybrid Oscillator (VHO) is developed by gunebak4n as a structural momentum normalization and trend velocity detection framework for PulseWire.
The system is designed for identifying statistically significant cyclical shifts emerging from multi-factor momentum compression, rather than isolated price-action breakouts.
⚠️ DISCLAIMER
VHO is a probabilistic analytical model. It does not predict market outcomes or guarantee trading performance. All signals must be interpreted within a disciplined risk management framework and validated with broader market context. Indicator

Divergence Map [FEELS]Price up, strength not.
Divergence Map marks every spot where price made a new high or low but the volume delta behind it didn't agree. Across the whole chart, not just the right edge.
OVERVIEW
Each divergence is drawn as a pair of crossing lines on the price pane: the line through the two price swings, and a second line whose opening reflects the volume delta behind those swings, widening in proportion to the strength gap so the disagreement is visible at a glance. A new high with weaker delta is marked at the top, a new low with weaker selling is marked at the bottom. Most divergence tools push a delta line into a separate panel and leave you to eyeball the slopes; this keeps the comparison on price, as one shape, for the whole chart.
HOW IT WORKS
1. Per-bar delta uses the standard bar-direction proxy: a bar closing up counts its volume as positive, a bar closing down as negative, a flat bar as zero. These are summed into a cumulative volume delta. Pine has no true tick order flow on historical bars, so this proxy is what the calculation is built on, and the logic is designed around its limits.
2. The cumulative delta is measured against its own recent trend (its value minus a moving average of itself), so divergences are read against recent flow rather than the all-time drift of a running total.
3. Swing highs and lows are found with a symmetric pivot of configurable length. A swing is used only once it is confirmed by that many closed bars on each side.
4. A top divergence is recorded when a confirmed swing high is above the previous swing high while the trend-adjusted delta at the new swing sits below its reading at the previous one. A bottom divergence is the mirror. The test compares the relative direction of delta between two swings rather than an absolute value, which is what lets it tolerate the proxy.
5. Strength is the size of that delta gap, scaled by its recent range and reported 0 to 100. A minimum-strength input hides weak readings.
6. Each divergence is then tracked for an outcome. By default it is scored from the bar it actually becomes visible (one swing length after the swing, since a swing cannot be known before then), and judged symmetrically from there: whichever comes first within the window, a reversal of the set size in its direction is a check, the same move against it is a cross. The size is taken from volatility by default (a multiple of ATR), so it scales with the timeframe; it can be switched to a fixed percent. An event also fails if price closes back through the swing that defined it. This removes the look-back head start, so the hit rate in the dashboard is descriptive of how these divergences have actually behaved, not a promise about the next one.
HOW TO USE
- Read the shape, not a number. Two lines opening apart at a top means price rose while delta did not; at a bottom, price fell while selling did not.
- The check or cross on each past event shows whether the expected reversal followed, so the chart carries its own record on the symbol and timeframe you are viewing.
- During a strong, clean trend the map stays mostly empty. That is expected: divergences appear at exhaustion, not inside a healthy trend.
- Raise minimum strength to keep only the clearer events. Swing length sets how major the marked swings are. Reversal percent and window define what counts as a resolved reversal. Turn off Remove swing lag to see the look-back figure instead of the real-time one.
PARAMETERS
- Swing length: bars per side to confirm a swing.
- Min strength: hides divergences below this 0 to 100 score.
- Delta smoothing and strength window: detrend the delta and scale the strength score.
- ATR reversal and Reversal ATR: size the reversal by volatility so the threshold scales with the timeframe (about 5% daily, around 15% weekly); turn off to use the fixed Reversal percent.
- Reversal percent and reversal window: the fixed-percent threshold and the bars allowed for a resolved reversal.
- Remove swing lag: scores each event from the bar it becomes visible and judges it symmetrically, giving a realistic hit rate instead of the look-back one.
- Labels, label and dot size, line width, colors, strength line on or off, mark hit on chart, dashboard position.
REPAINT NOTE
A swing is confirmed one swing length after it forms, which is how pivots work, and a divergence is recorded only on closed bars using that confirmed swing. Once a divergence and its lines are drawn they do not move, and the check or cross is added later on closed bars as the outcome settles. The only live element is the dashboard. No higher-timeframe or external data requests are used.
ORIGINALITY
This is original work and the source is open. It is not a wrapper around a built-in oscillator and it does not plot delta in a separate pane. The comparison is kept on the price pane as one crossing shape, applied across full history, with a built-in record of whether each marked divergence was followed by a reversal, scored from the bar it actually became visible. The honest treatment of the delta proxy, comparing relative slope rather than absolute flow, is part of the design.
Descriptive tool for studying divergence behaviour. It is not financial advice and does not predict price. Indicator

MTF MA & MACD & StochRSI (pro)Multi-Timeframe MA & MACD & StochRSI (Pro)
The Multi-Timeframe MA & MACD & StochRSI (Pro) is a professional multi-timeframe confluence dashboard built to help traders quickly identify trend direction, momentum strength, and cross-timeframe alignment in one clean visual layout.
This tool combines Moving Averages, MACD logic, and StochRSI cross conditions across multiple timeframes, allowing traders to reduce chart clutter and improve decision-making without constantly switching between charts.
Designed for traders who rely on confluence, top-down analysis, and momentum confirmation.
Core Purpose
This indicator answers one key trading question:
Are my moving averages, momentum, and oscillator signals aligned across multiple timeframes?
By tracking multiple confirmations together, traders can identify stronger trend setups while filtering weaker or conflicting market conditions.
Multi-Timeframe Dashboard
The dashboard scans and displays data across:
1 Minute
5 Minute
15 Minute
1 Hour
4 Hour
1 Day
1 Week
This provides both short-term and higher-timeframe market alignment.
Core Features
1) Multi-Timeframe Moving Average Analysis
The indicator tracks:
20 EMA
50 EMA
For each timeframe it checks whether price is:
Above EMA → Bullish bias
Below EMA → Bearish bias
This gives a quick directional read of market structure.
2) MACD Confirmation Logic (Enhanced)
Unlike a basic MACD crossover, this version uses stricter logic for stronger confirmation.
Buy Condition
Histogram > 0
MACD Line > 0
Signal Line > 0
Sell Condition
Histogram ≤ 0
MACD Line ≤ 0
Signal Line ≤ 0
Neutral
If momentum is mixed, the dashboard displays Neutral.
This helps remove weaker crossover noise and improves momentum quality.
3) StochRSI Cross Confirmation
The dashboard tracks StochRSI cross alignment using:
RSI calculation
Stochastic range
Smoothed %K line
Smoothed %D line
Buy
%K > %D
Sell
%K < %D
Neutral
Flat or undefined conditions
This adds momentum confirmation beyond moving averages.
4) Non-Repainting Multi-Timeframe Logic
The script uses stable request.security() calls with completed timeframe bars to reduce repainting behaviour and improve consistency.
Useful for traders who want cleaner higher-timeframe confirmation.
5) On-Chart Moving Average Overlay
In addition to the dashboard, the indicator plots:
Current timeframe 20 EMA
Current timeframe 50 EMA
These allow traders to visually track trend support/resistance directly on price.
6) Weekly MA Overlay
Optional higher-timeframe moving averages can also be shown directly on the active chart:
Weekly 20 EMA
Weekly 50 EMA
This helps identify:
Macro trend direction
Dynamic support/resistance
Higher timeframe bias
Confluence zones
Can be toggled ON/OFF in settings.
7) Adjustable Table Text Size
The dashboard supports text scaling for cleaner viewing:
Tiny
Small
Normal
Large
Huge
Useful for different monitor sizes and chart layouts.
Colour Logic
Green
Bullish / Buy
Price above EMA
Positive MACD alignment
StochRSI Buy condition
Red
Bearish / Sell
Price below EMA
Negative MACD alignment
StochRSI Sell condition
Grey
Neutral / Mixed
No strong directional bias
This allows fast visual scanning across all timeframes.
Best Used For
This indicator is ideal for:
Multi-timeframe trend analysis
Momentum confirmation
Confluence trading
Swing trading
Intraday trading
Scalping
Breakout confirmation
Trend-following systems
Works well on:
Crypto
Forex
Indices
Stocks
Commodities
How to Use It
Step 1 – Check EMA Alignment
Look for price above or below the 20 and 50 EMA across multiple timeframes.
Step 2 – Confirm MACD Strength
Check whether MACD is fully aligned (not just crossing).
Step 3 – Confirm StochRSI Direction
Look for %K vs %D agreement.
Step 4 – Find Confluence
The strongest setups often occur when:
MA structure aligns
MACD aligns
StochRSI aligns
Higher timeframe bias supports the trade
Trading Framework Example
A strong bullish setup might show:
Price above 20 EMA
Price above 50 EMA
MACD Buy
StochRSI Buy
Weekly MA acting as support
A strong bearish setup may show the inverse.
Summary
Multi-Timeframe MA & MACD & StochRSI (Pro) is a high-confluence dashboard built for traders who want cleaner multi-timeframe trend analysis, stronger momentum confirmation, and faster market alignment in one professional workflow. Indicator

Motion Reversal System [BullByte]Motion Reversal System (MRS) - Trend-Failure Bar Detector with Adaptive Pressure Meter, Multi-Mode Signal Engine, and Complete Trade-Level Framework
---
Why This Indicator Exists
Most reversal indicators fall into one of two failure modes. Either they fire constantly in ranging markets because they have no directional filter, or they only confirm reversals long after price has already turned because they rely on lagging momentum oscillators. Motion Reversal System (MRS) was built to solve both problems in a single coherent engine.
MRS is one engine with one purpose: identify the precise bar at which a confirmed trend structurally fails - the moment commitment fades, the bar itself rejects further advance, and the move's energy reverses. From that bar, MRS automatically frames the trade with entry, two targets, and a stop loss, then manages the full trade lifecycle to closure.
---
What Makes This Not a Mashup
A mashup combines independent indicators that each output their own signal, then layers them visually. MRS is the opposite. Every component of MRS feeds into a single decision: "Is the current bar a trend-failure bar?" Remove any one component and the engine stops working correctly.
- The Directional Gate decides IF a trend is present (no trend = no exhaustion to detect)
- The Four Failure Conditions decide IF the current bar is structurally failing that trend
- The Signal Mode decides HOW STRICT the failure must be
- The Pressure Meter provides a live visual reading of building reversal pressure
- The Trade Level Engine decides WHERE to enter, stop, and target
- The HTF Filter decides WHETHER higher-timeframe context confirms the call
These are not independent indicators. They are stages of one detection pipeline. Each stage exists because the next stage cannot function without it.
---
The Engine - How It Actually Works
Stage 1 - Directional Gate (Kaufman Efficiency Ratio, Self-Adapting)
The script computes Kaufman's Efficiency Ratio (ER) over a rolling window. ER measures net price displacement divided by the total path price traveled. Values near 1.0 indicate pure trending motion; values near 0.0 indicate pure noise.
A fixed ER threshold would work well on one instrument and fail on another, so MRS adapts the gate dynamically. The threshold becomes the rolling mean of the ER series plus half a standard deviation, with a user-defined floor. This means the gate raises itself during volatile sessions and lowers during quiet sessions automatically. No re-tuning per instrument.
Only bars that occur inside a confirmed directional move (gate passed + minimum ATR displacement satisfied) are evaluated for failure. This single design choice eliminates the largest source of false signals: exhaustion calls in choppy ranges where there is no trend to exhaust.
Stage 2 - Four Failure Conditions (Evaluated at Bar Close)
For every bar inside a confirmed trend, MRS evaluates four orthogonal failure conditions:
C1 - Velocity Reversal: The bar closed against the direction of the confirmed trend. This is the most basic failure signal. A bull trend bar that closes red, or a bear trend bar that closes green.
C2 - Wick Rejection: The trend-side wick (upper wick in a bull trend, lower wick in a bear trend) is at least N times the size of the bar's body. This measures intra-bar rejection - buyers or sellers pushed price further in the trend direction and were defeated within the same bar.
C3 - Commitment Anomaly: The bar's commitment value (measured via volume-weighted body strength when volume is reliable, or wick-rejection ratio when it is not) is at least N standard deviations below the recent trend's commitment baseline. The current bar is statistically anomalous compared to what the trend has been producing.
C4 - Range Expansion: The bar's true range is at least N times ATR. Filters out small doji bars where wick rejection and velocity reversal become meaningless from microstructure noise.
These four conditions are orthogonal - they measure different physical properties of the bar. C1 measures direction. C2 measures intra-bar struggle. C3 measures volume/commitment. C4 measures magnitude. When multiple conditions align on the same bar, the signal reflects a greater degree of structural confluence - though no combination of conditions guarantees a reversal.
Stage 3 - Signal Mode (Strictness Selector - THE ACTUAL SIGNAL GATE)
This is the decisive gate that determines whether a signal fires. The user chooses how many of the four conditions must align:
Conservative - All 4 conditions required. Rarest signals, highest structural confluence. Best for swing traders, low-noise sessions, or those who prefer fewer signals with stronger multi-condition alignment.
Balanced (default) - Any 3 of 4 conditions required. Middle ground for most users and most timeframes. Allows one condition to be absent if the other three are strong.
Aggressive - Velocity Reversal (C1) is mandatory plus at least one other condition (minimum 2 of 4 total). Most signals, fewer conditions required per signal. Best for scalpers, active intraday traders, or those who prefer earlier detection at the cost of more false positives.
When the chosen condition count is satisfied at bar close, a signal fires. The Pressure Meter (Stage 5) is a separate visual reading and does not gate signals.
Stage 4 - Commitment Measurement (Volume-Aware with Auto Fallback)
Commitment measures how decisively the market voted on each bar. MRS supports three measurement modes:
Auto (recommended) - Uses volume-weighted commitment on instruments with real volume data (crypto, futures, stocks with traded volume). Automatically falls back to wick-rejection ratio on indices and synthetic feeds where reported volume is meaningless. The dashboard surfaces whichever method is actually active.
Volume - Forces volume-weighted measurement. Useful when you want to lock the method explicitly. Silently falls back to wick if data is missing, with a dashboard warning.
Wick - Forces wick-rejection ratio regardless of volume availability. Best for spot Gold (XAUUSD), forex, or any instrument where you don't trust the broker's volume feed.
Stage 5 - Adaptive Pressure Meter (Live Visual Reading)
The pressure meter is the dashboard's live reading of building reversal pressure. It is always populated whenever a trend is confirmed, regardless of whether the four-condition gate has been met. This gives the trader a continuous sense of how strong the reversal pressure has been building.
The meter is normalized against an adaptive baseline calculated from its own rolling history (mean + multiplier x stdev). The dashboard percentage shows where the current meter sits relative to that baseline.
Important: the baseline is a visual reference only. It does not gate signals. The signal authority is the Signal Mode condition count described in Stage 3. The meter and baseline simply help the trader monitor when conditions are increasingly aligned before they actually trigger.
Stage 6 - Higher Timeframe Confirmation (Optional Filter)
When enabled, the engine cross-checks every signal against the directional state of a higher timeframe. A reversal signal on the chart timeframe is marked "Strong" when the higher timeframe direction agrees with the chart trend being reversed against. For example: chart is in a confirmed bull move, HTF is also bullish, and a bear reversal signal fires - this is HTF-Strong, because the HTF confirms the bull trend that is being exhausted.
If the HTF direction disagrees with the chart trend (e.g., chart is in a bull move but HTF is already bearish), the signal is marked "Weak" - visually dimmed but not suppressed. The trader still sees the call but is warned that the HTF backdrop does not align with the underlying chart trend being detected.
The HTF uses request.security with lookahead = barmerge.lookahead_off, eliminating future-data leak across timeframes. The HTF series itself naturally evolves as each HTF candle forms (this is standard Pine behavior), so the script treats HTF as a confirmation filter rather than a guarantee of HTF-bar finalization. The signal trigger itself remains chart-bar-close only.
Stage 7 - Trade Level Engine (Complete Lifecycle)
When a signal fires, the engine automatically computes and draws:
- Entry: signal-bar close
- Stop Loss: fixed ATR distance from entry (not score-scaled - strong signals deserve tighter stops, not wider ones)
- Target 1: intermediate reference level, ATR distance scaled by signal strength (visual only, does not close trade)
- Target 2: decisive level, ATR distance scaled by signal strength (closes the trade on hit)
While the trade is active, four colored horizontal lines extend from the signal bar to the current bar, with monospace pill labels showing the price and R:R for each level. Two zone fills (green Entry to TP2 reward zone, red Entry to SL risk zone) make the risk/reward geometry visible at a glance.
The trade closes when either TP2 or SL is touched at bar close (intra-bar wicks that retreat before close do NOT close the trade). Same-bar TP2/SL tie is resolved as SL hit (conservative backtest assumption).
After closure, the trade-level lines freeze in place as historical record. Labels and fills vanish to keep the chart clean. The cooldown counter starts. By default, all four lines (Entry, SL, TP1, TP2) persist as historical traces for richest backtest visibility. The "Keep TP1/TP2 Historical Lines" input can be turned off to delete TP1/TP2 lines on closure and roughly double the number of historical trades the chart can hold before Pine's 500-line cap is reached.
---
Signal Timing - No Repaint
All signal generation and trade closure is gated to confirmed (closed) bars via barstate.isconfirmed.
- A reversal signal triangle and label appear only at the close of the signal bar
- Entry, SL, TP1, TP2 levels are computed from the signal bar's close
- Trade closure (TP2 / SL hit) is evaluated only after the candle finalizes - intra-bar wicks that retreat before close do not trigger closure
The trade-off is up to one bar of timing on closure for cases where price spikes through a level intra-bar and retraces. The gain is realistic backtest visuals and zero repaint at every stage of the trade lifecycle. This is an intentional architectural choice for honest behavior over flashy intra-bar firing.
---
How to Read the Chart
Signal Markers
Bull Reversal (detected inside a confirmed bear move, reversal up signaled): small cyan triangle below the bar.
Bear Reversal (detected inside a confirmed bull move, reversal down signaled): small red triangle above the bar.
Important: a bearish reversal signal fires inside a confirmed bull move. The signal detects exhaustion of the prevailing trend - not confirmation of a new one. The dashboard will show BULL MOVE while a short is active. This is correct behavior - you are trading the exhaustion of that bull move.
A monospace pill label sits beside each triangle showing the failure score (e.g., "Reversal Up | 2.45"). Higher numbers indicate stronger structural confluence across the four conditions.
When HTF Confirmation is enabled and HTF disagrees with the signal, the triangle and label appear in a dimmed color with "(HTF)" appended to the label text. The signal is still visible but is visually de-emphasized.
Trade Level Lines
Once a signal fires, four horizontal lines appear extending from the signal bar:
- Entry (yellow, solid): the price at which the signal was generated (signal-bar close)
- Target 1 (cyan, dashed): intermediate reference level, visual only
- Target 2 (green, solid): decisive level - trade closes when this is hit at bar close
- Stop Loss (red, solid): risk level - trade closes when this is hit at bar close
Pill labels at the right end of each line show the exact price and R:R distance.
Zone Fills
- Green soft fill between Entry and TP2: the reward zone
- Red soft fill between Entry and SL: the risk zone
At a glance, the green:red ratio visualizes the trade's risk-to-reward geometry.
Directional Background
- Subtle blue tint: a bull trend is confirmed
- Subtle red/orange tint: a bear trend is confirmed
- No tint: no confirmed direction (chop)
Bar Coloring (Exhaustion Gradient)
When the exhaustion meter rises above the trigger threshold (default 50% of baseline), bars are tinted on a gradient:
- Cool color (cyan/red): exhaustion is building but moderate
- Bright color (red on bull trend, cyan on bear trend): exhaustion has reached or exceeded the baseline - conditions for a signal are increasingly met, though no signal fires until the condition count gate is satisfied at bar close
Historical Trade Traces
After a trade closes, by default all four trade-level lines (Entry, SL, TP1, TP2) remain on the chart as a permanent historical record. This builds a visual log of every prior MRS detection directly on the chart. The "Keep TP1/TP2 Historical Lines" input can be turned off if you want to conserve Pine's line-object cap.
---
How to Read the Dashboard (Full Mode)
The dashboard is the live diagnostic panel. Every row tells you something specific about the current state of the engine. From top to bottom:
Row 0 - Title: "MOTION REVERSAL SYSTEM (MRS)" - confirms the indicator name.
Row 1 - Context: ticker symbol, chart timeframe, and active Signal Mode.
Row 2 - Directional State: BULL MOVE / BEAR MOVE / NEUTRAL - large text, colored. Tells you whether a confirmed trend is currently in effect. When a trade is active against the current trend (e.g., short open during a bull move), this row appends "SHORTING EXHAUSTION" or "LONGING EXHAUSTION" so the dashboard reads as a coherent statement rather than an apparent contradiction.
Row 3 - Exhaustion bar: a 10-segment text-based pressure bar with percentage. Shows how close the live meter is to the adaptive baseline. Color escalates from gray to teal to purple to bright red/cyan as pressure builds.
Row 4 - Pressure: numerical value of the live exhaustion meter.
Row 5 - Baseline: the adaptive baseline value (mean + k x stdev) the meter is compared against. Visual reference only - does not gate signals.
Row 6 - Conditions: which of the four failure conditions are currently satisfied. " VEL WICK ANOM RANGE" means C1, C2, C4 are firing; C3 is not.
Row 7 - Count: how many of 4 conditions are firing, with current Signal Mode in parentheses. This is the actual signal authority - when the count satisfies the Signal Mode rule, a signal fires.
Row 8 - Eff Ratio: the current Kaufman Efficiency Ratio value, with the adaptive gate level next to it. Shows whether the directional gate is passing.
Row 9 - ATR: current ATR value at the configured length. Reference for understanding trade-level distances.
Row 10 - HTF Dir: current higher-timeframe directional state, OR "INVALID HTF (set higher than chart)" warning if user has misconfigured the HTF input.
Row 11 - Commit: which commitment measurement method is currently active (Auto -> Volume, Auto -> Wick fallback, etc.), with warning indicator if forced mode silently fell back.
Row 12 - Active Trade Status: "NO ACTIVE TRADE" or "LONG ACTIVE E " / "SHORT ACTIVE E " - color-coded.
Row 13 - Status: "Ready for signal" / "Cooldown: N bars" / "Trade active" - tells you whether the engine can fire a new signal right now.
Row 14 - Session: count of signals fired in the current session (resets daily).
Rows 15 to 19 - Engine Parameters reference: live readouts of the directional window, lookback periods, threshold parameters, ER gate values, and current commitment status. Useful for verifying your settings are applied as expected.
Row 20 - Version and Author footer.
Mobile / Minimal Dashboard Mode
For phone and tablet users, switching "Dashboard Mode" to "Minimal (Mobile)" collapses the dashboard to a single-column 5-row compact layout with larger fonts: Title, State, Exhaustion, Conditions, and Trade Status. Diagnostics are hidden for screen-space efficiency.
---
Default Settings Explained
- Directional Window: 12 bars - measures Efficiency Ratio over a 12-bar lookback
- Directional Threshold (Base): 0.40 - minimum ER for trend confirmation, adapted upward dynamically
- Min Move Size: 1.5 ATR - net displacement must be at least 1.5 ATR for a trend to qualify
- Trend Statistics Lookback: 20 bars - sample size for computing commitment baseline statistics
- Wick Rejection Ratio: 1.5 - trend-side wick must be at least 1.5x the body to count as rejection
- Commitment Anomaly Sigma: 1.0 - current commitment must be at least 1.0 standard deviation below trend mean
- Min Range Expansion: 1.2 ATR - current bar range must be at least 1.2x ATR
- Signal Mode: Balanced - any 3 of 4 conditions required
- Baseline Lookback: 100 bars - rolling history for pressure meter statistics
- Baseline Multiplier: 2.0 - baseline = mean + 2.0 x stdev
- ATR Length: 14 - standard ATR period
- Commitment Mode: Auto - volume on real-volume instruments, wick on indices
- Post-Closure Cooldown: 10 bars - wait 10 bars after trade closure before new signal
- Stop Loss Distance: 1.5 ATR - base SL distance from entry
- Target 1 Distance: 1.5 ATR - T1 at 1:1 with SL
- Target 2 Distance: 3.0 ATR - T2 at 1:2 with SL
- Score-Weight Nudge: 0.3 - stronger signals widen targets by up to 30%
- Min Label Spacing: 0.35 ATR - minimum vertical gap between pill labels for readability
---
Recommended Usage by Trader Profile
Scalper (1m to 5m): Aggressive mode, Cooldown 5 to 8 bars, HTF Confirmation on 15m. Signal frequency will be higher in Aggressive mode; use the dashboard pressure meter to monitor building exhaustion between signals.
Intraday Trader (5m to 30m): Balanced mode (default), Cooldown 10 bars, HTF Confirmation on 1h to 4h. The default settings were designed with this profile in mind as a starting reference point.
Swing Trader (1h to 4h): Conservative mode, Cooldown 15 to 20 bars, HTF Confirmation on Daily. Few signals, maximum condition confluence required.
Position Trader (Daily and above): Conservative mode, HTF Confirmation on Weekly. Signals are rare; when they fire, all four structural failure conditions have aligned on a higher timeframe bar.
---
Recommended Markets
- Crypto (Spot and Perpetuals): well-suited - high volume data availability, clean microstructure, MRS auto-selects volume-weighted commitment
- Index Futures (NQ, ES, NIFTY futures): well-suited - real traded volume available, strong directional character
- FX Majors: usable with Wick commitment mode forced (broker volume is unreliable)
- Spot Gold (XAUUSD): use Wick mode explicitly - most brokers report tick count as volume which is meaningless
- Cash Indices (NIFTY, SPX index): MRS auto-detects index type and routes to Wick mode; verify Commit row on dashboard
---
A Real-World Example Walkthrough
This walkthrough is a constructed illustration of how the engine behaves. It does not represent a historical trade or a performance result.
Scenario: BTCUSDT 15m chart, Balanced mode, Auto commitment.
Bars 1 to 20: Price climbs in a steady bull move. Dashboard shows BULL MOVE, Efficiency Ratio 0.55, Pressure Meter 0.20 (low). No signals fire because exhaustion is not building.
Bar 21: A large green candle prints - Range Expansion (C4) fires but the bar closes strong (no Velocity Reversal C1), and commitment is normal (no C3). Only 1 of 4 conditions. No signal.
Bars 22 to 24: Three smaller green bars with shrinking bodies. The Pressure Meter ticks up to 0.55 (moderate). Bar coloring activates softly. Dashboard "Conditions" row shows - only Wick Rejection is firing intermittently. No signal yet.
Bar 25: A red bar prints with a long upper wick and large range. All four conditions fire:
- C1 Velocity Reversal: bar closed red (against bull trend)
- C2 Wick Rejection: upper wick is 1.8x the body
- C3 Commitment Anomaly: bar's commitment is 1.4 standard deviations below the trend baseline
- C4 Range Expansion: bar range is 1.6x ATR
Dashboard shows "Conditions: VEL WICK ANOM RANGE | Count: 4/4". Pressure Meter reads 1.15.
A red bear reversal triangle prints above the bar with the label "Reversal Down | 3.42". Trade-level lines automatically draw:
- Entry (yellow): 64,210.50 (signal-bar close)
- SL (red): 64,422.00 (1.5 ATR above entry, since this is a short)
- T1 (cyan dashed): 63,999.00 (1.5 ATR x score-scale below entry)
- T2 (green): 63,576.00 (3.0 ATR x score-scale below entry)
Green reward fill appears Entry to T2, red risk fill Entry to SL. Dashboard "Active Trade" row turns red: "SHORT ACTIVE E 64,210.50". Dashboard "Directional State" row reads: "BULL MOVE | SHORTING EXHAUSTION".
Over the next several bars, price drops. The trade-level lines extend bar-by-bar. Dashboard " Status " reads "Trade active". No new signals fire because one trade is already open.
Bar 32: In this example, price reaches T2 at 63,576.00 on this bar's close. The trade closes at the target level. Labels and zone fills vanish. The trade-level lines freeze at bar 32 as historical record. Dashboard "Status" switches to "Cooldown: 10 bars".
Bars 33 to 42: Cooldown period. No new signals possible.
Bar 43: Cooldown complete. Dashboard "Status" reads "Ready for signal". The engine will evaluate the next qualifying bar for failure conditions.
---
Chart Examples
These screenshots show the indicator in use at specific moments in time. They are provided for visual reference only and do not represent performance results or forward-looking outcomes.
1. MRS detected a trend-failure bar inside a confirmed bull move on BTCUSDT 5m. Range expansion (C4) fired as exhaustion pressure reached the adaptive baseline (1.28 vs 1.03). Balanced mode gated the short at bar close - entry 62,553.3, SL 62,681.9, T2 62,273.6 (T2 distance: 2.17R).
2. MRS detected a trend-failure bar at the low of a confirmed bear move on NQ1! 5m. As the engine tracked displacement against path length (ER), exhaustion pressure crossed the adaptive baseline - failure score 0.48. Balanced mode gated the long at bar close - entry 30,553.75, SL 30,489.00, T2 30,706.50 (T2 distance: 2.36R).
---
Parameter Adjustment Guide
If you get too few signals:
- Switch Signal Mode to Aggressive
- Lower Wick Rejection Ratio (1.0 to 1.2)
- Lower Commitment Anomaly Sigma (0.7 to 0.9)
- Lower Min Range Expansion (1.0 to 1.1)
- Reduce Cooldown to 5
If you get too many false signals:
- Switch Signal Mode to Conservative
- Raise Wick Rejection Ratio (2.0 to 2.5)
- Raise Commitment Anomaly Sigma (1.3 to 2.0)
- Raise Min Range Expansion (1.5 to 2.0)
- Enable HTF Confirmation
- Raise Cooldown to 15 to 20
If the T2 zone is reached but price reverses sharply before bar close triggers closure:
- Reduce T2 Distance to 2.0 to 2.5 ATR
- Reduce Score-Weight Nudge to 0.1 (less target widening on strong signals)
If SL is hit too often:
- Increase Stop Loss Distance to 2.0 ATR
- Increase T1 and T2 proportionally to maintain R:R geometry
---
What This Indicator Does Not Do
- It does not execute trades. It is an indicator (overlay), not a strategy. Order placement and trade management decisions remain with the user.
- It does not predict the future. It identifies bars where a confirmed trend has structurally failed based on objective criteria.
- It does not eliminate losses. False signals will occur, especially in news-driven price spikes. Always size positions according to your own risk management rules.
- It does not work on every instrument equally well. Choppy low-liquidity assets produce noisier signals. Test on your specific market before relying on it.
- It does not replace discretionary judgment. Use MRS as one input in your decision process, not the only input.
---
Alerts Available
MRS Bull Reversal (Strong) - bullish reversal signal; HTF confirms the preceding bear trend
MRS Bull Reversal (HTF Weak) - bullish reversal signal; HTF does not confirm the preceding bear trend
MRS Bear Reversal (Strong) - bearish reversal signal; HTF confirms the preceding bull trend
MRS Bear Reversal (HTF Weak) - bearish reversal signal; HTF does not confirm the preceding bull trend
MRS Target 2 Hit - trade closure at T2 level
MRS Stop Loss Hit - trade closure at SL level
---
Disclaimer
This script is provided for educational and analytical purposes only. It is not financial advice, an investment recommendation, or a solicitation to trade. Past performance of any indicator or strategy does not guarantee future results. Trading involves substantial risk of loss. The author and PulseWire are not liable for any losses or damages arising from use of this script. Always validate signals against your own analysis, conduct your own due diligence, and apply prudent risk management. Use at your own risk.
---
Open source under Mozilla Public License 2.0. Code is fully readable in the Pine Editor for those who want to study the math. Thank you.
- BullByte Indicator

SQZ SCAN & EMA Ride Scanner - AshishShort Description
A dual-mode EMA9/21/50 trend-ride scanner with volume classification and a relative-strength "Grinder Mode" for stocks that trend without ever coiling tight enough to trigger a squeeze. Use alongside its companion, SQZ_SCAN, for momentum timing.
What it does
EMA Ride Scanner V2.a finds stocks in a clean, established uptrend and flags healthy pullback zones to buy — instead of chasing breakouts after the move has happened. Built on ideas from Qullamaggie's Episodic Pivot framework, Stockbee's price-neglect filter, and VCPSwing's 10/20-MA ride philosophy. It checks: EMA9>21>50 stack alignment, minimum ride duration, distance from 52-week low, and volatility contraction. Volume bars are color-coded as EP surges, distribution, or healthy dips.
Two modes (single toggle)
Standard Mode (toggle OFF) — for stocks that coil and release. Flags a 0-5% pullback to EMA9, ideally on light volume. Pair with SQZ_SCAN for the breakout-timing signal.
Grinder Mode (toggle ON) — for stocks that never coil. Some strong trends have such low, steady volatility that they never compress enough to trigger a squeeze — by the time SQZ_SCAN fires, they've already run too far from EMA9 to count as a dip. Grinder Mode drops the squeeze requirement and instead checks: low ATR, long ride above EMA21, and meaningful outperformance vs a benchmark index (momentum begets momentum). If price is also near EMA9/21, it flags a Grinder Setup.
Note: cloud-bounce count is shown for visual reference only, not used as a filter — low-ATR stocks often show very few bounces simply because they ride EMA9 continuously rather than dipping and recovering.
Companion: SQZ_SCAN
SQZ_SCAN (LazyBear Squeeze Momentum, normalized to % of price for cross-stock comparison) shows when volatility compression releases into a confirmed move — WATCH (squeeze building, qualifying bar count reached), EARLY FIRE (momentum just turned positive inside the squeeze), or BUY (squeeze fired + momentum green & rising + volume surge confirmed).
Workflow:
Screen with EMA Ride Scanner (Standard Mode) for clean pullback candidates.
Check SQZ_SCAN on each — prioritize WATCH/EARLY FIRE/BUY.
Separately, screen Grinder Mode for low-volatility names — don't require SQZ confirmation here, it structurally won't fire for this archetype.
Sanity-check on hourly before entry — only to rule out an active breakdown, not as a hard gate. Both indicators are daily-timeframe tools; hourly readings are noisy and shouldn't override a valid daily setup.
What this isn't
A screening tool, not a full trading system — no buy/sell signals, no risk management built in. Combine with your own entry timing, sizing, and stops. Indicator

EMA Ride Scanner V2.a (Toggle) - AshishShort Description
A dual-mode EMA9/21/50 trend-ride scanner with volume classification and a relative-strength "Grinder Mode" for stocks that trend without ever coiling tight enough to trigger a squeeze. Use alongside its companion, SQZ_SCAN, for momentum timing.
What it does
EMA Ride Scanner V2.a finds stocks in a clean, established uptrend and flags healthy pullback zones to buy — instead of chasing breakouts after the move has happened. Built on ideas from Qullamaggie's Episodic Pivot framework, Stockbee's price-neglect filter, and VCPSwing's 10/20-MA ride philosophy.
It checks: EMA9>21>50 stack alignment, minimum ride duration, distance from 52-week low, and volatility contraction. Volume bars are color-coded as EP surges, distribution, or healthy dips.
Two modes (single toggle)
Standard Mode (toggle OFF) — for stocks that coil and release. Flags a 0-5% pullback to EMA9, ideally on light volume. Pair with SQZ_SCAN for the breakout-timing signal.
Grinder Mode (toggle ON) — for stocks that never coil. Some strong trends have such low, steady volatility that they never compress enough to trigger a squeeze — by the time SQZ_SCAN fires, they've already run too far from EMA9 to count as a dip. Grinder Mode drops the squeeze requirement and instead checks: low ATR, long ride above EMA21, and meaningful outperformance vs a benchmark index (momentum begets momentum). If price is also near EMA9/21, it flags a Grinder Setup.
Note: cloud-bounce count is shown for visual reference only, not used as a filter — low-ATR stocks often show very few bounces simply because they ride EMA9 continuously rather than dipping and recovering.
Companion: SQZ_SCAN
SQZ_SCAN shows when volatility compression releases into a confirmed move — WATCH (squeeze building), EARLY FIRE (just released), or BUY (released + volume confirmed). NOTE: As with most indicators, this is a lagging indicator on a daily timeframe, and accuracy reduces significantly on lower timeframes.
Workflow:
Screen with EMA Ride Scanner (Standard Mode) for clean pullback candidates.
Check SQZ_SCAN on each — prioritize WATCH/EARLY FIRE/BUY.
Separately, screen Grinder Mode for low-volatility names — don't require SQZ confirmation here, it structurally won't fire for this archetype.
Sanity-check on hourly before entry — only to rule out an active breakdown, not as a hard gate. Both indicators are daily-timeframe tools; hourly readings are noisy and shouldn't override a valid daily setup.
What this isn't
A screening tool, not a full trading system — no buy/sell signals, no risk management built in. Combine with your own entry timing, sizing, and stops. Indicator

Peak Activity Range Pro + SignalsPeak Activity Range Pro + Signals is an advanced price action indicator that automatically identifies high-activity trading zones where buyers and sellers have shown strong participation. These zones can help traders monitor potential support, resistance, breakout, and retest opportunities across multiple markets.
The indicator continuously analyzes recent price action to locate areas where momentum slows, reversals develop, or consolidation occurs before significant market moves.
Features
• Automatic Bullish Activity Zones
• Automatic Bearish Activity Zones
• Dynamic Supply & Demand Areas
• Retest Detection
• Zone Strength Classification
• Bullish & Bearish Reaction Markers
• Automatic Zone Extension
• Expired Zone Removal
• Optional EMA Trend Filter
• Multi-Timeframe Compatible
• Non-Repainting Zone Detection
How It Works
The indicator scans recent candles to detect areas where price experienced significant buying or selling activity. When a bullish accumulation zone is confirmed, a Buy Activity Range is created and projected forward until it is invalidated When bearish distribution is detected, a Sell Activity Range is generated to highlight potential resistance. As price revisits these areas, traders can monitor reactions for continuation or reversal confirmation.
Zone Colors
🟢 Bullish Activity Range
* Potential demand
* Buyer participation
* Retest support
🔴 Bearish Activity Range
* Potential supply
* Seller participation
* Retest resistance
Recommended Timeframes
Scalping
• M5
• M15
Intraday
• M30
• H1
Swing Trading
• H4
• Daily
Indicator Highlights
• Automatic Activity Range Detection • Smart Zone Projection • Clean Chart Layout
• Lightweight Performance • Configurable Sensitivity • Adjustable Zone Width • Retest Confirmation • Visual Buy/Sell Bias • Suitable for Trending and Ranging Markets
Suggested Trading Workflow
1. Identify the prevailing market trend.
2. Wait for price to return to an activity range.
3. Watch for confirmation such as a rejection candle, market structure shift, or momentum signal.
4. Manage risk using appropriate stop-loss and position sizing.
Notes
This indicator is designed as an analytical tool to highlight historical price activity zones. It should be used alongside your own trading plan, market structure analysis, and risk management. Like all technical indicators, it does not predict future price movements or guarantee profitable trades. Indicator

Indicator

Hybrid OscillatorHybrid Oscillator
Hybrid Oscillator is a visual oscillator designed to read momentum pressure, overbought conditions, oversold conditions, oscillator crosses, extreme zones and directional fading inside a separate chart pane.
the indicator combines a selected oscillator engine with a smoothed wave, a secondary cross line, gradient zones, level dots and alert conditions.
the goal is to help traders understand when momentum is expanding, when it is reaching an extreme area, when it is cooling down, and when the main oscillator line crosses its reference line.
this tool is not a trading strategy. it does not place trades, does not guarantee reversals and does not predict future price movement. it is a technical analysis tool for market context, momentum reading and visual confirmation.
main concept
the oscillator moves between 0 and 100.
values near the upper zone show stronger upside pressure or overbought conditions.
values near the lower zone show stronger downside pressure or oversold conditions.
the main oscillator line is the active momentum wave.
the real cross line is a smoother reference line.
when the main oscillator crosses above the real cross line, momentum may be recovering or shifting upward.
when the main oscillator crosses below the real cross line, momentum may be weakening or shifting downward.
what the indicator displays
main oscillator line
real cross line
upper and lower gradient zones
overbought level
oversold level
extreme overbought level
extreme oversold level
mid upper level
mid lower level
top extreme dots
bottom extreme dots
real cross dots
level lines
alert conditions
oscillator engines
the script includes several oscillator calculation modes.
rsi
uses relative strength index behavior.
this mode is useful for reading classic momentum strength and overbought or oversold behavior.
stochastic
uses stochastic positioning.
this mode focuses on where price is closing compared to its recent high and low range.
hybrid rsi plus stochastic
uses rsi first, then applies a stochastic calculation to the rsi behavior.
this mode focuses on momentum position inside the rsi range and gives a more reactive exhaustion style.
cci normalized
uses commodity channel index behavior and normalizes it into a 0 to 100 style range.
this mode can be useful for reading broader deviation and momentum pressure.
how the real cross line works
the real cross line is a smoothed version of the active oscillator.
it is not a separate oscillator type. it follows the selected engine.
if rsi mode is selected, the cross line follows the rsi-based oscillator.
if stochastic mode is selected, the cross line follows the stochastic-based oscillator.
if hybrid mode is selected, the cross line follows the hybrid oscillator.
if cci normalized mode is selected, the cross line follows the normalized cci oscillator.
the cross dots are based on the actual intersection between the main oscillator and the real cross line.
orange cross dots show an upward cross.
magenta cross dots show a downward cross.
input guide
source
selects the price source used by the oscillator.
common choices are close, hl2, hlc3 or ohlc4.
close is simple and reactive.
hlc3 is smoother because it includes high, low and close.
length
controls the base oscillator calculation period.
a lower value makes the oscillator faster and more sensitive.
a higher value makes the oscillator smoother and slower.
smoothing
controls the smoothing applied to the final oscillator.
a lower value reacts faster.
a higher value reduces noise but adds more delay.
oscillator type
selects the calculation engine.
rsi is classic momentum.
stochastic is range position.
hybrid rsi plus stochastic is a more sensitive momentum range model.
cci normalized is a deviation-based momentum model.
extreme overbought
sets the upper extreme zone.
when the oscillator reaches this area, upside momentum is considered stretched.
overbought
sets the main upper warning level.
crossing this level can mark a strong bullish extension.
mid upper
sets the upper midline reference.
this can be used to detect smaller upward crosses around the upper balance area.
mid lower
sets the lower midline reference.
this can be used to detect smaller downward crosses around the lower balance area.
oversold
sets the main lower warning level.
crossing this level can mark a strong bearish extension.
extreme oversold
sets the lower extreme zone.
when the oscillator reaches this area, downside momentum is considered stretched.
enable gradient fills
turns the upper and lower visual gradient zones on or off.
when enabled, the oscillator pane becomes easier to read visually.
gradient layers
controls the number of visual layers used for the gradient style.
more layers create a smoother visual feel.
show level cross dots
shows or hides the dots created by cross conditions and extreme conditions.
show real cross line
shows or hides the smoother cross reference line.
this line is useful when you want to see exactly where the oscillator cross dots come from.
show level lines
shows or hides the horizontal reference lines.
these lines help identify overbought, oversold, extreme and midpoint areas.
oscillator line width
controls the thickness of the main oscillator line.
higher values make the oscillator more visible.
lower values keep the chart cleaner.
how to read the dots
top extreme dots
these appear when the oscillator is inside the extreme overbought zone.
they indicate strong upside extension.
they do not mean price must reverse immediately.
bottom extreme dots
these appear when the oscillator is inside the extreme oversold zone.
they indicate strong downside extension.
they do not mean price must reverse immediately.
orange cross dots
these appear when the main oscillator crosses above the real cross line.
they can show a possible upward momentum shift.
magenta cross dots
these appear when the main oscillator crosses below the real cross line.
they can show a possible downward momentum shift.
important note about dots
cross dots are not automatic buy or sell signals.
they show technical events inside the oscillator.
always confirm with trend, support and resistance, candle close, volume and risk management.
alerts
the script includes alert conditions for:
cross above the real cross line
cross below the real cross line
cross above overbought
cross below oversold
cross above extreme overbought
cross below extreme oversold
recommended beginner alert use
start with real cross up and real cross down.
use overbought and oversold alerts only as context.
use extreme alerts as exhaustion warnings, not direct trade signals.
avoid activating every alert at once if you want a clean workflow.
beginner tutorial
step 1: start with the default oscillator type
begin with hybrid rsi plus stochastic.
this mode gives a balanced view between momentum and range behavior.
step 2: keep the default levels
use the default overbought, oversold and extreme levels first.
do not change too many settings before understanding the oscillator behavior.
step 3: enable the real cross line
turn on the real cross line to see where cross dots come from.
when the oscillator crosses above the line, upward momentum may be improving.
when the oscillator crosses below the line, momentum may be weakening.
step 4: read the zones
above overbought, the market is showing strong upside momentum.
below oversold, the market is showing strong downside momentum.
inside the middle area, the market is more balanced.
step 5: read extremes carefully
extreme overbought can show strong bullish pressure.
extreme oversold can show strong bearish pressure.
an extreme does not guarantee a reversal.
strong markets can stay extreme longer than expected.
step 6: confirm with price action
before using any oscillator event, check the main chart.
look for:
trend direction
support and resistance
market structure
candle close
volume reaction
higher timeframe context
risk to reward
step 7: keep the chart clean
do not use every signal as an entry.
focus on the main oscillator, real cross line, extreme zones and a few important dots.
example 1: upward cross from the lower zone
the oscillator is near the oversold area.
then it crosses above the real cross line.
an orange dot appears at the real cross.
this can suggest that downside momentum is cooling and upward pressure may be starting.
a beginner should wait for price confirmation, such as a higher low, bullish candle close or break of short-term resistance.
example 2: downward cross from the upper zone
the oscillator is near the overbought area.
then it crosses below the real cross line.
a magenta dot appears at the real cross.
this can suggest that upside momentum is weakening.
a beginner should wait for price confirmation, such as rejection, lower high or break of short-term support.
example 3: extreme overbought continuation
the oscillator reaches the extreme overbought zone.
top extreme dots appear.
this means momentum is very strong to the upside.
it does not mean a sell signal is confirmed.
in a strong trend, the oscillator can remain high while price continues moving upward.
example 4: extreme oversold continuation
the oscillator reaches the extreme oversold zone.
bottom extreme dots appear.
this means momentum is very strong to the downside.
it does not mean a buy signal is confirmed.
in a strong downtrend, the oscillator can remain low while price continues moving downward.
example 5: using the cross line for timing
price is near support.
the oscillator is low.
the oscillator crosses above the real cross line.
an orange dot appears.
this can be used as an early momentum recovery warning, but the trader should still wait for price structure confirmation before making a decision.
example 6: using overbought as context
price is in an uptrend.
the oscillator crosses above the overbought level.
this confirms strong bullish pressure.
instead of shorting immediately, a beginner can watch for continuation or wait for a later loss of momentum.
best use cases
momentum reading
overbought and oversold context
detecting oscillator cross events
watching exhaustion zones
supporting reversal analysis
supporting trend continuation analysis
building alert-based watchlists
confirming price action with momentum context
recommended beginner setup
oscillator type: hybrid rsi plus stochastic
length: 14
smoothing: 3
show real cross line: on
show level cross dots: on
show level lines: on
enable gradient fills: on
use cross dots as warnings
use extreme dots as context
confirm every idea on the price chart
practical workflow
first, identify the current trend on the main chart.
second, check whether the oscillator is near the upper, middle or lower zone.
third, watch the real cross line.
fourth, note any orange or magenta cross dot.
fifth, check whether price confirms the oscillator event.
sixth, define invalidation and risk before any trade idea.
seventh, avoid taking signals against a strong trend without extra confirmation.
limitations
the oscillator is based on historical price data.
signals can appear late during fast moves.
extreme zones can stay extreme during strong trends.
cross dots are momentum events, not guaranteed reversals.
the tool should not be used alone.
risk note
this indicator is designed for technical analysis and educational market study. it does not provide financial advice, investment advice or guaranteed trading signals. all dots, levels, crosses, alerts and visual zones are references that require independent confirmation and proper risk management.
Indicator

Indicator

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

[Viprasol] Real Relative StrengthOverview
This indicator is based on the open-source "Real Relative Strength" (RRS) concept, which measures how an asset is performing against a benchmark after normalising for volatility. The original plots ATR-normalised relative momentum versus a benchmark (e.g. SPY) with zero-cross arrows and strong/weak zones. This version keeps that calculation and adds RRS/price divergence detection, a second-benchmark agreement filter, a signal cooldown, an RRS acceleration read, and a compact dashboard.
How It Works
Real Relative Strength (from original concept):
Relative momentum = (asset momentum − benchmark momentum) / average ATR × multiplier, where momentum is close − close for both the asset and the benchmark, and the divisor is the average of the asset and benchmark ATR. The result is smoothed with an EMA. Positive = the asset is outperforming the benchmark on a volatility-adjusted basis; negative = underperforming. Strong/weak zones mark RRS beyond a configurable level.
Divergence (new):
Using pivots on the smoothed RRS, a bearish divergence is flagged when RRS makes a lower pivot high while price makes a higher high; bullish when RRS makes a higher pivot low while price makes a lower low.
Second-Benchmark Agreement (new):
Optionally compute RRS against a second benchmark and only confirm a zero-cross when both agree in sign — a confluence filter against single-benchmark noise.
Signal Cooldown (new):
A minimum bar gap between confirmed zero-cross signals to prevent clustering.
RRS Acceleration (new):
The bar-to-bar change in smoothed RRS, shown as a rising/falling momentum read in the dashboard.
What Is Original (Viprasol Additions)
1. RRS/price divergence detection (regular bullish and bearish).
2. Optional second-benchmark agreement filter on zero-cross signals.
3. Signal cooldown.
4. RRS acceleration (momentum-of-RRS) state.
5. Compact relative-strength dashboard.
Key Features
From the Original:
- ATR-normalised relative strength vs a benchmark
- EMA smoothing, zero-cross arrows, strong/weak zones, extreme background tint
Added in This Version (Viprasol):
- Divergence detection, dual-benchmark agreement, cooldown, acceleration read, dashboard
- Six alerts with dynamic {{ticker}}/{{close}}/{{interval}} messages
How to Use
1. Set the benchmark to match your asset class (SPY/QQQ stocks, IWM small-caps, BTCUSD crypto).
2. Above zero (aqua/green area) = outperforming; below zero (red area) = underperforming.
3. Zero-cross arrows mark fresh shifts; circles mark divergences; the strong/weak zones flag standout strength.
Recommended Starting Points:
- Intraday (15m-1H): Length 10-14
- Swing (Daily/4H): Length 14-20
- Use dual-benchmark agreement for higher-conviction crosses
These are starting points only — backtest and adjust before trading live.
Settings
Core: benchmark symbol, momentum length, ATR multiplier, RRS smoothing.
Confluence & Filters: 2nd-benchmark agreement (+ symbol), signal cooldown, strong/weak zone level.
Divergence: detect divergence toggle, pivot length.
Visuals: zero-cross arrows, RRS line, RRS area.
Dashboard: toggle and position.
Alerts
1. Bullish Cross — now outperforming the benchmark
2. Bearish Cross — now underperforming the benchmark
3. Strong Outperformance — RRS beyond the strong level
4. Strong Underperformance — RRS below the weak level
5. Bullish Divergence — RRS/price bullish divergence
6. Bearish Divergence — RRS/price bearish divergence
All alerts include {{ticker}}, {{close}}, and {{interval}}.
Limitations & Disclaimer
- RRS uses request.security for the benchmark; benchmark data quality and session alignment affect readings, especially across asset classes/exchanges.
- Divergence uses confirmed pivots, which lag by the pivot length.
- Relative strength shows leadership, not absolute direction — a rising RRS in a falling market only means the asset is falling less.
- Past performance does not guarantee future results. This indicator is for educational purposes only and is not financial advice. Always use proper risk management and test on historical data before trading live.
Credits & Attribution
Based on the open-source "Real Relative Strength" concept (community / SMB-style), which provided the ATR-normalised relative-momentum calculation, EMA smoothing, zero-cross signals, and strong/weak zones. Added by Viprasol: RRS/price divergence detection, optional second-benchmark agreement, signal cooldown, RRS acceleration, and the dashboard.
Published open-source per PulseWire House Rules.
Indicator

Momentum Shift Detector [DYNA]Momentum Shift Detector pinpoints the exact bar where short-term momentum changes direction. Instead of showing every EMA crossover, it applies four independent filters to surface only the shifts that matter -- giving you clean, actionable turning-point signals directly on your price chart.
Most EMA crossover tools flood the chart with signals, many of which occur in the middle of a move when the easy money has already been made. Momentum Shift Detector solves this by requiring four conditions to align simultaneously: the cross itself, a minimum EMA spread threshold to eliminate weak whipsaw crosses, a volume surge confirming real participation, and proximity to a recent swing extreme proving that price actually reversed at a meaningful level.
Key Features
Quad-Filter Signal Engine -- Combines EMA crossover, EMA spread threshold, volume confirmation, and pivot proximity into a single high-conviction signal
Anti-Whipsaw EMA Spread Filter -- Requires the fast and slow EMAs to separate by a minimum fraction of ATR before a cross counts, eliminating weak crosses that immediately reverse
Swing Pivot Awareness -- Only fires when the momentum shift occurs near an actual swing high or swing low, filtering out mid-trend noise
Volume Confirmation -- Requires above-average volume on the crossover bar, ensuring real market participation backs the shift
Confirmed-Bar Logic -- Signals are calculated on closed bars so they never repaint or disappear after appearing
Trend-Colored EMA Cloud -- Fast and slow EMAs with a shaded fill that switches between green and red as the trend changes, giving instant directional context
Multi-Layer Visual Feedback -- Labeled triangle markers, bar coloring that fades over 3 bars, and a background flash on the shift bar so you never miss a signal
How It Works
The indicator runs a fast EMA (default period 3) and a slow EMA (default period 8) on every bar. When the fast EMA crosses above the slow EMA, a potential bullish shift is detected. When it crosses below, a potential bearish shift is detected. But the signal does not fire yet.
Next, the EMA spread filter checks whether the gap between the fast and slow EMAs exceeds a minimum fraction of ATR(14). This prevents whipsaw signals where the EMAs barely cross before reversing -- a common problem on lower timeframes with choppy price action.
Then, the volume filter checks whether the crossover bar had trading volume above the user-defined multiplier (default 1.3x) times the 20-bar average volume. This ensures the shift is backed by genuine market activity, not just thin, random price movement.
Finally, the pivot proximity filter checks whether a recent swing low (for bullish shifts) or swing high (for bearish shifts) was detected within a defined number of bars. This is the key differentiator -- it means the momentum flip is happening at a place where price actually turned around, not somewhere in the middle of an existing trend.
When all four conditions align, a green triangle labeled "SHIFT" appears below the bar for a bullish flip, or a red triangle above the bar for a bearish flip. The bars around the signal are tinted to match and a subtle background flash highlights the exact moment of the shift. Meanwhile, the fast and slow EMAs are plotted with a color-coded cloud fill that shows the prevailing trend direction at a glance -- green when momentum is bullish, red when bearish.
Bullish (green) and bearish (red) momentum shift signals on a 1-minute chart. The EMA cloud provides continuous trend context while triangle markers and bar coloring highlight confirmed shifts.
Settings
The core settings control the sensitivity of each filter. The Fast EMA Length (default 3) and Slow EMA Length (default 8) define the crossover speed -- shorter values react faster but may produce more signals. The Min EMA Spread (default 0.1) sets the minimum fast/slow EMA gap as a fraction of ATR(14) -- raise it to 0.2-0.3 on higher timeframes or set to 0 to disable. The Volume Multiplier (default 1.3) sets the minimum volume threshold as a multiple of the 20-bar average; raising it to 1.5 will require even stronger volume confirmation. The Pivot Proximity setting (default 5 bars) controls how close the signal must be to a detected swing pivot. The Volume Average Length (default 20) determines the lookback window for calculating average volume.
Visual toggles let you independently show or hide bullish and bearish shift markers, the EMA lines and cloud fill, bar coloring around shift events, and the background flash highlight. Alert toggles let you enable notifications for each shift type separately.
Alerts
Bullish Momentum Shift -- Fires when a confirmed bullish crossover occurs with volume above threshold near a recent swing low. "Momentum Shift Detector : Bullish momentum shift detected."
Bearish Momentum Shift -- Fires when a confirmed bearish crossover occurs with volume above threshold near a recent swing high. "Momentum Shift Detector : Bearish momentum shift detected."
To set up alerts: click the PulseWire Alerts button, select "Momentum Shift Detector " from the indicator dropdown, choose "Any alert() function call" as the condition, and set your preferred notification method.
Best Practices
Use the dots as confirmation alongside your existing support/resistance levels, trendlines, or other indicators rather than as a standalone entry trigger
On higher timeframes (4H, Daily), consider widening the EMAs to 5/13 for smoother signals suited to swing trading
If signals are too frequent for your style, raise the Volume Multiplier above 1.3 or increase the Min EMA Spread to 0.2-0.3 to require stronger confirmation
Pay attention to signals that cluster at the same price zone across multiple timeframes -- these tend to mark the strongest reversals
The pivot proximity filter is the main quality gate; lowering it to 3 allows faster signals while raising it to 7-10 requires more established swing points
Part of the DYNA Ecosystem
Momentum Shift Detector is a free indicator built with the same design standards as the DYNA premium suite. For complete trade management with automatic stop loss, break-even, trailing stops, and multi-target systems, explore the full DYNA indicator collection.
Disclaimer
This indicator is a technical analysis and educational tool only -- it is not financial advice and makes no guarantee of any outcome. Past performance does not predict future results. Always do your own research and use proper position sizing and risk management.
Created by Varun Nidhi · varunnidhi.com
A free DYNA indicator — self-contained, no repainting.
Indicator

OBV Trend CandlesOBV Trend Candles
This indicator colors your candles based on the relationship between On-Balance Volume (OBV) and a moving average of OBV. It's a simple way to keep volume-based trend context visible directly on the price chart, without having to watch a separate OBV pane.
How it works
OBV accumulates volume on up-closes and subtracts it on down-closes, so a rising OBV means volume is flowing into the asset and a falling OBV means it's flowing out. This script takes that OBV line and compares it to a simple moving average of itself:
When OBV is above its SMA, volume momentum is building → candles are painted green.
When OBV is below its SMA, volume momentum is fading → candles are painted red.
The idea is that volume often shifts before or alongside price, so the color flips can give you a read on whether the current move is backed by participation.
The Sensitivity input
The single setting that matters is Sensitivity, which is the length of the SMA applied to OBV. Lower values make the indicator react faster to changes in volume flow (more color flips, more noise), while higher values smooth things out and only flip on more established shifts. Tune it to your timeframe and trading style — there's no universally "correct" value.
Notes
It works on any timeframe and any asset, as long as that asset reports volume data. On symbols without volume (some forex pairs and certain indices), OBV can't be calculated and the script will let you know. Colors are fully customizable in the settings.
This is a context/confirmation tool, not a standalone signal — it tells you about volume flow, not where to enter or exit. Use it alongside your own analysis. Indicator

MACD & Stoch RSI Confluence S/RMACD & Stoch RSI Confluence S/R
MACD & Stoch RSI Confluence S/R draws horizontal support and resistance
levels from MACD and Stochastic RSI crossover points, then automatically
merges levels that cluster close together into a single confluence zone.
Instead of treating every crossover as an isolated signal, it highlights
the price areas where two independent momentum oscillators historically
agreed on a turning point.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
BACKGROUND — WHY CROSSOVER-BASED LEVELS?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MACD and Stochastic RSI are both momentum oscillators, but they measure
momentum differently — MACD from the relationship between two EMAs,
Stochastic RSI from the position of RSI within its own recent range.
Because of this difference, the two oscillators don't always cross at the
same time or the same price, but when they do cross near the same price
level, it suggests that two independent calculations both detected a
shift in momentum at that point.
Traditional crossover indicators only mark the moment of the crossover
itself and then move on — the price level where it happened is rarely
preserved or revisited. This indicator instead treats every crossover
price as a potential support or resistance level going forward, on the
logic that price has already shown a reaction (a momentum shift) at that
level once, and may do so again if it returns there.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW IT WORKS — TECHNICAL DETAIL
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CROSSOVER DETECTION
The indicator calculates a standard MACD (fast EMA, slow EMA, signal line)
and a standard Stochastic RSI (RSI smoothed through a Stochastic
calculation, then K/D smoothing) independently. Bullish crossovers occur
when MACD crosses above its signal line, or when Stochastic RSI's K line
crosses above its D line. Bearish crossovers are the inverse.
Each time a valid crossover occurs, the indicator looks back a
user-defined number of bars (How many bars before crossover?) and records
the low of that bar for bullish crossovers, or the high for bearish
crossovers. This offset exists because the actual turning point in price
often occurs slightly before the oscillator confirms it — anchoring the
line to the prior bar's extreme captures the reaction point more
accurately than the bar where the crossover is technically confirmed.
PROXIMITY FILTERING (PER OSCILLATOR)
Before a new level is recorded, it's checked against existing levels from
the same oscillator and same direction using an ATR-based distance
threshold. If a new crossover price falls too close to an already-recorded
level, it's discarded. This prevents a single trending move that triggers
several crossovers in quick succession from flooding the chart with
near-identical lines.
CONFLUENCE MERGING (ACROSS OSCILLATORS)
After proximity filtering, all surviving levels from both oscillators —
MACD support, MACD resistance, Stoch RSI support, Stoch RSI resistance —
are pooled together. Any levels within a percentage threshold of each
other are merged into a single line, positioned at their average price.
The merged line is labeled with the count of crossovers that contributed
to it, so a label showing "⬡3" indicates three separate crossover events —
potentially from different oscillators — all landed within the merge
threshold of one another.
This merge threshold is calculated automatically based on the chart's
timeframe: wider on higher timeframes (where price ranges are naturally
larger) and tighter on lower timeframes. A manual override is available if
you prefer a fixed percentage regardless of timeframe.
DYNAMIC COLORING
Every line — merged or single — is colored based on its position relative
to the current close. A line below price is colored as support; a line
above price is colored as resistance. Because lines extend forward in
time, a single line can change from resistance to support (or vice versa)
as price crosses through it, and the color updates automatically.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
INFO TABLE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A table in the corner of your choice displays, for the most recent bar:
— The number of support and resistance lines currently shown for each
oscillator separately
— The nearest support and nearest resistance level to current price,
calculated from the same merged lines drawn on the chart — not a
separate calculation, so the table always matches what you see
— Whether the MACD zero-line filter and Stoch RSI overbought/oversold
filter are currently active
— Whether each oscillator is enabled
— The current merge threshold percentage and whether it was set
automatically or manually
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW TO USE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. CHOOSE WHICH OSCILLATORS TO USE
Both MACD and Stochastic RSI are enabled by default. You can disable
either one independently if you only want levels from a single
oscillator, or run both for confluence.
2. SET THE BAR OFFSET
How many bars before crossover? controls how far back from the
confirmed crossover the indicator anchors the level. Start with the
default and increase it if you find levels are consistently anchored
slightly too late relative to the actual price reaction.
3. TUNE THE PROXIMITY FILTER
The ATR Multiplier controls how close a new crossover has to be to an
existing level of the same type before it's discarded. Increase this on
choppy assets to reduce clutter; decrease it if you feel valid levels
are being filtered out.
4. APPLY OPTIONAL FILTERS IF NEEDED
The MACD Zero Line Filter restricts bullish crossovers to above the
zero line and bearish crossovers to below it, filtering out weaker
signals that occur against the broader momentum direction. The Stoch
RSI Overbought/Oversold Filter restricts crossovers to occur only in
oversold or overbought territory, focusing on reversal-type signals
rather than mid-range noise. Both are off by default — enable them if
you want fewer, more selective levels.
5. ADJUST THE MERGE THRESHOLD IF NEEDED
The automatic threshold works well across most timeframes, but if you
trade a single timeframe consistently and want more control, switch to
Manual Threshold and set a fixed percentage that matches your
instrument's typical price behavior.
6. READ THE LABELS
Single-oscillator lines are labeled "M" (MACD) or "S" (Stoch RSI).
Merged lines are labeled with a count (e.g. "⬡2", "⬡3") showing how many
crossovers — and potentially how many different oscillators — agreed on
that level. Higher counts represent stronger confluence.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHERE TO USE IT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The indicator works on any asset class and any timeframe, since both
oscillators and the merge threshold are calculated directly from the
chart you have open. It's particularly useful for:
— Identifying support/resistance levels that are backed by momentum
shifts rather than purely price-action-based pivots
— Spotting confluence zones where MACD and Stoch RSI crossovers
historically aligned, which may carry more weight than a level
identified by either oscillator alone
— Confirming reactions at prior turning points — if price returns to a
level where a crossover previously occurred, the level provides context
for whether momentum may shift again
— Combining with other structure or volume-based tools as part of a
broader confluence-based approach, rather than as a standalone signal
generator
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SETTINGS REFERENCE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MACD: Fast/Slow/Signal EMA lengths, source, bar offset, max support/
resistance lines kept, line width, colors, extend mode, ATR-based
proximity filter, zero-line filter
Stochastic RSI: RSI period, Stochastic period, K/D smoothing, source, and
the same set of line/extend/proximity/zone options as MACD
Merging: enable/disable, automatic or manual threshold, merged line color
and width
Table: show/hide, position
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ORIGINALITY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MACD and Stochastic RSI crossovers are both well-established concepts
individually, but this script's specific contribution is treating
crossover prices as persistent support/resistance levels rather than
one-off signals, combined with a cross-oscillator confluence merge that
identifies where two independently-calculated momentum tools agreed on
the same price area. The ATR-based proximity filter and timeframe-adaptive
merge threshold are the author's own approach to keeping this practical
and readable on a live chart rather than producing chart clutter.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DISCLAIMER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This indicator is intended for educational and analytical purposes only.
No indicator can predict future market movements with certainty. Always
use proper risk management and combine multiple forms of analysis before
making trading decisions. Indicator

SMI Multi-Timeframe OscillatorOVERVIEW
The SMI Multi-Timeframe Oscillator combines up to eight independently configurable Stochastic Momentum Index timeframes in one clean oscillator pane. It is designed to make momentum alignment, disagreement, and turning points across fast and slow timeframes easier to compare at a glance.
CONFIGURABLE TIMEFRAMES
• Eight individual timeframe slots
• A separate on/off toggle for every slot
• A timeframe dropdown for every slot
• Defaults: 1m, 3m, 5m, 15m, 30m, 1H, 2H, and 4H
Users can replace any default with their own preferred timeframe without editing the source code.
HOW IT WORKS
The indicator uses the standard double-EMA Stochastic Momentum Index calculation. SMI measures where price sits relative to the midpoint of its recent high-low range, then smooths both momentum and range before producing a naturally normalized oscillator.
• +100 represents the upper end of the scale
• 0 is the momentum midpoint
• -100 represents the lower end of the scale
• Default overbought and oversold references are +40 and -40
The %K length, %D smoothing, signal EMA length, source, and threshold levels are adjustable.
VISUAL DESIGN
Each timeframe slot receives a distinct color. Faster timeframes use thinner, more subdued lines, while slower timeframes are slightly stronger to create a readable visual hierarchy.
The current chart-timeframe SMI is shown as a thin soft-silver line. Optional signal lines are available but disabled by default. The indicator intentionally uses no channel fills or background shading.
INTERPRETATION
When several timeframes rise or fall together, momentum is broadly aligned. Divergence between fast and slow lines can reveal developing transitions or timeframe disagreement.
Readings above zero indicate positive momentum relative to the recent range midpoint. Readings below zero indicate negative momentum. Moves near or beyond the overbought and oversold references should be interpreted in context; strong trends can keep SMI elevated or depressed for extended periods.
NOTES
Higher-timeframe values can change until their corresponding candles close. Lower-timeframe information displayed on a higher-timeframe chart is sampled according to PulseWire's multi-timeframe behavior.
This indicator is intended for informational and educational purposes only. It is not financial advice and does not guarantee future results. Indicator

Keltner Channel MTF OscillatorOVERVIEW
The Keltner Channel MTF Oscillator brings eight intraday Keltner Channels into one normalized oscillator pane, making it easier to compare trend, volatility, and price location across multiple timeframes without stacking indicators.
INCLUDED TIMEFRAMES
• 1 minute
• 3 minutes
• 5 minutes
• 15 minutes
• 30 minutes
• 1 hour
• 2 hours
• 4 hours
Every timeframe can be enabled or disabled independently.
HOW IT WORKS
Each channel uses an EMA centerline with ATR-based upper and lower bands. The EMA length, ATR length, ATR multiplier, and source are adjustable.
All plotted values are normalized against the 4-hour Keltner Channel:
• 4H upper band = +100
• 4H basis = 0
• 4H lower band = -100
The thick white line represents the current chart-timeframe price source. The colored envelopes display the upper band, basis, and lower band for each enabled timeframe.
FEATURES
• Eight independently toggleable timeframes
• Colored multi-timeframe channel envelopes
• Optional basis lines and channel fills
• Adjustable EMA and ATR settings
• Optional strict -100 to +100 clamping
• Clear 4-hour reference levels
• Separate oscillator pane
INTERPRETATION
Values above zero place price above the 4-hour Keltner basis, while values below zero place it beneath the basis. Readings near +100 approach the 4-hour upper channel, and readings near -100 approach the lower channel.
Channel compression can highlight volatility contraction. Expansion or separation between timeframe channels can help reveal increasing volatility or disagreement across timeframes.
When clamping is disabled, values may exceed +/-100, allowing breakouts beyond the 4-hour envelope to remain visible.
NOTES
Higher-timeframe values can change until their corresponding candles close. Lower-timeframe information displayed on a higher-timeframe chart is sampled according to PulseWire's multi-timeframe behavior.
This indicator is intended for informational and educational purposes only. It is not financial advice and does not guarantee future results. Indicator

Multi Cycle KST OscillatorMulti-Cycle KST Oscillator — Publication Description
What it does
The Multi-Cycle KST Oscillator is a momentum oscillator built on the Know Sure Thing (KST) — a summed, weighted blend of four smoothed Rate-of-Change series. The standard KST plots one line. This script computes three KSTs at short, intermediate and long cycle lengths, reads their alignment, and wraps the plotted short-term KST in five decision-support modules so the momentum reading is filtered, contextualized and scored rather than read at face value. A single 0–100 Confidence value summarizes everything, and the oscillator line is colored by it.
Why these components are combined (the reason for the mashup)
KST on its own is a momentum (rate-of-change) factor, and it lags by construction. Adding more momentum tools such as RSI, MACD or Stochastic would only restate the same information. So every module added here is deliberately orthogonal to momentum — each answers a question the KST cannot answer by itself:
Long-term KST direction — the regime gate. A slower KST decides which side to trade. Short-term buy crosses are only trusted when the long-term cycle is rising, short crosses only when it is falling. This is the core of the multi-cycle idea: trade the shorter cycle in the direction of the longer one.
ADX/DMI regime filter — trade only in a real trend. Momentum crosses whipsaw in sideways markets, so signals are suppressed and the background is shaded while ADX is below threshold.
Higher-timeframe filter — alignment with the bigger picture. The same momentum direction is read from a higher, confirmed (non-repainting) timeframe to drop counter-trend crosses.
Price/KST divergence — early warning. Because the oscillator measures momentum, a price high against a lower oscillator high (or the inverse) flags fading momentum before the signal-line cross. Regular and hidden divergences are detected from confirmed pivots.
Efficiency-Ratio conviction scaler — how much to trust it now. A Kaufman Efficiency Ratio scales the Confidence up in clean trends and down in chop. It is a magnitude scaler, never a direction vote, so it cannot double-count momentum.
How the parts work together
Each module feeds one combined output. The plotted oscillator is the short-term KST (optionally standardized). A Buy or Sell is raised only when the short-term KST crosses its signal line AND the long-term cycle agrees AND the regime and higher-timeframe filters agree AND Confidence clears its threshold. Confidence itself is a weighted vote across the four orthogonal inputs (KST-vs-signal, long-term direction, price location, divergence), scaled by the Efficiency Ratio and clamped to 0–100. Divergence labels and the ATR stop/target are context around that one decision.
What makes it original
It is not a KST with other indicators drawn beside it. It turns a single KST line into a three-cycle alignment model with a long-term regime gate, then standardizes the result so its bands carry a consistent statistical meaning across instruments, and fuses five orthogonal checks into one bounded Confidence reading with explicit buy/sell gating. The combined output — "is momentum turning, in a real trend, in line with the larger cycle, and how much should I trust it" — does not exist in the source indicator.
How to use it
Pick an Oscillator mode: Raw (native KST), Z-Score, or Robust Z (median/MAD, least sensitive to spikes).
Green = up-cycle momentum, red = down-cycle; further from zero and brighter = stronger and higher conviction. Warn / Extreme bands mark stretched readings.
Buy / Sell triangles fire only when the cross, the long-term gate, the regime and higher-timeframe filters, and the Confidence threshold all agree. Treat them as points to investigate, not automatic entries.
Use divergences as early warning of fading momentum, and the two dashboards for the full read: right panel = Bias, Confidence, Signal, Cycle alignment, Oscillator; left panel = Long-term KST, Regime, Divergence, ATR Stop and Target.
The dashboards adapt to your chart's background brightness so both stay legible on dark or light themes.
Settings and defaults
Inputs are grouped and numbered: Data Source, the three KST cycles, Normalization & Display, Threshold Bands, Confirmation Filters, Divergence, Confidence Engine, Risk Targets, Signals & Alerts, and Visuals & Dashboard. Defaults follow the classic KST values and are tuned for NSE NIFTY on intraday charts. Because the Price / High / Low sources are user-selectable, the engine works on any instrument or even another indicator's output — for other assets, adjust the ROC/SMA lengths, the higher timeframe and the ATR period to suit.
Concept credit
The Know Sure Thing (KST) oscillator was created by Martin J. Pring. This script is an original multi-cycle implementation built around that public concept and is not affiliated with, nor endorsed by, its originator.
Honest limitations
KST is lagging by construction; this confirms moves, it does not predict them. Confidence (0–100) is an ordinal heuristic for how aligned the components are — it is not a probability or a win rate. Divergence is computed on confirmed pivots and therefore prints a few bars after the pivot forms; that latency is inherent to honest pivot detection. Signals confirm on bar close (non-repainting) by default, and the higher-timeframe filter uses the previous confirmed higher-timeframe bar. Backtest any settings on your own market before relying on them.
Disclaimer
For research and educational purposes only. This is not financial advice, not an investment recommendation, and not a solicitation to trade. Indicators describe past price behavior; they do not predict the future. Trading involves substantial risk of loss. Test on out-of-sample data and make your own decisions. The author accepts no liability for any use of this script. Indicator

Waterfall Risk CompositeWaterfall Risk Composite (WRC)
The Waterfall Risk Composite is a quantitative short-side risk scoring system that detects the structural conditions that precede cascading selloff events — what traders call a "waterfall." Rather than identifying entry points, it measures how dangerous a stock's current environment is across three independent dimensions, combining them into a single 0–100 score.
What is a Waterfall Event?
A waterfall is a rapid, cascading price decline where selling pressure overwhelms buyers across multiple sessions. These events don't appear randomly — they are typically preceded by months of distribution, deteriorating relative strength, a collapsing MA structure, and expanding downside volatility. The WRC is designed to quantify exactly those preconditions.
How the Score is Built
The composite draws from three sub-scores, each capturing a different dimension of bearish risk:
1. Distribution Phase (max 35 pts)
Measures how aggressively a stock is being distributed relative to its benchmark. Inputs include the slope and persistence of relative strength (RS) vs XJO or SPY, the rolling up/down volume ratio over 20 sessions, and how far price has corrected from its 52-week high. A stock that has been underperforming its index for months, with more volume on down days than up days, and sitting 30–40% off its highs, will score near the maximum here.
2. Momentum Decay (max 40 pts)
Scores the structural deterioration of price momentum. This block carries the highest weighting because entrenched bear trends are the most reliable precondition for waterfall events. It measures the fast/slow EMA ratio slope (MOMO), the full bearish ordering of the 10/21/50/200 EMA stack (death cross zone scores maximum), how far and for how long price has been below the 200 EMA, and the number of consecutive days price has spent below the 40 EMA. A stock with a full bear MA stack, 150+ days below its 40 EMA, and deeply extended below its 200 EMA can score 40/40 on this block alone.
3. Volatility Stress (max 25 pts)
Detects volatility regime shifts and directional pressure. Scores the ratio of fast to slow ATR (expanding vol = stress), the proportion of ATR occurring on red candles vs green (asymmetric downside vol), and large red candles relative to the 20-day average body size — particularly when they break below a recent swing low, signalling acceleration.
Trend Gates — Soft Multiplier System
Three structural conditions act as gates that scale the final score:
Close below the 10-period Monthly MA
5 EMA below 10 EMA (daily)
Close below 40 EMA (daily)
Unlike a hard on/off switch, gates apply a proportional multiplier: all three passing = full score, two passing = 75%, one passing = 40%, none passing = score blocked entirely. This means a deeply bearish stock with a brief EMA cross-back won't suddenly drop to zero — the underlying deterioration is still reflected.
Settings
All key parameters are adjustable — RS lookback, volume window, ATR periods, gate EMA lengths, monthly MA length, alert thresholds, and table position. The indicator works on daily timeframes and above.
Alerts
Three alert conditions are included: Waterfall threshold crossed, Elevated threshold crossed, and risk declining back below Elevated.
Any ideas let me know. It's good but can be better. Indicator

Quantum Entropy Oscillator [QEO]🚀 QUANTUM ENTROPY OSCILLATOR
The Quantum Entropy Oscillator (QEO), engineered by gunebak4n, is a high-resolution market dynamics oscillator designed to quantify directional pressure through entropy-normalized energy dispersion and momentum coherence.
QEO is built on the principle that price action is not random movement but a structured imbalance between energy accumulation and directional displacement. By measuring the relationship between volatility-derived energy and directional momentum, the oscillator isolates statistically meaningful wave behavior from market noise.
Unlike conventional oscillators that rely solely on price smoothing or fixed-period momentum, QEO introduces an entropy-aware normalization layer that dynamically adjusts signal sensitivity based on market turbulence and structural compression.
💡 CORE DESIGN PRINCIPLE
🧭 Entropy-Normalized Market Flow
QEO interprets price movement as a probabilistic energy field. High entropy represents disordered, low-conviction movement, while low entropy indicates structured directional flow.
🧬 Energy–Momentum Duality Model
The system models price behavior using two interacting forces:
• Energy: magnitude of displacement (volatility intensity)
• Momentum: directional bias of price change
The interaction between these components defines the wave structure of the market.
💡 KEY FEATURES
🎯 Entropy-Weighted Oscillator Core
The main QEO line is derived from a normalized wave function that adjusts momentum strength relative to volatility energy, producing a cleaner directional signal under varying market regimes.
📊 Signal Line Structural Filter
A secondary smoothed signal line acts as a structural baseline, allowing crossovers to represent regime shifts rather than simple momentum fluctuations.
📉 Histogram Pressure Mapping
The histogram visualizes the divergence between QEO and its signal line, representing acceleration or deceleration of directional force in real time.
🧠 Regime-Sensitive Cross Detection
Cross signals are filtered using positional constraints relative to zero-line equilibrium, distinguishing early reversals from continuation structures.
🏹 Directional Trigger System
Bullish and bearish triggers are generated only when momentum crosses structural equilibrium zones, reducing noise-driven false signals.
🔬 MATHEMATICAL STRUCTURE
Price displacement:
ΔP(t) = Close(t) − Close(t−1)
Energy field (volatility intensity):
E(t) = SMA(ΔP², n)
Momentum field (directional bias):
M(t) = SMA(ΔP, n)
Entropy-normalized wave function:
Q(t) = M(t) / √E(t)
Smoothed oscillator:
QEO = SMA(Q(t), smoothing)
Signal line:
Signal = SMA(QEO, signalLength)
Histogram:
H = QEO − Signal
This structure ensures that directional strength is always evaluated relative to current volatility conditions rather than static thresholds.
🛠️ USAGE FRAMEWORK
1. Trend Regime Detection
Sustained positive or negative QEO deviation indicates directional regime expansion.
2. Reversal Identification
Crossovers near equilibrium (zero line) signal potential structural transitions between trend states.
3. Momentum Exhaustion Zones
Histogram divergence weakening while QEO remains extended suggests diminishing directional energy.
4. Confirmation Layer Usage
QEO should be used in conjunction with structural price levels for higher-probability decision zones.
⚙️ SYSTEM CHARACTERISTICS
• Non-repainting structural oscillator logic
• Volatility-adaptive normalization layer
• Noise-filtered momentum extraction
• Regime-sensitive signal interpretation
• Multi-layer smoothing architecture
📌 CREDIT
Quantum Entropy Oscillator (QEO) is developed by gunebak4n as a volatility-normalized momentum framework for structured market interpretation on PulseWire.
The system is designed for traders requiring statistically consistent signal behavior across varying volatility regimes without relying on rigid overfitted thresholds.
⚠️ DISCLAIMER
QEO is a probabilistic analytical tool. It does not predict future price movement or guarantee trading outcomes. Market behavior is stochastic, and all signals must be evaluated within a disciplined risk management framework. Indicator
