Strong Trend Bars (ATR-based)This is a ChatGPT pinescript meant as an indicator for detecting strength in the market. The primary function I use it for is to decide which bars to trail a stop loss beneath.
💥 Explanation of adjustable inputs:
Bull Close Threshold (default 0.6):
If set to 0.6, bull bars must close above 60% of bar height → low + 0.6 * barHeight
Bear Close Threshold (default 0.6):
If set to 0.6, bear bars must close below 40% of bar height → high - 0.6 * barHeight
This lets you experiment with tighter or looser filters. For example:
0.7 → only bars closing near the extremes will light up
0.5 → about midpoint
0.8 → very demanding, “almost full body” bars
Indicators and strategies
MC High/LowMC High/Low is a minimalist precision tool designed to show traders the most critical price levels — the High and Low of the current Day and Week — in real-time, without any visual clutter or historical trails.
It automatically tracks:
🔼 HOD – High of Day
🔽 LOD – Low of Day
📈 HOW – High of Week
📉 LOW – Low of Week
Each level is plotted using simple black horizontal lines, updated dynamically as the session evolves. Labels are clearly marked and positioned to the right of the screen for easy reference.
There’s no trailing history, no background colors, and no distractions — just pure price structure for clean confluence.
Perfect for:
Intraday scalpers
Swing traders
Liquidity & range traders
This is a tool built for sniper-level execution — straight from the MadCharts mindset.
🛠 Created by:
🔒 Version: Public Release
🎯 Use this with your favorite price action, liquidity, or market structure strategies.
Pivot Candle PatternsPivot Candle Patterns Indicator
Overview
The PivotCandlePatterns indicator is a sophisticated trading tool that identifies high-probability candlestick patterns at market pivot points. By combining Williams fractals pivot detection with advanced candlestick pattern recognition, this indicator targets the specific patterns that statistically show the highest likelihood of signaling reversals at market tops and bottoms.
Scientific Foundation
The indicator is built on extensive statistical analysis of historical price data using a 42-period Williams fractal lookback period. Our research analyzed which candlestick patterns most frequently appear at genuine market reversal points, quantifying their occurrence rates and subsequent success in predicting reversals.
Key Research Findings:
At Market Tops (Pivot Highs):
- Three White Soldiers: 28.3% occurrence rate
- Spinning Tops: 13.9% occurrence rate
- Inverted Hammers: 11.7% occurrence rate
At Market Bottoms (Pivot Lows):
- Three Black Crows: 28.4% occurrence rate
- Hammers: 13.3% occurrence rate
- Spinning Tops: 13.1% occurrence rate
How It Works
1. Pivot Point Detection
The indicator uses a non-repainting implementation of Williams fractals to identify potential market turning points:
- A pivot high is confirmed when the middle candle's high is higher than surrounding candles within the lookback period
- A pivot low is confirmed when the middle candle's low is lower than surrounding candles within the lookback period
- The default lookback period is 2 candles (user adjustable from 1-10)
2. Candlestick Pattern Recognition
At identified pivot points, the indicator analyzes candle properties using these parameters:
- Body percentage threshold for Spinning Tops: 40% (adjustable from 10-60%)
- Shadow percentage threshold for Hammer patterns: 60% (adjustable from 40-80%)
- Maximum upper shadow for Hammer: 10% (adjustable from 5-20%)
- Maximum lower shadow for Inverted Hammer: 10% (adjustable from 5-20%)
3. Pattern Definitions
The indicator recognizes these specific patterns:
Single-Candle Patterns:
- Spinning Top : Small body (< 40% of total range) with significant upper and lower shadows (> 25% each)
- Hammer : Small body (< 40%), very long lower shadow (> 60%), minimal upper shadow (< 10%), closing price above opening price
- Inverted Hammer : Small body (< 40%), very long upper shadow (> 60%), minimal lower shadow (< 10%)
Multi-Candle Patterns:
- Three White Soldiers : Three consecutive bullish candles, each closing higher than the previous, with each open within the previous candle's body
- Three Black Crows : Three consecutive bearish candles, each closing lower than the previous, with each open within the previous candle's body
4. Visual Representation
The indicator provides multiple visualization options:
- Highlighted candle backgrounds for pattern identification
- Text or dot labels showing pattern names and success rates
- Customizable colors for different pattern types
- Real-time alert functionality on pattern detection
- Information dashboard displaying pattern statistics
Why It Works
1. Statistical Edge
Unlike traditional candlestick pattern indicators that simply identify patterns regardless of context, PivotCandlePatterns focuses exclusively on patterns occurring at statistical pivot points, dramatically increasing signal quality.
2. Non-Repainting Design
The pivot detection algorithm only uses confirmed data, ensuring the indicator doesn't repaint or provide false signals that disappear on subsequent candles.
3. Complementary Pattern Selection
The selected patterns have both:
- Statistical significance (high frequency at pivots)
- Logical market psychology (reflecting institutional supply/demand changes)
For example, Three White Soldiers at a pivot high suggests excessive bullish sentiment reaching exhaustion, while Hammers at pivot lows indicate rejection of lower prices and potential buying pressure.
Practical Applications
1. Reversal Trading
The primary use is identifying potential market reversals with statistical probability metrics. Higher percentage patterns (like Three White Soldiers at 28.3%) warrant more attention than lower probability patterns.
2. Confirmation Tool
The indicator works well when combined with other technical analysis methods:
- Support/resistance levels
- Trend line breaks
- Divergences on oscillators
- Volume analysis
3. Risk Management
The built-in success rate metrics help traders properly size positions based on historical pattern reliability. The displayed percentages reflect the probability of the pattern successfully predicting a reversal.
Optimized Settings
Based on extensive testing, the default parameters (Body: 40%, Shadow: 60%, Shadow Maximums: 10%, Lookback: 2) provide the optimal balance between:
- Signal frequency
- False positive reduction
- Early entry opportunities
- Pattern clarity
Users can adjust these parameters based on their timeframe and trading style, but the defaults represent the statistically optimal configuration.
Complementary Research: Reclaim Analysis
Additional research on "reclaim" scenarios (where price briefly breaks a level before returning) showed:
- Fast reclaims (1-2 candles) have 70-90% success rates
- Reclaims with increasing volume have 53.1% success rate vs. decreasing volume at 22.6%
This complementary research reinforces the importance of candle patterns and timing at critical market levels.
Best SMA FinderThis script, Best SMA Finder, is a tool designed to identify the most robust simple moving average (SMA) length for a given chart, based on historical backtest performance. It evaluates hundreds of SMA values (from 10 to 1000) and selects the one that provides the best balance between profitability, consistency, and trade frequency.
What it does:
The script performs individual backtests for each SMA length using either "Long Only" or "Buy & Sell" logic, as selected by the user. For each tested SMA, it computes:
- Total number of trades
- Profit Factor (total profits / total losses)
- Win Rate
- A composite Robustness Score, which integrates Profit Factor, number of trades (log-scaled), and win rate.
Only SMA configurations that meet the user-defined minimum trade count are considered valid. Among all valid candidates, the script selects the SMA length with the highest robustness score and plots it on the chart.
How to use it:
- Choose the strategy type: "Long Only" or "Buy & Sell"
- Set the minimum trade count to filter out statistically irrelevant results
- Enable or disable the summary stats table (default: enabled)
The selected optimal SMA is plotted on the chart in blue. The optional table in the top-right corner shows the corresponding SMA length, trade count, Profit Factor, Win Rate, and Robustness Score for transparency.
Key Features:
- Exhaustive SMA optimization across 991 values
- Customizable trade direction and minimum trade filters
- In-chart visualization of results via table and plotted optimal SMA
- Uses a custom robustness formula to rank SMA lengths
Use cases:
Ideal for traders who want to backtest and auto-select a historically effective SMA without manual trial-and-error. Useful for swing and trend-following strategies across different timeframes.
📌 Limitations:
- Not a full trading strategy with position sizing or stop-loss logic
- Only one entry per direction at a time is allowed
- Designed for exploration and optimization, not as a ready-to-trade system
This script is open-source and built entirely from original code and logic. It does not replicate any closed-source script or reuse significant external open-source components.
Aggressive Volume 📊 Indicator: Aggressive Volume – Simulated Buy/Sell Pressure
Aggressive Volume estimates delta volume using candle data to simulate the market’s internal buy/sell pressure. It helps visualize how aggressive buyers or sellers are moving the price without needing full order flow access.
⚙️ How It Works:
Calculates simulated delta volume based on candle direction and volume.
Bullish candles (close > open) suggest dominance by buyers.
Bearish candles (close < open) suggest dominance by sellers.
Delta is the difference between simulated buying and selling pressure.
🔍 Key Features:
Visual bars showing aggressive buyer vs seller dominance
Helps spot trend strength, momentum bursts, and potential reversals
Simple, effective, and compatible with any timeframe
Lightweight and ideal for scalping, day trading, and swing trading
💡 How to Use:
Look for strong positive delta during bullish trends for confirmation.
Watch for delta weakening or divergence as potential reversal signals.
Combine with trend indicators or price action for enhanced accuracy.
📊 Indicador: Volume Agressivo – Pressão de Compra/Venda Simulada
Volume Agressivo estima o delta de volume utilizando dados dos candles para simular a pressão interna de compra/venda do mercado. Ele ajuda a visualizar como os compradores ou vendedores agressivos estão movendo o preço, sem precisar de acesso completo ao fluxo de ordens.
⚙️ Como Funciona:
Calcula o delta de volume simulado com base na direção do candle e no volume.
Candles de alta (fechamento > abertura) indicam predominância de compradores.
Candles de baixa (fechamento < abertura) indicam predominância de vendedores.
O delta é a diferença entre a pressão de compra e venda simulada.
🔍 Principais Funcionalidades:
Barras visuais mostrando a dominância de compradores vs vendedores agressivos
Ajuda a identificar a força da tendência, explosões de momentum e possíveis reversões
Simples, eficaz e compatível com qualquer período de tempo
Leve e ideal para scalping, day trading e swing trading
💡 Como Usar:
Procure por delta positivo forte durante tendências de alta para confirmação.
Observe o delta enfraquecendo ou divergências como sinais de possível reversão.
Combine com indicadores de tendência ou price action para maior precisão.
Gaps EnhancedThis advanced gap detection tool identifies and visualizes price gaps on trading charts, helping traders spot potential support/resistance levels and trading opportunities.
🔲 Components and Features
Visual gap boxes with directional coloring
Dynamic labels showing key price levels
Smart sorting of nearest gaps
Customizable appearance
Key Features
Gap Visualization
Colored boxes (orange for support, green for resistance)
Dashed lines marking gap boundaries
Right-aligned price labels
Smart Gap Table
Shows 5 most relevant open gaps
Sorted by proximity to current price
Displays required move percentage to fill each gap
Customization Options
Adjustable gap size threshold
Color customization
Label positioning controls
Table location settings
How To Use
Basic Interpretation
Orange boxes: Price gaped up might come back (support zones)
Green boxes: Price gaped down price might come back to close the gap (resistance zones)
The table shows how much the price needs to move to fill each gap (as percentage)
Trading Applications
Look for price reactions near gap levels
Trade bounces off support/resistance gaps
Watch for gap fills as potential trend continuation signals
Use nearest gaps as profit targets
Settings Guide
Minimal Deviation: Set minimum gap size
Max Number of Gaps: Limits how many gaps are tracked
Visual Settings: Customize colors and label positions
Table Position: Choose where the info table appears
Pro Tips
Combine with other indicators for confirmation
Watch for volume spikes at gap levels
Larger gaps often act as stronger S/R
UM Dual MA with Price Bar Color change & Fill
Description
This is a dual moving average indicator with colored bars and moving averages. I wrote this indicator to keep myself on the right side of the market and trends. It plots two moving averages, (length and type of MA are user-defined) and colors the MAs green when trending higher or red when trending lower. The price bars are green when both MAs are green, red when both MAs are red, and orange when one MA is green and the other is red. The idea behind the indicator is to be extremely visual. If I am buying a red bar, I ask myself "why?" If I am selling a green bar, again, "why?"
Recommended Usage
Configure your tow favorite Moving averages. Consider long positions when one or both turn green. Scale into a position with a portion upon the first MA turning green, and then more when the second turns green. Consider scaling out when the bars are orange after an up move.
Orange bars are either areas of consolidation or prior to major turns.
You can also look for MA crossovers.
The indicator works on any timeframe and any security. I use it on daily, hourly, 2 day charts.
Default settings
The defaults are the author's preferred settings:
- 8 period WMA and 16 period WMA.
- Bars are green when both MAs are trending higher, red when both MAs are trending lower, and orange when one MA is trending higher and the other is trending lower.
Moving average types, lengths, and colors are user-configurable. Bar colors are also user-configurable.
Alerts
Alerts can be set by right-clicking the indicator and selecting the dropdown:
- Bullish Trend Both MAs turning green
- Bearish Trend Both MAs turning red
- Mixed Trend, 1 green 1 red MA
Helpful Hints:
Look for bullish areas when both MAs turn green after a sustained downtrend
Look for bearish areas when both MAs turn red
Careful in areas of orange bars, this could be a consolidation or a warning to a potential trend direction change.
Switch up your timeframes, I toggle back and forth between 1 and 2 days.
Stretch your timeframe over a lower time frame; for example, I like the 8 and 16 daily WMA. With most securities I get 16 bars with pre and post market. This translates into 128 and 256 MAs on the hourly chart. This slows down moves and color transitions for better manageability.
Author's Subjective Observations
I like the 128/256 WMA on the hourly charts for leveraged and inverse ETFs such as SPXL/SPXS, TQQQ/SQQQ, TNA/TZA. Or even the volatility ETFs/ETNS: UVXY, VXX.
Here is a one-hour chart example:
I have noticed that as volatility increases, I should begin looking at higher timeframes. This seems counterintuitive, but higher volatility increases the level of noise or swings.
I question myself when I short a green bar or buy a red bar; "Why am I doing this?" The colors help me visually stay on the right side of trend. If I am going to speculate on a market turn, at least do it when the bars are orange (MA trends differ)
My last observation is a 2-day chart of leveraged ETFs with the 8 and 16 WMAs. I frequently trade SPXL, FNGA, and TNA. If you are really dissecting this indicator,
look at a few 2-day charts. 2-day charts seem to catch the major swings nicely up and down. They also weed out the daily sudden big swings such as a panic move from economic data
or tweets. When both the MAs turn red on a 2-day chart the same day or same bar, beware; this could be a rough ride or short opportunity. I found weekly charts too long for my style but good
to review for direction. Less decisions on longer charts equate to less brain damage for myself.
These are just my thoughts, of course you do you and what suits your style best! Happy Trading.
weighted support or resistance linesQ: Why should users choose this script?
A: I found that in all the publicly available scripts about support and resistance lines, there is basically no weight identification for these lines. In other words, users do not know which support or resistance lines are the most important. So I specifically wrote this script.
1. By adjusting the weights, only the most effective support or resistance lines are displayed. (Length threshold of trend price (Bar))
2. By selecting the number of K-lines, only the latest number of support or resistance lines generated will be displayed. (Maximum number of reserved S/R lines)
3. By selecting whether to automatically remove lines, only support or resistance lines that have not been penetrated by the k-line will be displayed. If this function is checked, the weight can be adjusted lower, as high-weight SR may have already been penetrated, and the newly generated SR may have a lower weight. (Automatically remove lines penetrated by closing price confirmation)
4. Notes: The default parameters work well in 15-minute candlestick charts. For candlestick charts with other time periods, the parameters can be adjusted appropriately. It is suitable for sideways trading but not for strong trends.
5. I'm quite satisfied with the performance of the script, as I specifically optimized it, lol
Parameter Free RSI [InvestorUnknown]The Parameter Free RSI (PF-RSI) is an innovative adaptation of the traditional Relative Strength Index (RSI), a widely used momentum oscillator that measures the speed and change of price movements. Unlike the standard RSI, which relies on a fixed lookback period (typically 14), the PF-RSI dynamically adjusts its calculation length based on real-time market conditions. By incorporating volatility and the RSI's deviation from its midpoint (50), this indicator aims to provide a more responsive and adaptable tool for identifying overbought/oversold conditions, trend shifts, and momentum changes. This adaptability makes it particularly valuable for traders navigating diverse market environments, from trending to ranging conditions.
PF-RSI offers a suite of customizable features, including dynamic length variants, smoothing options, visualization tools, and alert conditions.
Key Features
1. Dynamic RSI Length Calculation
The cornerstone of the PF-RSI is its ability to adjust the RSI calculation period dynamically, eliminating the need for a static parameter. The length is computed using two primary factors:
Volatility: Measured via the standard deviation of past RSI values.
Distance from Midpoint: The absolute deviation of the RSI from 50, reflecting the strength of bullish or bearish momentum.
The indicator offers three variants for calculating this dynamic length, allowing users to tailor its responsiveness:
Variant I (Aggressive): Increases the length dramatically based on volatility and a nonlinear scaling of the distance from 50. Ideal for traders seeking highly sensitive signals in fast-moving markets.
Variant II (Moderate): Combines volatility with a scaled distance from 50, using a less aggressive adjustment. Strikes a balance between responsiveness and stability, suitable for most trading scenarios.
Variant III (Conservative): Applies a linear combination of volatility and raw distance from 50. Offers a stable, less reactive length adjustment for traders prioritizing consistency.
// Function that returns a dynamic RSI length based on past RSI values
// The idea is to make the RSI length adaptive using volatility (stdev) and distance from the RSI midpoint (50)
// Different "variant" options control how aggressively the length changes
parameter_free_length(free_rsi, variant) =>
len = switch variant
// Variant I: Most aggressive adaptation
// Uses standard deviation scaled by a nonlinear factor of distance from 50
// Also adds another distance-based term to increase length more dramatically
"I" => math.ceil(
ta.stdev(free_rsi, math.ceil(free_rsi)) *
math.pow(1 + (math.ceil(math.abs(50 - (free_rsi - 50))) / 100), 2)
) +
(
math.ceil(math.abs(free_rsi - 50)) *
(1 + (math.ceil(math.abs(50 - (free_rsi - 50))) / 100))
)
// Variant II: Moderate adaptation
// Adds the standard deviation and a distance-based scaling term (less nonlinear)
"II" => math.ceil(
ta.stdev(free_rsi, math.ceil(free_rsi)) +
(
math.ceil(math.abs(free_rsi - 50)) *
(1 + (math.ceil(math.abs(50 - (free_rsi - 50))) / 100))
)
)
// Variant III: Least aggressive adaptation
// Simply adds standard deviation and raw distance from 50 (linear scaling)
"III" => math.ceil(
ta.stdev(free_rsi, math.ceil(free_rsi)) +
math.ceil(math.abs(free_rsi - 50))
)
2. Smoothing Options
To refine the dynamic RSI and reduce noise, the PF-RSI provides smoothing capabilities:
Smoothing Toggle: Enable or disable smoothing of the dynamic length used for RSI.
Smoothing MA Type for RSI MA: Choose between SMA and EMA
Smoothing Length Options for RSI MA:
Full: Uses the entire calculated dynamic length.
Half: Applies half of the dynamic length for smoother output.
SQRT: Uses the square root of the dynamic length, offering a compromise between responsiveness and smoothness.
The smoothed RSI is complemented by a separate moving average (MA) of the RSI itself, further enhancing signal clarity.
3. Visualization Tools
The PF-RSI includes visualization options to help traders interpret market conditions at a glance.
Plots:
Dynamic RSI: Displayed as a white line, showing the adaptive RSI value.
RSI Moving Average: Plotted in yellow, providing a smoothed reference for trend and momentum analysis.
Dynamic Length: A secondary plot (in faint white) showing how the calculation period evolves over time.
Histogram: Represents the RSI’s position relative to 50, with color gradients.
Fill Area: The space between the RSI and its MA is filled with a gradient (green for RSI > MA, red for RSI < MA), highlighting momentum shifts.
Customizable bar colors on the price chart reflect trend and momentum:
Trend (Raw RSI): Green (RSI > 50), Red (RSI < 50).
Trend (RSI MA): Green (MA > 50), Red (MA < 50).
Trend (Raw RSI) + Momentum: Adds momentum shading (lighter green/red when RSI and MA diverge).
Trend (RSI MA) + Momentum: Similar, but based on the MA’s trend.
Momentum: Green (RSI > MA), Red (RSI < MA).
Off: Disables bar coloring.
Intrabar Updating: Optional real-time updates within each bar for enhanced responsiveness.
4. Alerts
The PF-RSI supports customizable alerts to keep traders informed of key events.
Trend Alerts:
Raw RSI: Triggers when the RSI crosses above (uptrend) or below (downtrend) 50.
RSI MA: Triggers when the moving average crosses 50.
Off: Disables trend alerts.
Momentum Alerts:
Triggers when the RSI crosses its moving average, indicating rising (RSI > MA) or declining (RSI < MA) momentum.
Alerts are fired once per bar close, with descriptive messages including the ticker symbol (e.g., " Uptrend on: AAPL").
How It Works
The PF-RSI operates in a multi-step process:
Initialization
On the first run, it calculates a standard RSI with a 14-period length to seed the dynamic calculation.
Dynamic Length Computation
Once seeded, the indicator switches to a dynamic length based on the selected variant, factoring in volatility and distance from 50.
If smoothing is enabled, the length is further refined using an SMA.
RSI Calculation
The adaptive RSI is computed using the dynamic length, ensuring it reflects current market conditions.
Moving Average
A separate MA (SMA or EMA) is applied to the RSI, with a length derived from the dynamic length (Full, Half, or SQRT).
Visualization and Alerts
The results are plotted, and alerts are triggered based on user settings.
This adaptive approach minimizes lag in fast markets and reduces false signals in choppy conditions, offering a significant edge over fixed-period RSI implementations.
Why Use PF-RSI?
The Parameter Free RSI stands out by eliminating the guesswork of selecting an RSI period. Its dynamic length adjusts to market volatility and momentum, providing timely signals without manual tweaking.
Institutional Support/Resistance Locator🏛️ Institutional Support/Resistance Locator
Overview
The Institutional Support/Resistance Locator identifies high-probability demand and supply zones based on strong price rejection, large candle bodies, and elevated volume . These zones are commonly targeted or defended by institutional participants, helping traders anticipate potential reversal or continuation areas.
⸻
How It Works
The indicator uses a confluence of conditions to detect zones:
• Large Body Candles: Body size must exceed the moving average body size multiplied by a user-defined factor.
• High Volume: Volume must exceed the moving average volume by a configurable multiplier.
• Wick Rejection: Candles must show strong upper or lower wicks indicating aggressive rejection.
• If all criteria are met:
• Bullish candles form a Demand Zone.
• Bearish candles form a Supply Zone.
Each zone is plotted for a customizable number of future bars, representing areas where institutions may re-engage with the market.
⸻
Key Features
• ✅ Highlights institutional demand and supply areas dynamically
• ✅ Customizable sensitivity: body, volume, wick, padding, and zone extension
• ✅ Zones plotted as translucent regions with auto-expiry
• ✅ Works across all timeframes and markets
⸻
How to Use
• Trend Traders: Use demand zones for potential bounce entries in uptrends, and supply zones for pullback short entries in downtrends.
• Range Traders: Use zones as potential reversal points inside sideways market structures.
• Scalpers & Intraday Traders: Combine with volume or price action near zones for refined entries.
Always validate zone reactions with supporting indicators or price behavior.
⸻
Why This Combination?
The combination of wick rejection, volume confirmation, and large candle structure is designed to reflect footprints of smart money. Rather than relying on fixed pivots or subjective zones, this logic adapts to the current market context with statistically grounded conditions.
⸻
Why It’s Worth Using
This tool offers traders a structured way to interpret institutional activity on charts without relying on guesswork. By plotting potential high-impact areas, it helps improve reaction time.
⸻
Note :
• This script is open-source and non-commercial.
• No performance guarantees or unrealistic claims are made.
• It is intended for educational and analytical purposes only.
Average Daily LiquidityIt is important to have sufficient daily trading value (liquidity) to ensure you can easily enter and, importantly, exit the trade. This indicator allows you to see if the traded value of a stock is adequate. The default average is 10 periods and it is common to average the daily traded value as both price and volume can have spikes causing trading errors. Some investors use a 5 period for a week, 10 period for 2 weeks, 20 or 21 period for 4 weeks/month and 65 periods for a quarter. You need to ascertain your buying amount such as $10000 and then have the average daily trading value be your comfortable moving average more such as average liquidity is more than 10 x MA(close x volume) or $100000 in this example. The value is extremely important for small and micro cap stocks you may wish to purchase.
VolumaticDataLibraryLibrary "VolumaticDataLibrary"
norm(src)
Normalizes a value if mean is 0
This function does not access global variables.
Parameters:
src (float)
addVolumeNodeIfSignificant(level, line_amount, node_prices, node_volumes, node_colors, color_up, color_dn, src_open, src_high, src_low, src_close, src_volume)
Processes the current bar's data to see if it represents a significant volume node,
and if so, updates the provided arrays with the node data.
This function should be called on every bar from the consuming indicator/strategy.
Parameters:
level (float) : The sensitivity level for detecting nodes.
line_amount (int) : The maximum number of nodes to store.
node_prices (array) : Array to store node prices (passed by reference).
node_volumes (array) : Array to store node absolute volumes (passed by reference).
node_colors (array) : Array to store node colors (passed by reference).
color_up (color) : The color to use for upward significant volume.
color_dn (color) : The color to use for downward significant volume.
src_open (float) : The open price series from the calling script.
src_high (float) : The high price series from the calling script.
src_low (float) : The low price series from the calling script.
src_close (float) : The close price series from the calling script.
src_volume (float) : The volume series from the calling script.
createVolumeNodeArray(node_prices, node_volumes, node_colors)
Creates an array of VolumeNode objects from the provided separate arrays.
This function can be called on the last bar from the consuming indicator/strategy
to get the current list of significant volume nodes.
Parameters:
node_prices (array) : Array containing the prices of the nodes.
node_volumes (array) : Array containing the absolute volumes of the nodes.
node_colors (array) : Array containing the colors of the nodes.
Returns: An array of VolumeNode objects representing the stored volume nodes.
VolumeNode
Fields:
price (series float)
volume (series float)
node_color (series color)
Bitcoin Monthly Seasonality [Alpha Extract]The Bitcoin Monthly Seasonality indicator analyzes historical Bitcoin price performance across different months of the year, enabling traders to identify seasonal patterns and potential trading opportunities. This tool helps traders:
Visualize which months historically perform best and worst for Bitcoin.
Track average returns and win rates for each month of the year.
Identify seasonal patterns to enhance trading strategies.
Compare cumulative or individual monthly performance.
🔶 CALCULATION
The indicator processes historical Bitcoin price data to calculate monthly performance metrics
Monthly Return Calculation
Inputs:
Monthly open and close prices.
User-defined lookback period (1-15 years).
Return Types:
Percentage: (monthEndPrice / monthStartPrice - 1) × 100
Price: monthEndPrice - monthStartPrice
Statistical Measures
Monthly Averages: ◦ Average return for each month calculated from historical data.
Win Rate: ◦ Percentage of positive returns for each month.
Best/Worst Detection: ◦ Identifies months with highest and lowest average returns.
Cumulative Option
Standard View: Shows discrete monthly performance.
Cumulative View: Shows compounding effect of consecutive months.
Example Calculation (Pine Script):
monthReturn = returnType == "Percentage" ?
(monthEndPrice / monthStartPrice - 1) * 100 :
monthEndPrice - monthStartPrice
calcWinRate(arr) =>
winCount = 0
totalCount = array.size(arr)
if totalCount > 0
for i = 0 to totalCount - 1
if array.get(arr, i) > 0
winCount += 1
(winCount / totalCount) * 100
else
0.0
🔶 DETAILS
Visual Features
Monthly Performance Bars: ◦ Color-coded bars (teal for positive, red for negative returns). ◦ Special highlighting for best (yellow) and worst (fuchsia) months.
Optional Trend Line: ◦ Shows continuous performance across months.
Monthly Axis Labels: ◦ Clear month names for easy reference.
Statistics Table: ◦ Comprehensive view of monthly performance metrics. ◦ Color-coded rows based on performance.
Interpretation
Strong Positive Months: Historically bullish periods for Bitcoin.
Strong Negative Months: Historically bearish periods for Bitcoin.
Win Rate Analysis: Higher win rates indicate more consistently positive months.
Pattern Recognition: Identify recurring seasonal patterns across years.
Best/Worst Identification: Quickly spot the historically strongest and weakest months.
🔶 EXAMPLES
The indicator helps identify key seasonal patterns
Bullish Seasons: Visualize historically strong months where Bitcoin tends to perform well, allowing traders to align long positions with favorable seasonality.
Bearish Seasons: Identify historically weak months where Bitcoin tends to underperform, helping traders avoid unfavorable periods or consider short positions.
Seasonal Strategy Development: Create trading strategies that capitalize on recurring monthly patterns, such as entering positions in historically strong months and reducing exposure during weak months.
Year-to-Year Comparison: Assess how current year performance compares to historical seasonal patterns to identify anomalies or confirmation of trends.
🔶 SETTINGS
Customization Options
Lookback Period: Adjust the number of years (1-15) used for historical analysis.
Return Type: Choose between percentage returns or absolute price changes.
Cumulative Option: Toggle between discrete monthly performance or cumulative effect.
Visual Style Options: Bar Display: Enable/disable and customize colors for positive/negative bars, Line Display: Enable/disable and customize colors for trend line, Axes Display: Show/hide reference axes.
Visual Enhancement: Best/Worst Month Highlighting: Toggle special highlighting of extreme months, Custom highlight colors for best and worst performing months.
The Bitcoin Monthly Seasonality indicator provides traders with valuable insights into Bitcoin's historical performance patterns throughout the year, helping to identify potentially favorable and unfavorable trading periods based on seasonal tendencies.
DMI Percentile MTF📈 DMI Percentile MTF – Custom Technical Indicator
This indicator is an enhanced version of the classic Directional Movement Index (DMI), converting +DI, -DI, and ADX values into dynamic percentiles ranging from 0% to 100%, making it easier to interpret the strength and direction of a trend.
⚙️ Key Features:
Percentile Normalization: Calculates where current values stand within a historical range (default: 100 bars), providing clearer overbought/oversold context.
+DI (green): Indicates bullish directional strength.
-DI (orange): Indicates bearish directional strength.
ADX (fuchsia): Measures overall trend strength (rising = strong trend, falling = flat market).
20% / 80% reference lines: Help identify weak or strong conditions.
Multi-Timeframe (MTF) Support: Analyze a higher timeframe trend (e.g., daily) while viewing a lower timeframe chart (e.g., 1h).
📊 How to Read It:
+DI > -DI → bullish trend dominance.
-DI > +DI → bearish trend dominance.
ADX rising → strengthening trend (regardless of direction).
ADX falling → sideways or consolidating market.
Values above 80% → historically high / strong conditions.
Values below 20% → historically low / weak conditions or potential breakout setup.
Triangle Breakout Strategy with TP/SL, EMA Filter📌 Triangle Breakout Strategy with TP/SL, EMA Filters, and Backtest – Explained.
✅ 1. Pattern Detection – Triangle Breakout
The script scans for triangle patterns by detecting local pivot highs and pivot lows.
It uses two recent highs and two recent lows to draw converging trendlines (upper and lower boundaries of the triangle).
If the price breaks above the upper trendline, a bullish breakout signal is generated.
🎯 2. TP (Take Profit) & SL (Stop Loss)
When a bullish breakout is detected:
A buy order is placed using strategy.entry.
TP and SL levels are calculated relative to the current close price:
TP = 3% above the entry price
SL = 1.5% below the entry price
These are defined using strategy.exit.
📊 3. EMA Filter
An optional filter checks if:
Price is above both EMA 20 and EMA 50
Only if this condition is met, the strategy allows a long entry.
You can toggle the filter on or off with useEMAFilter.
📈 4. Backtesting with Strategy Tester
This script uses strategy() instead of indicator() to enable TradingView’s built-in backtest engine.
Every buy entry and exit (based on TP or SL) is recorded.
📌 5. Visuals
EMA 20 and EMA 50 lines are plotted on the chart.
A label is shown when a breakout is detected: "Breakout Up"
Results (profit, win rate, drawdown, etc.) can be viewed in the Strategy Tester panel.
Market Structure: BoS & CHoCH (Math by Thomas)📌 Description:
Market Structure: BoS & CHoCH (Math by Thomas) is a clean and reliable market structure tool designed to visually mark Swing Highs, Swing Lows, and classify each one as HH (Higher High), LH (Lower High), LL (Lower Low), or HL (Higher Low) based on price action. It also detects and labels Break of Structure (BoS) and Change of Character (CHoCH) to help identify potential continuation or reversal in trend.
🛠️ How to Use:
Add the indicator to your chart (works on any timeframe and asset).
Adjust the "Swing Sensitivity" input to fine-tune how many bars the script uses to detect a swing high/low. A higher number smooths out noise.
The script will automatically:
Mark every confirmed swing high or low with a solid line.
Label the swing as HH, LH, HL, or LL depending on its relative position.
Show BoS (trend continuation) or CHoCH (trend reversal) labels with the current trend direction.
Toggle labels or lines on or off with the corresponding checkboxes in settings.
🔍 Tip:
Use this indicator alongside other tools like volume or RSI for more confident entries. A CHoCH followed by two BoS in the same direction often signals a strong trend reversal.
Volume Intelligence Suite (VIS) v2📊 Volume Intelligence Suite – Smart Volume, Smart Trading
The Volume Intelligence Suite is a powerful, all-in-one TradingView indicator designed to give traders deeper insight into market activity by visualizing volume behavior with price action context. Whether you're a scalper, day trader, or swing trader, this tool helps uncover hidden momentum, institutional activity, and potential reversals with precision.
🔍 Key Features:
Dynamic Volume Zones – Highlights high and low volume areas to spot accumulation/distribution ranges.
Volume Spikes Detector – Automatically marks abnormal volume bars signaling potential breakout or trap setups.
Smart Delta Highlighting – Compares bullish vs bearish volume in real time to reveal buyer/seller strength shifts.
Session-Based Volume Profiling – Breaks volume into key trading sessions (e.g., London, New York) for clearer context.
Volume Heatmap Overlay – Optional heatmap to show intensity and velocity of volume flow per candle.
Custom Alerts – Built-in alerts for volume surges, divergences, and exhaustion signals.
Optimized for Kill Zone Analysis – Pairs perfectly with ICT-style session strategies and Waqar Asim’s trading methods.
🧠 Why Use Volume Intelligence?
Most traders overlook the story behind each candle. Volume Intelligence Suite helps you "see the why behind the move" — exposing key areas of interest where smart money may be active. Instead of reacting late, this tool puts you in position to anticipate.
Use it to:
Validate breakouts
Detect fakeouts and liquidity grabs
Confirm bias during kill zones
Analyze volume divergence with price swings
⚙️ Fully Customizable:
From volume thresholds to visual styles and session timings, everything is user-adjustable to fit your market, timeframe, and strategy.
✅ Best For:
ICT/Smart Money Concepts (SMC) traders
Breakout & reversal traders
Kill zone session scalpers
Institutional footprint followers
Volume towers by GSK-VIZAG-AP-INDIAVolume Towers by GSK-VIZAG-AP-INDIA
Overview :
This Pine Script visualizes volume activity and provides insights into market sentiment through the display of buying and selling volume, alongside moving averages. It highlights high and low volume candles, enabling traders to make informed decisions based on volume anomalies. The script is designed to identify key volume conditions, such as below-average volume, high-volume candles, and their relationship to price movement.
Script Details:
The script calculates a Simple Moving Average (SMA) of the volume over a user-defined period and categorizes volume into several states:
Below Average Volume: Volume is below the moving average.
High Volume: Volume exceeds the moving average by a multiplier (configurable by the user).
Low Volume: Volume that doesn’t qualify as either high or below average.
Additionally, the script distinguishes between buying volume (when the close is higher than the open) and selling volume (when the close is lower than the open). This categorization is color-coded for better visualization:
Green: Below average buying volume.
Red: Below average selling volume.
Blue: High-volume buying.
Purple: High-volume selling.
Black: Low volume.
The Volume Moving Average (SMA) is plotted as a reference line, helping users identify trends in volume over time.
Features & Customization:
Customizable Inputs:
Volume MA Length: The period for calculating the volume moving average (default is 20).
High Volume Multiplier: A multiplier for defining high volume conditions (default is 2.0).
Color-Coded Volume Histograms:
Different colors are used for buying and selling volume, as well as high and low-volume candles, for quick visual analysis.
Alerts:
Alerts can be set for the following conditions:
Below-average buying volume.
Below-average selling volume.
High-volume conditions.
How It Works:
Volume Moving Average (SMA) is calculated using the user-defined period (length), and it acts as the baseline for categorizing volume.
Volume Conditions:
Below Average Volume: Identifies candles with volume below the SMA.
High Volume: Identifies candles where volume exceeds the SMA by the set multiplier (highVolumeMultiplier).
Low Volume: When volume is neither high nor below average.
Buying and Selling Volume:
The script identifies buying and selling volume based on the closing price relative to the opening price:
Buying Volume: When the close is greater than the open.
Selling Volume: When the close is less than the open.
Volume histograms are then plotted using the respective colors for quick visualization of volume trends.
User Interface & Settings:
Inputs:
Volume MA Length: Adjust the period for the volume moving average.
High Volume Multiplier: Define the multiplier for high volume conditions.
Plots:
Buying Volume: Green bars indicate buying volume.
Selling Volume: Red bars indicate selling volume.
High Volume: Blue or purple bars for high-volume candles.
Low Volume: Black bars for low-volume candles.
Volume Moving Average Line: Displays the moving average line for reference.
Source Code / Authorship:
Author: prowelltraders
Disclaimer:
This script is intended for educational purposes only. While it visualizes important volume data, users are encouraged to perform their own research and testing before applying this script for trading decisions. No guarantees are made regarding the effectiveness of this script for real-world trading.
Contact & Support:
For questions, support, or feedback, please reach out to the author directly through TradingView (prowelltraders).
Signature:
GSK-VIZAG-AP-INDIA
Color Coded Volume IndicatorColor Coded Volume Indicator
Overview
Splits each bar’s total volume into estimated buy-side vs. sell-side components and displays them as stacked two-tone columns (red = sell, green = buy). Axis labels and tooltips use “K”/“M” formatting.
Features
Stacked Two-Tone Columns
Red Base : estimated sell volume (50% opacity)
Green Top : remaining buy volume (50% opacity)
Automatic K/M Formatting via format=format.volume
Zero Baseline for clean reference at zero
Positive-Only Bars (no negatives)
How It Works
True-Range Guard
Skips bars where high == low to avoid divide-by-zero.
Volume Split
BuyVol = Volume × (Close − Low) / (High − Low)
SellVol = Volume × (High − Close) / (High − Low)
Both series clamped ≥ 0.
Layered Plot
Draw semi-transparent green at full height, then overlay red sell portion.
Usage
Open TradingView’s Pine Editor
Paste in the full script
Click “Save & Add to Chart”
In the Publish dialog, title it “Color Coded Volume Indicator” and paste this description.
Interpretation
Green-dominant bars → strong buying pressure
Red-dominant bars → strong selling pressure
Equal halves → balanced activity
Price-Confirmed Hull Moving AverageThis is a modified HULL moving average that adds some enhancements providing visual clues as to a change in trend direction. The user can add slight modifications to the abruptness of trend change indications, which are clearly seen by the color change of the hull line itself. The user can also choose to have the background color change for easier visual indication that the hull line has changed slope direction. In addition, the user can either have both the line and the background visuals on, or turn one or the other (or both) off.
The purpose of this HULL moving average is to provide easy identification of trend direction within the scope of the moving average values provided in settings.
DEMA HMA Z-score OscillatorThis custom oscillator combines the power of the Hull Moving Average (HMA) with the Z-Score to identify momentum shifts and potential trend reversals. The Z-Score measures how far the current HMA is from its historical mean, helping to spot overbought or oversold conditions.
Uptrend: Long signals are generated when the Z-Score crosses above the defined Long Threshold.
Downtrend: Short signals are triggered when the Z-Score drops below the Short Threshold.
Visuals: The Z-Score is plotted along with background color changes and fills to clearly indicate trend strength. Green fills highlight uptrends, while pink fills indicate downtrends.
Alerts: Alerts are available for both long and short conditions based on Z-Score crossovers.
Customizable Inputs:
HMA Length
Smoothing Length (for DEMA)
Z-Score Length
Long and Short Thresholds
This indicator is ideal for detecting momentum shifts, confirming trend strength, and helping to time entry/exit points in your trading strategy.
Reintegration OPR zone 9h30📝 Indicator Description (for TradingView):
Name: Reintegration OPR Zone – 9:30 AM EST (UTC-4)
Purpose:
This indicator is designed for US indices like NAS100, US30, or SPX500. It helps identify potential false breakouts or retests by tracking when the price re-enters the Opening Price Range (OPR) after an initial breakout.
🔍 How it works:
At 9:30 AM New York time (UTC-4), the script captures the high and low of the first 15-minute candle (which is key for the US session open).
It then draws a horizontal box (rectangle) from the high to the low of that candle.
The box extends horizontally for 7 hours (28 candles on a 15-minute chart).
The script tracks if price:
Breaks above or below the OPR zone
Then re-enters the zone (a potential "fakeout" or "retest" signal)
No label or text is displayed on the chart (you requested it to be hidden).
🕒 Timeframe:
Designed for the 15-minute chart (M15)
Assumes New York session open at 9:30 AM EST (UTC-4)
Market Manipulation Index (MMI)The Composite Manipulation Index (CMI) is a structural integrity tool that quantifies how chaotic or orderly current market conditions are, with the aim of detecting potentially manipulated or unstable environments. It blends two distinct mathematical models that assess price behavior in terms of both structural rhythm and predictability.
1. Sine-Fit Deviation Model:
This component assumes that ideal, low-manipulation price behavior resembles a smooth oscillation, such as a sine wave. It generates a synthetic sine wave using a user-defined period and compares it to actual price movement over an adaptive window. The error between the real price and this synthetic wave—normalized by price variance—forms the Sine-Based Manipulation Index. A high error indicates deviation from natural rhythm, suggesting structural disorder.
2. Predictability-Based Model:
The second component estimates how well current price can be predicted using recent price lags. A two-variable rolling linear regression is computed between the current price and two lagged inputs (close and close ). If the predicted price diverges from the actual price, this error—also normalized by price variance—reflects unpredictability. High prediction error implies a more manipulated or erratic environment.
3. Adaptive Mechanism:
Both components are calculated using an adaptive smoothing window based on the Average True Range (ATR). This allows the indicator to respond proportionally to market volatility. During high volatility, the analysis window expands to avoid over-sensitivity; during calm periods, it contracts for better responsiveness.
4. Composite Output:
The two normalized metrics are averaged to form the final CMI value, which is then optionally smoothed further. The output is scaled between 0 and 1:
0 indicates a highly structured, orderly market.
1 indicates complete structural breakdown or randomness.
Suggested Interpretation:
CMI < 0.3: Market is clean and structured. Trend-following or breakout strategies may perform better.
CMI > 0.7: Market is structurally unstable. Choppy price action, fakeouts, or manipulative behavior may dominate.
CMI 0.3–0.7: Transitional zone. Caution or reduced risk may be warranted.
This indicator is designed to serve as a contextual filter, helping traders assess whether current market conditions are conducive to structured strategies, or if discretion and defense are more appropriate.