Dynamic Volume Trace Profile [ChartPrime]⯁ OVERVIEW
Dynamic Volume Trace Profile is a reimagined take on volume profile analysis. Instead of plotting a static horizontal histogram on the side of your chart, this indicator projects dynamic volume trace lines directly onto the price action. Each bin is color-graded according to its relative strength, creating a living “volume skeleton” of the market. The orange trace highlights the current Point of Control (POC)—the price level with maximum historical traded volume within the lookback window. On the right side, the tool builds a mini profile, showing absolute volume per bin alongside its percentage share, where the POC always represents 100% strength .
⯁ KEY FEATURES
Dynamic On-Chart Bins:
The range between highest high and lowest low is split into 25 bins. Each bin is drawn as a horizontal trace line across the lookback chart period.
Gradient Color Encoding:
Trace lines fade from transparent to teal depending on relative volume size. The more intense the teal, the stronger the historical traded activity at that level.
Automatic POC Highlight:
The bin with the highest aggregated volume is flagged with an orange line . This POC adapts bar-by-bar as volume distribution shifts.
Right-Side Volume Profile:
At the chart’s right edge, the script prints a box-style profile. Each bin shows:
• Total volume (absolute units).
• Percentage of max volume, in parentheses (POC bin = 100%).
This gives both raw and normalized context at a glance.
Adjustable Lookback Window:
The lookback defines how many bars feed the profile. Increase for stable HTF zones or decrease for responsive intraday distributions.
POC Toggle & Styling:
Optionally toggle POC highlighting on/off, adjust colors, and set line thickness for better integration with your chart theme.
⯁ HOW IT WORKS (UNDER THE HOOD)
Step Sizing:
over last 100 bars is divided by to calculate bin height.
Volume Aggregation:
For each bar in the , the script checks which bin the close falls into, then adds that bar’s volume to the bin’s counter.
Gradient Mapping:
Bin volume is normalized against the max volume across all bins. That value is mapped onto a gradient from transparent → teal.
POC Logic:
The bin with highest volume is colored orange both on the dynamic trace and in the right-side profile.
Right-Hand Profile:
Boxes are drawn for each bin proportional to volume / maxVolume × 50 units, with text labels showing both absolute volume and normalized %.
⯁ USAGE
Use the orange trace as the dominant “magnet” level—price often gravitates to the POC.
Watch for clusters of strong teal traces as areas of high acceptance; thin or faint zones mark low-liquidity gaps prone to fast moves.
On intraday charts, tighten lookback to reveal session-based distributions . For swing or position trading, expand lookback to surface more durable volume shelves.
Compare the right-side profile % to judge how “top-heavy” or “bottom-heavy” the current distribution is.
Use bright, intense color traces as context for confluence with structure, OBs, or liquidity hunts.
⯁ CONCLUSION
Dynamic Volume Trace Profile takes the traditional volume profile and fuses it into the body of price itself. Instead of a fixed sidebar, you see gradient traces layered directly on the chart, giving real-time context of where volume concentrated and where price may be drawn. With built-in POC highlighting, normalized % readouts, and an adaptive right-side profile, it offers both precision levels and market structure awareness in a cleaner, more intuitive form.
Volume
Volume Profile 3D (Zeiierman)█ Overview
Volume Profile 3D (Zeiierman) is a next-generation volume profile that renders market participation as a 3D-style profile directly on your chart. Instead of flat histograms, you get a depth-aware profile with parallax, gradient transparency, and bull/bear separation, so you can see where liquidity stacked up and how it shifted during the move.
Highlights:
3D visual effect with perspective and depth shading for clarity.
Bull/Bear separation to see whether up bars or down bars created the volume.
Flexible colors and gradients that highlight where the most significant trading activity took place.
This is a state-of-the-art volume profile — visually powerful, highly flexible, and unlike anything else available.
█ How It Works
⚪ Profile Construction
The price range (from highest to lowest) is divided into a number of levels (buckets). Each bar’s volume is added to the correct level, based on its average price. This builds a map of where trading volume was concentrated.
You can choose to:
Aggregate all volume at each level, or
Split bullish vs. bearish volume , slightly offset for clarity.
This creates a clear view of which price zones matter most to the market.
⚪ 3D Effect Creation
The unique part of this indicator is how the 3D projection is built. Each volume block’s width is scaled to its relative size, then tilted with a slope factor to create a depth effect.
maxVol = bins.bu.max() + bins.be.max()
width = math.max(1, math.floor(bucketVol / maxVol * ((bar_index - start) * mult)))
slope = -(step * dev) / ((bar_index - start) * (mult/2))
factor = math.pow(math.min(1.0, math.abs(slope) / step), .5)
width → determines how far the volume extends, based on relative strength.
slope → creates the angled projection for the 3D look.
factor → adjusts perspective to make deeper areas shrink naturally.
The result is a 3D-style volume profile where large areas pop forward and smaller areas fade back, giving you immediate visual context.
█ How to Use
⚪ Support & Resistance Zones (HVNs and Value Area)
Regions where a lot of volume traded tend to act like walls:
If price approaches a high-volume area from above, it may act as support.
From below, it may act as resistance.
Traders often enter or exit near these zones because they represent strong agreement among market participants.
⚪ POC Rejections & Mean Reversions
The Point of Control (POC) is the single price level with the highest volume in the profile.
When price returns to the POC and rejects it, that’s often a signal for reversal trades.
In ranging markets, price may bounce between edges of the Value Area and revert to POC.
⚪ Breakouts via Low-Volume Zones (LVNs)
Low volume areas (gaps in the profile) offer path of least resistance:
Price often moves quickly through these thin zones when momentum builds.
Use them to spot breakouts or continuation trades.
⚪ Directional Insight
Use the bull/bear separation to see whether buyers or sellers dominated at key levels.
█ Settings
Use Active Chart – Profile updates with visible candles.
Custom Period – Fixed number of bars.
Up/Down – Adjust tilt for the 3D angle.
Left/Right – Scale width of the profile.
Aggregated – Merge bull/bear volume.
Bull/Bear Shift – Separate bullish and bearish volume.
Buckets – Number of price levels.
Choose from templates or set custom colors.
POC Gradient option makes high volume bolder, low volume lighter.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Volume Percentile Supertrend [BackQuant]Volume Percentile Supertrend
A volatility and participation aware Supertrend that automatically widens or tightens its bands based on where current volume sits inside its recent distribution. The goal is simple: fewer whipsaws when activity surges, faster reaction when the tape is quiet.
What it does
Calculates a standard Supertrend framework from an ATR on a volume weighted price source.
Measures current volume against its recent percentile and converts that context into a dynamic ATR multiplier.
Widens bands when volume is unusually high to reduce chop. Tightens bands when volume is unusually low to catch turns earlier.
Paints candles, draws the active Supertrend line and optional bands, and prints clear Long and Short signal markers.
Why volume percentile
Fixed ATR multipliers assume all bars are equal. They are not. When participation spikes, price swings expand and a static band gets sliced.
Percentiles place the current bar inside a recent distribution. If volume is in the top slice, the Supertrend allows more room. If volume is in the bottom slice, it expects smaller noise and tightens.
This keeps the same playbook usable across busy sessions and sleepy ones without constant manual retuning.
How it works
Volume distribution - A rolling window computes the Pth percentile of volume. Above that is flagged as high volume. A lower reference percentile marks quiet bars.
Dynamic multiplier - Start from a Base Multiplier. If bar is high volume, scale it up by a function of volume-to-average and a Sensitivity knob. If bar is low volume, scale it down. Smooth the result with an EMA to avoid jitter.
VWMA source - The price input for bands is a short volume weighted moving average of close. Heavy prints matter more.
ATR envelope - Compute ATR on your length. UpperBasic = VWMA + Multiplier x ATR. LowerBasic = VWMA - Multiplier x ATR.
Trailing logic - The final lines trail price so they only move in a direction that preserves Supertrend behavior. This prevents sudden flips from transient pokes.
Direction and signals - Direction flips when price crosses through the relevant trailing line. SupertrendLong and SupertrendShort mark those flips. The plotted Supertrend is the active trailing side.
Inputs and what they change
Volume Lookback - Window for percentile and average. Larger window = stabler percentile, smaller = snappier.
Volume Percentile Level - Threshold that defines high volume. Example 70 means top 30 percent of recent bars are treated as high activity.
Volume Sensitivity - Gain from volume ratio to the dynamic multiplier. Higher = bands expand more when volume spikes.
VWMA Source Length - Smoothing of the volume weighted price source for the bands.
ATR Length - Standard ATR window. Larger = slower, smaller = quicker.
Base Multiplier - Core band width before volume adjustment. Think of this as your neutral volatility setting.
Multiplier Smoothing - EMA on the dynamic multiplier. Reduces back and forth changes when volume oscillates around the threshold.
Show Supertrend on chart - Toggles the active line.
Show Upper Lower Bands - Draws both sides even when inactive. Good for context.
Paint candles according to Trend - Colors bars by trend direction.
Show Long and Short Signals - Prints 𝕃 and 𝕊 markers at flips.
Colors - Choose your long and short palette.
Reading the plot
Supertrend line - Thick line that hugs price from above in downtrends and from below in uptrends. Its distance breathes with volume.
Bands - Optional upper and lower rails. Useful to see the inactive side and judge how wide the envelope is right now.
Signals - 𝕃 prints when the trend flips long. 𝕊 prints when the trend flips short.
Candle colors - Quick bias read at a glance when painting is enabled.
Typical workflows
Trend following - Use 𝕃 flips to initiate longs and ride while bars remain colored long and price respects the lower trailing line. Mirror for shorts with 𝕊 and the upper trailing line. During high volume phases the line will give more room, which helps stay in the move.
Pullback adds - In an established trend, shallow tags toward the active line after a high volume expansion can be add points. The dynamic envelope adjusts to the session so your add distance is not fixed to a stale volatility regime.
Mean reversion filter - In quiet tape the multiplier contracts and flips come earlier. If you prefer fading, watch for quick toggles around the bands when volume percentile remains low. In high volume, avoid fading into the widened line unless you have other strong reasons.
Notes on behavior
High volume bar: the percentile gate opens, volRatio > 1 powers up the multiplier through the Sensitivity lever, bands widen, fewer false flips.
Low volume bar: multiplier contracts, bands tighten, flips can happen earlier which is useful when you want to catch regime changes in quiet conditions.
Smoothing matters: both the price source (VWMA) and the multiplier are smoothed to keep structure readable while still adapting.
Quick checklist
If you see frequent chop and today feels busy: check that volume is above your percentile. Wider bands are expected. Consider letting the trend prove itself against the expanded line before acting.
If everything feels slow and you want earlier entries: percentile likely marks low volume, so bands tighten and 𝕃 or 𝕊 can appear sooner.
If you want more or fewer flips overall: adjust Base Multiplier first. If you want more reaction specifically tied to volume surges: raise Volume Sensitivity. If the envelope breathes too fast: raise Multiplier Smoothing.
What the signals mean
SupertrendLong - Direction changed from non-long to long. 𝕃 marker prints. The active line switches to support below price.
SupertrendShort - Direction changed from non-short to short. 𝕊 marker prints. The active line switches to resistance above price.
Trend color - Bars painted long or short help validate context for entries and management.
Summary
Volume Percentile Supertrend adapts the classic Supertrend to the day you are trading. Volume percentile sets the mood, sensitivity translates it into dynamic band width, and smoothing keeps it clean. The result is a single plot that aims to stay conservative when the tape is loud and act decisively when it is quiet, without you having to constantly retune settings.
Scalper - Pattern Recognition & Price Action with Divergence Scalper - Pattern Recognition & Price Action with Divergence
Overview
An educational indicator designed to demonstrate comprehensive technical analysis concepts through integrated pattern recognition, price action analysis, and divergence detection. This tool combines traditional candlestick patterns with modern institutional concepts and advanced divergence analysis for educational market study.
Educational Purpose & Originality
Core Educational Concepts
This indicator serves as a learning platform for understanding:
- **Pattern Recognition Methodology**: Systematic identification of candlestick formations
- **Price Action Theory**: Modern institutional footprint analysis
- **Divergence Analysis**: Momentum divergence detection across multiple oscillators
- **Confluence Systems**: Multi-signal integration and validation techniques
Original Implementation Features
1. Enhanced Pattern Detection Library
- **Volatility-Filtered Patterns**: ATR-based validation for pattern significance
- **Volume-Confirmed Formations**: Integration of volume analysis with pattern detection
- **Multi-Candle Pattern Recognition**: Three-candle formations and complex patterns
- **Context-Aware Detection**: Patterns validated against market structure
2. Advanced Divergence System
- **Multi-Oscillator Analysis**: RSI, CCI, and MACD divergence detection
- **Four Divergence Types**: Regular bullish/bearish and hidden bullish/bearish
- **Pivot-Based Detection**: Systematic swing high/low identification
- **Weighted Signal Integration**: Divergences integrated into confluence scoring
3. Modern Price Action Concepts
- **Fair Value Gaps (FVG)**: Identification of institutional inefficiencies
- **Order Block Detection**: Volume-validated accumulation/distribution zones
- **Dynamic Support/Resistance**: Touch-count validated levels with ATR tolerance
- **Breakout Analysis**: Volume-confirmed price breakouts
4. Intelligent Confluence System
- **Multi-Signal Aggregation**: Combines patterns, oscillators, divergences, and breakouts
- **Weighted Scoring Algorithm**: Different signal types receive appropriate weighting
- **Visual Confluence Display**: Clear indication of high-probability setups
- **Reason Tracking**: Shows which signals contribute to confluence
How to Use
Initial Configuration
1. **Enable Desired Components**: Toggle individual analysis modules based on learning focus
2. **Adjust Sensitivity Settings**: Configure pattern detection parameters for your market
3. **Select Divergence Options**: Choose oscillators and divergence types to monitor
4. **Set Confluence Requirements**: Define minimum signals needed for confirmation
Component Settings
Moving Average Configuration
- Four customizable MA lines for multi-timeframe trend analysis
- Selectable MA types (SMA, EMA, WMA, VWMA, HMA)
- Independent timeframe settings for each MA
Pattern Recognition Settings
- **Engulfing Patterns**: Strong engulfing with ATR validation
- **Doji Variations**: Standard, gravestone, and dragonfly detection
- **Hammer/Hanging Man**: Context-validated reversal patterns
- **Star Formations**: Morning and evening star patterns
- **Three Soldiers/Crows**: Momentum continuation patterns
Divergence Detection Parameters
- **Lookback Period**: Adjustable swing detection range
- **Minimum Pivot Strength**: Percentage threshold for valid pivots
- **Oscillator Selection**: RSI, CCI, MACD, or combination
- **Divergence Types**: Regular and hidden divergences
Signal Interpretation
Visual Indicators
- **Pattern Labels**: Clear marking of detected formations
- **Divergence Lines**: Visual connection between price and oscillator pivots
- **Support/Resistance Levels**: Dynamic horizontal levels with validation
- **Confluence Signals**: Large "BULL" or "BEAR" labels for high-probability setups
Dashboard Information
- Real-time oscillator values (RSI, CCI, MACD)
- Current signal count for bulls and bears
- Active divergence status
- Confluence confirmation status
Important Educational Considerations
Learning Focus
- **Pattern Study**: Understand how traditional patterns form and their limitations
- **Divergence Concepts**: Learn to identify momentum shifts before price reversals
- **Confluence Theory**: Practice combining multiple analysis techniques
- **Risk Awareness**: No pattern or signal guarantees future price movement
Limitations for Learning
- **Historical Analysis**: Patterns are identified after formation
- **No Predictive Guarantee**: Educational tool for understanding concepts, not predictions
- **Market Context Required**: Patterns should be considered within broader market context
- **Practice Required**: Effective use requires study and practice
Educational Best Practices
1. **Start Simple**: Enable one component at a time to understand each concept
2. **Paper Trade**: Practice identifying signals without real money risk
3. **Study Failed Signals**: Learn why patterns fail to improve understanding
4. **Combine with Other Analysis**: Use alongside fundamental and sentiment analysis
5. **Document Observations**: Keep a journal of pattern occurrences and outcomes
Technical Components
Indicator Architecture
- **Modular Design**: Independent modules for different analysis types
- **Performance Optimization**: Efficient calculation methods for smooth operation
- **Visual Management**: Controlled use of Pine Script drawing objects
- **Array-Based Storage**: Efficient data management for historical analysis
Calculation Methods
- **ATR-Based Validation**: Volatility-adjusted pattern filtering
- **Volume Analysis**: Comparative volume assessment for confirmation
- **Pivot Detection**: Mathematical identification of swing points
- **Statistical Validation**: Touch-count and tolerance-based S/R levels
Divergence Detection Methodology
Regular Divergences (Reversal Signals)
- **Bullish**: Price lower low + Oscillator higher low
- **Bearish**: Price higher high + Oscillator lower high
Hidden Divergences (Continuation Signals)
- **Hidden Bullish**: Price higher low + Oscillator lower low
- **Hidden Bearish**: Price lower high + Oscillator higher high
Validation Criteria
- Minimum pivot strength requirement (percentage-based)
- Lookback period for swing detection
- Multiple oscillator confirmation option
Confluence Scoring System
Signal Categories
1. **Pattern Signals** (Weight: 1): Candlestick formations
2. **Oscillator Signals** (Weight: 1): RSI/CCI extremes
3. **Breakout Signals** (Weight: 1): Volume-confirmed breaks
4. **Regular Divergences** (Weight: 2): Higher probability reversals
5. **Hidden Divergences** (Weight: 1): Trend continuation signals
Confluence Thresholds
- Adjustable minimum signal requirement (2-6 signals)
- Visual indication when threshold is met
- Detailed reason display for educational understanding
Educational Dashboard
Real-Time Metrics
- Oscillator readings (RSI, CCI, MACD)
- ATR volatility measurement
- Bull/Bear signal counts
- Divergence status
- Confluence confirmation
Customization Options
- Position selection (6 screen locations)
- Color customization for all elements
- Enable/disable individual components
Version Information
- **Version 1.1**: Added comprehensive divergence detection system
- **Educational Focus**: Designed for learning technical analysis concepts
- **Integration**: All components work together in confluence system
Disclaimer
This indicator is designed exclusively for educational purposes to demonstrate technical analysis concepts. It is not financial advice and should not be used as the sole basis for trading decisions. Past patterns and signals do not guarantee future results. Trading involves substantial risk of loss. Users should conduct their own research, practice with demo accounts, and consider seeking advice from qualified professionals before making investment decisions.
Learning Resources
The indicator includes extensive inline comments explaining each calculation and concept. Users are encouraged to study the source code to understand the methodology behind each component. This transparency aids in learning how technical indicators work and their limitations.
---
**Note**: This is an educational tool meant to help traders learn pattern recognition and technical analysis concepts. Success requires practice, additional analysis, and proper risk management.
HTF Candle Highs and Lows with Labels + High Probability Signals█ OVERVIEW
This indicator overlays Weekly, Daily, and H4 High/Low levels directly onto your chart, allowing traders to visualize key support and resistance zones from higher timeframes. It also includes high probability breakout signals that appear one candle after a confirmed breakout above or below these levels, filtered by volume and candle strength.
Use this tool to identify breakout opportunities with greater confidence and clarity.
█ FEATURES
• Plots Weekly, Daily, and H4 High and Low levels using request.security. • Customizable line colors, widths, and label sizes. • Toggle visibility for each timeframe independently. • Signals appear one candle after a confirmed breakout: • Bullish: Close above HTF High, strong candle, high volume. • Bearish: Close below HTF Low, strong candle, high volume. • Signal shapes match the color of the broken level for visual clarity.
█ HOW TO USE
1 — Enable the timeframes you want to track using the input toggles. 2 — Watch for triangle-shaped signals: • Upward triangle = Bullish breakout. • Downward triangle = Bearish breakout. 3 — Confirm the breakout: • Candle closes beyond the HTF level by at least 0.1%. • Candle body shows momentum (close > open for bullish, close < open for bearish). • Volume exceeds 20-period average. 4 — Enter trade on the candle after the signal. 5 — Use the HTF level as a reference for stop-loss placement. 6 — Combine with other indicators (e.g., RSI, EMA) for confluence.
█ LIMITATIONS
• Signals may lag by one candle due to confirmation logic. • Not optimized for low-volume assets or illiquid markets. • Best used in trending environments; avoid during consolidation. • Does not include automatic alerts (can be added manually).
█ BEST PRACTICES
• Use on H1 or higher timeframes for cleaner signals. • Avoid trading during news events or low volatility. • Backtest thoroughly before live trading. • Adjust breakout percentage and volume filter based on asset volatility. • Maintain a trading journal to track performance.
CNagda-MomentumX - Institutional FlowMomentumX is designed to empower traders with a deeper understanding of market movements by focusing on Institutional Flow and advanced market structure analytics. The core goal is to identify and visualize where major market participants are operating, and to translate these complex footprints into clear, actionable trading signals — all in real time.
Real-time institutional activity mapping
Actionable entry and exit signals based on live market structure
Intuitive dashboard and dynamic chart visuals
Fully customizable modules for trend, liquidity, and order blocks
Core Logic Design
At the heart of MomentumX lies a robust algorithmic engine built to capture and surface institutional trading behavior. By leveraging advanced mathematical models, the indicator calculates institutional volume ratios and price momentum to pinpoint aggressive moves from large participants.
Institutional Volume & Price Momentum:
Utilizes custom volume indicators and price change analysis to detect strong buying or selling pressure, filtering out retail noise.
Liquidity Grab Detection & Activity Zones:
The script identifies liquidity grabs by monitoring abrupt price sweeps at major support/resistance levels—often where institutions trigger stop hunts or reversals. All critical activity zones are automatically color-coded on the chart for instant recognition.
Dashboard Visualization:
A fully dynamic dashboard table overlays live scores for accumulation, distribution, strength, and weakness—giving traders a real-time scan of market health.
Trendline & Order Block Architecture:
The logic auto-detects pivot highs/lows to draw smart trendlines, while the order block system highlights key reversal areas and breaker zones—making market structure clear and actionable.
MomentumX is packed with high-performance modules, each engineered to simplify complex market behavior and enhance decision-making for traders:
Institutional Flow Signals:
Instantly identifies spots where institutional players drive momentum, using unique volume and price activity analytics.
Bullish/Bearish Liquidity Grab Detection:
Marks abrupt price moves that signal stop hunts or reversals, letting traders anticipate snap-backs or trend shifts.
Trendline Auto-Detection:
Smartly draws trendlines based on significant swing highs and lows, automatically adjusting as price evolves.
Order Block System (Rejection/Breaker):
Spots and highlights key reversal zones with order block rectangles, confirming rejections or breakouts at strategic levels.
Dashboard and Bar Coloring:
A clean dashboard overlay presents live market scores, while dynamic bar coloring makes trend, strength, and high-activity periods instantly visible.
User Input Toggles for Each Module:
Every major feature is fully customizable—enable or disable modules to match individual trading setups or preferences.
Scripting/Development
MomentumX’s scripting process is modular, enabling clarity, scalability, and fast optimization throughout development:
Initialization & Inputs:
Start by defining all user input options, module toggles, color settings, and calculation parameters—ensuring maximum flexibility early on.
Core Calculation Functions:
Script advanced institutional volume and price momentum algorithms. Build out swing length logic, market state filters, and activity scoring methods.
Detection Engines:
Develop and integrate engines for liquidity grabs, automated trendline detection, and order block identification—each with dedicated functions for speed and precision.
Visual Overlays & Plotting:
Implement powerful plotting logic for colored bars, score dashboards, trendlines, reversal zones, and liquidity markers—making every data point clear and actionable on the chart.
Testing Handlers:
Add diagnostic panels and debug outputs to refine calculations and assure accuracy in every market environment.
Sample Trade Setups (Usage)
Cnagda MomentumX delivers clarity for multiple trading styles by providing timely, actionable setups grounded in institutional behavior and market structure. Here’s how traders can leverage the indicator for confident decision-making:
Liquidity Grab Reversal
Enter trades around detected liquidity grabs when price sweeps major support/resistance and the dashboard signals a momentum shift.
Example: Wait for a bullish/Bearish grab near market lows/high, with institutional flow turning positive/negative—enter long/short for potential mean reversion.
Order Block Breakout
Trade breakouts when price cleanly rejects or flips key order block zones highlighted on the chart.
Example: Short at a marked breaker block after a rejection signal, confirmed by a downward institutional activity spike.
Trendline Continuation
Ride established market moves by entering on trendline confirmations plotted by the auto-detect system.
Example: Go long after a trendline retest, confirmed by a green bar color and dashboard strength score.
Dashboard Confirmation
Combine dashboard metrics (strength, accumulation, distribution) with bar color overlays for multi-factor entries.
Example: Enter trades only when all market signals align in real time for maximum probability.
For Short Entry check -- Weakness : For Long Entry Check - Strength With Other Indications
MomentumX is not just another indicator – it’s your edge for reading the market like an insider. By transparently mapping institutional flow, uncovering hidden liquidity zones, and color-coding every major structure shift, MomentumX transforms complexity into actionable clarity. Whether you’re scalping, swing trading, or investing, you’ll gain a decisive, real-time advantage on every chart.
Embrace smarter decisions, adapt to changing market conditions instantly, and join a new generation of technically empowered traders.
Customize, observe, and let the market reveal opportunities in a way you’ve never experienced before.
Happy Trading
Volume Orderbook (Expo) — safe-indexed基于 @Zeiierman 的Volume Orderbook(Expo) 修复了以下bug
In 'array.get()' function. Index 3 is out of bounds, array size is 3.
at #main():75
修复思路:
提供一个索引钳制函数 clampIndex(idx, last),把任何索引限制在 区间内。
所有 array.get() 前都用该函数钳制索引(包括对 levels / volumes 的两端访问,以及 +1 时的上界保护)。
网格线、方框上下边界使用的 levels.get(...) 也统一钳制,避免负值或越界。
Intraday Rising & Reversal ScannerPine Script Description: Intraday Rising & Reversal ScannerThis Pine Script is a TradingView indicator designed to identify stocks with intraday (1-hour timeframe) potential for bullish (rising) or bearish (reversal) movements. It scans for stocks based on user-defined technical criteria, including price change, relative volume, RSI, EMA, ATR, and VWAP. The script plots signals on the chart, displays a summary table, and triggers alerts when conditions are met.FeaturesBullish Signal (Rising Stocks):1H Price Change: > 1% (configurable, e.g., >2% for volatile markets).
Relative Volume: > 2.0 (volume is at least twice the 20-period average).
RSI (14): Between 50 and 70 (strong but not overbought momentum).
Price vs EMA 13: Price above the 13-period EMA (confirms short-term uptrend).
ATR (14): Current ATR above its 20-period average (indicates volatility).
VWAP: Price above VWAP (optional, shown on chart for manual confirmation).
Bearish Signal (Reversal Stocks):1H Price Change: < -1% (configurable, e.g., <-2% for stronger reversals).
Relative Volume: > 2.0 (high volume confirms selling pressure).
RSI (14): > 70 (overbought, increasing reversal likelihood).
Price vs EMA 13: Price below the 13-period EMA (confirms short-term downtrend).
ATR (14): Current ATR above its 20-period average (indicates volatility).
VWAP: Price below VWAP (optional, shown on chart for manual confirmation).
Visualization:Bullish Signal: Green triangle below the bar.
Bearish Signal: Red triangle above the bar.
VWAP: Plotted as a blue line for manual verification.
Table: Displays real-time metrics (Change %, Relative Volume, RSI, Price vs EMA, ATR, VWAP) in the top-right corner, color-coded (green for bullish, red for bearish).
Alerts:Separate alerts for bullish ("Intraday Bullish Signal") and bearish ("Intraday Bearish Signal") conditions.
Customizable alert messages include parameter values for easy tracking.
How It WorksThe script runs on the 1-hour (1H) timeframe, ensuring all calculations are based on hourly data.
Indicators are computed:Change %: Percentage price change over the last hour.
Relative Volume: Current volume divided by the 20-period SMA of volume.
RSI: 14-period Relative Strength Index.
EMA 13: 13-period Exponential Moving Average.
ATR: 14-period Average True Range, compared to its 20-period SMA.
VWAP: Volume Weighted Average Price, plotted for visual confirmation.
Signals are generated when all conditions for either bullish or bearish criteria are met.
A table summarizes key metrics, and alerts can be set up for real-time notifications.
Usage InstructionsApply the Script:Open TradingView’s Pine Editor.
Copy and paste the script.
Click "Add to Chart" and set the chart to the 1-hour (1H) timeframe.
Set Up Alerts:Right-click on the chart > "Add Alert".
Select "Intraday Bullish Signal" or "Intraday Bearish Signal" as the condition.
Configure notifications (e.g., SMS, email, or TradingView alerts).
Manual VWAP Check:VWAP is plotted as a blue line. Verify that the price is above VWAP for bullish signals or below for bearish signals using the table or chart.
To make VWAP a mandatory filter, uncomment the VWAP conditions in the bull_signal and bear_signal definitions.
CVD Divergences (cdikici71 x tncylyv)CVD Divergence
Summary
This indicator brings the powerful and creative divergence detection logic from @cdikici71's popular "cd_RSI_Divergence_Cx" script to the world of volume analysis.
While RSI is a fantastic momentum tool, I personally choose to rely on volume as a primary source of truth. This script was born from the desire to see how true buying and selling pressure—measured by Cumulative Volume Delta (CVD)—diverges from price action. It takes the brilliant engine built by @cdikici71 and applies it to CVD, offering a unique look into market conviction.
What is Cumulative Volume Delta (CVD)?
CVD is a running total of volume that transacted at the ask price (buying) minus volume that transacted at the bid price (selling). In simple terms, it shows whether buyers or sellers have been more aggressive over a period. A rising CVD suggests net buying pressure, while a falling CVD suggests net selling pressure.
Core Features
• Divergence Engine by @cdikici71: The script uses the exact same two powerful methods for finding divergences as the original RSI version:
o Alignment with HTF Sweep: The default, cleaner method for finding high-probability divergences.
o All: A more sensitive method that finds all possible divergences.
• Anchored CVD Periods: You can choose to reset the CVD calculation on a Daily, Weekly, or Monthly basis to analyze buying and selling pressure within specific periods. Or, you can leave it on Continuous to see the all-time flow.
• Automatic Higher Timeframe (HTF) Alignment: To remove the guesswork, the "Auto-Align HTF" option will automatically select a logical higher timeframe for divergence analysis based on your current chart (e.g., 15m chart uses 4H for divergence, 1H chart uses 1D, etc.). You can also turn this off for full manual control.
• Fully Customizable Information Table: An on-screen table keeps you updated on the divergence status. You can easily adjust its Position and Size in the settings to fit your chart layout.
• Built-in Alerts: Alerts are configured for both Bullish and Bearish divergences to notify you as soon as they occur.
How to Use This Indicator
The principle is the same as any divergence strategy, but with the conviction of volume behind it.
• 🔴 Bearish Divergence: Price makes a Higher High, but the CVD makes a Lower High or an equal high. This suggests that the buying pressure is weakening and may not be strong enough to support the new price high.
• 🟢 Bullish Divergence: Price makes a Lower Low, but the CVD makes a Higher Low or an equal low. This suggests that selling pressure is exhausting and the market may be ready for a reversal.
Always use divergence signals as a confluence with your own analysis, support/resistance levels, and market structure.
Huge Thanks and Credit
This script would not exist without the brilliant and creative work of @cdikici71. The entire divergence detection engine, the visualization style, and the core logic are based on his original masterpiece, "cd_RSI_Divergence_Cx". I have simply adapted his framework to a different data source.
If you find this indicator useful, please go and show your support for his original work!
________________________________________
Disclaimer: This is a tool for analysis, not a financial advice signal service. Please use it responsibly as part of a complete trading strategy.
ICT SMC — OB & FVG (Enhanced v6)This indicator is a comprehensive implementation of ICT Smart Money Concepts (SMC), focusing on Order Blocks (OB) and Fair Value Gaps (FVG) with enhanced detection logic and session-based filtering.
🔍 Key Features
Impulse-Based OB Detection: Identifies bullish and bearish order blocks using configurable impulse bar logic and ATR-based movement thresholds.
Fair Value Gap Detection: Highlights FVGs based on price displacement logic, helping traders spot potential inefficiencies in price action.
Session Filtering: Allows users to filter signals based on major trading sessions (Sydney, Tokyo, London, New York).
Trend & Volume Confirmation: Integrates EMA slope, market structure breaks, and volume analysis to score trade signals.
Visual Zones: Displays OB and FVG zones using colored boxes with customizable transparency and color settings.
Signal Alerts: Generates long/short trade signals based on a scoring system and session validation, with built-in alert conditions.
⚙️ Customization
Adjustable EMA and ATR lengths
Configurable impulse bar count and movement thresholds
Toggleable session filters
Custom colors for OB and FVG zones
📈 Use Cases
This tool is ideal for traders who follow ICT concepts and want a visual, automated way to identify high-probability zones and trade setups based on smart money principles.
AVNT Weather Diary — Buy Readiness Score (0–10) with Trend & Ram🔹 Description
This script is a visual "weather diary" for AVNT (or any symbol). It combines RSI, MACD, and ramp momentum signals into a 0–10 Buy Readiness score and translates that into simple “weather” conditions:
🌧️ Rainy → Weak setup
🌫️ Storm Clearing → Possible build-up
⛅ Clearing Skies → Neutral but improving
☀️ Sunny → Stronger trend forming
🌈 Blue Sky → High strength / breakout potential
What’s included:
0–10 readiness score based on RSI(1h/4h), MACD, and RSI ramps (5m/15m).
Weather + emoji labels for quick interpretation.
Trend label: Uptrend, Chop/Basing, or Downtrend.
Sustained-clear vs False-clear streaks to catch fake breakouts.
Top-right status table for quick metrics.
Bottom info box summarizing conditions (score, weather, trend, streaks).
Background tint so you can feel the "weather" of the chart at a glance.
Alerts for each weather shift and for sustained coiling streaks (pre-breakout).
✅ Works best on AVNT but is adaptable to any coin or stock.
✅ Designed for traders who prefer simple storytelling instead of raw numbers.
Effort vs Result TRFxThe Effort vs Result (EVR) indicator is designed to identify high-probability reversal signals based on volume and price action dynamics. It highlights points where the market “effort” (high volume) does not correspond to an immediate “result” (price continuation), providing actionable trade setups for both bullish and bearish scenarios.
Features:
Detects bullish EVR signals when a previous high-volume sell candle is followed by a strong bullish candle that sweeps the previous low.
Detects bearish EVR signals when a previous high-volume buy candle is followed by a strong bearish candle that sweeps the previous high.
Sticky arrows plot automatically above or below the candle, ensuring the signal moves with the price bar.
Considers inside bars, wick size, and relative volume to filter low-quality setups.
Fully compatible with multiple timeframes.
Inputs:
Volume Multiplier: Sets how much higher the current candle’s volume should be compared to the previous candle to count as high volume.
Min Wick % of Candle: Minimum wick size relative to the candle body to filter insignificant bars.
Max Inside Bars to Ignore: Number of inside bars between the previous candle and the EVR candle to ignore minor consolidations.
Usage:
(Green Arrow): Enter long when a green arrow appears below the candle. Place stop-loss slightly below the previous swing low.
(Red Arrow): Enter short when a red arrow appears above the candle. Place stop-loss slightly above the previous swing high.
Can be combined with support/resistance levels, trendlines, or other technical indicators for higher accuracy.
Benefits:
Simple and clean visual signals with tiny arrows that move with candles.
Helps traders identify high-probability reversal points based on volume and price action.
Ideal for intraday and swing trading strategies.
OBV Cloud v1.0 [PriceBlance]🌐 English
OBV Cloud v1.0 – Free & Open-Source
OBV Cloud v1.0 integrates On-Balance Volume (OBV) with a Cloud model and enhanced trend filters.
It helps traders quickly identify:
Money Flow Trend: OBV Cloud acts as a dynamic support/resistance zone.
Trend Filters: EMA9 (short-term) and WMA45 (medium-term) directly applied on OBV.
OBV–Price Divergence: Detects both regular and hidden bullish/bearish divergences.
Trend Strength: Measured with ADX calculated on OBV.
OBV Cloud is suitable for both swing and day trading, allowing traders to spot breakouts, reversals, or sustained trends through volume-based analysis.
Breakout Volume
指标名称:Breakout Volume (BrkVol)
功能:本指标用于识别成交量异常放大,同时结合价格新高,帮助交易者发现潜在突破机会。
主要特性:
可调成交量均线周期(MA Length)
可调放量倍数(Volume Multiplier)
可调价格新高周期(Lookback High Length)
成交量柱颜色区分:绿色=阳线放量,红色=阴线放量,灰色=无信号
蓝色均量阈值线,可直观比较放量情况
出现成交量突破 + 新高时,图表上显示绿色三角形标记
支持提醒功能,可在条件触发时收到通知
使用建议:
调整参数以适应不同品种和时间周期
可结合趋势、支撑阻力位使用,避免假信号
适合快速发现短线或中长线突破机会
English Description
Name: Breakout Volume (BrkVol)
Function: This indicator detects unusual volume spikes combined with new highs in price, helping traders identify potential breakout opportunities.
Key Features:
Adjustable moving average period (MA Length) for volume
Adjustable volume multiplier (Volume Multiplier)
Adjustable lookback period for price highs (Lookback High Length)
Color-coded volume bars: Green = bullish candle with volume breakout, Red = bearish candle with volume breakout, Gray = normal volume
Blue threshold line (volume MA × multiplier) for easy comparison
Green triangle marker appears when both volume breakout and new high conditions are met
Supports alerts for real-time notifications
Usage Tips:
Adjust parameters to suit different symbols and timeframes
Combine with trend or support/resistance levels to reduce false signals
Useful for spotting short-term or medium/long-term breakout opportunities
Rocket Scan – Midday Movers (No Pullback)This indicator is designed to spot intraday breakout movers that often appear after the market open — the ones that rip out of nowhere and cause FOMO if you’re late.
🔑 Core Logic
• Momentum Burst: Detects sudden price pops (ROC) with confirming relative volume.
• Squeeze → Breakout: Finds low-volatility compressions (tight Bollinger bandwidth) and flags the first breakout move.
• VWAP Reclaims: Highlights strong reversals when price reclaims VWAP on volume.
• Relative Volume (RVOL): Filters for unusual activity vs. recent averages.
• Gap Filter: Skips large overnight gappers, focuses on fresh intraday movers.
• Relative Strength: Optional filter requiring the symbol to outperform SPY (and sector ETF if chosen).
• Session Window: Default 10:30–15:30 ET to ignore noisy open action and catch true midday moves.
🎯 Use Case
• Built for traders who want early alerts on midday runners without waiting for pullbacks.
• Helps identify potential entry points before FOMO kicks in.
• Works best on liquid tickers (stocks, ETFs, crypto) with reliable intraday volume.
📊 Visuals
• Plots fast EMA, slow EMA, and VWAP for trend context.
• Paints green ▲ for long signals and red ▼ for short signals on the chart.
• Info label shows RVOL, ROC, RS filter status, and gap conditions.
🚨 Alerts
Two alert conditions included:
• Rocket: Midday LONG → Fires when bullish conditions align.
• Rocket: Midday SHORT → Fires when bearish conditions align.
⸻
⚠️ Disclaimer:
This tool is for educational and research purposes only. It is not financial advice. Trading involves risk; always do your own research or consult a licensed professional.
The David Paul Way // v1This is the first version of my attempt at creating one of David Paul's trading methodologies. My ultimate goal for this is to encapsulate his way of approaching the market in a single strategy script.
The general objectives consist of the following:
1. place entries where the masses place there stops
2. Trail my stop losses on big positions as effectively as possible
3. Cut the losers off Quickly
4. Add to every winning trade
5. trade equity's that are growing its earnings rapidly and aggressively.
6. wait for when the broader market is also trending upwards
7. Create an environment of positive expectancy
8. Exploit Institutional Trading Behavior
The "Long" Condition:
David Paul emphasized how price and volume have a very important correlation especially on the stock market, I decided to combine a rise in volume over a period off 89 bars with the classic 21, 55, and 89 period moving average. When the closing price crosses the highest of the three moving averages , in addition to a rise in volume , A signal to enter has formed.
Exiting the Trend:
When price closes below the highest moving average , its a sign that the trends encountering a decrease in support, acceleration , or momentum. It will cause an exit in the current position.
Stop Losses:
unfortunately I am still figuring out a good solution for an actual consistent and intelligent implementation of a stop loss to go with the long condition. feel free to make one for yourself in the mean time, I will eventually publish a refined version with more advanced: 1. order types, 2.trailing stop loss logic , 3.plotting visuals , 4. user inputs for making your own versions , 5. table with metrics and statistic display.
Visuals:
as of now the 21,55, and 89 period moving average (and the average of the 3 moving averages) are plotted and will turn blue when the closing price is above them. Otherwise they remain grey if above the closing price.
"I Fade the long term trend for the short term trend." - David Paul
I would like to thank @LOKEN94 for the basis of this strategy, check out his indicator if you need more of a visual guide for tinkering with this strategy.
VWAP 12 bands VWAP 12 Bands is a multi-band Volume Weighted Average Price tool designed to map out potential support and resistance levels around VWAP.
Anchors VWAP to flexible periods: from intraday (15m, 30m, 1H, etc.) to higher timeframes (Month, Year, Decade, Century) or even events (earnings, dividends, splits).
Plots up to 12 adjustable bands around VWAP, based on either Standard Deviations or Percentage distance.
Each band is fully customizable with visibility toggles, colors, and multipliers.
VWAP line changes color depending on whether price trades above (yellow) or below (red).
Includes band fills for quick momentum visualization:
Green fill when price breaks above a band.
Orange fill when price trades inside.
Red fill when price falls below.
This tool helps traders track institutional price levels, identify trend bias, and spot potential support/resistance zones with precision.
EMA + Volume + RSI Buy/Sell Signals//@version=5
indicator("EMA + Volume + RSI Buy/Sell Signals", overlay=true)
// === Inputs ===
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
rsi = ta.rsi(close, 14)
// === Conditions ===
// Price % change from yesterday
priceChange = (close - close ) / close * 100
// Volume condition
volCondition = volume > 1.5 * volume
// RSI
rsiOverbought = rsi > 70
rsiOversold = rsi < 30
// Price move conditions
priceUp5 = priceChange > 5
priceDown5 = priceChange < -5
// === Buy & Sell Conditions ===
buySignal = close > ema20 and close > ema50 and close > ema200 and priceUp5 and volCondition and rsiOversold
sellSignal = close < ema20 and close < ema50 and close < ema200 and priceDown5 and volCondition and rsiOverbought
// === Plot EMAs ===
plot(ema20, color=color.yellow, title="EMA 20")
plot(ema50, color=color.blue, title="EMA 50")
plot(ema200, color=color.red, title="EMA 200")
// === Plot Signals on Chart ===
plotshape(buySignal, title="BUY Signal", style=shape.labelup, color=color.green, text="BUY", location=location.belowbar, size=size.normal)
plotshape(sellSignal, title="SELL Signal", style=shape.labeldown, color=color.red, text="SELL", location=location.abovebar, size=size.normal)
// === Background Highlight for Visuals ===
bgcolor(buySignal ? color.new(color.green, 85) : na)
bgcolor(sellSignal ? color.new(color.red, 85) : na)
RSI Momentum ScalperOverview
The "RSI Momentum Scalper" is a Pine Script v5 strategy crafted for trading highly volatile markets, with a special focus on newly listed cryptocurrencies. This strategy harnesses the Relative Strength Index (RSI) alongside volume analysis and momentum thresholds to pinpoint short-term trading opportunities. It supports both long and short trades, managed with customizable take profit, stop loss, and trailing stop levels, which are visually plotted on the chart for easy tracking.
Why I Created This Strategy
I developed the "RSI Momentum Scalper" because I was seeking a reliable trading strategy tailored to newly listed, highly volatile cryptocurrencies. These assets often experience rapid price fluctuations, rendering traditional strategies less effective. I aimed to create a tool that could exploit momentum and volume spikes while managing risk through adaptable exit parameters. This strategy is designed to address that need, offering a flexible approach for traders in dynamic crypto markets.
How It Works
The strategy utilizes RSI to identify momentum shifts, combined with volume confirmation, to trigger long or short entries. Trades are controlled with take profit, stop loss, and trailing stop levels, which adjust dynamically as the price moves in your favor. The trailing stop helps lock in profits, while the plotted exit levels provide clear visual cues for trade management.
Customizable Settings
The script is highly customizable, allowing you to adjust it to various market conditions and trading styles. Here’s a brief overview of the key settings:
Trade Mode: Select "Both," "Long Only," or "Short Only" to determine the trade direction.
(Default: Both)
RSI Length: Sets the lookback period for the RSI calculation (2 to 30).
(Default: 8)
A shorter length increases RSI sensitivity, suitable for volatile assets.
RSI Overbought: Defines the upper RSI threshold (60 to 99) for short entries.
(Default: 90)
Higher values signal stronger overbought conditions.
RSI Oversold: Defines the lower RSI threshold (1 to 40) for long entries.
(Default: 10)
Lower values indicate stronger oversold conditions.
RSI Momentum Threshold: Sets the minimum RSI momentum change (1 to 15) to trigger entries.
(Default: 14)
Adjusts the sensitivity to price momentum.
Volume Multiplier: Multiplies the volume moving average to filter high-volume bars (1.0 to 3.0).
(Default: 1)
Higher values require stronger volume confirmation.
Volume MA Length: Sets the lookback period for the volume moving average (5 to 50).
(Default: 13)
Influences the volume trend sensitivity.
Take Profit %: Sets the profit target as a percentage of the entry price (0.1 to 10.0).
(Default: 4.15)
Determines when to close a winning trade.
Stop Loss %: Sets the loss limit as a percentage of the entry price (0.1 to 6.0).
(Default: 1.85)
Protects against significant losses.
Trailing Stop %: Sets the trailing stop distance as a percentage (0.1 to 4.0).
(Default: 2.55)
Locks in profits as the price moves favorably.
Visual Features
Exit Levels: Take profit (green), fixed stop loss (red), and trailing stop (orange) levels are plotted when in a position.
Performance Table: Displays win rate, total trades, and net profit in the top-right corner.
How to Use
Add the strategy to your chart in TradingView.
Adjust the input settings based on the cryptocurrency and timeframe you’re trading.
Monitor the plotted exit levels for trade management.
Use the performance table to assess the strategy’s performance over time.
Notes
Test the strategy on a demo account or with historical data before live trading.
The strategy is optimized for short-term scalping; adjust settings for longer timeframes if needed.
Delta Volume Signals by Claudio [hapharmonic]Modifications:
Percentages without decimals.
I replaced the 'Current Volume' row with two boxes: "Δ Vol" and its value, which changes color depending on the direction of the bearish/bullish candle.
Signals can change color in the settings.
Box spacing so the table doesn't constantly change size.
To be modified:
The Net Volume sign shouldn't change to negative when the candle is red.
If anyone does this, let me know...
claudio.ventola@hotmail.com
Best regards!
Volume Delta Volume Signals by Claudio [hapharmonic]// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © hapharmonic
//@version=6
FV = format.volume
FP = format.percent
indicator('Volume Delta Volume Signals by Claudio ', format = FV, max_bars_back = 4999, max_labels_count = 500)
//------------------------------------------
// Settings |
//------------------------------------------
bool usecandle = input.bool(true, title = 'Volume on Candles',display=display.none)
color C_Up = input.color(#12cef8, title = 'Volume Buy', inline = ' ', group = 'Style')
color C_Down = input.color(#fe3f00, title = 'Volume Sell', inline = ' ', group = 'Style')
// ✅ Nueva entrada para colores de señales
color buySignalColor = input.color(color.new(color.green, 0), "Buy Signal Color", group = "Signals")
color sellSignalColor = input.color(color.new(color.red, 0), "Sell Signal Color", group = "Signals")
string P_ = input.string(position.top_right,"Position",options = ,
group = "Style",display=display.none)
string sL = input.string(size.small , 'Size Label', options = , group = 'Style',display=display.none)
string sT = input.string(size.normal, 'Size Table', options = , group = 'Style',display=display.none)
bool Label = input.bool(false, inline = 'l')
History = input.bool(true, inline = 'l')
// Inputs for EMA lengths and volume confirmation
bool MAV = input.bool(true, title = 'EMA', group = 'EMA')
string volumeOption = input.string('Use Volume Confirmation', title = 'Volume Option', options = , group = 'EMA',display=display.none)
bool useVolumeConfirmation = volumeOption == 'none' ? false : true
int emaFastLength = input(12, title = 'Fast EMA Length', group = 'EMA',display=display.none)
int emaSlowLength = input(26, title = 'Slow EMA Length', group = 'EMA',display=display.none)
int volumeConfirmationLength = input(6, title = 'Volume Confirmation Length', group = 'EMA',display=display.none)
string alert_freq = input.string(alert.freq_once_per_bar_close, title="Alert Frequency",
options= ,group = "EMA",
tooltip="If you choose once_per_bar, you will receive immediate notifications (but this may cause interference or indicator repainting).
However, if you choose once_per_bar_close, it will wait for the candle to confirm the signal before notifying.",display=display.none)
//------------------------------------------
// UDT_identifier |
//------------------------------------------
type OHLCV
float O = open
float H = high
float L = low
float C = close
float V = volume
type VolumeData
float buyVol
float sellVol
float pcBuy
float pcSell
bool isBuyGreater
float higherVol
float lowerVol
color higherCol
color lowerCol
//------------------------------------------
// Calculate volumes and percentages |
//------------------------------------------
calcVolumes(OHLCV ohlcv) =>
var VolumeData data = VolumeData.new()
data.buyVol := ohlcv.V * (ohlcv.C - ohlcv.L) / (ohlcv.H - ohlcv.L)
data.sellVol := ohlcv.V - data.buyVol
data.pcBuy := data.buyVol / ohlcv.V * 100
data.pcSell := 100 - data.pcBuy
data.isBuyGreater := data.buyVol > data.sellVol
data.higherVol := data.isBuyGreater ? data.buyVol : data.sellVol
data.lowerVol := data.isBuyGreater ? data.sellVol : data.buyVol
data.higherCol := data.isBuyGreater ? C_Up : C_Down
data.lowerCol := data.isBuyGreater ? C_Down : C_Up
data
//------------------------------------------
// Get volume data |
//------------------------------------------
ohlcv = OHLCV.new()
volData = calcVolumes(ohlcv)
// Plot volumes and create labels
plot(ohlcv.V, color=color.new(volData.higherCol, 90), style=plot.style_columns, title='Total',display = display.all - display.status_line)
plot(ohlcv.V, color=volData.higherCol, style=plot.style_stepline_diamond, title='Total2', linewidth = 2,display = display.pane)
plot(volData.higherVol, color=volData.higherCol, style=plot.style_columns, title='Higher Volume', display = display.all - display.status_line)
plot(volData.lowerVol , color=volData.lowerCol , style=plot.style_columns, title='Lower Volume',display = display.all - display.status_line)
S(D,F)=>str.tostring(D,F)
volStr = S(math.sign(ta.change(ohlcv.C)) * ohlcv.V, FV)
buyVolStr = S(volData.buyVol , FV )
sellVolStr = S(volData.sellVol , FV )
// ✅ MODIFICACIÓN: Porcentaje sin decimales
buyPercentStr = str.tostring(math.round(volData.pcBuy)) + " %"
sellPercentStr = str.tostring(math.round(volData.pcSell)) + " %"
totalbuyPercentC_ = volData.buyVol / (volData.buyVol + volData.sellVol) * 100
sup = not na(ohlcv.V)
if sup
TC = text.align_center
CW = color.white
var table tb = table.new(P_, 6, 6, bgcolor = na, frame_width = 2, frame_color = chart.fg_color, border_width = 1, border_color = CW)
tb.cell(0, 0, text = 'Volume Candles', text_color = #FFBF00, bgcolor = #0E2841, text_halign = TC, text_valign = TC, text_size = sT)
tb.merge_cells(0, 0, 5, 0)
tb.cell(0, 1, text = 'Current Volume', text_color = CW, bgcolor = #0B3040, text_halign = TC, text_valign = TC, text_size = sT)
tb.merge_cells(0, 1, 1, 1)
tb.cell(0, 2, text = 'Buy', text_color = #000000, bgcolor = #92D050, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(1, 2, text = 'Sell', text_color = #000000, bgcolor = #FF0000, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(0, 3, text = buyVolStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(1, 3, text = sellVolStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(0, 5, text = 'Net: ' + volStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.merge_cells(0, 5, 1, 5)
tb.cell(0, 4, text = buyPercentStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(1, 4, text = sellPercentStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
cellCount = 20
filledCells = 0
for r = 5 to 1 by 1
for c = 2 to 5 by 1
if filledCells < cellCount * (totalbuyPercentC_ / 100)
tb.cell(c, r, text = '', bgcolor = C_Up)
else
tb.cell(c, r, text = '', bgcolor = C_Down)
filledCells := filledCells + 1
filledCells
if Label
sp = ' '
l = label.new(bar_index, ohlcv.V,
text=str.format('Net: {0} Buy: {1} ({2}) Sell: {3} ({4}) {5}/\ {5}l {5}l',
volStr, buyVolStr, buyPercentStr, sellVolStr, sellPercentStr, sp),
style=label.style_none, textcolor=volData.higherCol, size=sL, textalign=text.align_left)
if not History
(l ).delete()
//------------------------------------------
// Draw volume levels on the candlesticks |
//------------------------------------------
float base = na,float value = na
bool uc = usecandle and sup
if volData.isBuyGreater
base := math.min(ohlcv.O, ohlcv.C)
value := base + math.abs(ohlcv.O - ohlcv.C) * (volData.pcBuy / 100)
else
base := math.max(ohlcv.O, ohlcv.C)
value := base - math.abs(ohlcv.O - ohlcv.C) * (volData.pcSell / 100)
barcolor(sup ? color.new(na, na) : ohlcv.C < ohlcv.O ? color.red : color.green,display = usecandle? display.all:display.none)
UseC = uc ? volData.higherCol:color.new(na, na)
plotcandle(uc?base:na, uc?base:na, uc?value:na, uc?value:na,
title='Body', color=UseC, bordercolor=na, wickcolor=UseC,
display = usecandle ? display.all - display.status_line : display.none, force_overlay=true,editable=false)
plotcandle(uc?ohlcv.O:na, uc?ohlcv.H:na, uc?ohlcv.L:na, uc?ohlcv.C:na,
title='Fill', color=color.new(UseC,80), bordercolor=UseC, wickcolor=UseC,
display = usecandle ? display.all - display.status_line : display.none, force_overlay=true,editable=false)
//------------------------------------------------------------
// Plot the EMA and filter out the noise with volume control. |
//------------------------------------------------------------
float emaFast = ta.ema(ohlcv.C, emaFastLength)
float emaSlow = ta.ema(ohlcv.C, emaSlowLength)
bool signal = emaFast > emaSlow
color c_signal = signal ? C_Up : C_Down
float volumeMA = ta.sma(ohlcv.V, volumeConfirmationLength)
bool crossover = ta.crossover(emaFast, emaSlow)
bool crossunder = ta.crossunder(emaFast, emaSlow)
isVolumeConfirmed(source, length, ma) =>
math.sum(source > ma ? source : 0, length) >= math.sum(source < ma ? source : 0, length)
bool ISV = isVolumeConfirmed(ohlcv.V, volumeConfirmationLength, volumeMA)
bool crossoverConfirmed = crossover and (not useVolumeConfirmation or ISV)
bool crossunderConfirmed = crossunder and (not useVolumeConfirmation or ISV)
PF = MAV ? emaFast : na
PS = MAV ? emaSlow : na
p1 = plot(PF, color = c_signal, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 80), linewidth = 10, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 90), linewidth = 20, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 95), linewidth = 30, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 98), linewidth = 45, editable = false, force_overlay = true, display = display.pane)
p2 = plot(PS, color = c_signal, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 80), linewidth = 10, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 90), linewidth = 20, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 95), linewidth = 30, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 98), linewidth = 45, editable = false, force_overlay = true, display = display.pane)
fill(p1, p2, top_value=crossover ? emaFast : emaSlow,
bottom_value =crossover ? emaSlow : emaFast,
top_color =color.new(c_signal, 80),
bottom_color =color.new(c_signal, 95)
)
// ✅ Usar colores configurables para señales
plotshape(crossoverConfirmed and MAV, style=shape.triangleup , location=location.belowbar, color=buySignalColor , size=size.small, force_overlay=true,display =display.pane)
plotshape(crossunderConfirmed and MAV, style=shape.triangledown, location=location.abovebar, color=sellSignalColor, size=size.small, force_overlay=true,display =display.pane)
string msg = '--------- '+"Buy volume ="+buyVolStr+" Buy Percent = "+buyPercentStr+" Sell volume = "+sellVolStr+" Sell Percent = "+sellPercentStr+" Net = "+volStr+' ---------'
if crossoverConfirmed
alert("Price (" + str.tostring(close) + ") Crossed over MA " + msg, alert_freq)
if crossunderConfirmed
alert("Price (" + str.tostring(close) + ") Crossed under MA " + msg, alert_freq)
BOCS Channel Scalper Indicator - Mean Reversion Alert System# BOCS Channel Scalper Indicator - Mean Reversion Alert System
## WHAT THIS INDICATOR DOES:
This is a mean reversion trading indicator that identifies consolidation channels through volatility analysis and generates alert signals when price enters entry zones near channel boundaries. **This indicator version is designed for manual trading with comprehensive alert functionality.** Unlike automated strategies, this tool sends notifications (via popup, email, SMS, or webhook) when trading opportunities occur, allowing you to manually review and execute trades. The system assumes price will revert to the channel mean, identifying scalp opportunities as price reaches extremes and preparing to bounce back toward center.
## INDICATOR VS STRATEGY - KEY DISTINCTION:
**This is an INDICATOR with alerts, not an automated strategy.** It does not execute trades automatically. Instead, it:
- Displays visual signals on your chart when entry conditions are met
- Sends customizable alerts to your device/email when opportunities arise
- Shows TP/SL levels for reference but does not place orders
- Requires you to manually enter and exit positions based on signals
- Works with all TradingView subscription levels (alerts included on all plans)
**For automated trading with backtesting**, use the strategy version. For manual control with notifications, use this indicator version.
## ALERT CAPABILITIES:
This indicator includes four distinct alert conditions that can be configured independently:
**1. New Channel Formation Alert**
- Triggers when a fresh BOCS channel is identified
- Message: "New BOCS channel formed - potential scalp setup ready"
- Use this to prepare for upcoming trading opportunities
**2. Long Scalp Entry Alert**
- Fires when price touches the long entry zone
- Message includes current price, calculated TP, and SL levels
- Notification example: "LONG scalp signal at 24731.75 | TP: 24743.2 | SL: 24716.5"
**3. Short Scalp Entry Alert**
- Fires when price touches the short entry zone
- Message includes current price, calculated TP, and SL levels
- Notification example: "SHORT scalp signal at 24747.50 | TP: 24735.0 | SL: 24762.75"
**4. Any Entry Signal Alert**
- Combined alert for both long and short entries
- Use this if you want a single alert stream for all opportunities
- Message: "BOCS Scalp Entry: at "
**Setting Up Alerts:**
1. Add indicator to chart and configure settings
2. Click the Alert (⏰) button in TradingView toolbar
3. Select "BOCS Channel Scalper" from condition dropdown
4. Choose desired alert type (Long, Short, Any, or Channel Formation)
5. Set "Once Per Bar Close" to avoid false signals during bar formation
6. Configure delivery method (popup, email, webhook for automation platforms)
7. Save alert - it will fire automatically when conditions are met
**Alert Message Placeholders:**
Alerts use TradingView's dynamic placeholder system:
- {{ticker}} = Symbol name (e.g., NQ1!)
- {{close}} = Current price at signal
- {{plot_1}} = Calculated take profit level
- {{plot_2}} = Calculated stop loss level
These placeholders populate automatically, creating detailed notification messages without manual configuration.
## KEY DIFFERENCE FROM ORIGINAL BOCS:
**This indicator is designed for traders seeking higher trade frequency.** The original BOCS indicator trades breakouts OUTSIDE channels, waiting for price to escape consolidation before entering. This scalper version trades mean reversion INSIDE channels, entering when price reaches channel extremes and betting on a bounce back to center. The result is significantly more trading opportunities:
- **Original BOCS**: 1-3 signals per channel (only on breakout)
- **Scalper Indicator**: 5-15+ signals per channel (every touch of entry zones)
- **Trade Style**: Mean reversion vs trend following
- **Hold Time**: Seconds to minutes vs minutes to hours
- **Best Markets**: Ranging/choppy conditions vs trending breakouts
This makes the indicator ideal for active day traders who want continuous alert opportunities within consolidation zones rather than waiting for breakout confirmation. However, increased signal frequency also means higher potential commission costs and requires disciplined trade selection when acting on alerts.
## TECHNICAL METHODOLOGY:
### Price Normalization Process:
The indicator normalizes price data to create consistent volatility measurements across different instruments and price levels. It calculates the highest high and lowest low over a user-defined lookback period (default 100 bars). Current close price is normalized using: (close - lowest_low) / (highest_high - lowest_low), producing values between 0 and 1 for standardized volatility analysis.
### Volatility Detection:
A 14-period standard deviation is applied to the normalized price series to measure price deviation from the mean. Higher standard deviation values indicate volatility expansion; lower values indicate consolidation. The indicator uses ta.highestbars() and ta.lowestbars() to identify when volatility peaks and troughs occur over the detection period (default 14 bars).
### Channel Formation Logic:
When volatility crosses from a high level to a low level (ta.crossover(upper, lower)), a consolidation phase begins. The indicator tracks the highest and lowest prices during this period, which become the channel boundaries. Minimum duration of 10+ bars is required to filter out brief volatility spikes. Channels are rendered as box objects with defined upper and lower boundaries, with colored zones indicating entry areas.
### Entry Signal Generation:
The indicator uses immediate touch-based entry logic. Entry zones are defined as a percentage from channel edges (default 20%):
- **Long Entry Zone**: Bottom 20% of channel (bottomBound + channelRange × 0.2)
- **Short Entry Zone**: Top 20% of channel (topBound - channelRange × 0.2)
Long signals trigger when candle low touches or enters the long entry zone. Short signals trigger when candle high touches or enters the short entry zone. Visual markers (arrows and labels) appear on chart, and configured alerts fire immediately.
### Cooldown Filter:
An optional cooldown period (measured in bars) prevents alert spam by enforcing minimum spacing between consecutive signals. If cooldown is set to 3 bars, no new long alert will fire until 3 bars after the previous long signal. Long and short cooldowns are tracked independently, allowing both directions to signal within the same period.
### ATR Volatility Filter:
The indicator includes a multi-timeframe ATR filter to avoid alerts during low-volatility conditions. Using request.security(), it fetches ATR values from a specified timeframe (e.g., 1-minute ATR while viewing 5-minute charts). The filter compares current ATR to a user-defined minimum threshold:
- If ATR ≥ threshold: Alerts enabled
- If ATR < threshold: No alerts fire
This prevents notifications during dead zones where mean reversion is unreliable due to insufficient price movement. The ATR status is displayed in the info table with visual confirmation (✓ or ✗).
### Take Profit Calculation:
Two TP methods are available:
**Fixed Points Mode**:
- Long TP = Entry + (TP_Ticks × syminfo.mintick)
- Short TP = Entry - (TP_Ticks × syminfo.mintick)
**Channel Percentage Mode**:
- Long TP = Entry + (ChannelRange × TP_Percent)
- Short TP = Entry - (ChannelRange × TP_Percent)
Default 50% targets the channel midline, a natural mean reversion target. These levels are displayed as visual lines with labels and included in alert messages for reference when manually placing orders.
### Stop Loss Placement:
Stop losses are calculated just outside the channel boundary by a user-defined tick offset:
- Long SL = ChannelBottom - (SL_Offset_Ticks × syminfo.mintick)
- Short SL = ChannelTop + (SL_Offset_Ticks × syminfo.mintick)
This logic assumes channel breaks invalidate the mean reversion thesis. SL levels are displayed on chart and included in alert notifications as suggested stop placement.
### Channel Breakout Management:
Channels are removed when price closes more than 10 ticks outside boundaries. This tolerance prevents premature channel deletion from minor breaks or wicks, allowing the mean reversion setup to persist through small boundary violations.
## INPUT PARAMETERS:
### Channel Settings:
- **Nested Channels**: Allow multiple overlapping channels vs single channel
- **Normalization Length**: Lookback for high/low calculation (1-500, default 100)
- **Box Detection Length**: Period for volatility detection (1-100, default 14)
### Scalping Settings:
- **Enable Long Scalps**: Toggle long alert generation on/off
- **Enable Short Scalps**: Toggle short alert generation on/off
- **Entry Zone % from Edge**: Size of entry zone (5-50%, default 20%)
- **SL Offset (Ticks)**: Distance beyond channel for stop (1+, default 5)
- **Cooldown Period (Bars)**: Minimum spacing between alerts (0 = no cooldown)
### ATR Filter:
- **Enable ATR Filter**: Toggle volatility filter on/off
- **ATR Timeframe**: Source timeframe for ATR (1, 5, 15, 60 min, etc.)
- **ATR Length**: Smoothing period (1-100, default 14)
- **Min ATR Value**: Threshold for alert enablement (0.1+, default 10.0)
### Take Profit Settings:
- **TP Method**: Choose Fixed Points or % of Channel
- **TP Fixed (Ticks)**: Static distance in ticks (1+, default 30)
- **TP % of Channel**: Dynamic target as channel percentage (10-100%, default 50%)
### Appearance:
- **Show Entry Zones**: Toggle zone labels on channels
- **Show Info Table**: Display real-time indicator status
- **Table Position**: Corner placement (Top Left/Right, Bottom Left/Right)
- **Long Color**: Customize long signal color (default: darker green for readability)
- **Short Color**: Customize short signal color (default: red)
- **TP/SL Colors**: Customize take profit and stop loss line colors
- **Line Length**: Visual length of TP/SL reference lines (5-200 bars)
## VISUAL INDICATORS:
- **Channel boxes** with semi-transparent fill showing consolidation zones
- **Colored entry zones** labeled "LONG ZONE ▲" and "SHORT ZONE ▼"
- **Entry signal arrows** below/above bars marking long/short alerts
- **TP/SL reference lines** with emoji labels (⊕ Entry, 🎯 TP, 🛑 SL)
- **Info table** showing channel status, last signal, entry/TP/SL prices, risk/reward ratio, and ATR filter status
- **Visual confirmation** when alerts fire via on-chart markers synchronized with notifications
## HOW TO USE:
### For 1-3 Minute Scalping with Alerts (NQ/ES):
- ATR Timeframe: "1" (1-minute)
- ATR Min Value: 10.0 (for NQ), adjust per instrument
- Entry Zone %: 20-25%
- TP Method: Fixed Points, 20-40 ticks
- SL Offset: 5-10 ticks
- Cooldown: 2-3 bars to reduce alert spam
- **Alert Setup**: Configure "Any Entry Signal" for combined long/short notifications
- **Execution**: When alert fires, verify chart visuals, then manually place limit order at entry zone with provided TP/SL levels
### For 5-15 Minute Day Trading with Alerts:
- ATR Timeframe: "5" or match chart
- ATR Min Value: Adjust to instrument (test 8-15 for NQ)
- Entry Zone %: 20-30%
- TP Method: % of Channel, 40-60%
- SL Offset: 5-10 ticks
- Cooldown: 3-5 bars
- **Alert Setup**: Configure separate "Long Scalp Entry" and "Short Scalp Entry" alerts if you trade directionally based on bias
- **Execution**: Review channel structure on alert, confirm ATR filter shows ✓, then enter manually
### For 30-60 Minute Swing Scalping with Alerts:
- ATR Timeframe: "15" or "30"
- ATR Min Value: Lower threshold for broader market
- Entry Zone %: 25-35%
- TP Method: % of Channel, 50-70%
- SL Offset: 10-15 ticks
- Cooldown: 5+ bars or disable
- **Alert Setup**: Use "New Channel Formation" to prepare for setups, then "Any Entry Signal" for execution alerts
- **Execution**: Larger timeframes allow more analysis time between alert and entry
### Webhook Integration for Semi-Automation:
- Configure alert webhook URL to connect with platforms like TradersPost, TradingView Paper Trading, or custom automation
- Alert message includes all necessary order parameters (direction, entry, TP, SL)
- Webhook receives structured data when signal fires
- External platform can auto-execute based on alert payload
- Still maintains manual oversight vs full strategy automation
## USAGE CONSIDERATIONS:
- **Manual Discipline Required**: Alerts provide opportunities but execution requires judgment. Not all alerts should be taken - consider market context, trend, and channel quality
- **Alert Timing**: Alerts fire on bar close by default. Ensure "Once Per Bar Close" is selected to avoid false signals during bar formation
- **Notification Delivery**: Mobile/email alerts may have 1-3 second delay. For immediate execution, use desktop popups or webhook automation
- **Cooldown Necessity**: Without cooldown, rapidly touching price action can generate excessive alerts. Start with 3-bar cooldown and adjust based on alert volume
- **ATR Filter Impact**: Enabling ATR filter dramatically reduces alert count but improves quality. Track filter status in info table to understand when you're receiving fewer alerts
- **Commission Awareness**: High alert frequency means high potential trade count. Calculate if your commission structure supports frequent scalping before acting on all alerts
## COMPATIBLE MARKETS:
Works on any instrument with price data including stock indices (NQ, ES, YM, RTY), individual stocks, forex pairs (EUR/USD, GBP/USD), cryptocurrency (BTC, ETH), and commodities. Volume-based features are not included in this indicator version. Multi-timeframe ATR requires higher-tier TradingView subscription for request.security() functionality on timeframes below chart timeframe.
## KNOWN LIMITATIONS:
- **Indicator does not execute trades** - alerts are informational only; you must manually place all orders
- **Alert delivery depends on TradingView infrastructure** - delays or failures possible during platform issues
- **No position tracking** - indicator doesn't know if you're in a trade; you must manage open positions independently
- **TP/SL levels are reference only** - you must manually set these on your broker platform; they are not live orders
- **Immediate touch entry can generate many alerts** in choppy zones without adequate cooldown
- **Channel deletion at 10-tick breaks** may be too aggressive or lenient depending on instrument tick size
- **ATR filter from lower timeframes** requires TradingView Premium/Pro+ for request.security()
- **Mean reversion logic fails** in strong breakout scenarios - alerts will fire but trades may hit stops
- **No partial closing capability** - full position management is manual; you determine scaling out
- **Alerts do not account for gaps** or overnight price changes; morning alerts may be stale
## RISK DISCLOSURE:
Trading involves substantial risk of loss. This indicator provides signals for educational and informational purposes only and does not constitute financial advice. Past performance does not guarantee future results. Mean reversion strategies can experience extended drawdowns during trending markets. Alerts are not guaranteed to be profitable and should be combined with your own analysis. Stop losses may not fill at intended levels during extreme volatility or gaps. Never trade with capital you cannot afford to lose. Consider consulting a licensed financial advisor before making trading decisions. Always verify alerts against current market conditions before executing trades manually.
## ACKNOWLEDGMENT & CREDITS:
This indicator is built upon the channel detection methodology created by **AlgoAlpha** in the "Smart Money Breakout Channels" indicator. Full credit and appreciation to AlgoAlpha for pioneering the normalized volatility approach to identifying consolidation patterns. The core channel formation logic using normalized price standard deviation is AlgoAlpha's original contribution to the TradingView community.
Enhancements to the original concept include: mean reversion entry logic (vs breakout), immediate touch-based alert generation, comprehensive alert condition system with customizable notifications, multi-timeframe ATR volatility filtering, cooldown period for alert management, dual TP methods (fixed points vs channel percentage), visual TP/SL reference lines, and real-time status monitoring table. This indicator version is specifically designed for manual traders who prefer alert-based decision making over automated execution.