Advanced Weis Wave Volume [Afnan]Advanced Weis Wave Volume is an enhanced upgrade of the classic Weis Wave concept. It measures accumulated volume within price swings to show where buying and selling pressure truly shift — but with one major edge: optional consolidation detection.
Most wave volume indicators simply plot bullish and bearish waves. Advanced Weis Wave Volume goes further by giving you the choice to highlight sideways or low-momentum consolidation phases, making it easy to spot when the market lacks real momentum. This helps traders instantly filter out weak, low-probability setups and focus only on the high-energy waves that truly matter.
 ⚙️ Key Features 
 
 Weis Wave Method – Uses ATR-based wave calculation to identify directional volume accumulation with precision.
 Optional Consolidation Highlighting – You control it. Enable or disable consolidation detection based on your trading style. When enabled, it visually marks low-momentum or range-bound conditions, helping you instantly recognize when the market is consolidating.
 Smart Volume Alignment – Choose to include or exclude the reversal candle's volume in new waves for more accurate readings.
 Clear Visuals – Color-coded waves for Bullish (Green), Bearish (Red), and optional Consolidation (Orange) phases.
 Compact Status Table – Displays the current market condition (Bullish, Bearish, or Consolidation) directly on your chart.
 Flexible Display Options – Plot all waves above zero line, customize colors, and control what information you see.
 
 💡 Why This Indicator Is Superior 
✅ vs. Other Wave Volume Indicators:
Others only show waves; they can't identify consolidation. Advanced Weis Wave Volume gives you the option to enable consolidation detection — saving you time by automatically filtering weak market phases when you need it.
✅ vs. Standard Volume Bars:
Regular volume bars show isolated candle data. Advanced Weis Wave Volume shows accumulated directional pressure, revealing true trend strength and institutional activity.
✅ vs. Basic Weis Wave Indicators:
Standard Weis Wave indicators lack consolidation awareness. This indicator adds that layer of intelligence while keeping the classic wave calculation intact.
 Bottom Line: 
This is the only Weis Wave volume indicator that gives you control over consolidation filtering. Others show every move equally — Advanced Weis Wave Volume shows what actually matters, when you want it to.
 📈 How to Use 
Trading with the Waves:
🟢 Green Waves (Bullish): Building buying pressure — look for long setups.
🔴 Red Waves (Bearish): Rising selling pressure 
🟠 Orange Zones (Consolidation): (When enabled) Market is ranging — avoid new trades .
 
 Large waves: Strong trends and high-probability continuations.
 Shrinking waves: Weakening momentum or possible reversal ahead.
 
 Critical Insight - Avoiding False Volume Signals: 
Large waves aren't always reliable. If you see a wave colored in orange (consolidation), it means the market was moving sideways but no real directional momentum.
 This is crucial because: 
❌ A big green wave in consolidation ≠ strong upside buying
❌ A big red wave in consolidation ≠ strong downside selling
✅ These are just range-bound volume accumulations that mislead traders
With consolidation detection enabled, you can instantly identify and ignore these deceptive Consolidation waves, focusing only on directional volume that actually reflects true buying or selling pressure. This prevents you from entering trades based on false volume signals during sideways markets.
 📌 Practical Applications: 
 
 Breakout Confirmation: Real breakouts show expanding volume waves; false breakouts show weak waves or consolidation-marked volume.
 Trend Validation: In a healthy trend, waves in the direction of the move are stronger, larger, and show clear directional color (green/red).
 Consolidation Avoidance: (When enabled) Orange zones warn you to step aside and preserve capital — even if the wave looks large. Size doesn't matter if momentum is absent.
 Filter False Volume: Avoid trading large waves that occur during consolidation — they don't represent genuine directional moves, just sideways accumulation.
 Divergence Detection: Price makes new highs/lows, but wave volume shrinks — a sign of exhaustion or reversal.
 Analyzing Ranges: During accumulation or distribution, Advanced Weis Wave Volume helps identify how institutional players are participating within the range — revealing when a breakout is likely to occur.
 
✨ The Competitive Advantage
Many Weis Wave indicators exist on TradingView - they all show volume waves. Only Advanced Weis Wave Volume gives you optional consolidation detection. That single feature transforms wave volume from a pure analysis tool into a flexible trading system that adapts to your style.
VSA
NSF/NBF Boxes📘 NSF / NBF Extended Boxes (Wyckoff–VSA Smart Zones)
This indicator automatically detects No Supply (NSF) and No Buying / No Demand (NBF) bars using Wyckoff–VSA principles and marks them with extended boxes and a dashed 50% midline.
🟢 NSF (No Supply) — Bullish accumulation signal
🔴 NBF (No Demand) — Bearish distribution signal
Each box extends forward in time to highlight key supply/demand zones, while the dashed midline represents the equilibrium level within that bar.
When price later retests this 50% level, the script triggers a visual marker and an alert condition, helping you spot potential reversals or continuation confirmations.
🧠 Core Features
Automatic detection of No Supply / No Demand bars
Extended boxes with adjustable length and auto-extension
Midline (50%) retest alerts for precise trade timing
Optional EMA trend filter, volume check, and close bias
Works even on symbols without volume data (crypto, indices, FX)
“Test Mode” included for easy visualization and debugging
⚙️ Usage Tips
Use on 5m–4h charts for crypto or stocks to spot professional activity.
Combine with Wyckoff, VSA, or Smart Money Concepts to confirm accumulation/distribution phases.
Look for NSF retests near support in a downtrend → possible long entry.
Look for NBF retests near resistance in an uptrend → possible short entry.
🧩 Parameters
Ignore Volume: disables volume filters for markets with missing data
Use EMA Trend Filter: only confirm signals in direction of trend
Auto-extend Boxes: keeps zones projecting into future bars
Retest Alerts: triggers when price touches midline after formation
💡 Author’s Note
This tool visualizes the often-hidden behavior of smart money absorption and weak demand exhaustion.
Use it as part of a complete trading plan — not as a standalone buy/sell signal
Deep in the Tape – VSA Educational  (Invite Only)Deep in the Tape – VSA  Educational (Invite-Only)
Overview
This invite-only study is built entirely on the Volume Spread Analysis (VSA) methodology developed by Tom Williams. VSA examines the interplay of volume, spread (bar range), and closing position to highlight the footprints of professional activity.
The aim of this tool is educational: to make it easier for traders to study how supply and demand pressures appear on the chart in real time. It does not generate trading advice, but instead plots markers based on classical VSA principles so students of the method can recognize strength, weakness, confirmations, and traps without the cryptic complexity often found in raw VSA study.
What It Displays
Key VSA Events (visual markers on the chart):
Stopping Volume (SV): Wide down bars with climactic volume closing off the lows.
Selling Climax (SC): Exhaustion selling at the end of a decline, often near bottoms.
Shakeout (SO): A sharp push down that springs back to close strong.
No Supply (NS): Narrow down bar on low volume, showing lack of selling pressure.
No Demand (ND): Narrow up bar on low volume, showing lack of buying interest.
Supply Coming In: Volume surge after an up-move, suggesting sellers active.
Buying Climax (BC): Wide up bar with climactic volume and weakness into the close.
Upthrust (UT): False break above prior highs with a weak close.
End of Rising Market (EoRM): Narrow up bar on very high volume, closing weak, often signaling distribution.
Test Bar: Down bar on very low volume in an uptrend, testing for lack of supply.
Contextual Tools:
Trigger Levels: High/low of ultra-high volume bars projected forward, serving as natural support/resistance levels.
Cluster Zones: Optional shading to mark zones of repeated high-volume activity (potential accumulation/distribution).
Background MA: A simple moving average for context only — not a signal generator.
Interpreting the Markers (Tom Williams Style)
Bullish Background (professional strength):
Events such as SV, SC, SO, and NS.
Best studied when price is trading above trigger levels and above the MA, showing demand in control.
Bearish Background (professional weakness):
Events such as BC, UT, Supply Coming In, and EoRM.
Best studied when price is below trigger levels and below the MA, showing supply dominance.
Multi-Timeframe Context & Market Behavior
A key principle to study with this tool is that higher-timeframe context usually outweighs signals on smaller timeframes. For example:
A short marker on a 5-minute chart often fails if the hourly background is bullish.
Likewise, a bullish signal on a small timeframe is less reliable if higher-timeframe background is bearish.
This highlights an important discipline lesson: not every small signal should be acted upon in isolation. Patience and alignment with the broader background improves study of how professional activity develops.
Channeling & Probing Behavior After Climactic Volume:
After a Stopping Volume (SV) bar on ultra-high volume, the market often enters a sideways channel between the blue (support) and red (resistance) trigger lines.
Professionals may probe the market — for example, dropping price through the lower red line on low volume to test for active sellers. If no significant supply is found, price rallies back inside the channel.
This absorption process may repeat until weakness is removed. Only then do No Supply (NS) or Test bars appear, providing stronger bullish confirmation.
The reverse applies in a bearish background, where No Demand (ND) or weakness confirmations appear after probing and absorption.
Studying these patterns helps traders recognize the probing nature of professional activity, why markets often pause after climactic signals, and how strength or weakness is confirmed over time.
Aggressive Trades (Educational Extension)
In addition to classical confirmations, this study also highlights aggressive follow-through conditions — situations where professionals act quickly after a major VSA event, before the “clean” confirmation appears.
Aggressive Longs may include:
Breakouts immediately above a Stopping Volume (SV) or Selling Climax (SC) high with strong volume.
Shakeout confirmations (price closes above the SO high on effort).
Failure of weakness (e.g., BC/UT/Supply signals that get overrun on strength).
Aggressive Shorts may include:
Confirmed follow-through after Supply Coming In.
Breakdowns after a Buying Climax (BC) or Upthrust (UT).
Shakeout failures where the rally attempt collapses.
End of Rising Market (EoRM) breaks on weakness.
These are marked separately for study. They are not “signals” but rather examples of how strength or weakness can assert itself early.
Failures (Educational Study Only)
Not all setups confirm. In VSA, Tests sometimes fail, and NS/ND bars can be absorbed. These are marked as Failure markers.
Their purpose is purely educational:
To show where expectations do not play out.
To help students see how traps or absorptions form.
To illustrate Tom Williams’ lesson that the market is a testing ground — not a perfect pattern machine.
Why It’s Original
Built directly from Tom Williams’ VSA logic — spread, volume relative to average, wick size, close location, and background context.
Adds projected trigger levels, cluster zones, and aggressive trade markers for educational context.
Designed for clarity and study, removing unnecessary complexity while staying faithful to VSA principles.
Not a mash-up of public scripts — a purpose-built framework for studying supply and demand dynamics.
Disclaimer
This script is for educational and analytical purposes only.
It does not generate buy/sell/alert signals, nor does it provide financial advice.
Always perform your own analysis and risk management before making trading decisions.
Volume Spread Analysis — Educational (VSA Study)Volume Spread Analysis — Educational (VSA Study)
Overview
This study is an educational tool built around classic Volume Spread Analysis (VSA), the methodology introduced by Tom Williams.
VSA looks at the relationship between volume, price spread, and closing position to highlight potential supply and demand imbalances.
The script is designed for learning and visual study, not for trade signals. It highlights well-known VSA events directly on the chart and adds reference lines and a colored moving average to help contextualize strength and weakness.
What It Shows
Major VSA Events: Stopping Volume (SV), Selling Climax (SC), Shakeout (SO), No Supply (NS), No Demand (ND), Buying Climax (BC), Upthrust (UT), Supply Coming In (SCI), End of Rising Market (EoRM), and Test Bars.
Trigger Lines: When a strong VSA bar appears, the script draws horizontal levels at the bar’s high and low. These act as educational “zones” where future price reactions can be studied.
Context Moving Average: A dotted MA changes color with price context (black or green when strength is confirmed, red when weakness dominates).
How It Works
Each event is identified using a blend of conditions:
Volume vs. its average
Spread vs. its average
Close location within the bar
Wick analysis (upper/lower shadows)
Short-term trend filters (5- and 10-period SMAs)
By combining these elements, the script maps chart activity to classical VSA definitions.
How to Study With It
Signs of Strength
Look for SC, SV, or SO bars.
Wait until price trades above the blue trigger line drawn from those bars.
Watch for a No Supply (NS) test bar in that zone.
Confirmation comes when the immediate next bar closes up and strong, with higher volume than the prior two bars.
The dotted MA should shift to black or green, showing supportive background strength.
Signs of Weakness
Watch for Supply Coming In, BC, or UT events.
Wait until price trades below the red trigger line.
Look for a No Demand (ND) bar in that area.
Confirmation comes when the following bar closes down and weak, with higher volume than the prior two bars.
The dotted MA should be red, reinforcing weakness.
Originality
This script was written from scratch with a focus on education and clarity. While VSA concepts themselves are public domain, the implementation here is unique:
It combines event detection, trigger zones, and a contextual MA in one framework.
It avoids acting as a trading system and instead provides a practical study workflow that traders can follow step by step.
Disclaimer
This indicator is for educational purposes only.
It does not generate buy or sell signals and should not be used as financial advice.
Trading involves risk; always perform your own analysis and risk management.
VSA Volume MonitorDescription 
This script provides a clear and adaptable visual representation of volume activity, helping traders understand how current participation compares to recent norms.
It calculates a moving average of volume over a user-defined smoothing window and uses that baseline to classify each bar’s volume into several intensity levels.
Bars are color-coded to reflect these levels:
• Blue for below-average activity
• Green for moderate activity
• Yellow for above-average surges
• Red for exceptionally high or climactic volume
In addition to color-coded bars, the script plots two reference bands that represent the typical (baseline) and elevated (climactic) volume zones.
These bands form a shaded cloud that helps visually separate normal market participation from periods of unusual crowd activity or volatility.
The purpose of this indicator is purely visual and informational — it does not generate buy or sell signals, and it does not predict future price movement.
Instead, it gives traders an at-a-glance view of how market interest is shifting, so they can combine that context with their own analysis or strategy.
This tool is lightweight, easy to read, and designed for use alongside other forms of technical analysis, making it suitable for traders who want to build their own framework for understanding volume behavior.
 sVPSA - standardized Volume Price Spread AnalysisDear Analysts and Traders,
I want to introduce my new indicator - sVPSA - standardized Volume Price Spread Analysis. For me, this script is helpfully in Technical Analysis mainly with Wyckoff and VSA methodologies. Maybe You are in circle of people who used my previous script - normalized Volume Price Spread Analysis. I work with him a lot of time, but I come to a conclusion that I can do better...
Theory concept...
What is a big volume? How big was this spread? It was extreme high or just high? How to do an answer for this and a lot other questions related to this subject? My thoughts was directed to statistics. In my first script I used to x/max normalized data. It was good, but susceptible for high deviation events. So, I choose standardization method with smaller sensitivity on violent events - z-Score standardization Description of z-Score formula:
Z = (x-mean)/standard deviation 
Probability of event are descriptive by probability density function - The Normal Distribution.  
 en.wikipedia.org 
en.Wikipedia.org
This is base of script methodology, let’s go deeper in indicator. 
X axis is time, date. Y axis is standard deviation. Narrow bar represent price spread, wide one is volume. Colors are corresponding to deviation, blue < sigma, green > sigma, red > 2*sigma and fuchsia > 3*sigma. Appearance is full editable. 
Data collection starts from left to right. There is two possibilities to use, constans number of bars or visible data range, also indicator permit to overscore linear regression from data. There is a possibility to set an alert. 
Short introduction how put an interpretation on visualized data. 
  
For this example I used constans value of data collection, 52 bars. So, from left I see great, fuchsia volume bar with low spread. This record respond Celsius withdrawals pause. This is bar with the biggest volume on presented chart, more than four sigmas. Spread value is near one sigma. I should consider this via one of Wyckoffs laws - effort vs result. I see a three bars in turn, they tenor tells me that bear market is possible near end. Accumulation structure near new year,  spring test and bullish momentum bar near march are approval of this idea. Next high spread bars have volume near mean value. Effort is low but result is great. Interesting is last bar, with -2,8 deviation of volume. I see the lowest volume value on chart, so he’s deviation is strong to negative side. This script require a little of practise and can be a potent tool in Technical Analysis. 
If You have a concept how to improve my script or You experience bug, please, send me feedback. 
I hope that You consider my work as useful. 
I wish You great trades and faultless analysis. 
CatTheTrader
Volume Spread Candle█ Overview
Volume Spread Candle is a Solid tool for VSA (Volume Spread Analysis).
█ Setting
please put on VSCandle above the candle chart.
  
█ Features
Candle color reflect volume size.
  
Back ground color reflect Spread size.
  
Warning Volume is relatively large volume compared to the Volume flow (up volume MA - down volume MA).
Yellow square mark appears when Warning volume.
  
Volume Density is Volume / Spread. 
Yellow circle mark appears when large Volume Density.
  
█ Usage
Abnormal Volume and Spread hint what about to happen.
 
Wyckoff Smart Money Pro [MTF]Wyckoff Smart Money Pro   detects trading ranges, phases, and events from the Wyckoff method and confirms them with VSA (Volume Spread Analysis), divergence checks, and a composite “smart money” strength index. It generates optional buy/sell signals only when multiple conditions align (phase, VSA, CO strength, effort vs. result, time/volume filters). The dashboard, POC/Value Area, and MTF backdrop help you manage context and risk in real time.
What this indicator does
Wyckoff Smart Money Pro   is a multi-timeframe Wyckoff tool that:
⦁	Finds accumulation/distribution ranges and tracks Phases A–E.
⦁	Labels Wyckoff events (PS, SC, AR, ST, Spring/Test, SOS, LPS, UTAD, SOW, LPSY, TS…) and VSA patterns (No Demand/Supply, Stopping Volume, Upthrust, etc.).
⦁	Computes a Composite Operator (CO) Strength score from price/volume behavior to approximate “smart money” bias.
⦁	Adds divergence, effort vs. result, and a volume profile (POC & 70% value area) inside the detected range.
⦁	Provides buy/sell signals only when a configurable confluence is present (events + VSA + CO + EVR + phase + filters).
⦁	Supports MTF context (with a safe HTF resolver and fallbacks) and an Info Dashboard to summarize the current state.
It is designed to make the Wyckoff workflow visual and rules-based without promising results or automating decisions.
How it works (methods & calculations)
1) Range & Phase model
⦁	A sliding lookback searches for a valid range (recent highest high/lowest low), requiring width within 2–10× ATR(14) and a minimum bar count inside the bounds.
⦁	Once a range is active, the script derives Creek/Ice/Mid/Quartiles and classifies bars into Wyckoff Phases A–E using event recency (barssince) and where price sits relative to the range.
⦁	The background color reflects the current Phase; optional MTF events (from the chosen HTF) tint the background lightly for higher-timeframe context.
2) Wyckoff & VSA event engine
⦁	Events include PS, SC, AR, ST, Spring, Test, SOS, LPS, PSY, BC, UTAD, SOW, LPSY, TS, plus minor/multiple variants and Creek/Ice jumps.
⦁	VSA patterns detect No Demand/No Supply, Stopping Volume, Buying/Selling Climax, Upthrust/Pseudo Upthrust, Bag Holding, Shake-Out, Volume Dry-Up, etc., from spread vs. average spread and volume vs. average volume with tunable thresholds.
3) Smart-money (CO) Strength
⦁	CO Strength (0–100) blends: relative volume on up/down bars, professional accumulation/distribution, no-supply/no-demand, stopping volume, Springs/UTADs and Tests, SOS/SOW, price’s position inside the range, and volume-delta vs. its MA.
⦁	Persistent accumCount / distCount counters smooth temporary noise.
4) Divergence & Effort-vs-Result
⦁	Price vs. cum volume-delta divergence highlights weakening pushes.
⦁	EVR flags “High effort / no result” and potential Bullish/Bearish reversals, or “Low effort / high result” moves that are often unsustainable.
5) Volume Profile (inside range)
⦁	A 50-bin profile accumulates volume across the detected range to derive POC, VAH/VAL (70% value area). Lines update as the active range evolves.
6) Multi-Timeframe (MTF) safety
⦁	getHTF() converts your multiplier to a valid Pine timeframe string (e.g., 60, 240, 2D, 1W), and the script falls back to current timeframe values if an HTF request returns na.
⦁	If you enter a Custom HTF, it must be strictly higher than the chart’s timeframe (validated at runtime).
7) Signals & risk model
⦁	Signals are not tied to any single pattern. A buy may require Spring/Test/Shake-out/Creek Jump or SOS plus confirmation (VSA, CO>60, Phase C/D, divergence/EVR context).
⦁	Sell is symmetrical (UTAD/Failed Spring/SOW/Ice Jump + VSA + CO<40 + Phase C/D).
⦁	Minimum confidence is configurable; SL/TP and R:R lines are drawn from range edges or recent bar extremes.
⦁	Filters: trading hours, weekend avoidance, and a minimum volume threshold (relative to average) are available to suppress low-quality contexts.
⦁	Alerts include all major events, divergences, structure/phase changes, and the gated Buy/Sell signals (with a cooldown to reduce alert spam).
Inputs (key ones you’ll actually use)
⦁	Display Settings: toggle ranges, phases, events, VSA, signals, dashboard.
⦁	MTF: Enable HTF, set Multiplier or a Custom HTF (must be higher than current).
⦁	Range Detection: period / min bars / pivot strength.
⦁	VSA: volume sensitivity & climax multiplier.
⦁	Signal Settings: minimum confidence, risk/reward labels.
⦁	Advanced Filters: trading hours, weekend avoidance, and Min Volume Filter (× avg).
⦁	Colors: phase backgrounds, structure colors, and line styling.
How to use (practical flow)
1.	Choose a symbol & timeframe you normally analyze (e.g., 5–60m for entries, 4H/D for context).
2.	If using MTF, pick a multiplier (e.g., 5×) or a Custom HTF (e.g., 240/4H).
3.	Wait for a range to form; watch Phase and CO Strength on the Dashboard.
4.	When events (e.g., Spring/Test in Phase C or UTAD in distribution) appear with favorable VSA, CO, EVR, and volume/time filters, consider the signal and review R:R lines.
5.	Use POC/VA and Creek/Ice/Mid as structure references; manage risk around the range edge that generated the setup.
On-chart legend (what the letters mean)
Wyckoff events (labels)
⦁	PS Preliminary Support, SC Selling Climax, AR Automatic Rally, ST Secondary Test
⦁	Spring Spring; Test Test of Spring
⦁	SOS Sign of Strength; LPS Last Point of Support
⦁	PSY Preliminary Supply, BC Buying Climax
⦁	UTAD Upthrust After Distribution; SOW Sign of Weakness; LPSY Last Point of Supply
⦁	TS Terminal Shakeout; MS Multiple Spring
⦁	CJ Creek Jump; IJ Ice Jump
⦁	mSOS / mSOW Minor Sign of Strength/Weakness
VSA patterns (tiny labels)
⦁	ND No Demand, NS No Supply, SV Stopping Volume, BC/SC Buying/Selling Climax
⦁	PA/PD Professional Accumulation/Distribution, BH Bag Holding, DU Volume Dry-Up
⦁	SO Shake-Out, TS Test for Supply (VSA test), UT Upthrust, PUT Pseudo Upthrust
Other visuals
⦁	Range box with Creek (upper third), Ice (lower third), Mid, Quartiles
⦁	POC/VAH/VAL: yellow solid (POC), purple dotted (value area)
⦁	VWAP and Dynamic S/R (stepline)
⦁	Green/Red triangles: gated Buy/Sell signals (only if min confidence & filters are met)
⦁	Risk label near the triangle: confidence /10 and R:R
Alerts included
⦁	Core events (Spring/Test/UTAD/SOS/SOW/TS), secondary events (SC/AR/BC/LPS/LPSY), VSA patterns, EVR states, Hidden Accumulation/Distribution, HTF events, Divergences, Phase/Structure changes, and the constrained Buy/Sell signals with a cooldown.
Notes, limits & best practices
⦁	This is not a buy/sell system; it’s a context & confirmation tool. Combine with your plan, risk limits, and execution criteria.
⦁	Long, illiquid, or news-driven bars can distort volume/spread logic; filters help but cannot eliminate this.
⦁	For MTF, if an exchange doesn’t support a specific HTF, the script falls back safely to current TF values to avoid na-propagation.
⦁	Dashboard rows/size/position are user-configurable to keep charts uncluttered.
Changelog (what’s new in this version)
⦁	MTF safety & validation (Custom HTF must be above current; graceful fallbacks for request.security() na results).
⦁	Performance caching for close position & up/down bar flags; drawing cleanup to stay under label/line limits.
⦁	Volume Profile upgraded to 50 bins; VA algorithm adjusted accordingly.
⦁	Signal gating with time/day/volume filters and alert cooldown to reduce noise.
⦁	Bug guards for parameter conflicts (e.g., rangeMinBars cannot exceed rangePeriod).
Disclaimer
This script is for educational and research purposes only and does not constitute financial advice or a recommendation to buy or sell any asset. Market risk is real; always test on a demo and trade at your own discretion.
VSA Super Candles
 🎯 Overview 
This Pine Script was developed for VSA (Volume Spread Analysis) with a well-defined hierarchical priority system. The code identifies different types of market events based on volume, spread, and price behavior, painting candles with specific colors according to their importance.
🏗️ System Architecture
Priority System (Hierarchical)
🔴 Climatic Event (Red) - Maximum Priority
🟠 Big Boss (Orange) - Second Priority
🟣 Compression (Purple) - Third Priority
⚫ Normal (Gray) - Lowest Priority
📊 Event Types
 🔴 Climatic Event (Red)
Characteristics: 
Ultra-high volume (default: 310% of average)
Wide spread (above configured threshold)
"Wrong" close (opposite to bar direction)
Specific conditions:
Up bar that closes at low (Selling Climax)
Down bar that closes at high (Buying Climax)
VSA Concept: Represents extreme exhaustion of one side of the market, usually marking important reversal points.
 🟠 Big Boss (Orange)
Characteristics: 
Ultra-high volume (default: 250% of average)
Significant price displacement
Wide spread with real movement of candle body
Activated only when there's no Climatic Event
VSA Concept: Massive volume generating real displacement, indicating entry/exit of large players.
 
🟣 Compression (Purple)
Characteristics: 
Average volume (between normal and high)
Signs of exhaustion or reversal
Differential: Horizontal volume analysis
Activation conditions:
Upthrust (higher high, closes down)
Minor selling climax (lower low, closes up)
Horizontal volume spike + average volume
VSA Concept: Support/resistance test with controlled volume, frequently precedes important movements.
⚫ Normal (Gray)
Characteristics:
Normal volume (default: 50% of average)
Normal displacement or automatic price exhaustion
Auto-activation: Detects exhaustion even with normal volume
🛠️ Technical Components
Storage Buffers
var bool  buffer_climatico = array.new_bool()
var bool  buffer_big_boss = array.new_bool()
var bool  buffer_comprimido = array.new_bool()
var bool  buffer_normal = array.new_bool()
Store event history
Limited to 100 values for optimization
Allow posterior statistical analysis
Horizontal Volume Analysis
Compares current volume with average of last 5 bars
Configurable multiplier factor (default: 1.5x)
Impact: Increases probability of identifying compressions
Automatic Exhaustion System
Up Exhaustion: Higher high + close lower than previous
Down Exhaustion: Lower low + close higher than previous
Works independently of volume
⚙️ Configurable Parameters
Parameter	Default	Description
Volume Average Length	60	Period for volume average
% Climatic Event	310%	Threshold for climatic volume
% Big Boss	250%	Threshold for Big Boss volume
% Normal Volume	50%	Threshold for normal volume
Spread Threshold	0.7	Multiplier for wide spread
Close Position Threshold	0.3	Limit for "edge closes"
Horizontal Volume Factor	1.5	Multiplier for horizontal spike
📍 Visual Markers
Chart Symbols
🔴 Climatic Event: Red circles above/below bars
🟠 Big Boss: Orange circles indicating direction
⬆⬇ Compression: Purple arrows for reversals
H Horizontal Compression: Marks differentiated horizontal volume
Statistics Table
Position: Top right corner
Content:
Count of each event type (last 50 bars)
Current volume vs. average ratio
Update: Real-time on last bar
🎨 Color System
final_color = evento_climatico ? color.red : 
              big_boss ? color.orange : 
              comprimido ? color.purple : 
              vela_normal ? color.gray : 
              color.gray
Logic: The first true condition defines the color, respecting priorities.
🔄 Execution Flow
Basic Calculations: Average volume, spread, close position
Horizontal Analysis: Comparison with previous bars
Exhaustion Detection: Identification of reversal patterns
Priority Application: Sequential evaluation (Climatic → Normal)
Storage: Buffer updates
Visualization: Bar coloring and markers
📈 Implemented Improvements
Code Organization
Detailed comments in each section
Descriptive variable names
Clear and sequential IF/ELSE logic
Separation by functionality
Performance
Buffers with automatic cleanup
Optimized calculations
Limited history control
Advanced VSA Functionality
Hierarchical priority system
Horizontal volume analysis
Automatic exhaustion detection
Multiple types of climatic events
Usability
Configurable parameters
Real-time visual feedback
Performance statistics
Intuitive markers
🎓 Applied VSA Concepts
Volume Spread Analysis
Principle: Relationship between Volume, Spread, and Close reveals market intentions
Implementation: Each event type represents a specific VSA scenario
Smart Money vs. Retail
Climatic Event: Retail exhaustion, Smart Money entry
Big Boss: Direct Smart Money movement
Compression: Controlled testing/accumulation
Wyckoff Method
Absorption: Identified in compressions
Distribution/Accumulation: In climatic events
Mark-up/Mark-down: In Big Boss events
🚀 How to Use
Add the script to your TradingView chart
Configure parameters according to your timeframe and asset
Observe bar colors to identify events
Use markers for additional confirmation
Monitor the table for real-time statistics
📝 Important Notes
Script strictly respects priority hierarchy
Higher priority events always prevail
Horizontal analysis differentiates special compressions
Automatic exhaustion system captures subtle reversals
Performance optimized for real-time use
🔧 Installation
Open TradingView Pine Editor
Copy and paste the complete script
Click "Add to Chart"
Adjust parameters in the settings panel
Save to your indicator library
📊 Trading Applications
Entry Signals
Climatic Events: Look for reversal confirmations
Big Boss: Follow the displacement direction
Compression: Watch for breakouts after testing
Risk Management
Use event hierarchy to gauge market strength
Higher priority events suggest stronger moves
Normal events may indicate consolidation periods
Market Context
Trending Markets: Big Boss events show continuation
Range-bound Markets: Compressions at key levels
Reversal Points: Climatic events at extremes
🤝 Contributing
This script follows VSA principles and can be enhanced with:
Additional timeframe analysis
Alert system for key events
Backtesting capabilities
Custom color schemes
Version: Pine Script v6
Compatibility: TradingView
Author: Victor Eduardo Americo
[AlbaTherium] Wabi-Sabi Wyckoff Flow Structure Map MTF[1.0.42]   Wabi-Sabi Wyckoff Flow Structure Map 
   Master the Hidden Geometry of Market Campaigns – Accumulation, Distribution, and the Laws That Govern Them 
 
 Introduction 
The   Wabi-Sabi Wyckoff Flow Structure Map  is a software-engineered analytical framework that visualizes the flow of institutional market behavior through the lens of the  Wyckoff Method.   This tool automates the  detection of trading ranges,   maps the  phases of accumulation/distribution,   and extrapolates  price objectives .
The   Wabi-Sabi Wyckoff Flow Structure Map  is a meticulous implementation of the principles of  Richard D. Wyckoff , interpreted through the lens of market structure and volume dynamics. This tool aims to identify, contextualize, and map out accumulation and distribution zones by interpreting the composite operator's intended path in financial markets.
It is not merely an indicator-it is a  structural compass,   guiding you through the architecture of smart money campaigns.
 
 Chapter 1: The Architecture of Market Campaigns 
 1.1 From Noise to Narrative 
  
Markets do not move randomly. They are orchestrated campaigns-methodically executed by informed operators. The     identifies these campaigns as they unfold across:
 
 Accumulation 
 Markup 
 Distribution 
 Markdown 
 
Each is grounded in Wyckoff’s structural logic and revealed in real time.
 
 1.2 Who Is the Composite Operator, Composite Man?  
The  Composite Operator (CO), Composite Man (CM)  represents dominant market participants-institutions with the capacity to engineer price movement. By dissecting trading ranges, the script deciphers their behavior through:
 
 Event-based mapping (SC, ST, Spring, AR, UTAD, etc.) 
 Phase progression (Phase A to E) 
 PnF-based directional forecasting 
 
  
  
  
  
The CO leaves footprints. This script reads them.
 
 Chapter 2: Wyckoff’s Core Laws, Brought to Life 
 2.1 The Law of Supply and Demand 
  
Every price bar reflects this law. The tool highlights where supply is absorbed and demand emerges, revealing the true balance of power behind the chart.
 
 2.2 The Law of Cause and Effect 
  
 Accumulation and distribution ranges  are not noise-they are preparation. By measuring their width, the script calculates  PnF-based targets  for the post-breakout phase, offering traders quantified projections rooted in structure.
 
 2.3 The Law of Effort vs. Result 
  
 Effort = volume. 
 Result = price movement. 
Discrepancies between the two-expose market turning points.
This script captures those moments within  Wyckoff's structural context,   not isolated volume spikes.
 
 Chapter 3: Real-Time Interpretation of Trading Ranges 
 3.1 Automatic Schematic Mapping 
The tool auto-generates Wyckoff structures:
 
 Detects and maps Trading Ranges dynamically 
 Labels Wyckoff events (SC, ST, AR, Spring, UT, LPS, etc.) 
 Identifies current phase (Phase B, C, D, E) via real-time bias detection 
 
 3.1.1.Core Components 
 a. Structural Framing 
The script autonomously detects the boundaries of a trading range (TR), guided by pivot highs and lows derived from Volume Spread Analysis (VSA) dynamics and price behavior.
 b. Automatic Rally (AR) & Selling Climax (SC) 
These foundational events are systematically computed and highlighted using volume-weighted price interaction. The Selling Climax defines the lower bound of the TR, while the Automatic Rally sets the resistance zone.
 c. Secondary Tests (ST)  
The algorithm traces the STs to validate demand/supply balance and the structural integrity of the TR. These are tagged with precision to avoid false positives.
 d. Spring / Upthrust Actions 
  
Wyckoffian springs and upthrusts are flagged using deviations below support (spring) or above resistance (upthrust) coupled with volume exhaustion or climax events.
 e. Creek & Ice Visualization 
  
Inspired by Wyckoff’s narrative metaphor, the script maps the 'Creek' (High of the Range flow) and 'Ice' (Low of the Range flow), guiding the observer through breakout or breakdown conditions.
 f. Sign of Strength (SOS) / Sign of Weakness (SOW) 
  
These turning points are confirmed via expansion in spread and volume. SOS is a bullish confirmation of accumulation resolution, while SOW indicates bearish continuation.
 g. LPS & LPSY 
  
The Last Point of Support (LPS) and Last Point of Supply (LPSY) are precisely mapped post-confirmation of breakout or breakdown. Their presence strengthens the bias of the ongoing structural phase.
 h. Phase Annotation 
Each zone within the TR is annotated based on Wyckoff’s five-phase logic (A to E). This includes climactic action in Phase A, testing in Phase B, spring/UTAD in Phase C, confirmation in Phase D, and exit in Phase E.
 
 3.2 Multi-Timeframe Tracking 
  
Observe the interplay of  nested structures  across several timeframes. Whether you’re tracking a micro accumulation on 1-min or macro distribution on the 1H, the script integrates both for a full-spectrum view.
 
 3.3 Point-and-Figure Price Targeting 
  
Using Wyckoff’s Law of Cause and Effect, the tool projects price targets based on the  range width.  Outputs are displayed directly on the chart, aiding in:
 
 Profit-taking zones 
 Invalidations 
 R/R planning with structure-based confidence 
 
 
 Chapter 4: Applying Like a Wyckoffian 
 4.1 Configuration Best Practices 
 
 Timeframes:  1–5min for tactical intraday, 15min–4H for swing campaigns
 Detection Radius:   Control how deep the script searches for structural pivots
 Modes:   Choose between  Delta  (volume shifts) and  Normal  (price formations)
 
 
 4.2 Dashboard & Event Tracker 
The  Bias Dashboard  displays:
  
 
 The current dominant phase (e.g. “Phase C Test” or “Late Phase D”) 
 Key events (AR, ST, Spring, LPS) 
 Whether current price action supports a continuation or Climax 
 
 
 4.3 Alerts and Customization 
Configure alerts to monitor:
 
 New TR detection across up to  6 timeframes 
 Key structural events like Spring, UTAD, or SOS 
 Completion of cause zones with target projection triggered 
 
 
 Chapter 5: Use Cases and Strategic Implementation 
 5.1 Spotting Reversals Before the Breakout 
Use the script to:
 
 Enter near  Springs (accumulation)  or  UTADs (distribution) 
 Identify retests as  Last Points of Support/Resistance 
 Confirm or invalidate breakout attempts using the schematic context 
 
 
 5.2 Confirming Institutional Engagement 
Recognize institutional footprints through:
 
 Multiple STs (Testing for supply) 
 Strong SOS, SOW / LPS combinations 
 Absence of follow-through = Absorption 
 
The Flow Map helps distinguish retail chase from professional intent.
 
 Conclusion 
The   Wabi-Sabi Wyckoff Flow Structure Map  is an elite market structure decoder for traders who operate on logic, not emotion. Grounded in Wyckoff’s time-tested methodology and enhanced with modern automation, it transforms the invisible structure of price action into a readable, tradeable roadmap.
  “Structure precedes movement. Those who read structure, anticipate motion.  Those who chase motion, miss the meaning .
 ”
- A Wyckoffian Principle
This tool is for traders who understand that  preparation  is where profits are born-not during the move, but before it."
VSA Auto Signals by ZeeshanThis indicator automatically marks VSA signals (ND, NS, UT, SO) on the chart, filters them with trend + ATR logic, and provides a clean dashboard with alerts for quick decision-making.
No Supply No Demand (NSND) – Volume Spread Analysis ToolThis indicator is designed for traders utilizing Volume Spread Analysis (VSA) techniques. It automatically detects potential No Demand (ND) and No Supply (NS) candles based on volume and price behavior, and confirms them using future price action within a user-defined number of lookahead bars.
Confirmed No Demand (ND): Detected when a bullish candle has volume lower than the previous two bars and is followed by weakness (next highs swept, close below).
Confirmed No Supply (NS): Detected when a bearish candle has volume lower than the previous two bars and is followed by strength (next lows swept, close above).
Adjustable lookahead bars parameter to control the confirmation window.
This tool helps identify potential distribution (ND) and accumulation (NS) areas, providing early signs of market turning points based on professional volume logic. The dot appears next to ND or NS.
Most Volume Candle LevelsThe script finds the candlestick with the maximum volume in the specified period (20 bars by default).
Draws levels on high and low of this candlestick.
You can set the color of the lines (yellow by default).
Cycle Theory + Frequency TheoryCycle Theory attempts to predict, through volatility, support/resistance points where the market may reach/reverse a trend. This theory's calculation is based on a reference candle that the user chooses, usually the first candle of the day/week's session. From this point on, if the level is broken upwards or downwards, the 1st Cycle begins with the same distance between the high/low or open/close of the reference candle. From the 2nd Cycle onwards, the size becomes the sum of all the last cycles formed, and so on.
Frequency Theory is similar, but its levels always have the same size as the high/low or open/close of the reference candle.
VPSA-VTDDear Sir/Madam,
I am pleased to present the next iteration of my indicator concept, which, in my opinion, serves as a highly useful tool for analyzing markets using the Volume Spread Analysis (VSA) method or the Wyckoff methodology.
The VPSA (Volume-Price Spread Analysis), the latest version in the family of scripts I’ve developed, appears to perform its task effectively. The combination of visualizing normalized data alongside their significance, achieved through the application of Z-Score standardization, proved to be a sound solution. Therefore, I decided to take it a step further and expand my project with a complementary approach to the existing one.
 Theory 
At the outset, I want to acknowledge that I’m aware of the existence of other probabilistic models used in financial markets, which may describe these phenomena more accurately. However, in line with Occam's Razor, I aimed to maintain simplicity in the analysis and interpretation of the concepts below. For this reason, I focused on describing the data using the Gaussian distribution.
The data I read from the chart — primarily the closing price, the high-low price difference (spread), and volume — exhibit cyclical patterns. These cycles are described by Wyckoff's methodology, while VSA complements and presents them from a different perspective. I will refrain from explaining these methods in depth due to their complexity and broad scope. What matters is that within these cycles, various events occur, described by candles or bars in distinct ways, characterized by different spreads and volumes. When observing the chart, I notice periods of lower volatility, often accompanied by lower volumes, as well as periods of high volatility and significant volumes. It’s important to find harmony within this apparent chaos. I think that chart interpretation cannot happen without considering the broader context, but the more variables I include in the analytical process, the more challenges arise. For instance, how can I determine if something is large (wide) or small (narrow)? For elements like volume or spread, my script provides a partial answer to this question. Now, let’s get to the point.
 Technical Overview 
The first technique I applied is Min-Max Normalization. With its help, the script adjusts volume and spread values to a range between 0 and 1. This allows for a comparable bar chart, where a wide bar represents volume, and a narrow one represents spread. Without normalization, visually comparing values that differ by several orders of magnitude would be inconvenient. If the indicator shows that one bar has a unit spread value while another has half that value, it means the first bar is twice as large. The ratio is preserved.
The second technique I used is Z-Score Standardization. This concept is based on the normal distribution, characterized by variables such as the mean and standard deviation, which measures data dispersion around the mean. The Z-Score indicates how many standard deviations a given value deviates from the population mean. The higher the Z-Score, the more the examined object deviates from the mean. If an object has a Z-Score of 3, it falls within 0.1% of the population, making it a rare occurrence or even an anomaly. In the context of chart analysis, such strong deviations are events like climaxes, which often signal the end of a trend, though not always. In my script, I assigned specific colors to frequently occurring Z-Score values:
 
     Below 1 – Blue
     Above 1 – Green
     Above 2 – Red
     Above 3 – Fuchsia
 
These colors are applied to both spread and volume, allowing for quick visual interpretation of data.
 Volume Trend Detector (VTD) 
The above forms the foundation of VPSA. However, I have extended the script with a Volume Trend Detector (VTD). The idea is that when I consider market structure - by market structure, I mean the overall chart, support and resistance levels, candles, and patterns typical of spread and volume analysis as well as Wyckoff patterns - I look for price ranges where there is a lack of supply, demand, or clues left behind by Smart Money or the market's enigmatic identity known as the Composite Man. This is essential because, as these clues and behaviors of market participants — expressed through the chart’s dynamics - reflect the actions, decisions, and emotions of all players. These behaviors can help interpret the bull-bear battle and estimate the probability of their next moves, which is one of the key factors for a trader relying on technical analysis to make a trade decision.
I enhanced the script with a Volume Trend Detector, which operates in two modes:
 Step-by-Step Logic 
    The detector identifies expected volume dynamics. For instance, when looking for signs of a lack of bullish interest, I focus on setups with decreasing volatility and volume, particularly for bullish candles. These setups are referred to as No Demand patterns, according to Tom Williams' methodology.
 Simple Moving Average (SMA) 
    The detector can also operate based on a simple moving average, helping to identify systematic trends in declining volume, indicating potential imbalances in market forces.
I’ve designed the program to allow the selection of candle types and volume characteristics to which the script will pay particular attention and notify me of specific market conditions.
Advantages and Disadvantages
 Advantages: 
 
     Unified visualization of normalized spread and volume, saving time and improving efficiency.
     The use of Z-Score as a consistent and repeatable relative mechanism for marking examined values.
     The use of colors in visualization as a reference to Z-Score values.
     The possibility to set up a continuous alert system that monitors the market in real time.
     The use of EMA (Exponential Moving Average) as a moving average for Z-Score.
 
The goal of these features is to save my time, which is the only truly invaluable resource.
 
Disadvantages: 
 
     The assumption that the data follows a normal distribution, which may lead to inaccurate interpretations.
     A fixed analysis period, which may not be perfectly suited to changing market conditions.
     The use of EMA as a moving average for Z-Score, listed both as an advantage and a disadvantage depending on market context.
 
I have included comments within the code to explain the logic behind each part. For those who seek detailed mathematical formulas, I invite you to explore the code itself.
 Defining Program Parameters: 
 Numerical Conditions: 
 
     VPSA Period for Analysis – The number of candles analyzed.
     Normalized Spread Alert Threshold – The expected normalized spread value; defines how large or small the spread should be, with a range of 0-1.00.
     Normalized Volume Alert Threshold – The expected normalized volume value; defines how large or small the volume should be, with a range of 0-1.00.
     Spread Z-SCORE Alert Threshold – The Z-SCORE value for the spread; determines how much the spread deviates from the average, with a range of 0-4 (a higher value can be entered, but from a logical standpoint, exceeding 4 is unnecessary).
     Volume Z-SCORE Alert Threshold – The Z-SCORE value for volume; determines how much the volume deviates from the average, with a range of 0-4 (the same logical note as above applies).
 
 Logical Conditions: 
Logical conditions describe whether the expected value should be less than or equal to or greater than or equal to the numerical condition.
All four parameters accept two possibilities and are analogous to the numerical conditions.
Volume Trend Detector:
 
     Volume Trend Detector Period for Analysis – The analysis period, indicating the number of candles examined.
     Method of Trend Determination – The method used to determine the trend. Possible values: Step by Step or SMA.
     Trend Direction – The expected trend direction. Possible values: Upward or Downward.
     Candle Type – The type of candle taken into account. Possible values: Bullish, Bearish, or Any.
 
The last available setting is the option to enable a joint alert for VPSA and VTD.
When enabled, VPSA will trigger on the last closed candle, regardless of the VTD analysis period.
Example Use Cases (Labels Visible in the Script Window Indicate Triggered Alerts):
The provided labels in the chart window mark where specific conditions were met and alerts were triggered.
 Summary and Reflections 
The program I present is a strong tool in the ongoing "game" with the Composite Man.
However, it requires familiarity and understanding of the underlying methodologies to fully utilize its potential.
Of course, like any technical analysis tool, it is not without flaws. There is no indicator that serves as a perfect Grail, accurately signaling Buy or Sell in every case.
I would like to thank those who have read through my thoughts to the end and are willing to take a closer look at my work by using this script.
If you encounter any errors or have suggestions for improvement, please feel free to contact me.
I wish you good health and accurately interpreted market structures, leading to successful trades!
CatTheTrader
Weis Wave Max█  Overview 
Weis Wave Max is the result of my weis wave study. 
David Weis said,
"Trading with the Weis Wave involves changes in behavior associated with springs, upthrusts, tests of breakouts/breakdowns, and effort vs reward. The most common setup is the low-volume pullback after a bullish/bearish change in behavior."
THE STOCK MARKET UPDATE (February 24, 2013)
I inspired from his sentences and made this script.
Its Main feature is to identify the largest wave in Weis wave and advantageous trading opportunities. 
 █  Features 
This indicator includes several features related to the Weis Wave Method.
They help you analyze which is more bullish or bearish.
 Highlight Max Wave Value (single direction)
 Highlight Abnormal Max Wave Value (both directions)
 Support and Resistance zone 
 Signals and Setups
 
 █  Usage 
Weis wave indicator displays cumulative volume for each wave.
Wave volume is effective when analyzing volume from VSA (Volume Spread Analysis) perspective.
  
The basic idea of Weis wave is large wave volume hint trend direction. This helps identify proper entry point.
This indicator highlights max wave volume and displays the signal and then proper Risk Reward Ratio entry frame.
I defined Change in Behavior as max wave volume (single direction).
Pullback is next wave that does not exceed the starting point of CiB wave (LH sell entry, HL buy entry).
Change in Behavior Signal ○ appears when pullback is determined.
Change in Behavior Setup (Entry frame) appears when condition of Min/Max Pullback is met and follow through wave breaks end point of CiB wave.
  
This indicator has many other features and they can also help a user identify potential levels of trade entry and which is more bullish or bearish.
In the screenshot below we can see wave volume zones as support and resistance levels. SOT and large wave volume /delta price (yellow colored wave text frame) hint stopping action.
  
 █  Settings 
Explains the main settings.
 -- General --
 Wave size : Allows the User to select wave size from ① Fixed or ② ATR. ② ATR is Factor x ATR(Length). 
 Display : Allows the User to select how many wave text and zigzag appear.
-- Wave Type --
 Wave type : Allows the User to select from Volume or Volume and Time.
 Wave Volume / delta price : Displays Wave Volume / delta price.
 Simplified value : Allows the User to select wave text display style from ① Divisor or ② Normalized. Normalized use SMA.
 Decimal : Allows the User to select the decimal point in the Wave text.
-- Highlight Abnormal Wave --
 Highlight Max Wave value (single direction) : Adds marks to the Wave text to highlight the max wave value.
 Lookback : Allows the User to select how many waves search for the max wave value.
  
 Highlight Abnormal Wave value (both directions) : Changes wave text size, color or frame color to highlight the abnormal wave value.
 Lookback : Allows the User to select SMA length to decide average wave value.
 Large/Small factor : Allows the User to select the threshold large wave value and small wave value. Average wave value is 1.
 delta price   : Highlights large delta price by large wave text size, small by small text size.
 Wave Volume   : Highlights large wave volume by yellow colored wave text, small by gray colored.
 Wave Volume / delta price   : highlights large Wave Volume / delta price by yellow colored wave text frame, small by gray colored.
-- Support and Resistance --
 Single side Max Wave Volume / delta price : Draws dashed border box from end point of Max wave volume / delta price level.
 Single side Max Wave Volume : Draws solid border box from start point of Max wave volume level.
 Bias Wave Volume : Draws solid border box from start point of bias wave volume level.
  
-- Signals --
 Bias (Wave Volume / delta price) : Displays Bias mark when large difference in wave volume / delta price before and after.
 Ratio : Decides the threshold of become large difference.
 3Decrease : Displays 3D mark when a continuous decrease in wave volume.
 Shortening Of the Thrust : Displays SOT mark when a continuous decrease in delta price.
 Change in Behavior and Pullback : Displays CiB mark when single side max wave volume and pullback.
-- Setups --
 Change in Behavior and Pullback and Breakout : Displays entry frame when change in behavior and pullback and then breakout.
 Min / Max Pullback : Decides the threshold of min / max pullback.
 
If you need more information, please read the indicator's tooltip.
 █  Conclusion 
Weis Wave is powerful interpretation of volume and its tell us potential trend change and entry point which can't find without weis wave.
It's not the holy grail, but improve your chart reading skills and help you trade rationally (at least from VSA perspective).
Candle Spread
Candle Spread is an indicator that helps traders measure the range of price movement within each candle over a specified time period. It calculates the range of the candle between the High and Low (High - Low) and displays it in a separate window below the chart as columns.
Key Features:
Colored Bars: The bars are colored based on the candle's direction:
Bullish Candle: Bars are Green.
Bearish Candle: Bars are Red.
Moving Average: The indicator includes a 30-period Simple Moving Average (SMA), which represents the overall average range of the candles.
Helps Identify Market Volatility: This indicator helps traders identify wide-range candles (signaling high volatility in the market), which could indicate a surge in momentum or potential trend reversals.
Advanced Volume-Driven Breakout SignalsThe "Advanced Volume-Driven Breakout Signals" indicator is a cutting-edge tool designed to help traders identify high-potential trading opportunities through sophisticated volume analysis techniques. This indicator integrates volume flow analysis, moving averages, and Relative Volume (RVOL) to provide a comprehensive view of market conditions, going beyond traditional Volume Spread Analysis (VSA) methods.
 Key Features: 
 
 Volume Flow Analysis:  Distinguishes bullish and bearish volume flows with distinct colors, making it easier to visualize market sentiment and potential breakout points.
 Volume Flow Moving Averages:  Calculates moving averages for volume using various methods (SMA, EMA, WMA, HMA, VWMA), accommodating different trading strategies. This includes settings for adjusting the type of moving average and its period, as well as thresholds for high, medium, and low volume levels.
 Volume Spikes Detection:  Identifies significant volume spikes based on user-defined multipliers and moving averages, highlighting unusual trading activity.
 Volume MA Cloud Settings:  Computes general moving averages of volume to track trends and detect deviations. This feature includes options to select different moving average types and adjust thresholds for detecting high volume activity.
 Relative Volume (RVOL):  Measures current volume relative to historical averages, triggering signals when RVOL exceeds predefined thresholds, indicating notable changes in trading activity.
 Entry Conditions:  Provides clear long and short entry signals based on combined volume flow conditions and RVOL, offering actionable trading opportunities.
 Volume Visualization: 
 — Bullish Volume Flow:  Light and dark green bars indicate bullish volume flow.
 — Bearish Volume Flow:  Light and dark red bars denote bearish volume flow.
 — High Volume Bars:  Highlighted in yellow, and extreme volume bars in orange for additional context. These bars are plotted for visual aid and do not directly influence trade signals, focusing instead on the quality and strength of the volume flow.
 Alerts:  Allows users to create alert notifications for long and short entry signals when the criteria are met, enabling traders to respond promptly to trading opportunities.
 
 Usage: 
 
 Overlay:  Apply the indicator directly to your price chart to visualise real-time signals and volume conditions.
 Customisable:  Adjust settings for moving averages, RVOL, and other parameters to match your trading strategy and preferences.
 
 Comparison to VSA Scripts:  The "Advanced Volume-Driven Breakout Signals" indicator extends beyond traditional VSA scripts by incorporating a wider range of analytical features. While VSA primarily focuses on volume spread patterns and price action, this indicator offers enhanced functionality with advanced RVOL metrics, customizable moving averages, and detailed volume spike detection, making it a more versatile tool for identifying breakout opportunities and managing trades. It is particularly effective when used alongside key levels and order blocks.
 Acknowledgements:  Special thanks to @oh92 and @goofoffgoose for their invaluable scripts, which served as inspiration in the development of this advanced trading indicator.
 Notes:  The script is continually evolving, with ongoing refinements aimed at enhancing accuracy and performance.
Decoding the Volume of candlesThe indicator is designed for traders who are more interested in market structures and price action using volumes. Volume analysis can help traders build a clearer understanding of zones of buyer and seller interest, as well as liquidity gathering points (traders' stop levels).
 Key Features:  
The indicator visualizes on the chart the volumes selected according to the trader's chosen settings.
The indicator highlights candle volumes in selected colors, where the volume is greater individually than the volumes of the trader's chosen number of preceding candles. Or the volume that is greater than the sum of volumes of the trader's chosen number of preceding candles.
The indicator mark selected volumes on the chart based on the type of candle. The candle type (1, 2, or 3) is determined by its result (close) relative to other candles.
Volume marked for a type 3 candle draws the trader’s attention to the lack of results from the applied volume compared to the previous candle, indicating potential weakness of the candle’s owner. This is especially important in buyer or seller context areas.
Volume marked for a type 2 candle highlights the presence of results from the applied volume but only relative to the previous candle. In buyer or seller context areas, this can signal weakness of the candle’s owner.
Volume marked for a type 1 candle signals a strong result from the applied volume, indicating potential strength of the candle’s owner.
The marking of volumes can be displayed either on the main chart or on the volume chart, depending on the trader's preference. Colors and symbols for marking can be customized on the Style tab.
Volumes can be filtered on both the volume chart and the main chart according to their marking. This feature can be useful, for example, for traders who don’t work with signs of buyer or seller weakness. In such cases, they can filter out volumes only for type 1 candles.
 Good luck exploring the impact of volumes on price behavior! 
VPSA - Volume Price Spread AnalysisDear Analysts and Traders,
I am pleased to present the latest version of my indicator, based on the logic of analyzing spread and volume. In this version, the indicator examines spread and volume using min-max normalization. The statistical value is captured through Z-Score standardization, and I have added configurable alerts based on the normalized values of spread, volume, and the sigmas for these variables.
 Theory and Evolution of the Indicator 
The normalization function used in this program allows for the comparison of two values with different ranges on a single chart. The values that reach the highest within the examined range are assigned a value of one. As in previous versions, I have adopted a bar chart where the wider bar represents volume and the narrower bar represents spread. I believe that using normalization is the most intuitive approach, as the standardization in the earlier sVPSA version could cause confusion. This was due to smaller bars for higher actual values and negative bars, which required additional reliance on actual volume data and significant proficiency in using the indicator. These were limitations stemming from the computational aspect of these issues. As in the previously mentioned script, I also used Z-Score standardization here, which serves as a measure of deviation from the mean. This is visualized in the script as the color of the bars, which in the default configuration are as follows: below one sigma - blue; above one sigma up to two sigmas - green; above two sigmas up to three sigmas - red; and above three sigmas - fuchsia. Additionally, I applied an exponential moving average in this indicator to minimize the influence of older candles on the mean. The indicator has been enhanced with configurable alerts, allowing for substantial control over the conditions triggering them. The alerts enable the definition of normalized variable values and sigma values. Furthermore, the program allows for the definition of logical dependencies for these conditions.
 Summary 
The program I have developed is a synthesis of the most important and useful functions from the indicators I previously created. The indicator is a standalone and powerful tool that facilitates effective analysis of the spread-volume relationship, which is one of the fundamental methods of analysis according to the Wyckoff and VSA methodologies. The alerts introduced in this version provide extensive possibilities for controlling the dynamics of any market.
Should you encounter any errors or have suggestions regarding the indicator, please feel free to contact me.
I wish you successful analyses! All the best!
CatTheTrader
Auto Volume Spread Analysis (VSA) [TANHEF]Auto Volume Spread Analysis (visible volume and spread bars auto-scaled): Understanding Market Intentions through the Interpretation of Volume and Price Movements.
All the sections below contain the same descriptions as my other indicator "Volume Spread Analysis" with the exception of 'Auto Scaling'.
█ Auto-Scaling
This indicator auto-scales spread bars to match the visible volume bars, unlike the previous "Volume Spread Analysis  " version which limited the number of visible spread bars to a fixed count. The auto-scaling feature allows for easier navigation through historical data, enabling both more historical spread bars to be viewed and more historical VSA pattern labels being displayed without requiring using the bar replay tool. Please note that this indicator’s auto-scaling feature recalculates the visible bars on the chart, causing the indicator to reload whenever the chart is moved.
Auto-scaled spread bars have two display options (set via 'Spread Bars Method' setting):
 
 Lines: a bar lookback limit of 500 bars.
 Polylines: no bar lookback limit as only plotted on visible bars on chart, which uses multiple polylines are used.
 
█ Simple Explanation:
The Volume Spread Analysis (VSA) indicator is a comprehensive tool that helps traders identify key market patterns and trends based on volume and spread data. This indicator highlights significant VSA patterns and provides insights into market behavior through color-coded volume/spread bars and identification of bars indicating strength, weakness, and neutrality between buyers and sellers. It also includes powerful volume and spread forecasting capabilities.
█  Laws of Volume Spread Analysis (VSA): 
The origin of VSA begins with Richard Wyckoff, a pivotal figure in its development. Wyckoff made significant contributions to trading theory, including the formulation of three basic laws:
 
   The Law of Supply and Demand:  This fundamental law states that supply and demand balance each other over time. High demand and low supply lead to rising prices until demand falls to a level where supply can meet it. Conversely, low demand and high supply cause prices to fall until demand increases enough to absorb the excess supply.
   The Law of Cause and Effect:  This law assumes that a 'cause' will result in an 'effect' proportional to the 'cause'. A strong 'cause' will lead to a strong trend (effect), while a weak 'cause' will lead to a weak trend.
   The Law of Effort vs. Result:  This law asserts that the result should reflect the effort exerted. In trading terms, a large volume should result in a significant price move (spread). If the spread is small, the volume should also be small. Any deviation from this pattern is considered an anomaly.
 
█  Volume and Spread Analysis Bars: 
 Display:  Volume and spread bars that consist of color coded levels, with the spread bars scaled to match the volume bars. A displayable table (Legend) of bar colors and levels can give context and clarify to each volume/spread bar. 
 Calculation:  Levels are calculated using multipliers applied to moving averages to represent key levels based on historical data: low, normal, high, ultra. This method smooths out short-term fluctuations and focuses on longer-term trends.
 
   Low Level:  Indicates reduced volatility and market interest.
   Normal Level:  Reflects typical market activity and volatility.
   High Level:  Indicates increased activity and volatility.
   Ultra Level:  Identifies extreme levels of activity and volatility.
 
This illustrates the appearance of Volume and Spread bars when scaled and plotted together:
  
█  Forecasting Capabilities: 
 Display:  Forecasted volume and spread levels using predictive models.
 Calculation:  Volume and Spread prediction calculations differ as volume is linear and spread is non-linear. 
 
   Volume Forecast (Linear Forecasting):  Predicts future volume based on current volume rate and bar time till close.
   Spread Forecast (Non-Linear Dynamic Forecasting):  Predicts future spread using a dynamic multiplier, less near midpoint (consolidation) and more near low or high (trending), reflecting non-linear expansion.
   Moving Averages:  In forecasting, moving averages utilize forecasted levels instead of actual levels to ensure the correct level is forecasted (low, normal, high, or ultra).
 
The following compares forecasted volume with actual resulting volume, highlighting the power of early identifying increased volume through forecasted levels:
  
█  VSA Patterns: 
Criteria and descriptions for each VSA pattern are available as tooltips beside them within the indicator’s settings. These tooltips provide explanations of potential developments based on the volume and spread data.
 Signs of Strength (🟢):  Patterns indicating strong buying pressure and potential market upturns.
 
 Down Thrust
 Selling Climax
 No Effort ➤ Bearish Result
 Bearish Effort ➤ No Result
 Inverse Down Thrust
 Failed Selling Climax
 Bull Outside Reversal
 End of Falling Market (Bag Holder)
 Pseudo Down Thrust
 No Supply
 
 Signs of Weakness (🔴):  Patterns indicating strong selling pressure and potential market downturns.
 
 Up Thrust
 Buying Climax
 No Effort ➤ Bullish Result
 Bullish Effort ➤ No Result
 Inverse Up Thrust
 Failed Buying Climax
 Bear Outside Reversal
 End of Rising Market (Bag Seller)
 Pseudo Up Thrust
 No Demand
 
 Neutral Patterns (🔵):  Patterns indicating market indecision and potential for continuation or reversal.
 
 Quiet Doji
 Balanced Doji
 Strong Doji
 Quiet Spinning Top
 Balanced Spinning Top
 Strong Spinning Top
 Quiet High Wave
 Balanced High Wave
 Strong High Wave
 Consolidation
 
 Bar Patterns (🟡):  Common candlestick patterns that offer insights into market sentiment. These are required in some VSA patterns and can also be displayed independently.
 
 Bull Pin Bar
 Bear Pin Bar
 Doji
 Spinning Top
 High Wave
 Consolidation
 
This demonstrates the acronym and descriptive options for displaying bar patterns, with the ability to hover over text to reveal the descriptive text along with what type of pattern:
  
█  Alerts: 
 
 VSA Pattern Alerts:  Notifications for identified VSA patterns at bar close.
 Volume and Spread Alerts:  Alerts for confirmed and forecasted volume/spread levels (Low, High, Ultra).
 Forecasted Volume and Spread Alerts:  Alerts for forecasted volume/spread levels (High, Ultra) include a minimum percent time elapsed input to reduce false early signals by ensuring sufficient bar time has passed.
 
█  Inputs and Settings: 
 
 Indicator Bar Color:  Select color schemes for bars (Normal, Detail, Levels).
 Indicator Moving Average Color:  Select schemes for bars (Fill, Lines, None).
 Price Bar Colors:  Options to color price bars based on VSA patterns and volume levels.
 Legend:  Display a table of bar colors and levels for context and clarity of volume/spread bars.
 Forecast:  Configure forecast display and prediction details for volume and spread.
 Average Multipliers:  Define multipliers for different levels (Low, High, Ultra) to refine the analysis.
 Moving Average:  Set volume and spread moving average settings.
 VSA:  Select the VSA patterns to be calculated and displayed (Strength, Weakness, Neutral).
 Bar Patterns:  Criteria for bar patterns used in VSA (Doji, Bull Pin Bar, Bear Pin Bar, Spinning Top, Consolidation, High Wave).
 Colors:  Set exact colors used for indicator bars, indicator moving averages, and price bars.
 More Display Options:  Specify how VSA pattern text is displayed (Acronym, Descriptive), positioning, and sizes.
 Alerts:  Configure alerts for VSA patterns, volume, and spread levels, including forecasted levels.
 
 █ Usage: 
The Volume Spread Analysis indicator is a helpful tool for leveraging volume spread analysis to make informed trading decisions. It offers comprehensive visual and textual cues on the chart, making it easier to identify market conditions, potential reversals, and continuations. Whether analyzing historical data or forecasting future trends, this indicator provides insights into the underlying factors driving market movements.
Effort & Result (normalized)It is recommended to use a column display. This indicator measures the relationship between the body of the candlestick and the volume. Therefore, it measures the relationship between effort (volume) and result (price).  It is still necessary to contextualize the price and not use the indicator without considering structure or relevant zones. 
As we can see, this is an oscillator that ranges from 100 to -100 and helps visualize Volume Spread Analysis.
It can indicate three different types of relationships between candlesticks and volume:
1.  Absorption : This is a significant discrepancy that shows that despite considerable effort in terms of volume, there has not been an adequate price result. High volume and little price movement. It can be detected when the indicator values are negative, and the closer to -100, the more pronounced the absorption. It indicates strong aggressive participation, but equally strong passive participation. It should be interpreted as an opposite signal; if the candlestick closes long with absorption, then it is likely that the bullish movement will not continue.
2.  Absence of Resistance : This is a discrepancy that occurs when, despite low volumetric effort, there is a significant price movement. This is due to the absence of passive orders and is exactly the opposite of absorption. It is measured when the indicator value is positive. It means that a wide buy candlestick with low volume has not encountered resistance from passive sellers during its path, and vice versa for a sell candlestick. It should be interpreted as a "green light"; therefore, a buy candlestick that closes with a positive value in the indicator signals a likely price increase shortly thereafter.
3.  Congruence : When the indicator value is close to 0, a situation of congruence occurs, where the result (price) is adequate to the effort (volumes). This indicates an efficient market with balanced participation from sellers and buyers, both passive and aggressive.
The pattern shown in the figure illustrates in the first line a sell candlestick with a very small body but a very high volumetric effort. Indeed, the corresponding column in the indicator shows negative values ("Absorption"). The second line shows how, after a few minutes, an "Absence of Resistance" situation occurs, this time for a buy candlestick that, despite low volumes, closed with a very wide body, in fact the indicator shows positive values. This specific pattern should be read as a long signal since sellers have been absorbed by passive buyers, and buyers have not encountered resistance from passive sellers. This indicates greater coordination and participation from both aggressive and passive buyers.
Volume Spread Analysis [TANHEF]Volume Spread Analysis: Understanding Market Intentions through the Interpretation of Volume and Price Movements.
█ Simple Explanation:
The Volume Spread Analysis (VSA) indicator is a comprehensive tool that helps traders identify key market patterns and trends based on volume and spread data. This indicator highlights significant VSA patterns and provides insights into market behavior through color-coded volume/spread bars and identification of bars indicating strength, weakness, and neutrality between buyers and sellers. It also includes powerful volume and spread forecasting capabilities.
█  Laws of Volume Spread Analysis (VSA): 
The origin of VSA begins with Richard Wyckoff, a pivotal figure in its development. Wyckoff made significant contributions to trading theory, including the formulation of three basic laws:
 
   The Law of Supply and Demand:  This fundamental law states that supply and demand balance each other over time. High demand and low supply lead to rising prices until demand falls to a level where supply can meet it. Conversely, low demand and high supply cause prices to fall until demand increases enough to absorb the excess supply.
   The Law of Cause and Effect:  This law assumes that a 'cause' will result in an 'effect' proportional to the 'cause'. A strong 'cause' will lead to a strong trend (effect), while a weak 'cause' will lead to a weak trend.
   The Law of Effort vs. Result:  This law asserts that the result should reflect the effort exerted. In trading terms, a large volume should result in a significant price move (spread). If the spread is small, the volume should also be small. Any deviation from this pattern is considered an anomaly.
 
█  Volume and Spread Analysis Bars: 
 Display:  Volume and/or spread bars that consist of color coded levels. If both of these are displayed, the number of spread bars can be limited for visual appeal and understanding, with the spread bars scaled to match the volume bars. While automatic calculation of the number of visual bars for auto scaling is possible, it is avoided to prevent the indicator from reloading whenever the number of visual price bars on the chart is adjusted, ensuring uninterrupted analysis. A displayable table (Legend) of bar colors and levels can give context and clarify to each volume/spread bar. 
 Calculation:  Levels are calculated using multipliers applied to moving averages to represent key levels based on historical data: low, normal, high, ultra. This method smooths out short-term fluctuations and focuses on longer-term trends.
 
   Low Level:  Indicates reduced volatility and market interest.
   Normal Level:  Reflects typical market activity and volatility.
   High Level:  Indicates increased activity and volatility.
   Ultra Level:  Identifies extreme levels of activity and volatility.
 
This illustrates the appearance of Volume and Spread bars when scaled and plotted together:
  
█  Forecasting Capabilities: 
 Display:  Forecasted volume and spread levels using predictive models.
 Calculation:  Volume and Spread prediction calculations differ as volume is linear and spread is non-linear. 
 
   Volume Forecast (Linear Forecasting):  Predicts future volume based on current volume rate and bar time till close.
   Spread Forecast (Non-Linear Dynamic Forecasting):  Predicts future spread using a dynamic multiplier, less near midpoint (consolidation) and more near low or high (trending), reflecting non-linear expansion.
   Moving Averages:  In forecasting, moving averages utilize forecasted levels instead of actual levels to ensure the correct level is forecasted (low, normal, high, or ultra).
 
The following compares forecasted volume with actual resulting volume, highlighting the power of early identifying increased volume through forecasted levels:
  
█  VSA Patterns: 
Criteria and descriptions for each VSA pattern are available as tooltips beside them within the indicator’s settings. These tooltips provide explanations of potential developments based on the volume and spread data.
 Signs of Strength (🟢):  Patterns indicating strong buying pressure and potential market upturns.
 
 Down Thrust
 Selling Climax
 No Effort → Bearish Result
 Bearish Effort → No Result
 Inverse Down Thrust
 Failed Selling Climax
 Bull Outside Reversal
 End of Falling Market (Bag Holder)
 Pseudo Down Thrust
 No Supply
 
 Signs of Weakness (🔴):  Patterns indicating strong selling pressure and potential market downturns.
 
 Up Thrust
 Buying Climax
 No Effort → Bullish Result
 Bullish Effort → No Result
 Inverse Up Thrust
 Failed Buying Climax
 Bear Outside Reversal
 End of Rising Market (Bag Seller)
 Pseudo Up Thrust
 No Demand
 
 Neutral Patterns (🔵):  Patterns indicating market indecision and potential for continuation or reversal.
 
 Quiet Doji
 Balanced Doji
 Strong Doji
 Quiet Spinning Top
 Balanced Spinning Top
 Strong Spinning Top
 Quiet High Wave
 Balanced High Wave
 Strong High Wave
 Consolidation
 
 Bar Patterns (🟡):  Common candlestick patterns that offer insights into market sentiment. These are required in some VSA patterns and can also be displayed independently.
 
 Bull Pin Bar
 Bear Pin Bar
 Doji
 Spinning Top
 High Wave
 Consolidation
 
This demonstrates the acronym and descriptive options for displaying bar patterns, with the ability to hover over text to reveal the descriptive text along with what type of pattern:
  
█  Alerts: 
 
 VSA Pattern Alerts:  Notifications for identified VSA patterns at bar close.
 Volume and Spread Alerts:  Alerts for confirmed and forecasted volume/spread levels (Low, High, Ultra).
 Forecasted Volume and Spread Alerts:  Alerts for forecasted volume/spread levels (High, Ultra) include a minimum percent time elapsed input to reduce false early signals by ensuring sufficient bar time has passed.
 
█  Inputs and Settings: 
 
 Display Volume and/or Spread:  Choose between displaying volume bars, spread bars, or both with different lookback periods.
 Indicator Bar Color:  Select color schemes for bars (Normal, Detail, Levels).
 Indicator Moving Average Color:  Select schemes for bars (Fill, Lines, None).
 Price Bar Colors:  Options to color price bars based on VSA patterns and volume levels.
 Legend:  Display a table of bar colors and levels for context and clarity of volume/spread bars.
 Forecast:  Configure forecast display and prediction details for volume and spread.
 Average Multipliers:  Define multipliers for different levels (Low, High, Ultra) to refine the analysis.
 Moving Average:  Set volume and spread moving average settings.
 VSA:  Select the VSA patterns to be calculated and displayed (Strength, Weakness, Neutral).
 Bar Patterns:  Criteria for bar patterns used in VSA (Doji, Bull Pin Bar, Bear Pin Bar, Spinning Top, Consolidation, High Wave).
 Colors:  Set exact colors used for indicator bars, indicator moving averages, and price bars.
 More Display Options:  Specify how VSA pattern text is displayed (Acronym, Descriptive), positioning, and sizes.
 Alerts:  Configure alerts for VSA patterns, volume, and spread levels, including forecasted levels.
 
 █ Usage: 
The Volume Spread Analysis indicator is a helpful tool for leveraging volume spread analysis to make informed trading decisions. It offers comprehensive visual and textual cues on the chart, making it easier to identify market conditions, potential reversals, and continuations. Whether analyzing historical data or forecasting future trends, this indicator provides insights into the underlying factors driving market movements.
VolumeSpreadAnalysisLibrary   "VolumeSpreadAnalysis" 
A library for Volume Spread Analysis (VSA).
 spread(_barIndex) 
  Calculates the spread of a bar.
  Parameters:
     _barIndex (int) : (int) The index of the bar.
  Returns: (float) The spread of the bar.
 volume(_barIndex) 
  Retrieves the volume of a bar.
  Parameters:
     _barIndex (int) : (int) The index of the bar.
  Returns: (float) The volume of the bar.
 body(_barIndex) 
  Calculates the body of a bar.
  Parameters:
     _barIndex (simple int) : (int) The index of the bar.
  Returns: (float) The body size of the bar.
 wickUpper(_barIndex) 
  Calculates the upper wick of a bar (upper shadow).
  Parameters:
     _barIndex (simple int) : (int) The index of the bar.
  Returns: (float) The upper wick size of the bar.
 wickLower(_barIndex) 
  Calculates the lower wick of a bar (lower shadow).
  Parameters:
     _barIndex (simple int) : (int) The index of the bar.
  Returns: (float) The lower wick size of the bar.
 calcForecastedSMA(_source, _length, _forecastedLevel) 
  Calculates the forecasted Simple Moving Average (SMA).
  Parameters:
     _source (float) : (series float) Source data for calculation.
     _length (simple int) : (int) The length of the SMA.
     _forecastedLevel (float) : (float) The forecasted level to include in the calculation.
  Returns: (float) The forecasted SMA value.
 calcForecastedEMA(_source, _length, _forecastedLevel) 
  Calculates the forecasted Exponential Moving Average (EMA).
  Parameters:
     _source (float) : (series float) Source data for calculation.
     _length (simple int) : (int) The length of the EMA.
     _forecastedLevel (float) : (float) The forecasted level to include in the calculation.
  Returns: (float) The forecasted EMA value.
 calcForecastedRMA(_source, _length, _forecastedLevel) 
  Calculates the forecasted Relative Moving Average (RMA).
  Parameters:
     _source (float) : (series float) Source data for calculation.
     _length (simple int) : (int) The length of the RMA.
     _forecastedLevel (float) : (float) The forecasted level to include in the calculation.
  Returns: (float) The forecasted RMA value.
 calcForecastedWMA(_source, _length, _forecastedLevel) 
  Calculates the forecasted Weighted Moving Average (WMA).
  Parameters:
     _source (float) : (series float) Source data for calculation.
     _length (simple int) : (int) The length of the WMA.
     _forecastedLevel (float) : (float) The forecasted level to include in the calculation.
  Returns: (float) The forecasted WMA value.
 calcElapsedTimePercent() 
  Calculates the elapsed time percent of the current bar.
  Returns: (float) The elapsed time percent.
 calcForecastedSpread(multiplierAtMidpoints, multiplierAtPeaks) 
  Calculates the forecasted spread using elapsed time and dynamic multipliers, handling spread's non-linear nature.
  Parameters:
     multiplierAtMidpoints (float) : (float) The multiplier value at midpoints.
     multiplierAtPeaks (float) : (float) The multiplier value at peaks.
  Returns: (float) The forecasted spread value.
 calcForecastedVolume() 
  Calculates the forecasted volume using elapsed time, satisfying volume's linear nature.
  Returns: (float) The forecasted volume value.
 calcForecastedMA(_source, _length, _forecastedSource, _type) 
  Calculates the forecasted Moving Average (MA) based on the specified type.
  Parameters:
     _source (float) : (series float) Source data for calculation.
     _length (simple int) : (int) The length of the MA.
     _forecastedSource (float) : (float) The forecasted level to include in the calculation.
     _type (simple string) : (string) The type of the MA ("SMA", "EMA", "SMMA (RMA)", "WMA").
  Returns: (float) The forecasted MA value.
 calcMA(_source, _length, _type) 
  Calculates the Moving Average (MA) based on the specified type.
  Parameters:
     _source (float) : (series float) Source data for calculation.
     _length (simple int) : (int) The length of the MA.
     _type (simple string) : (string) The type of the MA ("SMA", "EMA", "SMMA (RMA)", "WMA").
  Returns: (float) The MA value.
 bullBar(_barIndex) 
  Determines if the bar is bullish.
  Parameters:
     _barIndex (simple int) : (int) The index of the bar.
  Returns: (bool) True if the bar is bullish, otherwise false.
 bearBar(_barIndex) 
  Determines if the bar is bearish.
  Parameters:
     _barIndex (simple int) : (int) The index of the bar.
  Returns: (bool) True if the bar is bearish, otherwise false.
 breakout(_barIndex) 
  Determines if there is a breakout above the previous bar.
  Parameters:
     _barIndex (simple int) : (int) The index of the bar.
  Returns: (bool) True if there is a breakout, otherwise false.
 breakdown(_barIndex) 
  Determines if there is a breakdown below the previous bar.
  Parameters:
     _barIndex (simple int) : (int) The index of the bar.
  Returns: (bool) True if there is a breakdown, otherwise false.
 rejectionWickUpper(_rejectionWick) 
  Determines if the upper wick is a rejection wick.
  Parameters:
     _rejectionWick (simple float) : (float) The rejection wick percentage.
  Returns: (bool) True if the upper wick is a rejection wick, otherwise false.
 rejectionWickLower(_rejectionWick) 
  Determines if the lower wick is a rejection wick.
  Parameters:
     _rejectionWick (simple float) : (float) The rejection wick percentage.
  Returns: (bool) True if the lower wick is a rejection wick, otherwise false.
 setupDataVolume(_data, _mult_Low, _mult_High, _mult_Ultra, _maLengthVolume, _maTypeVolume) 
  Sets up data for volume levels.
  Parameters:
     _data (map) : (map) The map to store the levels.
     _mult_Low (simple float) : (float) The multiplier for low level.
     _mult_High (simple float) : (float) The multiplier for high level.
     _mult_Ultra (simple float) : (float) The multiplier for ultra level.
     _maLengthVolume (simple int) : (int) The length for MA.
     _maTypeVolume (simple string) : (string) The type for MA.
  Returns: (void) Nothing.
 setupDataSpread(_data, _mult_Low, _mult_High, _mult_Ultra, _maLengthSpread, _maTypeSpread) 
  Sets up data for spread levels.
  Parameters:
     _data (map) : (map) The map to store the levels.
     _mult_Low (simple float) : (float) The multiplier for low level.
     _mult_High (simple float) : (float) The multiplier for high level.
     _mult_Ultra (simple float) : (float) The multiplier for ultra level.
     _maLengthSpread (simple int) : (int) The length for MA.
     _maTypeSpread (simple string) : (string) The type for MA.
  Returns: (void) Nothing.
 setupDataForecastVolume(_dataForecast, _mult_Low, _mult_High, _mult_Ultra, _maLengthVolume, _predictedLevelVolume, _maTypeVolume) 
  Sets up data for volume and spread levels for forecast.
  Parameters:
     _dataForecast (map) 
     _mult_Low (simple float) : (float) The multiplier for low level.
     _mult_High (simple float) : (float) The multiplier for high level.
     _mult_Ultra (simple float) : (float) The multiplier for ultra level.
     _maLengthVolume (simple int) : (int) The length for MA.
     _predictedLevelVolume (float) : (float) The predicted level for MA.
     _maTypeVolume (simple string) : (string) The type for MA.
  Returns: (void) Nothing.
 setupDataForecastSpread(_dataForecast, _mult_Low, _mult_High, _mult_Ultra, _maLengthSpread, _predictedLevelSpread, _maTypeSpread) 
  Sets up data for spread levels for forecast.
  Parameters:
     _dataForecast (map) 
     _mult_Low (simple float) : (float) The multiplier for low level.
     _mult_High (simple float) : (float) The multiplier for high level.
     _mult_Ultra (simple float) : (float) The multiplier for ultra level.
     _maLengthSpread (simple int) : (int) The length for MA.
     _predictedLevelSpread (float) : (float) The predicted level for MA.
     _maTypeSpread (simple string) : (string) The type for MA.
  Returns: (void) Nothing.
 isVolumeLow(_data, _barIndex) 
  Determines if the volume is low.
  Parameters:
     _data (map) : (map) The data map with volume levels.
     _barIndex (int) 
  Returns: (bool) True if the volume is low, otherwise false.
 isVolumeNormal(_data, _barIndex) 
  Determines if the volume is normal.
  Parameters:
     _data (map) : (map) The data map with volume levels.
     _barIndex (int) 
  Returns: (bool) True if the volume is normal, otherwise false.
 isVolumeHigh(_data, _barIndex) 
  Determines if the volume is high.
  Parameters:
     _data (map) : (map) The data map with volume levels.
     _barIndex (int) 
  Returns: (bool) True if the volume is high, otherwise false.
 isVolumeUltra(_data, _barIndex) 
  Determines if the volume is ultra.
  Parameters:
     _data (map) : (map) The data map with volume levels.
     _barIndex (int) 
  Returns: (bool) True if the volume is ultra, otherwise false.
 isSpreadLow(_data, _barIndex) 
  Determines if the spread is low.
  Parameters:
     _data (map) : (map) The data map with spread levels.
     _barIndex (int) 
  Returns: (bool) True if the spread is low, otherwise false.
 isSpreadNormal(_data, _barIndex) 
  Determines if the spread is normal.
  Parameters:
     _data (map) : (map) The data map with spread levels.
     _barIndex (int) 
  Returns: (bool) True if the spread is normal, otherwise false.
 isSpreadHigh(_data, _barIndex) 
  Determines if the spread is high.
  Parameters:
     _data (map) : (map) The data map with spread levels.
     _barIndex (int) 
  Returns: (bool) True if the spread is high, otherwise false.
 isSpreadUltra(_data, _barIndex) 
  Determines if the spread is ultra.
  Parameters:
     _data (map) : (map) The data map with spread levels.
     _barIndex (int) 
  Returns: (bool) True if the spread is ultra, otherwise false.
 isVolumeText(_data) 
  Determines text string representing the volume area level.
  Parameters:
     _data (map) : (map) The data map with volume levels.
  Returns: (string) Text string of Low, Normal, High, or Ultra.
 isSpreadText(_data) 
  Determines text string representing the spread area level.
  Parameters:
     _data (map) : (map) The data map with spread levels.
  Returns: (string) Text string of Low, Normal, High, or Ultra.
 calcBarColor(_value, _level) 
  Calculates the color based level.
  Parameters:
     _value (float) : (float) The value to check.
     _level (float) : (float) The value level for comparison.
  Returns: (color) The color for the bar.
 bullPinBar(_maxBodyPercent, _minWickPercent) 
  Determines if the bar is a bull pin bar.
  Parameters:
     _maxBodyPercent (simple float) : (float) The maximum body percentage.
     _minWickPercent (simple float) : (float) The minimum wick percentage.
  Returns: (bool) True if the bar is a bull pin bar, otherwise false.
 bearPinBar(_maxBodyPercent, _minWickPercent) 
  Determines if the bar is a bear pin bar.
  Parameters:
     _maxBodyPercent (simple float) : (float) The maximum body percentage.
     _minWickPercent (simple float) : (float) The minimum wick percentage.
  Returns: (bool) True if the bar is a bear pin bar, otherwise false.
 dojiBar(_maxBodyPercent) 
  Determines if the bar is a doji.
  Parameters:
     _maxBodyPercent (simple float) : (float) The maximum body percentage.
  Returns: (bool) True if the bar is a doji, otherwise false.
 spinningTopBar(_minWicksPercent, _emaLength) 
  Determines if the bar is a spinning top.
  Parameters:
     _minWicksPercent (simple float) : (float) The minimum wicks percentage.
     _emaLength (simple int) : (int) The length for EMA calculation.
  Returns: (bool) True if the bar is a spinning top, otherwise false.
 highWaveBar(_minBodyPercent, _minWickPercent, _bars) 
  Determines if the bar is a high wave bar.
  Parameters:
     _minBodyPercent (simple float) : (float) The minimum body percentage.
     _minWickPercent (simple float) : (float) The minimum wick percentage.
     _bars (simple int) : (int) The number of bars for comparison.
  Returns: (bool) True if the bar is a high wave bar, otherwise false.
 consolidationBar(_data, _spread, _bars) 
  Determines if the bars are in consolidation.
  Parameters:
     _data (map) : (map) The data map with spread levels.
     _spread (simple float) : (float) The spread percentage for comparison.
     _bars (simple int) : (int) The number of bars for comparison.
  Returns: (bool) True if the bars are in consolidation, otherwise false.
 S_DownThrust(_data, _bullPinBarMaxBody, _bullPinBarMinWick) 
  Determines if there is a sign of strength (DownThrust).
  Parameters:
     _data (map) : (map) The data map with volume and spread levels.
     _bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
     _bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
  Returns: (bool) True if there is a sign of strength (DownThrust), otherwise false.
 S_SellingClimax(_data, _rejectionWick) 
  Determines if there is a sign of strength (Selling Climax).
  Parameters:
     _data (map) : (map) The data map with volume and spread levels.
     _rejectionWick (simple float) : (float) The rejection wick percentage.
  Returns: (bool) True if there is a sign of strength (Selling Climax), otherwise false.
 S_NoEffortBearishResult() 
  Determines if there is a sign of strength (No Effort Bearish Result).
  Returns: (bool) True if there is a sign of strength (No Effort Bearish Result), otherwise false.
 S_BearishEffortNoResult() 
  Determines if there is a sign of strength (Bearish Effort No Result).
  Returns: (bool) True if there is a sign of strength (Bearish Effort No Result), otherwise false.
 S_InverseDownThrust(_data, _bearPinBarMaxBody, _bearPinBarMinWick) 
  Determines if there is a sign of strength (Inverse DownThrust).
  Parameters:
     _data (map) : (map) The data map with volume and spread levels.
     _bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
     _bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
  Returns: (bool) True if there is a sign of strength (Inverse DownThrust), otherwise false.
 S_FailedSellingClimax() 
  Determines if there is a sign of strength (Failed Selling Climax).
  Returns: (bool) True if there is a sign of strength (Failed Selling Climax), otherwise false.
 S_BullOutsideReversal(_data) 
  Determines if there is a sign of strength (Bull Outside Reversal).
  Parameters:
     _data (map) : (map) The data map with volume and spread levels.
  Returns: (bool) True if there is a sign of strength (Bull Outside Reversal), otherwise false.
 S_EndOfFallingMarket(_data) 
  Determines if there is a sign of strength (End of Falling Market).
  Parameters:
     _data (map) : (map) The data map with volume and spread levels.
  Returns: (bool) True if there is a sign of strength (End of Falling Market), otherwise false.
 S_PseudoDownThrust(_bullPinBarMaxBody, _bullPinBarMinWick) 
  Determines if there is a sign of strength (Pseudo DownThrust).
  Parameters:
     _bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
     _bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
  Returns: (bool) True if there is a sign of strength (Pseudo DownThrust), otherwise false.
 S_NoSupply(_bullPinBarMaxBody, _bullPinBarMinWick) 
  Determines if there is a sign of strength (No Supply).
  Parameters:
     _bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
     _bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
  Returns: (bool) True if there is a sign of strength (No Supply), otherwise false.
 W_UpThrust(_data, _bearPinBarMaxBody, _bearPinBarMinWick) 
  Determines if there is a sign of weakness (UpThrust).
  Parameters:
     _data (map) : (map) The data map with volume and spread levels.
     _bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
     _bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
  Returns: (bool) True if there is a sign of weakness (UpThrust), otherwise false.
 W_BuyingClimax(_data, _rejectionWick) 
  Determines if there is a sign of weakness (Buying Climax).
  Parameters:
     _data (map) : (map) The data map with volume and spread levels.
     _rejectionWick (simple float) : (float) The rejection wick percentage.
  Returns: (bool) True if there is a sign of weakness (Buying Climax), otherwise false.
 W_NoEffortBullishResult() 
  Determines if there is a sign of weakness (No Effort Bullish Result).
  Returns: (bool) True if there is a sign of weakness (No Effort Bullish Result), otherwise false.
 W_BullishEffortNoResult() 
  Determines if there is a sign of weakness (Bullish Effort No Result).
  Returns: (bool) True if there is a sign of weakness (Bullish Effort No Result), otherwise false.
 W_InverseUpThrust(_data, _bullPinBarMaxBody, _bullPinBarMinWick) 
  Determines if there is a sign of weakness (Inverse UpThrust).
  Parameters:
     _data (map) : (map) The data map with volume and spread levels.
     _bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
     _bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
  Returns: (bool) True if there is a sign of weakness (Inverse UpThrust), otherwise false.
 W_FailedBuyingClimax() 
  Determines if there is a sign of weakness (Failed Buying Climax).
  Returns: (bool) True if there is a sign of weakness (Failed Buying Climax), otherwise false.
 W_BearOutsideReversal(_data) 
  Determines if there is a sign of weakness (Bear Outside Reversal).
  Parameters:
     _data (map) : (map) The data map with volume and spread levels.
  Returns: (bool) True if there is a sign of weakness (Bear Outside Reversal), otherwise false.
 W_EndOfRisingMarket(_data) 
  Determines if there is a sign of weakness (End of Rising Market).
  Parameters:
     _data (map) : (map) The data map with volume and spread levels.
  Returns: (bool) True if there is a sign of weakness (End of Rising Market), otherwise false.
 W_PseudoUpThrust(_bearPinBarMaxBody, _bearPinBarMinWick) 
  Determines if there is a sign of weakness (Pseudo UpThrust).
  Parameters:
     _bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
     _bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
  Returns: (bool) True if there is a sign of weakness (Pseudo UpThrust), otherwise false.
 W_NoDemand(_bearPinBarMaxBody, _bearPinBarMinWick) 
  Determines if there is a sign of weakness (No Demand).
  Parameters:
     _bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
     _bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
  Returns: (bool) True if there is a sign of weakness (No Demand), otherwise false.
 N_QuietDoji(_dojiBarMaxBody) 
  Determines if there is a neutral signal (Quiet Doji).
  Parameters:
     _dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
  Returns: (bool) True if there is a neutral signal (Quiet Doji), otherwise false.
 N_BalancedDoji(_data, _dojiBarMaxBody) 
  Determines if there is a neutral signal (Balanced Doji).
  Parameters:
     _data (map) : (map) The data map with volume and spread levels.
     _dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
  Returns: (bool) True if there is a neutral signal (Balanced Doji), otherwise false.
 N_StrongDoji(_dojiBarMaxBody) 
  Determines if there is a neutral signal (Strong Doji).
  Parameters:
     _dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
  Returns: (bool) True if there is a neutral signal (Strong Doji), otherwise false.
 N_QuietSpinningTop(_spinningTopBarMinWicks, _spinningTopBarEmaLength) 
  Determines if there is a neutral signal (Quiet Spinning Top).
  Parameters:
     _spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
     _spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
  Returns: (bool) True if there is a neutral signal (Quiet Spinning Top), otherwise false.
 N_BalancedSpinningTop(_data, _spinningTopBarMinWicks, _spinningTopBarEmaLength) 
  Determines if there is a neutral signal (Balanced Spinning Top).
  Parameters:
     _data (map) : (map) The data map with volume and spread levels.
     _spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
     _spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
  Returns: (bool) True if there is a neutral signal (Balanced Spinning Top), otherwise false.
 N_StrongSpinningTop(_spinningTopBarMinWicks, _spinningTopBarEmaLength) 
  Determines if there is a neutral signal (Strong Spinning Top).
  Parameters:
     _spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
     _spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
  Returns: (bool) True if there is a neutral signal (Strong Spinning Top), otherwise false.
 N_QuietHighWave(_highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars) 
  Determines if there is a neutral signal (Quiet High Wave).
  Parameters:
     _highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
     _highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
     _highWaveBarBars (simple int) : (int) The number of bars for comparison.
  Returns: (bool) True if there is a neutral signal (Quiet High Wave), otherwise false.
 N_BalancedHighWave(_data, _highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars) 
  Determines if there is a neutral signal (Balanced High Wave).
  Parameters:
     _data (map) : (map) The data map with volume and spread levels.
     _highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
     _highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
     _highWaveBarBars (simple int) : (int) The number of bars for comparison.
  Returns: (bool) True if there is a neutral signal (Balanced High Wave), otherwise false.
 N_StrongHighWave(_highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars) 
  Determines if there is a neutral signal (Strong High Wave).
  Parameters:
     _highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
     _highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
     _highWaveBarBars (simple int) : (int) The number of bars for comparison.
  Returns: (bool) True if there is a neutral signal (Strong High Wave), otherwise false.
 N_Consolidation(_data, _consolidationBarSpread, _consolidationBarBars) 
  Determines if there is a neutral signal (Consolidation).
  Parameters:
     _data (map) : (map) The data map with volume and spread levels.
     _consolidationBarSpread (simple float) : (float) The spread percentage for consolidation bar.
     _consolidationBarBars (simple int) : (int) The number of bars for comparison.
  Returns: (bool) True if there is a neutral signal (Consolidation), otherwise false.























