M-oscillator
RAHA - Roni's Adjusted Hybrid AverageRoni's Hybrid Moving Average Oscillator
Each value in the series is weighted inversely to its distance from the mean, meaning that outliers have less impact.
The indicator reduces distortions caused by extreme movements.
More suitable for cases such as volatile stocks.
מתנד הממוצע ההיברידי של רוני
כל ערך בסדרה מקבל משקל הפוך למרחקו מהממוצע כלומר חריגים משפיעים פחות.
האינדיקטור מצמצם עיוותים שנגרמים על ידי תנועות קיצוניות.
מתאים יותר למקרים כמו מניות תנודתיות.
TRADING GURU LIVE FLASHHi guys,
If you are looking to add some watermark into your charts. You can use this indicator.
You can add add a title and a subtitle, if you want to write in diferents lines, you can use as you can see in the script.
This is just a watermark, which follows my personal style an aesthetic when it comes to Pinescript tools. I like to keep my charts clean to focus on Time and price, and I love to have a reminder to remain disciplined.
Homo Faber Fortunae Suae is a Latin maxim which loosely translates to: Humans Are The Makers Of Their Own Destiny.
So make your own destiny, master yourself and the charts!
All the features are customizable: position, text size, text color, background.
Enjoy it.
SMA/EMA Cross SignalFor short-term swing traders (such as I am) this is a simple indicator that plots 2 moving average lines of your choice, the SMA and EMA to the screen and has built in buy/sell signal when they cross.
I personally use this when price action is above the 50 SMA. The default setting (5SMA/10EMA) is what I use and has been working for me as long price action is above the 50 SMA.
Features:
1) Alerts are triggered when SMA (Signal line) and the EMA (Baseline) cross - a Long signal is called if the cross is above the EMA, a exit if the cross is below EMA
2) Signals are represented visually on the chart, below the candles is a long, above is a short.
Good luck!
PRO Investing - Apex Engine FREE VERSION🧠 The Apex Engine: True Self-Tuning Intelligence
The biggest flaw in most indicators is that they rely on fixed settings. The Apex Engine solves this with two layers of adaptation:
Fully Auto-Adjustable Parameters: The engine first analyzes the volatility of the asset on your chart to derive its own optimal "Fast," "Mid," and "Slow" momentum lengths. You never have to guess settings again—it tunes itself for any instrument and timeframe.
Performance-Based Selection: It then uses statistical correlation to constantly measure which of its auto-tuned parameters is most in-sync with recent price action. It deploys the "winning" engine to generate signals, ensuring you're always using the most relevant analysis.
🎨 An All-in-One, Unified View
We've engineered this script to deliver maximum information with minimum clutter, all within a single indicator.
High-Confluence Buy/Sell Signals (▲/▼): Clear triangles appear directly on your chart. These are not simple crossovers; a signal is only plotted if it aligns with the dominant trend (above/below the 200MA) and the market is not choppy (ADX > 20).
Compact Oscillator Display: A "lite" version of the oscillator is displayed in a compact panel at the bottom of your price chart, showing the active Velocity line and its signal.
Transparent Dashboard: A small table in the corner shows you the engine's "brain" at work, displaying the real-time correlation scores and highlighting the active parameter.
Smart Background Coloring: The entire chart background changes color to give you immediate context:
🟩 Green: Bullish trend, favorable conditions for buys.
🟥 Red: Bearish trend, favorable conditions for sells.
⬛ Gray: Caution zone. Market is choppy or counter-trend.
This tool is designed to be the ultimate all-in-one solution for traders who value automation, clarity, and adaptive analysis.
If you find this indicator powerful, please leave a Boost 👍 and Follow our Profile for more professional-grade tools.
Disclaimer: All indicators are for analytical and educational purposes only. Trading involves significant risk. Always use your own judgment and risk management.
TRADING GURU - WatermarkHi guys,
If you are looking to add some watermark into your charts. You can use this indicator.
You can add add a title and a subtitle, if you want to write in diferents lines, you can use as you can see in the script.
All the features are customizable: position, text size, text color, background.
Enjoy it.
BTC Correlation CoefficientThe BTCUSDT Correlation Coefficient indicator measures the strength and direction of the relationship between the selected asset (e.g., a stock or altcoin) and the price of BTCUSDT over a chosen time period. It uses a custom correlation function to calculate how closely the asset's price movements align with Bitcoin, returning a value between -1 and +1. A coefficient near +1 indicates strong positive correlation, while values near -1 indicate inverse correlation. This helps traders assess whether the asset tends to follow Bitcoin’s price trends or behave independently, enabling more informed decisions on portfolio diversification and market sentiment alignment.
Momentum + Heatmap with RSI Cross (Nikko)📘 User Manual: Momentum + Heatmap with RSI Cross (Nikko)
Version: 1.0
Author: Cryptonikkoid
Platform: TradingView – Pine Script v6
License: Mozilla Public License 2.0
Release Date: June 2025
🔍 Overview
The Momentum + Heatmap with RSI Cross is an advanced visual indicator designed to replace traditional oscillators by merging multiple indicators into one. It blends Vortex, Stochastic, RSI, and MACD into a unified, mathematically enhanced momentum signal. This tool highlights trend shifts, potential reversals, and momentum build-up with intuitive visuals and alert signals.
The indicator includes:
A hybrid oscillator reflecting directional strength and momentum.
A heatmap background representing RSI × Vortex energy.
Buy/Sell triangle alerts based on RSI-style crossovers.
A clean layout optimized for decision-making speed.
⚙️ How It Works
Vortex Strength
The indicator computes Vortex Positive (VI+) and Vortex Negative (VI–) over a user-defined period.
The difference between the two creates a directional bias signal (viDiff).
Stochastic Momentum
The viDiff value is normalized through a stochastic oscillator, producing smoothed %K and %D curves.
These curves serve as the base for momentum signals.
RSI and Long-Term RSI
The RSI is computed and normalized to a 0–1 scale.
A long-term RSI (5× period) is also calculated to act as a trend anchor.
MACD Filtering
A MACD calculation determines whether the market is in a bullish or bearish condition.
The hybrid signals are flipped accordingly to follow the broader trend.
Hybrid Oscillator Construction
%K and %D are multiplied by exponential factors of RSI and long RSI.
This adds acceleration to the signals when momentum is increasing rapidly.
RSI Cross Detection
When the hybrid %K crosses above hybrid %D, a Sell triangle appears (potential peak).
When it crosses below, a Buy triangle appears (momentum reversal).
Heatmap Background
A visual background shows the interaction between Vortex and RSI energy.
Colors shift from deep purple (low momentum) to blue (strong bullish energy).
The heatmap can be toggled on/off for clarity.
Alerts
Built-in alert conditions allow you to be notified instantly on buy/sell signals.
🧠 How to Use
Apply the Indicator
Add it to any chart on TradingView.
It works best on trending assets and volatile conditions like crypto or indices.
Read the Hybrid Oscillator
Use the hybrid %K and %D like a momentum wave.
Strong upward waves + a green heatmap = potential long.
Sharp downward spikes + fading heatmap = caution or potential exit.
Watch the Triangles
A green triangle below a bar suggests a buy signal — momentum is reversing upward.
A red triangle above a bar signals momentum exhaustion — potential sell or take profit.
Heatmap Guidance
When the background is faint or fades to purple, it indicates weak conditions.
Blueish tones signal growing bullish strength.
Use with Price Action
Combine triangle alerts with support/resistance, price structure, or volume.
This indicator is not a standalone entry tool, but a strong directional filter.
✅ Benefits
Single Indicator Solution: Replaces multiple tools like MACD, RSI, and Stochastic.
Momentum + Trend Fusion: Combines short-term reversals with long-term trend confirmation.
Visual Simplicity: Clear oscillator waves, triangle icons, and color-coded heatmaps reduce decision fatigue.
Built-in Alerts: Get notified the moment momentum shifts.
Customizable: You can tweak lengths and smoothing for your asset and timeframe.
⚠️ Limitations
Slight Lag: Smoothing adds stability but can delay signals by a few candles.
Whipsaw in Sideways Markets: Like all momentum tools, performance is better in trending conditions.
Requires Confirmation: Best used with other tools like structure or volume to confirm trades.
Experimental Math: This is an experimental formulation; more feedback could help fine-tune signal logic.
🔁 What's New Compared to Traditional Indicators
Unlike using RSI, MACD, or Stochastic separately, this indicator:
Integrates all three into a unified momentum model.
Adds long-term RSI filtering to reduce noise.
Uses exponential scaling to enhance signal acceleration.
Features heatmap visualization to intuitively show energy buildup.
Provides actionable visual alerts without relying solely on numeric values.
🛠️ Tips and Customization
Adjust the rsiLength, viLength, and MACD settings for different markets (e.g. faster for scalping, slower for swing).
Toggle off the heatmap if you prefer a cleaner look using the checkbox.
Use higher timeframes (4h, 1D) for swing trading or lower timeframes (15m–1h) for intraday.
Combine with volume spikes or trendlines to enhance trade confirmation.
Add alertcondition() messages to trigger webhook or mobile alerts.
🎯 Final Thoughts
Momentum + Heatmap with RSI Cross simplifies the complexity of momentum analysis into a smooth, visually intuitive signal. It helps identify entry zones early, avoid chasing reversals blindly, and gives clear exit alerts based on dynamic crossovers.
If you want cleaner charts with smarter momentum tracking — this tool is built for that.
Contrarian RSIContrarian RSI Indicator
Pairs nicely with Contrarian 100 MA (optional hide/unhide buy/sell signals)
Description
The Contrarian RSI is a momentum-based technical indicator designed to identify potential reversal points in price action by combining a unique RSI calculation with a predictive range model inspired by the "Contrarian 5 Levels" logic. Unlike traditional RSI, which measures price momentum based solely on price changes, this indicator integrates a smoothed, weighted momentum calculation and predictive price ranges to generate contrarian signals. It is particularly suited for traders looking to capture reversals in trending or range-bound markets.
This indicator is versatile and can be used across various timeframes, though it performs best on higher timeframes (e.g., 1H, 4H, or Daily) due to reduced noise and more reliable signals. Lower timeframes may require additional testing and careful parameter tuning to optimize performance.
How It Works
The Contrarian RSI combines two primary components:
Predictive Ranges (5 Levels Logic): This calculates a smoothed price average that adapts to market volatility using an ATR-based mechanism. It helps identify significant price levels that act as potential support or resistance zones.
Contrarian RSI Calculation: A modified RSI calculation that uses weighted momentum from the predictive ranges to measure buying and selling pressure. The result is smoothed and paired with a user-defined moving average to generate clear signals.
The indicator generates buy (long) and sell (exit) signals based on crossovers and crossunders of user-defined overbought and oversold levels, making it ideal for contrarian trading strategies.
Calculation Overview
Predictive Ranges (5 Levels Logic):
Uses a custom function (pred_ranges) to calculate a dynamic price average (avg) based on the ATR (Average True Range) multiplied by a user-defined factor (mult).
The average adjusts only when the price moves beyond the ATR threshold, ensuring responsiveness to significant price changes while filtering out noise.
This calculation is performed on a user-specified timeframe (tf5Levels) for multi-timeframe analysis.
Contrarian RSI:
Compares consecutive predictive range values to calculate gains (g) and losses (l) over a user-defined period (crsiLength).
Applies a Gaussian weighting function (weight = math.exp(-math.pow(i / crsiLength, 2))) to prioritize recent price movements.
Computes a "wave ratio" (net_momentum / total_energy) to normalize momentum, which is then scaled to a 0–100 range (qrsi = 50 + 50 * wave_ratio).
Smooths the result with a 2-period EMA (qrsi_smoothed) for stability.
Moving Average:
Applies a user-selected moving average (SMA, EMA, WMA, SMMA, or VWMA) with a customizable length (maLength) to the smoothed RSI (qrsi_smoothed) to generate the final indicator value (qrsi_ma).
Signal Generation:
Long Entry: Triggered when qrsi_ma crosses above the oversold level (oversoldLevel, default: 1).
Long Exit: Triggered when qrsi_ma crosses below the overbought level (overboughtLevel, default: 99).
Entry and Exit Rules
Long Entry: Enter a long position when the Contrarian RSI (qrsi_ma) crosses above the oversold level (default: 1). This suggests the asset is potentially oversold and due for a reversal.
Long Exit: Exit the long position when the Contrarian RSI (qrsi_ma) crosses below the overbought level (default: 99), indicating a potential overbought condition and a reversal to the downside.
Customization: Adjust overboughtLevel and oversoldLevel to fine-tune sensitivity. Lower timeframes may benefit from tighter levels (e.g., 20 for oversold, 80 for overbought), while higher timeframes can use extreme levels (e.g., 1 and 99) for stronger reversals.
Timeframe Considerations
Higher Timeframes (Recommended): The indicator is optimized for higher timeframes (e.g., 1H, 4H, Daily) due to its reliance on predictive ranges and smoothed momentum, which perform best with less market noise. These timeframes typically yield more reliable reversal signals.
Lower Timeframes: The indicator can be used on lower timeframes (e.g., 5M, 15M), but signals may be noisier and require additional confirmation (e.g., from price action or other indicators). Extensive backtesting and parameter optimization (e.g., adjusting crsiLength, maLength, or mult) are recommended for lower timeframes.
Inputs
Contrarian RSI Length (crsiLength): Length for RSI momentum calculation (default: 5).
RSI MA Length (maLength): Length of the moving average applied to the RSI (default: 1, effectively no MA).
MA Type (maType): Choose from SMA, EMA, WMA, SMMA, or VWMA (default: SMA).
Overbought Level (overboughtLevel): Upper threshold for exit signals (default: 99).
Oversold Level (oversoldLevel): Lower threshold for entry signals (default: 1).
Plot Signals on Main Chart (plotOnChart): Toggle to display signals on the price chart or the indicator panel (default: false).
Plotted on Lower:
Plotted on Chart:
5 Levels Length (length5Levels): Length for predictive range calculation (default: 200).
Factor (mult): ATR multiplier for predictive ranges (default: 6.0).
5 Levels Timeframe (tf5Levels): Timeframe for predictive range calculation (default: chart timeframe).
Visuals
Contrarian RSI MA: Plotted as a yellow line, representing the smoothed Contrarian RSI with the applied moving average.
Overbought/Oversold Lines: Red line for overbought (default: 99) and green line for oversold (default: 1).
Signals: Blue circles for long entries, white circles for long exits. Signals can be plotted on the main chart (plotOnChart = true) or the indicator panel (plotOnChart = false).
Usage Notes
Use the indicator in conjunction with other tools (e.g., support/resistance, trendlines, or volume) to confirm signals.
Test extensively on your chosen timeframe and asset to optimize parameters like crsiLength, maLength, and mult.
Be cautious with lower timeframes, as false signals may occur due to market noise.
The indicator is designed for contrarian strategies, so it works best in markets with clear reversal patterns.
Disclaimer
This indicator is provided for educational and informational purposes only. Always conduct thorough backtesting and risk management before using any indicator in live trading. The author is not responsible for any financial losses incurred.
Charts Algo Signature Stamp 🖋️
📌 Charts Algo Signature Stamp 🖋️
An elegant and professional chart signature tool to brand your trading ideas, track chart context, and add motivational affirmations to your work.
🔍 What It Does
The Signature Stamp displays a clean, customizable branding box on your chart that includes:
A Main Title (e.g., brand name or username)
A Subtitle (e.g., your trading mantra or values)
The current symbol + timeframe (optional)
The current date (optional)
This creates a polished, professional visual signature—great for screenshots, social sharing, educational content, or simply marking your charts with intention.
⚙️ How to Use It
Once added to your TradingView chart:
Customize Your Stamp:
Go to the indicator’s settings panel.
Under Main Title, enter your brand (e.g., Charts Algo, Trading by Charts Algo 📈).
Under Subtitle, input a personal mantra or values like:
PATIENCE | DISCIPLINE | FEARLESS
(You can change this anytime — see suggestions below.)
Optional Toggles:
Show Symbol – display the ticker symbol and timeframe.
Show Date – include the current date in DD/MM/YYYY format.
Position Settings:
Choose from 9 positions on the screen:
Top Left, Top Center, Top Right
Middle Left, Center, Middle Right
Bottom Left, Bottom Center, Bottom Right
Style Settings:
Set background color (e.g., transparent or muted).
Choose text colors for title, subtitle, and info text.
Adjust font sizes (tiny → huge) for visual hierarchy.
🖋️ Stamp Ideas
Here are some great 5-word signature ideas for your subtitle:
SCAN | PLAN | EXECUTE | DOMINATE | WIN
PATIENCE | DISCIPLINE | FEARLESS | CONTROL | EDGE
MINDSET | STRATEGY | SETUPS | RISK | PROFIT
SMC | FVG | OTE | CE | FLOW
OBSERVE | LEARN | TRADE | IMPROVE | MASTER
Pick the one that best reflects your trading style and mission—or create your own.
✅ Best Uses
Personal branding for social media posts
Visual signature for shared trading ideas
Motivational reminders on your chart
Identifying context (symbol + date) in screenshots
⚠️ Disclaimer
This visual stamp is for branding and educational display only. It does not provide trading signals or financial advice.
Charts Algo and its tools are intended to support analysis, not replace your judgment or due diligence. Always trade responsibly.
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.
📈 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?
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.
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.
RATE OF CHANGE ROLLING INTEGRALAdded an integral balance to the ROC subchart.
just tracks the balance of area back to the ROC length.
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
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.
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.
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.