Momentum Trail Oscillator [AlgoAlpha]🟠 OVERVIEW
This script builds a Momentum Trail Oscillator designed to measure directional momentum strength and dynamically track shifts in trend bias using a combination of smoothed price change calculations and adaptive trailing bands. The oscillator aims to help traders visualize when momentum is expanding or contracting and to identify transitions between bullish and bearish conditions.
🟠 CONCEPTS
The core idea combines two methods. First, the script calculates a normalized momentum measure by smoothing price changes relative to their absolute values, which creates a bounded oscillator that highlights whether moves are directional or choppy. Second, it uses a trailing band mechanism inspired by volatility stops, where bands adapt to the oscillator’s volatility, adjusting the thresholds that define a shift in directional bias. This dual approach seeks to address both the magnitude and persistence of momentum, reducing false signals in ranging markets.
🟠 FEATURES
The momentum calculation applies Hull Moving Averages and double EMA smoothing to price changes, producing a smooth, responsive oscillator.
The trailing bands are derived by offsetting a weighted moving average of the oscillator by a multiple of recent momentum volatility. A directional state variable tracks whether the oscillator is above or below the bands, updating when the momentum crosses these dynamic thresholds.
Overbought and oversold zones are visually marked between fixed levels (+30/+40 and -30/-40), with color fills to highlight when momentum is in extreme areas. The script plots signals on both the oscillator pane and optionally overlays markers on the main price chart for clarity.
🟠 USAGE
To use the indicator, apply it to any symbol and timeframe. The “Oscillator Length” controls how sensitive the momentum line is to recent price changes—lower values react faster, higher values smooth out noise. The “Trail Multiplier” sets how far the adaptive bands sit from the oscillator mid-line, which affects how often trend state changes occur. When the momentum line rises into the upper filled area and then crosses back below +40, it signals potential overbought exhaustion. The opposite applies for the oversold zone below -40. The plotted trailing bands switch visibility depending on the current directional state: when momentum is trending up, the lower band acts as the active trailing stop, and when trending down, the upper band becomes active. Trend changes are marked with circular symbols when the direction variable flips, and optional overlay arrows appear on the price chart to highlight overbought or oversold reversals. Traders can combine these signals with their own price action or volume analysis to confirm entries or exits.
M-oscillator
Uptrick: Universal Z-Score ValuationOverview
The Uptrick: Universal Z-Score Valuation is a tool designed to help traders spot when the market might be overreacting—whether that’s on the upside or the downside. It does this by combining the Z-scores of multiple key indicators into a single average, letting you see how far the current market conditions have stretched away from “normal.” This average is shown as a smooth line, supported by color-coded visuals, signal markers, optional background highlights, and a live breakdown table that shows the contribution of each indicator in real time. The focus here is on spotting potential reversals, not following trends. The indicator works well across all timeframes and asset classes, from fast intraday charts like the 1-minute and 5-minute, to higher timeframes such as the 4-hour, daily, or even weekly. Its universal design makes it suitable for any market — whether you're trading crypto, stocks, forex, or commodities.
Introduction
To understand what this indicator does, let’s start with the idea of a Z-score. In simple terms, a Z-score tells you how far a number is from the average of its recent history, measured in standard deviations. If the price of an asset is two standard deviations above its mean, that means it’s statistically “rare” or extended. That doesn’t guarantee a reversal—but it suggests the move is unusual enough to pay attention.
This concept isn’t new, but what this indicator does differently is apply the Z-score to a wide set of market signals—not just price. It looks at momentum, volatility, volume, risk-adjusted performance, and even institutional price baselines. Each of those indicators is normalized using Z-scores, and then they’re combined into one average. This gives you a single, easy-to-read line that summarizes whether the entire market is behaving abnormally. Instead of reacting to one indicator, you’re reacting to a statistically balanced blend.
Purpose
The goal of this script is to catch turning points—places where the market may be topping out or bottoming after becoming overstretched. It’s built for traders who want to fade sharp moves rather than follow trends. Think of moments when price explodes upward and starts pulling away from every moving average, volume spikes, volatility rises, and RSI shoots up. This tool is meant to spot those situations—not just when price is stretched, but when multiple different indicators agree that something is overdone.
Originality and Uniqueness
Most indicators that use Z-scores only apply them to one thing—price, RSI, or maybe Bollinger Bands. This one is different because it treats each indicator as a contributor to the full picture. You decide which ones to include, and the script averages them out. This makes the tool flexible but also deeply informative.
It doesn’t rely on complex or hidden math. It uses basic Z-score formulas, applies them to well-known indicators, and shows you the result. What makes it unique is the way it brings those signals together—statistically, visually, and interactively—so you can see what’s happening in the moment with full transparency. It’s not trying to be flashy or predictive. It’s just showing you when things have gone too far, too fast.
Inputs and Parameters
This indicator includes a wide range of configurable inputs, allowing users to customize which components are included in the Z-score average, how each indicator is calculated, and how results are displayed visually. Below is a detailed explanation of each input:
General Settings
Z-Score Lookback (default: 100): Number of bars used to calculate the mean and standard deviation for Z-score normalization. Larger values smooth the Z-scores; smaller values make them more reactive.
Bar Color Mode (default: None): Determines how bars are visually colored. Options include: None: No candle coloring applied. - Heat: Smooth gradient based on the Z-score value. - Latest Signal: Applies a solid color based on the most recent buy or sell signal
Boolean - General
Plot Universal Valuation Line (default: true): If enabled, plots the average Z-score (zAvg) line in the separate pane.
Show Signals (default: true): Displays labels ("𝓤𝓹" for buy, "𝓓𝓸𝔀𝓷" for sell) when zAvg crosses above or below user-defined thresholds.
Show Z-Score Table (default: true): Displays a live table listing each enabled indicator's Z-score and the current average.
Select Indicators
These toggles enable or disable each indicator from contributing to the Z-score average:
Use VWAP Z-Score (default: true)
Use Sortino Z-Score (default: true)
Use ROC Z-Score (default: true)
Use Price Z-Score (default: true)
Use MACD Histogram Z-Score (default: false)
Use Bollinger %B Z-Score (default: false)
Use Stochastic K Z-Score (default: false)
Use Volume Z-Score (default: false)
Use ATR Z-Score (default: false)
Use RSI Z-Score (default: false)
Use Omega Z-Score (default: true)
Use Sharpe Z-Score (default: true)
Only enabled indicators are included in the average. This modular design allows traders to tailor the signal mix to their preferences.
Indicator Lengths
These inputs control how each individual indicator is calculated:
MACD Fast Length (default: 12)
MACD Slow Length (default: 26)
MACD Signal Length (default: 9)
Bollinger Basis Length (default: 20): Used to compute the Bollinger %B.
Bollinger Deviation Multiplier (default: 2.0): Standard deviation multiplier for the Bollinger Band calculation.
Stochastic Length (default: 14)
ATR Length (default: 14)
RSI Length (default: 14)
ROC Length (default: 10)
Zones
These thresholds define key signal levels for the Z-score average:
Neutral Line Level (default: 0): Baseline for the average Z-score.
Bullish Zone Level (default: -1): Optional intermediate zone suggesting early bullish conditions.
Bearish Zone Level (default: 1): Optional intermediate zone suggesting early bearish conditions.
Z = +2 Line Level (default: 2): Primary threshold for bearish signals.
Z = +3 Line Level (default: 3): Extreme bearish warning level.
Z = -2 Line Level (default: -2): Primary threshold for bullish signals.
Z = -3 Line Level (default: -3): Extreme bullish warning level.
These zone levels are used to generate signals, fill background shading, and draw horizontal lines for visual reference.
Why These Indicators Were Merged
Each indicator in this script was chosen for a specific reason. They all measure something different but complementary.
The VWAP Z-score helps you see when price has moved far from the volume-weighted average, often used by institutions.
Sortino Ratio Z-score focuses only on downside risk, which is often more relevant to traders than overall volatility.
ROC Z-score shows how fast price is changing—strong momentum may burn out quickly.
Price Z-score is the raw measure of how far current price has moved from its mean.
RSI Z-score shows whether momentum itself is stretched.
MACD Histogram Z-score captures shifts in trend strength and acceleration.
%B (Bollinger) Z-score indicates how close price is to the upper or lower volatility envelope.
Stochastic K Z-score gives a sense of how high or low price is relative to its recent range.
Volume Z-score shows when trading activity is unusually high or low.
ATR Z-score gives a read on volatility, showing if price movement is expanding or contracting.
Sharpe Z-score measures reward-to-risk performance, useful for evaluating trend quality.
Omega Z-score looks at the ratio of good returns to bad ones, offering a more nuanced view of efficiency.
By normalizing each of these using Z-scores and averaging only the ones you turn on, the script creates a flexible, balanced view of the market’s statistical stretch.
Calculations
The core formula is the standard Z-score:
Z = (current value - average) / standard deviation
Every indicator uses this formula after it’s calculated using your chosen settings. For example, RSI is first calculated as usual, then its Z-score is calculated over your selected lookback period. The script does this for every indicator you enable. Then it averages those Z-scores together to create a single value: zAvg. That value is plotted and used to generate visual cues, signals, table values, background color changes, and candle coloring.
Sequence
Each selected indicator is calculated using your custom input lengths.
The Z-score of each indicator is computed using the shared lookback period.
All active Z-scores are added up and averaged.
The resulting zAvg value is plotted as a line.
Signal conditions check if zAvg crosses user-defined thresholds (default: ±2).
If enabled, the script plots buy/sell signal labels at those crossover points.
The candle color is updated using your selected mode (heatmap or signal-based).
If extreme Z-scores are reached, background highlighting is applied.
A live table updates with each individual Z-score so you know what’s driving the signal.
Features
This script isn’t just about stats—it’s about making them usable in real time. Every feature has a clear reason to exist, and they’re all there to give you a better read on market conditions.
1. Universal Z-Score Line
This is your primary reference. It reflects the average Z-score across all selected indicators. The line updates live and is color-coded to show how far it is from neutral. The further it gets from 0, the brighter the color becomes—cyan for deeply oversold conditions, magenta for overbought. This gives you instant feedback on how statistically “hot” or “cold” the market is, without needing to read any numbers.
2. Signal Labels (“𝓤𝓹” and “𝓓𝓸𝔀𝓷”)
When the average Z-score drops below your lower bound, you’ll see a "𝓤𝓹" label below the bar, suggesting potential bullish reversal conditions. When it rises above the upper bound, a "𝓓𝓸𝔀𝓷" label is shown above the bar—indicating possible bearish exhaustion. These labels are visually clear and minimal so they don’t clutter your chart. They're based on clear crossover logic and do not repaint.
3. Real-Time Z-Score Table
The table shows each indicator's individual Z-score and the final average. It updates every bar, giving you a transparent breakdown of what’s happening under the hood. If the market is showing an extreme average score, this table helps you pinpoint which indicators are contributing the most—so you’re not just guessing where the pressure is coming from.
4. Bar Coloring Modes
You can choose from three modes:
None: Keeps your candles clean and untouched.
Heat: Applies a smooth gradient color based on Z-score intensity. As conditions become more extreme, candle color transitions from neutral to either cyan (bullish pressure) or magenta (bearish pressure).
Latest Signal: Applies hard coloring based on the most recent signal—greenish for a buy, purple for a sell. This mode is great for tracking market state at a glance without relying on a gradient.
Every part of the candle is colored—body, wick, and border—for full visibility.
5. Background Highlighting
When zAvg enters an extreme zone (typically above +2 or below -2), the background shifts color to reflect the market’s intensity. These changes aren’t overwhelming—they’re light fills that act as ambient warnings, helping you stay aware of when price might be reaching a tipping point.
6. Customizable Zone Lines and Fills
You can define what counts as neutral, overbought, and oversold using manual inputs. Horizontal lines show your thresholds, and shaded regions highlight the most extreme zones (+2 to +3 and -2 to -3). These lines give you visual structure to understand where price currently stands in relation to your personal reversal model.
7. Modular Indicator Control
You don’t have to use all the indicators. You can enable or disable any of the 12 with a simple checkbox. This means you can build your own “blend” of market context—maybe you only care about RSI, price, and volume. Or maybe you want everything on. The script adapts accordingly, only averaging what you select.
8. Fully Customizable Sensitivity and Lengths
You can adjust the Z-score lookback length globally (default 100), and tweak individual indicator lengths separately. This lets you tune the indicator’s responsiveness to suit your trading style—slower for longer swings, faster for scalping.
9. Clean Integration with Any Chart Layout
All visual elements are designed to be informative without taking over your chart. The coloring is soft but clear, the labels are readable without being huge, and you can turn off any feature you don’t need. The indicator can work as a full dashboard or as a simple line with a couple of alerts—it’s up to you.
10. Precise, Real-Time Signal Logic
The crossover logic for signals is exact and only fires when the Z-score moves across your defined boundary. No estimation, no delay. Everything is calculated based on current and previous bar data, and nothing repaints or back-adjusts.
Conclusion
The Universal Z-Score Valuation indicator is a tool for traders who want a clear, unbiased way to detect overextension. Instead of relying on a single signal, you get a composite of several market perspectives—momentum, volatility, volume, and more—all standardized into a single view. The script gives you the freedom to control the logic, the visuals, and the components. Whether you use it as a confirmation tool or a primary signal source, it’s designed to give you clarity when markets become chaotic.
Disclaimer
This indicator is for research and educational use only. It does not constitute financial advice or guarantees of performance. All trading involves risk, and users should test any strategy thoroughly before applying it to live markets. Use this tool at your own discretion.
ZYTX GKDDThe Zhiying Tianxia High-Sell Low-Buy Indicator Strategy is a trend-following indicator that integrates multiple indicator resonances. It demonstrates the perfect performance of an automated trading robot, truly achieving the high-sell low-buy strategy in trading.
RATE OF CHANGE ROLLING INTEGRALAdded an integral balance to the ROC subchart.
just tracks the balance of area back to the ROC length.
SG Multi Entry/Exit IndicatorThis strategy is based on an entry and an exit indicator that can be selected from a range of indicators.
The entry / exit indicators are standard Stochastic, MACD, RSI and MA indicators.
The graphs for each indicator are normalised to between 0 and 100 and displayed on above the other with buy and sell indicators.
The Strategy can be enabled / disabled via the inputs as can the date range as can whether to put a dummy sell signal in for the last trading day to give an accurate Mark to Market performance.
ZYTX CCI SuperTrendZhiYing CCI + SuperTrend Strategy
The definitive integration of CCI and SuperTrend trend-following indicators, delivering exemplary performance in automated trading bots.
ZYTX RSI SuperTrendZYTX RSI SuperTrend
ZYTX RSI + SuperTrend Strategy
The definitive integration of RSI and SuperTrend trend-following indicators, delivering exemplary performance in automated trading bots.
📈 Smart Alert System — EMA/MA/Volume/SMC AlertsHere's a detailed description of your custom TradingView **Pine Script v6**:
---
### 📌 **Title**: Smart Alert System — Webhook Ready (with EMA, MA, Volume, and SMC)
This script is designed to **monitor price behavior**, detect important **technical analysis events**, and **send real-time alerts via webhook to a Telegram bot**.
---
## 🔧 SETTINGS
| Setting | Description |
| ----------------------- | ------------------------------------------------------------------------------ |
| `volumeSpikeMultiplier` | Multiplier to determine a volume spike compared to the 20-bar average volume |
| `testAlert` | If `true`, sends a test alert when the indicator is first applied to the chart |
---
## 🔍 COMPONENT BREAKDOWN
### 1. **EMA & MA Calculations**
These indicators are calculated and plotted on the chart:
* **EMAs**: 13, 25, 30, 200 — used for trend and touch detection
* **MAs**: 100, 300 — used for break and retest detection
```pinescript
ema_13 = ta.ema(close, 13)
ema_200 = ta.ema(close, 200)
ma_100 = ta.sma(close, 100)
```
---
### 2. **📈 Volume Spike Detection**
* A volume spike is identified when the current bar's volume is **2x (default)** greater than the 20-period average.
* A red triangle is plotted above such candles.
* A **JSON alert** is triggered.
```pinescript
volSpike = volume > avgVol * volumeSpikeMultiplier
```
---
### 3. **📊 EMA Touch Alerts**
* The script checks if the current close is:
* Within 0.1% of an EMA value **OR**
* Has crossed above/below it.
* If so, it sends an alert with the EMA name.
```pinescript
touch(val, crossed) =>
math.abs(close - val) / val < 0.001 or crossed
```
---
### 4. **📉 MA Break and Retest Alerts**
* A **break** is when price falls **below** a moving average.
* A **retest** is when price climbs **above** the same average after breaking below.
```pinescript
breakBelow(ma) => close > ma and close < ma
```
---
### 5. 🧠 **SMC Alerts (Break of Structure \ & Change of Character \ )**
These follow **Smart Money Concepts (SMC)**. The script identifies:
* **BOS**: New higher high in uptrend or lower low in downtrend
* **CHOCH**: Opposite of trend, e.g. lower low in uptrend or higher high in downtrend
```pinescript
bos = (high > high ) and (low > low ) and (low > low )
choch = (low < low ) and (high < high ) and (high < high )
```
---
### 6. 🧪 Dummy Test Alert (1-time fire)
* Sends a `"✅ Test Alert Fired"` to verify setup
* Executes **once only** after adding the indicator
```pinescript
var bool sentTest = false
if testAlert and not sentTest
```
---
### 7. 🚀 Alert Delivery (Webhook JSON)
All alerts are sent as a JSON payload that looks like this:
```json
{
"pair": "BTCUSD",
"event": "🔺 Volume Spike",
"timeframe": "15",
"timestamp": "2024-06-29T12:00:00Z",
"volume": "654000"
}
```
This format makes it compatible with your **Telegram webhook server**.
---
### 🔔 Alerts You Can Create in TradingView
* Set **Webhook URL** to your `https://xxxx.ngrok-free.app/tradingview-webhook`
* Use alert condition: `"Any alert()`" — because all logic is internal.
* Select **"Webhook URL"** and leave the message body blank.
---
### 🛠️ Use Cases
* Notify yourself on **EMA interaction**
* Detect **trend shifts or retests**
* Spot **volume-based market interest**
* Get real-time **BOS/CHOCH alerts** for Smart Money strategies
* Alert through **Telegram using your Node.js webhook server**
---
Would you like me to break down the full Pine Script block-by-block as well?
🔁 EMA 3/21 Crossover Strategy — Exit on Opposite SignalEMA 3/21 Crossover Strategy — Exit on Opposite Signal
This strategy enters trades based on a crossover between two exponential moving averages:
Buy Entry: When the 3-period EMA crosses above the 21-period EMA
Sell Entry: When the 3-period EMA crosses below the 21-period EMA
Exit Rule: Positions are exited only when an opposite signal occurs (i.e., a new crossover in the other direction)
Key Features:
Designed for trend-following setups
Uses ATR-based SL/TP lines for visual reference only (trades do not auto-close at SL/TP)
Suitable for manual or automated trading logic with high trade clarity
Can be applied on any timeframe and any liquid instrument (Forex, crypto, indices, etc.)
Recommended Use:
Combine with volume or session filters for improved signal quality
Ideal for traders seeking clear entry/exit rules with minimal noise
Best on trending instruments and medium timeframes (USDJPY; Daily)
Position Trading Strategy - EMA + FVGMulti-Timeframe Momentum & Pattern Recognition System
This comprehensive trading indicator combines multiple technical analysis components to identify high-probability entry and exit signals for Bitcoin and other assets. The system utilizes:
LuxAlgo Fair Value Gap Detection - Identifies institutional order flow imbalances
Hull Suite & MACD Integration - Confirms trend direction and momentum shifts
Pyramid Scoring System - Ranks signal strength using multiple confluences
Smart Position Management - Provides clear long/short entry and exit alerts
Visual Market Structure - Displays key support/resistance levels and gap zones
The indicator generates scored signals based on the alignment of trend, momentum, and market structure, helping traders identify optimal entry points while managing risk through systematic exit conditions. Perfect for swing trading and scalping strategies on multiple timeframes.
Best Used For: BTC/USD, major forex pairs, and liquid cryptocurrency markets
Recommended Timeframes: 5M, 15M, 1H for optimal signal accuracy
Advanced TrackingAdvanced Multi-Asset Tracker Indicator
Track trading opportunities across multiple instruments with multiple analysis methods
Developed by Marcelo Ulisses Sobreiro Ribeiro
Key Features:
1️⃣ Multi-Mode Tracking System
Pattern Mode: Detects 5 powerful price patterns (123, Market Strength, Engulfing, PFR, Inside Bar)
Stochastic Crossover: Identifies fresh crossovers for potential entries
3-Candle Pattern: Finds classic high/low patterns across 3 candles
Oscillator Mode: Monitors overbought/oversold conditions (RSI + Stochastic)
2️⃣ Customizable Asset Groups
Pre-loaded with 3 optimized asset tables (Majors, Crosses, Commodities/Indices)
Easily switch between groups with one click
3️⃣ Dual Timeframe Analysis
Separate timeframes for pattern detection and oscillator analysis
Detects higher timeframe conditions while trading on lower timeframes
4️⃣ Visual Alert System
Color-coded signals for instant pattern recognition
Clear priority system for pattern hierarchy
Pattern Detection Includes:
✔ Mark Crisp 123 Pattern (bullish/bearish)
✔ Market Strength Signals (FMA/FMB)
✔ Engulfing Patterns (EA/EB)
✔ Price of Reversal Close (PFR)
✔ Inside Bar (IB)
Oscillator Analysis:
Customizable RSI (14 period default)
Adjustable Stochastic (14,3,3 default)
Strong OB/OS alerts when both indicators align
Ideal For:
Forex traders monitoring multiple currency pairs
Multi-asset traders covering commodities and indices
Traders who want to scan for setups without watching dozens of charts
Systematic traders looking for pattern-based opportunities
How It Works:
Select your preferred asset group
Choose your analysis mode (Patterns, Stoch Cross, etc.)
Customize settings as needed
The indicator scans all selected assets and displays signals in an easy-to-read table
Pro Tip: Combine with your favorite entry/exit strategy - this indicator excels at opportunity detection across markets!
Dual RSI IndicatorThis RSI indicator allows you to view an additional timeframe to help you spot better entries. For example when RSI is overbought/oversold on two timeframes may help give you additional confidence in placing the trade.
Z-scored ZLEMA | OquantZ-Scored ZLEMA | Oquant
This indicator combines the Zero-Lag Exponential Moving Average (ZLEMA) with Z-score normalization to present recent ZLEMA values relative to its mean. It helps users observe trend direction and momentum with reduced lag, while also highlighting potential overbought or oversold levels based on how far ZLEMA values deviate from their mean.
🧠 Concept Overview
📉 Zero Lag Exponential Moving Average (ZLEMA)
The EMA is a popular tool that calculates an average price, but unlike a simple moving average, it gives more weight to recent prices. This means the EMA reacts faster to new price changes and is less affected by older data. However, even with this weighting, the EMA still introduces some lag.
ZLEMA improves on the EMA by reducing this lag. It does this by adjusting how it accounts for previous prices, effectively "shifting" the data to better align the average with current market action. The result is an average that stays smooth but responds more quickly to real price changes—helping traders spot turning points or trend shifts earlier without being fooled by random noise.
📏 Z-score Normalization
Once ZLEMA is calculated, the indicator applies Z-score normalization to measure how far the current ZLEMA value is from its mean. The Z-score expresses this difference using standard deviations, providing a clear, standardized scale. This helps highlight when price moves are unusually strong—either upward or downward—beyond normal fluctuations.
🔍 How This Indicator Works
Smooth Price Data with ZLEMA
The indicator begins by applying the Zero-Lag Exponential Moving Average (ZLEMA) to the chosen price data. Unlike a regular moving average, ZLEMA reduces the typical delay by adjusting the input data before averaging. It does this by "shifting" the price series to remove the lag caused by older prices. This way, ZLEMA stays smooth but reacts more quickly to recent price changes—helping the indicator follow market moves faster without being too noisy.
Normalize ZLEMA values Using Z-score
Once ZLEMA is calculated, the indicator applies Z-score normalization to measure how far the current ZLEMA value is from its mean. The Z-score expresses this difference in terms of standard deviations, creating a clear, standardized scale. This helps highlight when price moves are unusually strong—either up or down—beyond normal fluctuations.
Set Signal Thresholds
Two threshold levels are set on the Z-score scale—crossing above the upper threshold is considered a long (buy) signal, indicating bullish momentum, while crossing below the lower threshold is considered a short (sell) signal, indicating bearish momentum.
Show Visual Signals on the Chart
The Z-score and bars are plotted with colors: green when Z-score is above the bullish threshold, purple when Z-score is below the bearish threshold.
⚙️ Customizable Inputs
Source: Choose the price source (close, open, etc.) for calculations.
ZLEMA Length: Adjust the ZLEMA length to control smoothness versus responsiveness.
Z-score period: Set the Z-score period to define how far back the indicator measures normal price behavior.
Thresholds: Adjust the upper and lower thresholds to control how sensitive the indicator is to strong momentum changes.
📈 Practical Use
This indicator helps identify trend directions and changes faster by combining ZLEMA with statistical analysis. It highlights when price moves are stronger than normal, making it easier to spot early signs of momentum shifts. Traders can use it to confirm trends or detect potential reversals with more timely signals.
🔔 Alert Support
This indicator includes optional built-in alert conditions that notify you when the Z-score crosses above the bullish threshold (long signal) or below the bearish threshold (short signal). You can enable these alerts to get timely updates on potential momentum shifts without constantly watching the chart.
⚠️ Disclaimer: This indicator is intended for educational and informational purposes only. Trading/investing involves risk, and past performance does not guarantee future results. Always test and evaluate indicators/strategies before applying them in live markets. Use at your own risk.
ZYTX SuperTrend V1ZYTX SuperTrend V1 Indicator
Multi-strategy intelligent rebalancing with >95% win rate
Enables 24/7 automated trading
Metaplanet MSW Strike LevelsMetaplanet Moving Strike Warrant (MSW) Price Tracker
This indicator displays Metaplanet's actual Moving Strike Warrant pricing schedule with real-time strike price visualization. It shows the exact strike prices that determine warrant exercise values based on Metaplanet's official MSW terms.
Key Features:
Current Period: Strike locked at ¥1,649 from June 24th through July 1st, 2025
Automatic Updates: Starting July 2nd, strike prices re-evaluate every 3 trading days using 3-day SMA of closing prices
Visual Strike Lines: Yellow horizontal lines show active MSW strike prices for each period
Background Signals: Light green when price is above strike (favorable), light red when below
Information Panel: Orange table displays current strike price and next evaluation date
Evaluation Markers: Orange/yellow dots mark re-evaluation dates
How It Works:
The indicator follows Metaplanet's official MSW schedule, automatically calculating new strike prices every 3 trading days based on the 3-day simple moving average of previous closing prices. This helps warrant holders track exercise opportunities and understand the dynamic pricing mechanism.
Normalized Open InterestNormalized Open Interest (nOI) — Indicator Overview
What it does
Normalized Open Interest (nOI) transforms raw futures open-interest data into a 0-to-100 oscillator, so you can see at a glance whether participation is unusually high or low—similar in spirit to an RSI but applied to open interest. The script positions today’s OI inside a rolling high–low range and paints it with contextual colours.
Core logic
Data source – Loads the built-in “_OI” symbol that TradingView provides for the current market.
Rolling range – Looks back a user-defined number of bars (default 500) to find the highest and lowest OI in that window.
Normalization – Calculates
nOI = (OI – lowest) / (highest – lowest) × 100
so 0 equals the minimum of the window and 100 equals the maximum.
Visual cues – Plots the oscillator plus fixed horizontal levels at 70 % and 30 % (or your own numbers). The line turns teal above the upper level, red below the lower, and neutral grey in between.
User inputs
Window Length (bars) – How many candles the indicator scans for the high–low range; larger numbers smooth the curve, smaller numbers make it more reactive.
Upper Threshold (%) – Default 70. Anything above this marks potentially crowded or overheated interest.
Lower Threshold (%) – Default 30. Anything below this marks low or capitulating interest.
Practical uses
Spot extremes – Values above the upper line can warn that the long side is crowded; values below the lower line suggest disinterest or short-side crowding.
Confirm breakouts – A price breakout backed by a sharp rise in nOI signals genuine engagement.
Look for divergences – If price makes a new high but nOI does not, participation might be fading.
Combine with volume or RSI – Layer nOI with other studies to filter false signals.
Tips
On intraday charts for non-crypto symbols the script automatically fetches daily OI data to avoid gaps.
Adjust the thresholds to 80/20 or 60/40 to fit your market and risk preferences.
Alerts, shading, or additional signal logic can be added easily because the oscillator is already normalised.
Stochastic SuperTrend [BigBeluga]🔵 OVERVIEW
A hybrid momentum-trend tool that combines Stochastic RSI with SuperTrend logic to deliver clean directional signals based on momentum turns.
Stochastic SuperTrend is a straightforward yet powerful oscillator overlay designed to highlight turning points in momentum with high clarity. It overlays a SuperTrend-style envelope onto the Stochastic RSI, generating intuitive up/down signals when a momentum shift occurs across the neutral 50 level. Built for traders who appreciate simplicity without sacrificing reliability.
🔵 CONCEPTS
Stochastic RSI: Measures momentum by applying stochastic calculations to the RSI curve instead of raw price.
SuperTrend Bands: Dynamic upper/lower bands are drawn around the smoothed Stoch RSI line using a user-defined multiplier.
Momentum Direction: Trend flips when the smoothed Stoch RSI crosses above/below the calculated bands.
Neutral Bias Filter: Directional arrows only appear when momentum turns above or below the central 50 level—adding confluence.
🔵 FEATURES
Trend Detection on Oscillator: Applies SuperTrend logic directly to the Stoch RSI curve.
Clean Entry Signals:
→ 🢁 arrow printed when trend flips bullish below 50 (bottom reversals).
→ 🢃 arrow printed when trend flips bearish above 50 (top reversals).
Custom Multiplier: Adjust sensitivity of SuperTrend band spacing around the oscillator.
Neutral Zone Highlight: Visual zone between 0–50 (green) and 50–100 (red) for quick momentum polarity reference.
Toggle SuperTrend Line: Option to show/hide the SuperTrend trail on the Stoch RSI.
🔵 HOW TO USE
Use 🢁 signals for potential bottom reversals when momentum flips bullish from oversold regions.
Use 🢃 signals for potential top reversals when momentum flips bearish from overbought areas.
Combine with price-based SuperTrend or support/resistance zones for confluence.
Suitable for scalping, swing trading, or momentum filtering across all timeframes.
🔵 CONCLUSION
Stochastic SuperTrend is a simple yet refined tool that captures clean momentum shifts with directional clarity. Whether you're identifying reversals, filtering entries, or spotting exhaustion in a trend, this oscillator overlay delivers just what you need— no clutter, just clean momentum structure.
RSI OB/OS THEDU 999//@version=6
indicator("RSI OB/OS THEDU 999", overlay=false)
//#region Inputs Section
// ================================
// Inputs Section
// ================================
// Time Settings Inputs
startTime = input.time(timestamp("1 Jan 1900"), "Start Time", group="Time Settings")
endTime = input.time(timestamp("1 Jan 2099"), "End Time", group="Time Settings")
isTimeWindow = time >= startTime and time <= endTime
// Table Settings Inputs
showTable = input.bool(true, "Show Table", group="Table Settings")
fontSize = input.string("Auto", "Font Size", options= , group="Table Settings")
// Strategy Settings Inputs
tradeDirection = input.string("Long", "Trade Direction", options= , group="Strategy Settings")
entryStrategy = input.string("Revert Cross", "Entry Strategy", options= , group="Strategy Settings")
barLookback = input.int(10, "Bar Lookback", minval=1, maxval=20, group="Strategy Settings")
// RSI Settings Inputs
rsiPeriod = input.int(14, "RSI Period", minval=1, group="RSI Settings")
overboughtLevel = input.int(70, "Overbought Level", group="RSI Settings")
oversoldLevel = input.int(30, "Oversold Level", group="RSI Settings")
//#endregion
//#region Font Size Mapping
// ================================
// Font Size Mapping
// ================================
fontSizeMap = fontSize == "Auto" ? size.auto : fontSize == "Small" ? size.small : fontSize == "Normal" ? size.normal : fontSize == "Large" ? size.large : na
//#endregion
//#region RSI Calculation
// ================================
// RSI Calculation
// ================================
rsiValue = ta.rsi(close, rsiPeriod)
plot(rsiValue, "RSI", color=color.yellow)
hline(overboughtLevel, "OB Level", color=color.gray)
hline(oversoldLevel, "OS Level", color=color.gray)
//#endregion
//#region Entry Conditions
// ================================
// Entry Conditions
// ================================
buyCondition = entryStrategy == "Revert Cross" ? ta.crossover(rsiValue, oversoldLevel) : ta.crossunder(rsiValue, oversoldLevel)
sellCondition = entryStrategy == "Revert Cross" ? ta.crossunder(rsiValue, overboughtLevel) : ta.crossover(rsiValue, overboughtLevel)
// Plotting buy/sell signals
plotshape(buyCondition ? oversoldLevel : na, title="Buy", location=location.absolute, color=color.green, style=shape.labelup, text="BUY", textcolor=color.white, size=size.small)
plotshape(sellCondition ? overboughtLevel : na, title="Sell", location=location.absolute, color=color.red, style=shape.labeldown, text="SELL", textcolor=color.white, size=size.small)
// Plotting buy/sell signals on the chart
plotshape(buyCondition, title="Buy", location=location.belowbar, color=color.green, style=shape.triangleup, text="BUY", textcolor=color.white, size=size.small , force_overlay = true)
plotshape(sellCondition, title="Sell", location=location.abovebar, color=color.red, style=shape.triangledown, text="SELL", textcolor=color.white, size=size.small, force_overlay = true)
//#endregion
//#region Returns Matrix Calculation
// ================================
// Returns Matrix Calculation
// ================================
var returnsMatrix = matrix.new(0, barLookback, 0.0)
if (tradeDirection == "Long" ? buyCondition : sellCondition ) and isTimeWindow
newRow = array.new_float(barLookback)
for i = 0 to barLookback - 1
entryPrice = close
futurePrice = close
ret = (futurePrice - entryPrice) / entryPrice * 100
array.set(newRow, i, math.round(ret, 4))
matrix.add_row(returnsMatrix, matrix.rows(returnsMatrix), newRow)
//#endregion
//#region Display Table
// ================================
// Display Table
// ================================
var table statsTable = na
if barstate.islastconfirmedhistory and showTable
statsTable := table.new(position.top_right, barLookback + 1, 4, border_width=1, force_overlay=true)
// Table Headers
table.cell(statsTable, 0, 1, "Win Rate %", bgcolor=color.rgb(45, 45, 48), text_color=color.white, text_size=fontSizeMap)
table.cell(statsTable, 0, 2, "Mean Return %", bgcolor=color.rgb(45, 45, 48), text_color=color.white, text_size=fontSizeMap)
table.cell(statsTable, 0, 3, "Median Return %", bgcolor=color.rgb(45, 45, 48), text_color=color.white, text_size=fontSizeMap)
// Row Headers
for i = 1 to barLookback
table.cell(statsTable, i, 0, str.format("{0} Bar Return", i), bgcolor=color.rgb(45, 45, 48), text_color=color.white, text_size=fontSizeMap)
// Calculate Statistics
meanReturns = array.new_float()
medianReturns = array.new_float()
for col = 0 to matrix.columns(returnsMatrix) - 1
colData = matrix.col(returnsMatrix, col)
array.push(meanReturns, array.avg(colData))
array.push(medianReturns, array.median(colData))
// Populate Table
for col = 0 to matrix.columns(returnsMatrix) - 1
colData = matrix.col(returnsMatrix, col)
positiveCount = 0
for val in colData
if val > 0
positiveCount += 1
winRate = positiveCount / array.size(colData)
meanRet = array.avg(colData)
medianRet = array.median(colData)
// Color Logic
winRateColor = winRate == 0.5 ? color.rgb(58, 58, 60) : (winRate > 0.5 ? color.rgb(76, 175, 80) : color.rgb(244, 67, 54))
meanBullCol = color.from_gradient(meanRet, 0, array.max(meanReturns), color.rgb(76, 175, 80), color.rgb(0, 128, 0))
meanBearCol = color.from_gradient(meanRet, array.min(meanReturns), 0, color.rgb(255, 0, 0), color.rgb(255, 99, 71))
medianBullCol = color.from_gradient(medianRet, 0, array.max(medianReturns), color.rgb(76, 175, 80), color.rgb(0, 128, 0))
medianBearCol = color.from_gradient(medianRet, array.min(medianReturns), 0, color.rgb(255, 0, 0), color.rgb(255, 99, 71))
table.cell(statsTable, col + 1, 1, str.format("{0,number,#.##%}", winRate), text_color=color.white, bgcolor=winRateColor, text_size=fontSizeMap)
table.cell(statsTable, col + 1, 2, str.format("{0,number,#.###}%", meanRet), text_color=color.white, bgcolor=meanRet > 0 ? meanBullCol : meanBearCol, text_size=fontSizeMap)
table.cell(statsTable, col + 1, 3, str.format("{0,number,#.###}%", medianRet), text_color=color.white, bgcolor=medianRet > 0 ? medianBullCol : medianBearCol, text_size=fontSizeMap)
//#endregion
// Background color for OB/OS regions
bgcolor(rsiValue >= overboughtLevel ? color.new(color.red, 90) : rsiValue <= oversoldLevel ? color.new(color.green, 90) : na)
Bollinger Bands Entry/Exit ThresholdsBollinger Bands Entry/Exit Thresholds
Author of enhancements: chuckaschultz
Inspired and adapted from the original 'Bollinger Bands Breakout Oscillator' by LuxAlgo
Overview
Pairs nicely with Contrarian 100 MA
The Bollinger Bands Entry/Exit Thresholds is a powerful momentum-based indicator designed to help traders identify potential entry and exit points in trending or breakout markets. By leveraging Bollinger Bands, this indicator quantifies price deviations from the bands to generate bullish and bearish momentum signals, displayed as an oscillator. It includes customizable entry and exit signals based on user-defined thresholds, with visual cues plotted either on the oscillator panel or directly on the price chart.
This indicator is ideal for traders looking to capture breakout opportunities or confirm trend strength, with flexible settings to adapt to various markets and trading styles.
How It Works
The Bollinger Bands Entry/Exit Thresholds calculates two key metrics:
Bullish Momentum (Bull): Measures the extent to which the price exceeds the upper Bollinger Band, expressed as a percentage (0–100).
Bearish Momentum (Bear): Measures the extent to which the price falls below the lower Bollinger Band, also expressed as a percentage (0–100).
The indicator generates:
Long Entry Signals: Triggered when the bearish momentum (bear) crosses below a user-defined Long Threshold (default: 40). This suggests weakening bearish pressure, potentially indicating a reversal or breakout to the upside.
Exit Signals: Triggered when the bullish momentum (bull) crosses below a user-defined Sell Threshold (default: 80), indicating a potential reduction in bullish momentum and a signal to exit long positions.
Signals are visualized as tiny colored dots:
Long Entry: Blue dots, plotted either at the bottom of the oscillator or below the price bar (depending on user settings).
Exit Signal: White dots, plotted either at the top of the oscillator or above the price bar.
Calculation Methodology
Bollinger Bands:
A user-defined Length (default: 14) is used to calculate an Exponential Moving Average (EMA) of the source price (default: close).
Standard deviation is computed over the same length, multiplied by a user-defined Multiplier (default: 1.0).
Upper Band = EMA + (Standard Deviation × Multiplier)
Lower Band = EMA - (Standard Deviation × Multiplier)
Bull and Bear Momentum:
For each bar in the lookback period (length), the indicator calculates:
Bullish Momentum: The sum of positive deviations of the price above the upper band, normalized by the total absolute deviation from the upper band, scaled to a 0–100 range.
Bearish Momentum: The sum of positive deviations of the price below the lower band, normalized by the total absolute deviation from the lower band, scaled to a 0–100 range.
Formula:
bull = (sum of max(price - upper, 0) / sum of abs(price - upper)) * 100
bear = (sum of max(lower - price, 0) / sum of abs(lower - price)) * 100
Signal Generation:
Long Entry: Triggered when bear crosses below the Long Threshold.
Exit: Triggered when bull crosses below the Sell Threshold.
Settings
Length: Lookback period for EMA and standard deviation (default: 14).
Multiplier: Multiplier for standard deviation to adjust Bollinger Band width (default: 1.0).
Source: Input price data (default: close).
Long Threshold: Bearish momentum level below which a long entry signal is generated (default: 40).
Sell Threshold: Bullish momentum level below which an exit signal is generated (default: 80).
Plot Signals on Main Chart: Option to display entry/exit signals on the price chart instead of the oscillator panel (default: false).
Style:
Bullish Color: Color for bullish momentum plot (default: #f23645).
Bearish Color: Color for bearish momentum plot (default: #089981).
Visual Features
Bull and Bear Plots: Displayed as colored lines with gradient fills for visual clarity.
Midline: Horizontal line at 50 for reference.
Threshold Lines: Dashed green line for Long Threshold and dashed red line for Sell Threshold.
Signal Dots:
Long Entry: Tiny blue dots (below price bar or at oscillator bottom).
Exit: Tiny white dots (above price bar or at oscillator top).
How to Use
Add to Chart: Apply the indicator to your TradingView chart.
Adjust Settings: Customize the Length, Multiplier, Long Threshold, and Sell Threshold to suit your trading strategy.
Interpret Signals:
Enter a long position when a blue dot appears, indicating bearish momentum dropping below the Long Threshold.
Exit the long position when a white dot appears, indicating bullish momentum dropping below the Sell Threshold.
Toggle Plot Location: Enable Plot Signals on Main Chart to display signals on the price chart for easier integration with price action analysis.
Combine with Other Tools: Use alongside other indicators (e.g., trendlines, support/resistance) to confirm signals.
Notes
This indicator is inspired by LuxAlgo’s Bollinger Bands Breakout Oscillator but has been enhanced with customizable entry/exit thresholds and signal plotting options.
Best used in conjunction with other technical analysis tools to filter false signals, especially in choppy or range-bound markets.
Adjust the Multiplier to make the Bollinger Bands wider or narrower, affecting the sensitivity of the momentum calculations.
Disclaimer
This indicator is provided for educational and informational purposes only.
Momentum Trajectory Suite📈 Momentum Trajectory Suite
🟢 Overview
Momentum Trajectory Suite is a multi-faceted indicator designed to help traders evaluate trend direction, volatility conditions, and behavioral sentiment in a single consolidated view.
By combining a customizable Trajectory EMA, adaptive Bollinger Bands, and a Greed vs. Fear heatmap, this tool empowers traders to identify directional bias, measure momentum strength, and spot potential reversals or continuation setups.
🧠 Concept
This indicator merges three classic techniques:
Trend Analysis: Trajectory EMA highlights the prevailing directional momentum by smoothing price action over a customizable period.
Volatility Envelopes: Bollinger Bands adapt to dynamic price swings, showing overbought/oversold extremes and periods of contraction or expansion.
Behavioral Sentiment: A Greed vs. Fear heatmap combines RSI and MACD Histogram readings to visualize when markets are dominated by buying enthusiasm or selling pressure.
The combination is designed to help traders interpret market context more effectively than using any single component alone.
🛠️ How to Use the Indicator
Trajectory EMA:
Use the blue EMA line to assess overall trend direction.
Price closing above the EMA may indicate bullish momentum; closing below may indicate bearish bias.
Buy/Sell Signals:
Green circles appear when price crosses above the EMA (potential long entry).
Red circles appear when price crosses below the EMA (potential exit or short entry).
Bollinger Bands:
Monitor upper/lower bands for overbought and oversold price extremes.
Narrowing bands may signal upcoming volatility expansion.
Greed vs. Fear Heatmap:
Green histogram bars indicate bullish sentiment when RSI exceeds 60 and MACD Histogram is positive.
Red histogram bars indicate bearish sentiment when RSI is below 40 and MACD Histogram is negative.
Gray bars indicate neutral or mixed conditions.
Background Color Zones:
The chart background shifts to green when EMA slope is positive and red when negative, providing quick directional cues.
All inputs are adjustable in settings, including EMA length, Bollinger Band parameters, and oscillator configurations.
📊 Interpretation
Bullish Conditions:
Price above the Trajectory EMA, background green, and Greed heatmap active.
May signal trend continuation and increased buying pressure.
Bearish Conditions:
Price below the Trajectory EMA, background red, and Fear heatmap active.
May signal momentum breakdown or potential continuation to the downside.
Volatility Clues:
Wide Bollinger Bands = trending, volatile market.
Narrow Bollinger Bands = low volatility and possible breakout setup.
Signal Confirmation:
Consider combining signals (e.g., EMA crossover + Greed/Fear heatmap + Bollinger Band touch) for higher-confidence entries.
📝 Notes
The script does not repaint or use future data.
Suitable for multiple timeframes (intraday to daily).
May be combined with other confirmation tools or price action analysis.
⚠️ Disclaimer
This script is for educational and informational purposes only and does not constitute financial advice. Trading carries risk and past performance is not indicative of future results. Always perform your own due diligence before making trading decisions.
RSI Divergence (Nikko)RSI Divergence by Nikko
🧠 RSI Divergence Detector — Nikko Edition This script is an enhanced RSI Divergence detector built with Pine Script v6, modified for better visuals and practical usability. It uses linear regression to detect bullish and bearish divergences between the RSI and price action — one of the most reliable early signals in technical analysis.
✅ Improvements from the Original:
- Clean divergence lines using regression fitting.
- Optional label display to reduce clutter (Display Labels toggle).
- Adjustable line thickness (Display Line Width).
- A subtle heatmap background to highlight RSI overbought/oversold zones.
- Uses max accuracy with high calc_bars_count and custom extrapolation window.
🔍 How It Works: The script applies linear regression (least squares method) on both RSI data, and Price (close) data.
It then compares the direction of RSI vs. direction of Price over a set length. If price is making higher highs while RSI makes lower highs, it's a bearish divergence. If price is making lower lows while RSI makes higher lows, it's a bullish divergence. Additional filters (e.g., momentum and slope thresholds) are used to validate only strong divergences.
🔧 Input Parameters: RSI Length: The RSI period (default: 14). RSI Divergence Length: The lookback period for regression (default: 25). Source: Which price data to calculate RSI from (default: close). Display Labels: Show/hide “Bullish” or “Bearish” labels on the chart. Display Line Width: Adjusts how thick the plotted divergence lines appear.
📣 Alerts: Alerts are built-in for both RSI Buy (bullish divergence) and RSI Sell (bearish divergence) so you can use it in automation or notifications.
🚀 Personal Note: I’ve been using this script daily in my own trading, which is why I took time to improve both the logic and visual clarity. If you want a divergence tool that doesn't clutter your chart but gives strong signals, this might be what you're looking for.
Hidden Markov ModelDescription
This model uses a Hidden Markov Model to detect potential tops and bottoms. It is designed to probabilistically identify market regime changes and predict potential reversal point using a forward algorithm to calculate the probability of a state.
State 0: (Normal Trading): Market continuation patterns, balanced buying/selling
State 1: (Top Formation): Exhaustion patterns at price highs
State 2: (Bottom Formation): Capitulation patterns at price lows
Background: The HMM assumes that market behavior follows hidden states that aren't directly observable, but can be inferred from observable market data (emissions). The model uses a (somewhat simplified) Bayesian inference to estimate these probabilities.
How to use
1) Identify the trend (you can also use it counter-trend)
2) For longing, look for a green arrow. The probability values should be red. For shorting, look for a red arrow. The probability values should be green
3) For added confluence, look for high probability values