Volume-Weighted RSI & Multi-Normalized MACD### Description for Publishing: Volume-Weighted RSI & Multi-Normalized MACD
**Overview**
The "Volume-Weighted RSI & Multi-Normalized MACD" indicator is a powerful and versatile tool designed for traders seeking enhanced momentum and trend analysis. Combining a volume-weighted Relative Strength Index (VW-RSI) with a customizable Moving Average Convergence Divergence (MACD) featuring multiple normalization methods, this indicator provides deep insights into market dynamics. It supports multi-timeframe (MTF) analysis and includes an optional stepped plotting mode for discrete signal visualization, making it ideal for both trend-following and mean-reversion strategies across various markets (stocks, forex, crypto, etc.).
**Key Features**
1. **Volume-Weighted RSI (VW-RSI)**:
- A modified RSI that incorporates trading volume for greater sensitivity to market activity.
- Normalized to a user-defined range (default: -50 to +50) for consistent analysis.
- Optional smoothing with multiple moving average types (SMA, EMA, WMA, VWMA, SMMA, or SMA with Bollinger Bands) to reduce noise and highlight trends.
- Overbought (+20) and oversold (-20) levels for quick reference.
2. **Multi-Normalized MACD**:
- Offers six normalization methods for MACD, allowing traders to tailor the output to their strategy:
- Normalized Volume Weighted MACD (unbounded).
- Min-Max Normalization (bounded).
- Volatility Normalization (unbounded, volatility-adjusted).
- Volatility Normalization with Min-Max (bounded).
- Hyperbolic Tangent Normalization (bounded).
- Arctangent Normalization (bounded).
- Min-Max with Smoothing (bounded).
- All bounded methods scale to the user-defined range (default: -50 to +50), ensuring comparability with VW-RSI.
- Dynamic color changes for MACD line (lime/red) and histogram (aqua/blue/red/maroon) based on momentum and signal line crosses.
3. **Stepped Plotting Mode**:
- Optional mode to plot RSI and MACD as discrete, stepped lines, reducing noise by only updating when values change significantly (configurable thresholds).
- Ideal for traders focusing on clear, actionable signal changes.
4. **Multi-Timeframe Support**:
- Configurable timeframe input (default: chart timeframe) for analyzing RSI and MACD on higher or lower timeframes, enhancing cross-timeframe strategies.
5. **Customizable Display**:
- Toggle options to show/hide MACD line, signal line, histogram, and cross dots.
- Bollinger Bands for RSI smoothing (optional) with adjustable standard deviation multiplier.
- Clear visual cues with horizontal lines for overbought/oversold levels, midline, and MACD bounds.
**Usage Instructions**
1. **Add to Chart**: Apply the indicator to any symbol (e.g., BTCUSD, SPY) on any timeframe (1H, 1D, etc.).
2. **Configure Settings**:
- **General**: Adjust `Lower Bound` (-50 default) and `Upper Bound` (+50 default) for the output range. Set `Timeframe` for MTF analysis. Enable `Stepped?` for discrete plotting.
- **RSI**: Choose `Price Source` (default: ohlc4), `RSI Length` (default: 9), and smoothing options (e.g., EMA, Bollinger Bands). Adjust `RSI Diff Threshold` for stepped mode.
- **MACD**: Select `Price Source`, `Fast Length` (9), `Slow Length` (21), `Signal Length` (9), and a normalization method (default: Volatility Min-Max). Adjust `MACD Diff Threshold` for stepped mode.
- **Display Options**: Toggle MACD components and histogram colors for clarity.
3. **Interpretation**:
- **VW-RSI**: Watch for crosses above +20 (overbought) or below -20 (oversold) for potential reversals. Use smoothed RSI or Bollinger Bands for trend confirmation.
- **MACD**: Look for MACD/Signal line crosses (dots indicate crossings) and histogram changes for momentum shifts. Bounded normalizations align with RSI for unified analysis.
- **Stepped Mode**: Focus on significant changes in RSI/MACD for clearer signals.
4. **Companion Overlay**: For visualization on the main price chart, use the companion script "VW-RSI & MACD Price Overlay" (available separately, requires this script to be published). It plots RSI and MACD as price-scaled echo lines, with toggles to show/hide and customizable scaling (high/low or ATR).
**Who Is This For?**
- **Trend Traders**: Use MACD normalizations and MTF to identify momentum shifts across timeframes.
- **Mean-Reversion Traders**: Leverage VW-RSI’s overbought/oversold signals for entry/exit points.
- **Technical Analysts**: Customize normalization and smoothing to match specific market conditions.
- **All Markets**: Works on stocks, forex, cryptocurrencies, and more, with any timeframe.
**Notes**
- Unbounded MACD normalizations (`enable_nvw`, `enable_vol`) may produce values outside -50/+50, suitable for volatility-focused strategies.
- For price chart overlay, publish this script and use its ID in the companion script’s `request.security` call.
- Adjust scaling inputs in the companion script for optimal visualization on volatile or stable assets.
**Author’s Note**
Developed by NEPOLIX, this indicator combines volume-weighted precision with flexible normalization for robust technical analysis. Feedback and suggestions are welcome to enhance future versions!
Educational
Bitcoin Lagging (N Days)This indicator overlays Bitcoin’s price on any chart with a user-defined N-day lag. You can select the BTC symbol and timeframe (daily recommended), choose which price source to use (open, high, low, close, hlc3, ohlc4), and shift the series by a chosen number of days. An option to normalize the series to 100 at the first visible value is also available, along with the ability to display the original BTC line for comparison.
It is designed for traders and researchers who want to test lagging relationships between Bitcoin and other assets, observe correlation changes, or visualize how BTC’s past prices might align with current market movements. The lagging is calculated based on daily candles, so even if applied on intraday charts, the shift remains in daily units.
이 지표는 비트코인 가격을 원하는 차트 위에 N일 지연된 상태로 표시해 줍니다. 심볼과 타임프레임(일봉 권장)을 선택할 수 있으며, 가격 소스(시가, 고가, 저가, 종가, hlc3, ohlc4)도 설정 가능합니다. 또한 시리즈를 첫 값 기준으로 100에 맞춰 정규화하거나, 원래의 비트코인 가격선을 함께 표시할 수도 있습니다.
비트코인과 다른 자산 간의 시차 효과를 분석하거나 상관관계 변화를 관찰할 때 유용하게 활용할 수 있습니다. 지연은 일봉 기준으로 계산되므로, 분·시간 차트에 적용해도 항상 일 단위로 반영됩니다.
PongExperience PONG! The classic arcade game, now on your charts!
With this indicator, you can finally achieve your lifelong dream of beating the Markets. . . at PONG!
Pong is jam-packed with features! Such as:
2 Paddles
A moving dot
Floating numbers
The idea of a net
This indicator is solely a visualization, it serves simply as an exercise to depict what is capable through PineScript. It can be used to re-skin other indicators or data, but on its own, is not intended as a market indicator.
With that out of the way...
> PONG
The Pong indicator is a recreation of the classic arcade game Pong developed to pit the markets against the cold hard logic of a CPU player.
Given the lack of interaction that is capable, the game is not played in the typical sense, by a player and computer or 2 players.
This version of Pong uses the chart price movements to control the "Market" Paddle, and it is contrasted by a (not AI) "CPU" Paddle, which is controlled by its own set of logic.
> Market Paddle
The Market Paddle is controlled by a data source which can be input by the user.
By default (Auto Mode), the Market Paddle is controlled through a fixed length Donchian channel range, pinning the range high to 100 and range low to 0. As seen below.
This can be altered to use data from different symbols or indicators, and can optionally be smoothed using multiple types of Moving Averages.
In the chart below, you can see how the RSI indicator is imported and smoothed to control the Market Paddle.
Note: The Market Paddle follows the moving average. If not desired, simply set the "Smoothing" input to "NONE".
> CPU Paddle
In simple terms, the CPU Paddle is a handicapped Aimbot.
Its logic is, more or less, "move directly towards the ball's vertical location".
If it were allowed to have full range of the screen, it would be impossible for it to lose a point. Due to this, we must slow it down to "play fair"... as fair as that may be.
The CPU Paddle is allowed to move at a rate specified by a certain Percent of its vertical width. By default, this is set to 2%.
Each update, the CPU Paddle can advance up or down 2% of its vertical width. The directional movement is determined based on the angle of the ball, and it's current position relative to the CPU Paddle's position. Given that it is not a direct follow, it may at times seem more... "human".
When a point is scored, the CPU paddle maintains its position, similar to the original Pong game, the paddles were controlled solely by the raw output of the controllers and did not reset.
> Ball
At the start of each point, the ball begins at the center of the screen and moves in a randomly determined angle at its base speed.
The direction is determined by the player who scored the last point. The loser of the last point "serves" the ball.
Given the circumstances, serving is a gigantic advantage. So the loser serving is just another place where the Market is given an advantage.
The ball's base speed is 1, it will move 1 (horizontal) bar on each update of the script. This speed can "technically" increase to infinity over time, if given the perfect rally. This is due to the hit logic as described below.
Note: The minimum ball speed is also 1.
> Bonk Math
When the ball hits a paddle, essentially 3 outcomes can occur, each resulting in the ball's direction being changed from positive to negative.
Action A: Its angle is doubled, and its speed is doubled.
Action B: Its angle is reversed, and its speed is decreased if it is going faster than base speed.
Action C: Its angle is preserved, and its speed is preserved. "Basic Bounce"
Each paddle is segmented into 3 zones, with the higher and lower tips (20%) of the paddles producing special actions.
The central 60% of each paddle produces a basic bounce. The special actions are determined by the trajectory of the ball and location on the paddle.
> Custom Mode
As stated above, the script loads in "Auto Mode" by default. While this works fine to simply watch the gameplay, the Custom Mode unlocks the ability to visualize countless possibilities of indicators and analyses playing Pong!
In the chart below, we have set up the game to use the NYSE TICK Index as our Market Player. The NYSE TICK Index shows the number of NYSE stocks trading on an uptick minus those on a downtick. Its values fluctuate throughout the day, typically ranging between +1000 and -1000.
Therefore, we have set up Pong to use Ticker USI:TICK and set the Upper Boundary to 1000 and Lower Boundary to -1000. With this method, the paddle is directly controlled by the overall (NYSE) market behaviors.
As seen in a chart earlier, you can also take advantage of the Custom Mode to overlay Pong onto traditional oscillators for use anywhere!
> Styles
This version of Pong comes stocked with 5 colorways to suit your chart vibes!
> Pro Tips & Additional Information
- This game has sound! For the full experience, set alerts for this indicator and a notification sound will play on each hit!*
*Due to server processing, the notification sounds are not precisely played at each hit. :(
- In auto mode, decreasing the length used will give an advantage to the market, as its actions become more sporadic over this window.
- The CPU logic system actually allows the market to have a "technical" edge, since the Market Paddle is not bound to any speed, and is solely controlled by the raw market movements/data input.
- This type of visualization only works on live charts, charts without updates will not see any movement.
- Indicator sources can only be imported from other indicators on the same chart.
- The base screen resolution is 159 bars wide, with the height determined by the boundaries.
- When using a symbol and an outside source, be mindful that the script is attempting to pull the source from the input symbol. Data can appear wonky when not considering the interactions of these inputs.
There are many small interesting details that can't be seen through the description. For example, the mid-line is made from a box. This is because a line object would not appear on top of the box used for the screen. For those keen eye'd coders, feel free to poke around in the source code to make the game truly custom.
Just remember:
The market may never be fair, but now at least it can play Pong!
Enjoy!
H/L Swings/pivots detectorThis indicator detects and labels swing highs and swing lows using pivot logic.
It highlights market structure shifts by identifying:
- Higher Highs (HH) and Lower Highs (LH)
- Lower Lows (LL) and Higher Lows (HL)
Traders often use these levels to analyze trends, reversals, and key support/resistance zones.
The script also plots pivot markers above highs and below lows for visual clarity.
This tool is designed for educational and analytical purposes, and it does not provide financial advice or guaranteed results.
📂 Categories (choose when publishing)
Type of script → Indicator
Category → Trend Analysis (fits best for HH/LL pivots)
Optionally → Support/Resistance (if you emphasize pivots as zones)
swing high
swing low
pivot points
market structure
trend analysis
higher high
lower low
support resistance
Global M2 Money SupplyThis indicator calculates and plots an aggregated estimate of the Global M2 money supply, expressed in U.S. dollar terms. It combines M2 data from major economies and regions—including the U.S., Eurozone, Canada, the U.K., Switzerland, China, Japan, India, Brazil, and others—and adjusts each by its respective FX rate to USD. By summing these series, the script provides a broad view of worldwide liquidity conditions in one line.
A user-defined offset in days allows you to shift the global M2 line forward or backward, making it easier to visually compare liquidity trends against asset prices such as Bitcoin, gold, or equities. This tool is designed for traders and macro observers who want to study how global money supply growth or contraction correlates with financial markets over time.
이 지표는 전 세계 주요 국가와 지역의 M2 통화량을 달러 기준으로 합산하여 글로벌 유동성 지표로 보여줍니다. 미국, 유로존, 캐나다, 영국, 스위스, 중국, 일본, 인도, 브라질 등 여러 지역의 M2 데이터를 각 통화의 환율(USD 환산)로 조정한 뒤 합산해 하나의 흐름으로 표현합니다. 이를 통해 글로벌 차원의 통화 공급 변화를 한눈에 파악할 수 있습니다.
또한 사용자가 지정한 일 단위 오프셋 기능을 통해 글로벌 M2 라인을 앞뒤로 이동시켜, 비트코인·금·주식 등 다양한 자산 가격과의 시차적 관계를 직관적으로 비교할 수 있습니다. 거시경제 환경과 자산시장 간의 상관성을 연구하거나 시장 유동성 추이를 모니터링하려는 투자자에게 유용한 도구입니다.
KD The ScalperWe have to take the trade when all three EMAs are pointing in the same direction (no criss-cross, no up/down, sideways). All 3 EMAs should be cleanly separated from each other with strong spacing between them; they are not tangled, sideways, or messy. This is our first filter before entering the trade. Are the EMAs stacked neatly, and is the price outside of the 25 EMA? If price pulls back and closes near or below the 25 or 50 EMA and breaks the 100 EMA, we don't trade. Use the 100 EMA as a safety net and refrain from trading if the price touches or falls below the 100 EMA.
1. Confirm the trend- All 3 EMAs must align, and they must spread
2. Watch price pull back to the 25th or the 50 EMA
3. Wait for the price to bounce - And re-approach the 25 EMA
Why is this powerful?
Removes 80% of the low-probability Trades
It keeps you out of choppy markets
Avoids Reversal Traps
Anchors us to momentum
We take the entry when the price moves up again and touches the 25 EMA from below, and then when it breaks above the 25 EMA, or even better, when a lovely green bullish candle forms. A bullish candle indicates good momentum. When a bullish candle closes in green, it means the momentum has increased significantly. This is when we enter a long trade, with the stop-loss just below the 50 EMA and the profit target being 1.5 times the stop-loss.
The same rule applies to the bearish trade.
Multi-TF 👀### Multi-Timeframe Analysis (MTF-Analysis)
**Overview**
The Multi-Timeframe Analysis indicator is a powerful visualization tool designed for traders who incorporate multi-timeframe (MTF) strategies into their decision-making process. It overlays compact, customizable candle representations from up to four higher timeframes directly on your chart, positioned to the right of the last bar for quick reference. This allows you to monitor price action, momentum via EMAs, and key levels like Fair Value Gaps (FVGs) across multiple resolutions without switching charts. Built with efficiency in mind, it supports automatic timeframe detection, real-time updates, and a clean, non-intrusive design that enhances your trading workflow.
Ideal for day traders, swing traders, and scalpers, this indicator helps identify alignments between timeframes, spot potential reversals or continuations, and validate entries/exits based on higher-timeframe context. It leverages Pine Script v6 for smooth performance, with optimizations to handle up to 5000 bars back and extensive drawing limits.
**Key Features**
- **Multi-Timeframe Candle Display**: Renders recent candles (configurable from 5 to 100 per timeframe) from selected higher timeframes (e.g., 5m, 15m, 1H, 4H) as compact bars with customizable width, spacing, and padding. Bullish and bearish candles are color-coded for instant recognition.
- **Automatic Timeframe Adaptation**: When enabled, the indicator intelligently selects complementary timeframes based on your chart's resolution (e.g., on a 1m chart, it might show 5m, 15m, and 1H). Manual overrides are available for full control.
- **EMA Overlays**: Plots EMA9, EMA21, and EMA50 on each MTF section using a user-defined source (e.g., OHLC/4, close). EMAs can be dashed for clarity and enabled/disabled per timeframe, helping to gauge momentum and trend strength.
- **Fair Value Gaps (FVGs)**: Detects bullish (+FVG) and bearish (-FVG) gaps with a configurable lookback length (5-50 bars). Gaps are visualized as dotted boxes extending from the candle, highlighting potential support/resistance zones or imbalances.
- **Time Labels and Debugging**: Displays timestamp labels under every fourth candle for chronological context. A debug mode expands spacing and adds detailed labels (e.g., OHLC, volume, EMA values) for testing and verification.
- **Customization Options**: Extensive inputs for colors (bodies, wicks, EMAs, FVGs), label sizes/styles, and layout ensure seamless integration with your chart theme. Supports futures symbols with a time offset adjustment.
- **Performance Optimizations**: Uses arrays for efficient data management, clears drawings on realtime updates or timeframe changes, and limits buffer sizes to prevent overload.
**How to Use**
1. Add the indicator to your chart via TradingView's "Indicators" menu.
2. Configure timeframes: Enable/disable up to four TFs and set the number of candles to display. Use "Auto Timeframe" for smart defaults.
3. Adjust EMAs: Select the source type and toggle per TF to focus on relevant momentum signals (e.g., EMA9 crossovers for short-term trades).
4. Enable FVGs: Activate per TF and tweak the length to suit your market (shorter for volatile assets, longer for trends).
5. Fine-tune appearance: Modify padding, candle width, and colors to avoid clutter. Use debug mode during setup.
6. Interpret: Align your chart's price action with MTF candles—look for confluence in trends, FVGs filling as support/resistance, or EMA alignments for high-probability setups.
**Input Settings**
- **General**: Hour offset for time adjustments (useful for futures).
- **Timeframes**: Enable TFs 1-4, select resolutions (e.g., "5m"), and set candle counts. Auto mode simplifies this.
- **FVG/iFVG**: Toggle per TF, customize colors and detection length.
- **EMA**: Enable per TF, choose source, colors, and dashed style.
- **Candle Appearance**: Bull/bear colors for bodies/wicks, width/spacing/padding, label size/color.
- **Debug**: Expands view for detailed inspection.
**Notes**
- This indicator is non-repainting and updates in realtime, but performance may vary on lower timeframes with many candles—reduce counts if needed.
- FVGs are calculated locally on recent bars for efficiency; historical gaps beyond the buffer aren't shown.
- Compatible with all symbols, but best on volatile markets like forex, crypto, or indices.
- Feedback welcome—updates may include more MA types or advanced FVG filters.
Enhance your edge with multi-timeframe insights—try MTF-Analysis today!
RSI: alternative derivationMost traders accept the Relative Strength Index (RSI) as a standard tool for measuring momentum. But what if RSI is actually a position indicator?
This script introduces an alternative derivation of RSI, offering a fresh perspective on its true nature. Instead of relying on the traditional calculation of average gains and losses, this approach directly considers the price's position relative to its equilibrium (moving average), adjusted for volatility.
While the final value remains identical to the standard RSI, this alternative derivation offers a completely new understanding of the indicator.
Key components:
Price (Close)
Utilizes the closing price, consistent with the original RSI formula.
normalization factor
Transforms raw calculations into a fixed range between -1 and +1.
normalization_factor = 1 / (Length - 1)
EMA of Price
Applies Wilder’s Exponential Moving Average (EMA) to the price, serving as the anchor point for measuring price position, similar to the traditional RSI formula.
myEMA = ta.rma(close,Length)
EMA of close-to-close absolute changes (unit of volatility)
Adjusts for market differences by applying a Wilder’s EMA to absolute price changes (volatility), ensuring consistency across various assets.
CC_vol = ta.rma(math.abs(close - close ),Length)
Calculation Breakdown
DISTANCE:
Calculate the difference between the closing price and its Wilder's EMA. A positive value indicates the price is above the EMA; a negative value indicates it is below.
distance = close - myEMA
STANDARDIZED DISTANCE
Divide the distance by the unit of volatility to standardize the measurement across different markets.
S_distance = distance / CC_vol
NORMALIZED DISTANCE
Normalize the standardized distance using the normalization factor (n-1) to adjust for the lookback period.
N_distance = S_distance * normalization_factor
RSI
Finally, scale the normalized distance to fit within the standard RSI range of 0 to 100.
myRSI = 50 * (1 + N_distance)
The final equation:
RSI = 50 ×
What This Means for RSI
Same RSI Values, Different Interpretation
The standard RSI formula may obscure its true measurement, whereas this approach offers clarity.
RSI primarily indicates the price's position relative to its equilibrium, rather than directly measuring momentum.
RSI can still be used to analyze momentum, but in a more intuitive and well-informed way.
QTheoryQTheory –
This indicator is built on Quarterly Theory (developed by Daye)
🔹 Quarterly Theory
Markets often unfold in repeating quarterly cycles (Q1–Q4) across multiple timeframes — yearly, monthly, weekly, daily, 90-minute, and even micro cycles. By dividing price action into these quarters, traders can better anticipate structural shifts, accumulation/distribution phases, and liquidity runs.
🔹 Sequential SMT (SSMT)
Sequential SMT extends standard SMT (Smart Money Technique) by comparing multiple assets (such as FX majors) to identify divergences across quarters.
🔹 Features of QTheory
Automatic detection of quarterly cycles across multiple timeframes.
Visual cycle boxes & customizable dividers.
Integrated SSMT signals with divergence line visualization.
DFR (Defining Range) with Fibonacci levels.
Support for up to 5 comparison assets, with inversion options.
Auto-cycle selection for seamless multi-timeframe adaptation.
Extensive customization for colors, opacity, and signal display.
🔹 How it works
QTheory divides price data into consistent “quarters” across multiple timeframes. Within each cycle, it tracks highs, lows, and divergences, then overlays this information as boxes, dividers, and optional signals on your chart. Traders can use these visual cues to better align entries and exits with institutional market behavior patterns.
🔹 How to use it
Enable the desired cycle type (e.g., weekly, daily, 90-minute) from the settings.
Toggle boxes, dividers, and signals depending on your trading style.
Use SSMT divergences and DFR Fibs to anticipate a reversal
Compare against other assets (e.g., DXY or correlated pairs) to refine confluence.
⚠️ Disclaimer: This tool is for educational purposes only. It does not constitute financial advice. Always perform your own analysis and risk management.
Attribution: Portions of this script extend the quarter-cycle logic from TFlab’s “Quarterly Theory ICT 04”, released under the Mozilla Public License 2.0
Gold Lagging (N days)This indicator overlays the price of gold (XAUUSD) on any chart with a customizable lag in days. You can choose the price source (open, high, low, close, hlc3, ohlc4), shift the series by a set number of daily bars, and optionally normalize the values so that the first visible bar equals 100. The original gold line can also be displayed alongside the lagged series for direct comparison.
It is especially useful for analyzing delayed correlations between gold and other assets, observing shifts in safe-haven demand, or testing hypotheses about lagging market reactions. Since the lag is calculated on daily data, it remains consistent even if applied on intraday charts, while the indicator itself can be plotted on a separate price scale for clarity.
이 지표는 금(XAUUSD) 가격을 원하는 차트 위에 N일 지연된 형태로 표시합니다. 가격 소스(시가, 고가, 저가, 종가, hlc3, ohlc4)를 선택할 수 있으며, 지정한 일 수만큼 시리즈를 뒤로 이동시킬 수 있습니다. 또한 첫 값 기준으로 100에 맞춰 정규화하거나, 원래 금 가격선을 함께 표시해 비교할 수도 있습니다.
금과 다른 자산 간의 지연 상관관계를 분석하거나 안전자산 수요 변화를 관찰할 때 유용하며, 시장 반응의 시차 효과를 검증하는 데에도 활용할 수 있습니다. 지연은 일봉 데이터 기준으로 계산되므로 단기 차트에 적용해도 일 단위 기준이 유지되며, 별도의 가격 스케일에 표시되어 가독성을 높일 수 있습니다.
Seasonality con números RAMÓN SEGOVIAMonthly Bands – Colored Monthly Stripes for Statistical Analysis
Short Description
This indicator paints vertical background stripes by calendar month on your chart, making it easy to run statistical/seasonality analysis, compare monthly performance, and visually identify recurring patterns across assets and timeframes.
How It Works
Detects each new month and applies a background band spanning from the first to the last candle of that month.
Alternates colors automatically so consecutive months are easy to distinguish, or use a single uniform color for a clean look.
Optional: add dotted lines at the start/end of each month for precise separation.
Inputs / Settings
Color mode: alternating (odd/even months) or single.
Colors & opacity of the bands.
Border style: none / solid / dotted.
Highlight specific months: e.g., “Jan, Apr, Oct” with a different color.
Labels option: show month & year abbreviations at the top/bottom of the chart.
Drawing zone: full background vs. price-only area (to avoid covering lower indicators).
Typical Use Cases
Seasonality studies: identify historically bullish/bearish months.
Visual backtesting: segment the chart by months to evaluate strategy performance.
Context tracking: quickly locate reports, monthly closes, or economic cycles.
Compatibility
Works on all timeframes, including intraday (each band covers the full calendar month).
Lightweight and visual-only; doesn’t interfere with price or indicators.
Pro Tips
Combine with monthly returns (%) or candle counters to quantify each stripe.
Use labels when preparing clean presentations or trade journal screenshots.
Notes
This is a visual tool only, not a buy/sell signal generator.
Default settings are optimized for clarity and minimal clutter.
Custom Candle Coloring (3% Drop / Breakout / Follow-through)Naveen's custom bars. It helps with custom color of the bars to see significant candle movements and their interpretations
WaveMacBollI wanted to see the two indicators in the candle chart, not in a separate window. And within the Bollinger band, it seemed to put it fine.
Important Note on Line Styles
Due to TradingView's multi-timeframe environment restrictions (timeframe = '', timeframe_gaps = true), I couldn't implement dotted or dashed line styles programmatically. The indicator uses solid lines by default.
If you prefer dotted/dashed lines for better visual distinction:
Add the indicator to your chart
Click on the indicator settings (gear icon)
Go to "Style" tab
Manually change line styles for each plot
Unfortunately, PineScript doesn't support line.new() or similar drawing functions in multi-timeframe mode, limiting our styling options to basic plot styles.
If you know a good solution for implementing dotted/dashed lines in multi-timeframe indicators without using drawing objects, please share it in the comments! I'd love to improve this aspect of the indicator
Ultra Simple ReversalThis is a simple script that combines Key Features:
✅ No plotting - Only text labels and candle color changes
✅ Reversal candle detection - Changes candle color on high-probability signals
✅ BUY/SELL text labels - Clear directional signals
✅ Four-module confluence - SSL + Squeeze + MTF Pivots + ORB Breakout
✅ Non-repainting - Reliable signals using proper security calls
✅ Pine Script v6 compatible - All syntax errors fixed
Awesome Oscillator + ADX Divergence System – RCT FUSION PRO Descripción del script:
This script enhances the classic Awesome Oscillator (AO) by integrating non-repainting divergence detection and scaled ADX/DMI trend confirmation, creating a unified framework for identifying high-confluence trade setups. The combination is not arbitrary: divergences in AO signal potential reversals, while ADX validates whether the market has sufficient trend strength to act on them.
1. Customizable Awesome Oscillator:
The AO is calculated as the difference between a fast and slow moving average of the median price (HL2). Users can choose between SMA (default) or EMA for both legs. The histogram changes color based on momentum acceleration (green when rising, red when falling), with built-in alerts for color transitions.
2. Divergence Engine (Non-Repainting):
Automatically detects regular and hidden bullish/bearish divergences between price and the AO:
Regular bullish: Price makes a lower low, AO makes a higher low (potential reversal up).
Hidden bullish: Price makes a higher low, AO makes a lower low (continuation signal).
Equivalent logic applies for bearish cases.
All lines and labels are drawn only after the candle closes, eliminating repainting. Users can toggle visibility, adjust pivot sensitivity (lookback range: 1–60 bars), and choose between 1- or 2-pivot confirmation.
3. Scaled ADX & DMI Overlay:
The standard ADX (14-period) and +DI/-DI lines are dynamically scaled to match the amplitude of the AO. This allows direct visual comparison:
When AO shows a bullish divergence and +DI > -DI and ADX > 23, the setup gains confluence.
The Key Level line (offset to -7) serves as a dynamic reference for ADX strength relative to AO momentum.
ADX, DM+, and DM- can be toggled independently.
How to use:
Look for divergence signals below zero (bullish) or above zero (bearish) in the AO.
Confirm with ADX > 23 (strong trend) and directional alignment (+DI > -DI for longs, vice versa for shorts).
Use color-change alerts in AO as secondary momentum triggers.
This system is designed for swing and intraday traders who seek confirmation across momentum, price structure, and trend strength—reducing false signals through convergence.
Versión en español :
Este script mejora el Oscilador Awesome (AO) clásico al integrar detección de divergencias sin repintado y confirmación de tendencia mediante ADX/DMI escalado, creando un marco unificado para identificar entradas con alta confluencia. La combinación no es arbitraria: las divergencias en el AO señalan posibles giros, mientras que el ADX valida si el mercado tiene fuerza de tendencia suficiente para actuar.
El AO personalizable permite elegir entre SMA o EMA.
Las divergencias (regulares y ocultas) se detectan solo tras el cierre de la vela.
El ADX y los DM+/- se escalan dinámicamente para alinearse visualmente con el AO, permitiendo evaluar confluencia en tiempo real.
Ideal para traders que buscan confirmación entre estructura de precio, momentum y fuerza de tendencia.
RCT FUSION PRO – Convergent Squeeze, Momentum & Trend SystemDescripción del script :
This indicator integrates three core technical concepts into a single decision-support framework: Bollinger-Keltner squeeze compression, directional trend strength (ADX/DMI), and multi-timeframe market wave momentum. The goal is not merely to overlay indicators, but to create a convergent signal system where confirmation across components increases the reliability of potential trade setups.
1. Squeeze Momentum (LazyBear’s method):
Detects periods of low volatility (squeeze) using Bollinger Bands inside Keltner Channels. When the squeeze “fires,” the linear regression-based oscillator (val) reveals the direction and acceleration of the breakout. Green/lime = bullish momentum; red/maroon = bearish.
2. Adaptive ADX & DMI Scaling:
The standard ADX (14-period) and +/-DI lines are dynamically scaled to match the amplitude of the squeeze oscillator. This allows traders to visually assess whether a breakout occurs alongside strong trend confirmation (ADX > 23) and directional bias (+DI > -DI or vice versa). The key level is offset by -7 units for better alignment.
3. Fibonacci Wave Momentum (A/B/C):
Three MACD-style histograms (Wave A: 55, Wave B: 144, Wave C: 233) use EMA crossovers with Fibonacci lengths to identify short-, medium-, and long-term momentum shifts. These appear as semi-transparent areas and help contextualize the squeeze signal within broader market cycles.
4. Divergence Detection (Non-repainting):
Automatically identifies regular and hidden bullish/bearish divergences between price and the squeeze oscillator. All divergence lines and labels are drawn only after the candle closes, preventing repainting. Alerts are included for all four divergence types.
How to use:
A squeeze release (black → gray background) combined with rising green histogram and +DI > -DI suggests a high-probability long setup.
Confirm with Wave A/B/C alignment (all turning positive) and/or a bullish divergence below zero.
Use the Key Level line (white) as a dynamic reference for ADX strength relative to momentum.
This system is designed for swing and intraday traders seeking confluence between volatility compression, trend strength, and cyclical momentum. No single component is traded in isolation—convergence is the core principle.
Versión en español :
Este indicador combina tres conceptos técnicos clave en un solo marco de apoyo a la decisión: compresión de squeeze (Bollinger-Keltner), fuerza direccional de tendencia (ADX/DMI) y momento de ondas de mercado en múltiples plazos. No se trata de una simple superposición, sino de un sistema donde la convergencia de señales aumenta la confiabilidad de las entradas.
El Squeeze Momentum detecta baja volatilidad y muestra la dirección del impulso tras la liberación.
El ADX y los DM+/- se escalan dinámicamente para alinearse visualmente con el oscilador, permitiendo evaluar si el impulso coincide con una tendencia fuerte.
Las Ondas A/B/C (55, 144, 233) muestran el momento en distintos horizontes temporales mediante áreas coloreadas.
Las divergencias (regulares y ocultas) se detectan sin repintado y generan alertas.
Se recomienda operar solo cuando múltiples componentes coinciden, no de forma aislada. Ideal para traders de swing e intradía que buscan confluencia.
Fetti Fields Header (Presets)This is for individuals that like to customize their charts and add some style and motivation
SMA بسيط//@version=5
indicator("SMA بسيط", overlay=true)
len = input.int(20, "طول الـ SMA")
smaVal = ta.sma(close, len)
plot(smaVal, title="SMA", linewidth=2)
Road 2 RichesThe Road 2 Riches indicator is a precision-based visual overlay designed to help traders identify and capitalize on high-probability time windows across global market sessions. It automatically plots the Asian, London, and New York killzones directly onto your chart, giving you a clean, time-anchored framework to anticipate volatility shifts, liquidity injections, and potential breakout setups.
Options Max Pain Calculator [BackQuant]Options Max Pain Calculator
A visualization tool that models option expiry dynamics by calculating "max pain" levels, displaying synthetic open interest curves, gamma exposure profiles, and pin-risk zones to help identify where market makers have the least payout exposure.
What is Max Pain?
Max Pain is the theoretical expiration price where the total dollar value of outstanding options would be minimized. At this price level, option holders collectively experience maximum losses while option writers (typically market makers) have minimal payout obligations. This creates a natural gravitational pull as expiration approaches.
Core Features
Visual Analysis Components:
Max Pain Line: Horizontal line showing the calculated minimum pain level
Strike Level Grid: Major support and resistance levels at key option strikes
Pin Zone: Highlighted area around max pain where price may gravitate
Pain Heatmap: Color-coded visualization showing pain distribution across prices
Gamma Exposure Profile: Bar chart displaying net gamma at each strike level
Real-time Dashboard: Summary statistics and risk metrics
Synthetic Market Modeling**
Since Pine Script cannot access live options data, the indicator creates realistic synthetic open interest distributions based on configurable market parameters including volume patterns, put/call ratios, and market maker positioning.
How It Works
Strike Generation:
The tool creates a grid of option strikes centered around the current price. You can control the range, density, and whether strikes snap to realistic market increments.
Open Interest Modeling:
Using your inputs for average volume, put/call ratios, and market maker behavior, the indicator generates synthetic open interest that mirrors real market dynamics:
Higher volume at-the-money with decay as strikes move further out
Adjustable put/call bias to reflect current market sentiment
Market maker inventory effects and typical short-gamma positioning
Weekly options boost for near-term expirations
Pain Calculation:
For each potential expiry price, the tool calculates total option payouts:
Call options contribute pain when finishing in-the-money
Put options contribute pain when finishing in-the-money
The strike with minimum total pain becomes the Max Pain level
Gamma Analysis:
Net gamma exposure is calculated at each strike using standard option pricing models, showing where hedging flows may be most intense. Positive gamma creates price support while negative gamma can amplify moves.
Key Settings
Basic Configuration:
Number of Strikes: Controls grid density (recommended: 15-25)
Days to Expiration: Time until option expiry
Strike Range: Price range around current level (recommended: 8-15%)
Strike Increment: Spacing between strikes
Market Parameters:
Average Daily Volume: Baseline for synthetic open interest
Put/Call Volume Ratio: Market sentiment bias (>1.0 = bearish, <1.0 = bullish) It does not work if set to 1.0
Implied Volatility: Current option volatility estimate
Market Maker Factors: Dealer positioning and hedging intensity
Display Options:
Model Complexity: Simple (line only), Standard (+ zones), Advanced (+ heatmap/gamma)
Visual Elements: Toggle individual components on/off
Theme: Dark/Light mode
Update Frequency: Real-time or daily calculation
Reading the Display
Dashboard Table (Top Right):
Current Price vs Max Pain Level
Distance to Pain: Percentage gap (smaller = higher pin risk)
Pin Risk Assessment: HIGH/MEDIUM/LOW based on proximity and time
Days to Expiry and Strike Count
Model complexity level
Visual Elements:
Red Line: Max Pain level where payout is minimized
Colored Zone: Pin risk area around max pain
Dotted Lines: Major strike levels (green = support, orange = resistance)
Color Bar: Pain heatmap (blue = high pain, red = low pain/max pain zones)
Horizontal Bars: Gamma exposure (green = positive, red = negative)
Yellow Dotted Line: Gamma flip level where hedging behavior changes
Trading Applications
Expiration Pinning:
When price is near max pain with limited time remaining, there's increased probability of gravitating toward that level as market makers hedge their positions.
Support and Resistance:
High open interest strikes often act as magnets, with max pain representing the strongest gravitational pull.
Volatility Expectations:
Above gamma flip: Expect dampened volatility (long gamma environment)
Below gamma flip: Expect amplified moves (short gamma environment)
Risk Assessment:
The pin risk indicator helps gauge likelihood of price manipulation near expiry, with HIGH risk suggesting potential range-bound action.
Best Practices
Setup Recommendations
Start with Model Complexity set to "Standard"
Use realistic strike ranges (8-12% for most assets)
Set put/call ratio based on current market sentiment
Adjust implied volatility to match current levels
Interpretation Guidelines:
Small distance to pain + short time = high pin probability
Large gamma bars indicate key hedging levels to monitor
Heatmap intensity shows strength of pain concentration
Multiple nearby strikes can create wider pin zones
Update Strategy:
Use "Daily" updates for cleaner visuals during trading hours
Switch to "Every Bar" for real-time analysis near expiration
Monitor changes in max pain level as new options activity emerges
Important Disclaimers
This is a modeling tool using synthetic data, not live market information. While the calculations are mathematically sound and the modeling realistic, actual market dynamics involve numerous factors not captured in any single indicator.
Max pain represents theoretical minimum payout levels and suggests where natural market forces may create gravitational pull, but it does not guarantee price movement or predict exact expiration levels. Market gaps, news events, and changing volatility can override these dynamics.
Use this tool as additional context for your analysis, not as a standalone trading signal. The synthetic nature of the data makes it most valuable for understanding market structure and potential zones of interest rather than precise price prediction.
Technical Notes
The indicator uses established option pricing principles with simplified implementations optimized for Pine Script performance. Gamma calculations use standard financial models while pain calculations follow the industry-standard definition of minimized option payouts.
All visual elements use fixed positioning to prevent movement when scrolling charts, and the tool includes performance optimizations to handle real-time calculation without timeout errors.
Mehfilpro IndiMehfilpro Indi adds customizable watermarks to your charts.
It shows a two-line header at the top and a large semi-transparent text in the center.
Perfect for branding, labeling strategies, or watermarking screenshots.
Universal Gann Square & Cube LevelsUniversal Gann Square & Cube Levels - Dynamic Support/Resistance
Description:
📊 UNIVERSAL GANN LEVELS INDICATOR
This powerful indicator automatically plots Gann Square and Cube levels around the current stock price, providing dynamic support and resistance levels based on W.D. Gann's mathematical theories.
🎯 KEY FEATURES:
✅ Auto-Adaptive: Works for ANY stock price (₹20 to ₹100,000+)
✅ Real-time Detection: Uses current close price automatically
✅ Dual Level System: Square levels (black) + Cube levels (red)
✅ Customizable Range: Adjust percentage range (5% to 50%)
✅ Clean Display: Toggle square/cube lines independently
✅ Universal Compatibility: Works on all timeframes and instruments
📈 HOW IT WORKS:
Square Levels (Black Lines): Based on perfect squares (n²) around current price
Cube Levels (Red Lines): Based on perfect cubes (n³) around current price
Smart Range: Automatically calculates relevant levels within your specified percentage range
Info Display: Shows current price and level counts
⚙️ SETTINGS:
Price Range %: Control how many levels appear (default: 15%)
Show Square Levels: Toggle black square lines on/off
Show Cube Levels: Toggle red cube lines on/off
🔥 PERFECT FOR:
Day traders seeking precise entry/exit points
Swing traders identifying key support/resistance zones
Gann theory practitioners and students
Multi-timeframe analysis across all instruments
💡 USAGE TIPS:
Use 10-20% range for active day trading
Use 30-50% range for swing trading analysis
Watch for price reactions at square/cube intersections
Combine with volume analysis for confirmation
🌟 WHY THIS INDICATOR?
Unlike fixed Gann calculators, this indicator dynamically adapts to ANY price level, making it truly universal for Indian stocks, crypto, forex, and commodities.
⚠️ DISCLAIMER:
This indicator is for educational and informational purposes only. It is not financial advice and should not be considered as a recommendation to buy or sell any security. Trading involves significant risk of loss and may not be suitable for all investors. Past performance does not guarantee future results. Always conduct your own research and consult with a qualified financial advisor before making any investment decisions. The developer assumes no responsibility for any trading losses incurred through the use of this indicator.
📋 COMPATIBILITY:
All TradingView plans
All timeframes (1m to 1M)
Stocks, Crypto, Forex, Commodities
Mobile and desktop platforms