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.
Wyckoff
NY 4H Wyckoff State Machine [CHE] NY 4H Wyckoff State Machine — Full (Re-Entry, Breakout, Wick, Re-Accum/Distrib, Dynamic Table) — One-Candle Wyckoff Re-Entry (OCWR)
Summary
OCWR operationalizes a one-candle session workflow: mark the first four-hour New York candle, fix its high and low as the session range when the window closes, and drive entries through a Wyckoff-style state machine on intraday bars. The script adds an ATR-scaled buffer around the range and requires multi-bar acceptance before treating breaks or re-entries as valid. Optional wick-cluster evidence, a proximity retest, and simple volume or RSI gates increase selectivity. Background tints expose regimes, shapes mark events, a dynamic table explains the current state, and hidden plots supply alert payloads. The design reduces random flips and makes state transitions auditable without higher-timeframe calls.
Origin and name
Method name: One-Candle Wyckoff Re-Entry (OCWR)
Transcript origin: The source idea is a “stupid simple one-candle scalping” routine: mark the first New York four-hour candle (commonly between one and five in the morning New York time), drop to five minutes, observe accumulation inside, wait for a manipulation move outside, then trade the re-entry back inside. Stops go beyond the excursion extreme; targets are either a fixed reward multiple or the opposite side of the range. Preference is given to several manipulation candles. This indicator codifies that workflow with explicit states, acceptance counters, buffers, and optional quality filters. Any external performance claims are not part of the code.
Motivation: Why this design?
Session levels are widely respected, yet single-bar breaches around them are noisy. OCWR separates range discovery from trade logic. It locks the range at the end of the window, applies an ATR-scaled buffer to ignore marginal oversteps, and requires acceptance over several bars for breaks and re-entries. Wick evidence and optional retest proximity help confirm that an excursion likely cleared liquidity rather than launched a trend. This yields cleaner transitions from test to commitment.
What’s different vs. standard approaches?
Baseline: Static session lines or one-shot Wyckoff tags without process control.
Architecture: Dual long and short state machines; ATR-buffered edges; multi-bar acceptance for breaks and re-entries; optional wick dominance and cluster checks; optional retest tolerance; direct and opposite breakout paths; cooldown after fires; distribution timeout; dynamic table with highlighted row.
Practical effect: Fewer single-bar head-fakes, clearer hand-offs, and on-chart explanations of the machine’s view.
Wyckoff structure by example — OCWR on five minutes
One-candle setup:
On the four-hour chart, mark the first New York candle’s high and low, then switch to five minutes. Solid lines show the fixed range; dashed lines show ATR-buffered edges.
Long path (verbal mapping):
Phase A, Stopping Action: Price stabilizes inside the range.
Phase B, Consolidation: Sustained balance while the window is closed and after the range is fixed.
Phase C, Test (Spring): Excursion below the buffered low with preference for several outside bars and dominant lower wicks, then a return inside.
Re-entry acceptance: A required run of inside bars validates the test.
Phase D, Breakout to Markup: Long signal fires; stop beyond the excursion extreme; objective is the opposite range or a fixed reward multiple.
Phase E, Trend (Markup) and Re-Accumulation: Advance continues until target, stop, confirmation back against the box, or timeout. A pause inside trend may register as re-accumulation.
Short path mirrors the above: A UTAD-style move forms above the buffered high, then re-entry leads to Markdown and possible re-distribution.
Variant map (verbal):
Accumulation after a downtrend: with Spring and Test, or without Spring; both proceed to Markup and may pause in Re-Accumulation.
Distribution after an uptrend: with UTAD and Test, or without UTAD; both proceed to Markdown and may pause in Re-Distribution.
Note: Phases A through E occur within each variant and are not separate variants.
How it works (technical)
Session window: A configurable four-hour New York window records its high and low. At window end, the bounds are fixed for the session.
ATR buffer: A margin above and below the fixed range discourages triggers from tiny oversteps.
Inside and outside: Users choose close-based or wick-based detection. Overshoot requirements are expressed verbally as a fraction of the range with an optional absolute minimum.
Manipulation tracking: The machine counts bars spent outside and records the side extreme.
Re-entry acceptance: After a return inside, a specified number of inside bars must print before acceptance.
Direct and opposite breakouts: Direct breakouts from accumulation and opposite breakouts after manipulation are supported, subject to acceptance and optional filters.
Targets and exits: Choose the opposite boundary or a fixed reward multiple. Distribution ends on target, stop, confirmation back against the range, or timeout.
Context filters (optional): Volume above a scaled SMA, RSI thresholds, and a trend SMA for simple regime context.
Diagnostics: Background tints for regimes; arrows for re-entries; triangles for breakouts; table with row highlights; hidden plots for alert values.
Central table (Wyckoff console)
The table sits top-right and explains the machine’s stance. Columns: Structure label, plain-English description, active state pair for long and short, and human phase tags. Rows: Start and range building; accumulation branch with Spring and Test as well as direct breakout; Markup and re-accumulation; distribution branch with UTAD and Test as well as direct short breakout; Markdown and re-distribution. Only the active state cell is rewritten each last bar, for example “L_ACCUM slash S_ACCUM”. Row highlighting is context-aware: accumulation, Spring or UTAD, breakout, Markup or Markdown, and re-accumulation or re-distribution checks can highlight independently so users see simultaneous conditions. The table is created once, updated only on the last bar for efficiency, and functions as a read-only console to audit why a signal fired and where the path currently sits.
Parameter Guide
Session window and time zone: First four hours of New York by default; time zone “America/New_York”.
ATR length and buffer factor: Control buffer size; larger reduces sensitivity, smaller reacts faster.
Minimum overshoot (fraction and absolute): Demand meaningful extension beyond the buffer.
Break mode: Close-based is stricter; wick-based is more reactive.
Acceptance counts: Separate counts for break, re-entry, and opposite breakout; higher values reduce noise.
Minimum bars outside: Ensures manipulation is not a single spike.
Wick detection and clusters (optional): Dominance thresholds and cluster size within a short window.
Retest required and tolerance (optional): Gate re-entry by proximity to the buffered edge.
Volume and RSI filters (optional): Simple gates on activity and momentum.
TP mode and reward multiple: Opposite range or fixed multiple.
Cooldown and distribution timeout: Rate-limit signals and prevent endless distribution.
Visualization toggles: Background phases, labels, table, and helper lines.
Reading & Interpretation
Solid lines are the fixed session bounds; dashed lines are buffers. Backgrounds tint accumulation, manipulation, and distribution. Arrows show accepted re-entries; triangles show direct or opposite breakouts. Labels can summarize entry, stop, target, and risk. The table highlights the active row and the current state pair.
Practical Workflows & Combinations
OCWR baseline: Each morning, mark the New York four-hour candle, move to five minutes, prefer multi-bar manipulation outside, then wait for a qualified re-entry inside. Stop beyond the excursion extreme. Target the opposite range for conservative management or a fixed multiple for uniform sizing.
Trend following: Favor direct breakouts with trend alignment and no contradictory wick evidence.
Quality control: When noise rises, increase acceptance, raise the buffer factor, enable retest, and require wick clusters.
Discretionary confluences: Fair-value gaps and trend lines can be added by the user; they are not computed by this script.
Behavior, Constraints & Performance
Closed-bar confirmation is recommended when you require finality; live-bar conditions can change until close. The script does not call higher-timeframe data. It uses arrays, lines, labels, boxes, and a table; maximum bars back is five thousand; table updates are last-bar only. Known limits include compressed buffers in quiet sessions, unreliable wick evidence in thin markets, and session misalignment if the platform time zone is not New York.
Sensible Defaults & Quick Tuning
Start with ATR length fourteen, buffer factor near zero point fifteen, overshoot fraction near zero point ten, acceptance counts of two, minimum outside duration three, retest required on.
Too many flips: increase acceptance, raise buffer, enable retest, and tighten wick thresholds.
Too slow: reduce acceptance, lower buffer, switch to wick-based breaks, disable retest.
Noisy wicks: increase minimum wick ratio and cluster size, or disable wick detection.
What this indicator is—and isn’t
A session-anchored visualization and signal layer that formalizes a Wyckoff-style re-entry and breakout workflow derived from a single four-hour New York candle. It is not predictive and not a complete trading system. Use with structure analysis, risk controls, and position management.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
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
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.
Silent Trigger Silent Trigger combines widely used concepts under one scoring engine. Each module adds weight only when its conditions are met:
1. Higher-Timeframe (HTF) context
• Requests 1H and the next HTF up (e.g., 4H/D) with request.security(...) on confirmed bars only.
• Uses RSI(14) and a MACD line (EMA12–EMA26 difference) for bias.
• By default HTF weights the score. There is an option to require HTF alignment if you prefer a hard filter.
2. Market regime
• ADX for trend strength.
• Bollinger Band width and a fractal-energy proxy to detect squeeze/coiling vs expansion.
3. Smart-money / Wyckoff structure
• High-volume narrow bars, absorption, spring/upthrust, and liquidity grabs past recent swing highs/lows.
4. Momentum & divergences
• RSI and MACD-line divergences (regular + hidden) and simple exhaustion checks.
5. Fair Value Gaps (FVG)
• 3-bar gap with mid-gap revisit confirmation.
6. Volume context
• Relative volume and a compact 10-bin rolling volume profile to locate HVN proximity.
7. Sessions / time filter
• Optional London/NY “kill zone” participation filter.
8. Correlation (optional)
• Simple BTC trend check for USD-quoted markets.
Pre-Move (yellow) logic:
Triggers only when the market is compressed (squeeze/low fractal energy), ADX is rising, the MACD histogram is near zero (pressure building), and there is a money-flow impulse (MFI slope and/or OBV Z-score spike).
The yellow diamond is plotted on the side of the expected move:
• Below for bullish reversals / Above for bullish breakouts.
• Above for bearish reversals / Below for bearish breakouts.
A built-in cooldown keeps yellows from spamming.
⸻
What appears on the chart
• Bull diamond (green): Total score ≥ your threshold and > bear score.
• Bear diamond (magenta): Mirror of the above.
• Pre-move (yellow): Early heads-up; use it with HTF context and structure.
All diamonds are intentionally tiny to minimize clutter.
⸻
Key settings
• Signal Mode & Min Probability – tighten/loosen confirmations.
• Use Higher TF in Scoring – soft weighting (default).
• Require HTF Alignment – optional hard gate.
• Module toggles – Smart Money, Wyckoff, FVG, Correlation, Sessions.
• Pre-Move – enable, cooldown bars, MFI levels, OBV Z-score threshold.
⸻
How to use (practical)
1. Choose a TF that matches your style (5–15m intraday, 1H–4H swing).
2. Read HTF bias first; trade in that direction unless structure clearly supports a reversal.
3. Treat yellow as “get ready.” Act only when a green/magenta prints with structure (S/R, FVG, HVN) and acceptable risk.
4. Place stops beyond the liquidity level or FVG midpoint; size positions conservatively.
⸻
Repainting & HTF policy
• No lookahead is used anywhere.
• request.security is called on confirmed bars; the HTF MACD line is computed inside the HTF context (single series), not by indexing a tuple.
• Signals are designed for bar-close confirmation. Intra-bar alerts can change until the bar closes.
⸻
Limitations (honest)
• Money-flow features depend on volume quality; thin/synthetic volume reduces reliability.
• Pre-moves can fail during unscheduled news shocks or when HTF trend is dominant.
• This is not financial advice. You are responsible for entries, exits, and risk.
⸻
Alerts
Built-in bull/bear alerts include direction and a probability bucket (Basic/Moderate/Strong/Extreme).
Pre-move yellows are primarily visual; you can still set an alert on their plot condition if desired.
⸻
Why this isn’t a “mashup”
• A single probability engine blends HTF bias, structure (liquidity/Wyckoff/FVG), regime, and volume into a score, rather than stacking unrelated indicators.
• A pre-move detector that requires compression + rising trend energy + money-flow impulse, and places the marker on the side of the expected move, with cooldown control.
• A lightweight rolling HVN check to bias continuation vs mean-reversion near key nodes.
⸻
Changelog (summary)
• Current release: pre-move module, HTF hard-gate option, tiny diamonds, clarified HTF/no-repaint policy, session filter tidy-up.
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."
Smarter Money Concepts - Wyckoff Springs & Upthrusts [PhenLabs]📊Smarter Money Concepts - Wyckoff Springs & Upthrusts
Version: PineScript™v6
📌Description
Discover institutional manipulation in real-time with this advanced Wyckoff indicator that detects Springs (accumulation phases) and Upthrusts (distribution phases). It identifies when price tests support or resistance on high volume, followed by a strong recovery, signaling potential reversals where smart money accumulates or distributes positions. This tool solves the common problem of missing these subtle phase transitions, helping traders anticipate trend changes and avoid traps in volatile markets.
By combining volume spike detection, ATR-normalized recovery strength, and a sigmoid probability model, it filters out weak signals and highlights only high-confidence setups. Whether you’re swing trading or day trading, this indicator provides clear visual cues to align with institutional flows, improving entry timing and risk management.
🚀Points of Innovation
Sigmoid-based probability threshold for signal filtering, ensuring only statistically significant Wyckoff patterns trigger alerts
ATR-normalized recovery measurement that adapts to market volatility, unlike static recovery checks in traditional indicators
Customizable volume spike multiplier to distinguish institutional volume from retail noise
Integrated dashboard legend with position and size options for personalized chart visualization
Hidden probability plots for advanced users to analyze underlying math without chart clutter
🔧Core Components
Support/Resistance Calculator: Scans a user-defined lookback period to establish dynamic levels for Spring and Upthrust detection
Volume Spike Detector: Compares current volume to a 10-period SMA, multiplied by a configurable factor to identify significant surges
Recovery Strength Analyzer: Uses ATR to measure price recovery after breaks, normalizing for different market conditions
Probability Model: Applies sigmoid function to combine volume and recovery data, generating a confidence score for each potential signal
🔥Key Features
Spring Detection: Spots accumulation when price dips below support but recovers strongly, helping traders enter longs at potential bottoms
Upthrust Detection: Identifies distribution when price spikes above resistance but falls back, alerting to possible short opportunities at tops
Customizable Inputs: Adjust lookback, volume multiplier, ATR period, and probability threshold to match your trading style and market
Visual Signals: Clear + (green) and - (red) labels on charts for instant recognition of accumulation and distribution phases
Alert System: Triggers notifications for signals and probability thresholds, keeping you informed without constant monitoring
🎨Visualization
Spring Signal: Green upward label (+) below the bar, indicating strong recovery after support break for accumulation
Upthrust Signal: Red downward label (-) above the bar, showing failed breakout above resistance for distribution
Dashboard Legend: Customizable table explaining signals, positioned anywhere on the chart for quick reference
📖Usage Guidelines
Core Settings
Support/Resistance Lookback
Default: 20
Range: 5-50
Description: Sets bars back for S/R levels; lower for recent sensitivity, higher for stable long-term zones – ideal for spotting Wyckoff phases
Volume Spike Multiplier
Default: 1.5
Range: 1.0-3.0
Description: Multiplies 10-period volume SMA; higher values filter to significant spikes, confirming institutional involvement in patterns
ATR for Recovery Measurement
Default: 5
Range: 2-20
Description: ATR period for recovery strength; shorter for volatile markets, longer for smoother analysis of post-break recoveries
Phase Transition Probability Threshold
Default: 0.9
Range: 0.5-0.99
Description: Minimum sigmoid probability for signals; higher for strict filtering, ensuring only high-confidence Wyckoff setups
Display Settings
Dashboard Position
Default: Top Right
Range: Various positions
Description: Places legend table on chart; choose based on layout to avoid overlapping price action
Dashboard Text Size
Default: Normal
Range: Auto to Huge
Description: Adjusts legend text; larger for visibility, smaller for minimal space use
✅Best Use Cases
Swing Trading: Identify Springs for long entries in downtrends turning to accumulation
Day Trading: Catch Upthrusts for short scalps during intraday distribution at resistance
Trend Reversal Confirmation: Use in conjunction with other indicators to validate phase shifts in ranging markets
Volatility Plays: Spot signals in high-volume environments like news events for quick reversals
⚠️Limitations
May produce false signals in low-volume or sideways markets where volume spikes are unreliable
Depends on historical data, so performance varies in unprecedented market conditions or gaps
Probability model is statistical, not predictive, and cannot account for external factors like news
💡What Makes This Unique
Probability-Driven Filtering: Sigmoid model combines multiple factors for superior signal quality over basic Wyckoff detectors
Adaptive Recovery: ATR normalization ensures reliability across assets and timeframes, unlike fixed-threshold tools
User-Centric Design: Tooltips, customizable dashboard, and alerts make it accessible yet powerful for all trader levels
🔬How It Works
Calculate S/R Levels:
Uses the highest high and the lowest low over the lookback period to set dynamic zones
Establishes baseline for detecting breaks in Wyckoff patterns
Detect Breaks and Recovery:
Checks for price breaking support/resistance, then recovering on volume
Measures recovery strength via ATR for volatility adjustment
Apply Probability Model:
Combines volume spike and recovery into a sigmoid function for confidence score
Triggers signal only if above threshold, plotting visuals and alerts
💡Note:
For optimal results, combine with price action analysis and test settings on historical charts. Remember, Wyckoff patterns are most effective in trending markets – use lower probability thresholds for practice, then increase for live trading to focus on high-quality setups.
[CRTT] SonicR & Wyckoff phases detectionA trend detection based on Wyckoff method to identify phases as trend of the market and using SonicR system to find entries.
Based on Wyckoff theory, we have around 5 phases: A, B, C, D, E...and the colors of SonicR Dragon bands (EMA34) are used to detect the phases. Red and Blue are 2 colors for downtrend / Green and Purple are uptrend.
With the Red and Green colors, we are in phase |B| or |D|.
With the Purple and Blue colors, we are in phase |D| or |E|.
After trend detection, we will use SonicR system to get the entries.
Open Short positions when price retest Dragon band (EMA34) then go down (confirmation).
Open Long posotions when price retest Dragon band (EMA34) then go up (confirmation).
[CRTT] Dragon TrendModified Sonic R system based on Wyckoff logic to indicate current trend phase and strength based on the Dragon (EMA34) color.
1. Red : downtrend but the trend strength is weak and can be consider as phase |B| or |D|. Open positions in this color is risk, we should wait more.
2. Green : uptrend but the trend strength is weak and can be consider as phase |B| or |D|. Open positions in this color is risk, we should wait more.
3. Purple : uptrend and the strength of trend is strongly bullish that can be considered as phase |D| or |E| in accumulation phase. This is where we place our Long positions because the trend is strongly bullish and price could continue to run upward.
4. Blue : downtrend and the strength of trend is strongly bearish that can be considered as phase |D| or |E| in distribution phase. This is where we place our Short positions because the trend is strongly bearish and price could continue to run downward.
CYCLE BY RiotWolftradingDescription of the "CYCLE" Indicator
The "CYCLE" indicator is a custom Pine Script v5 script for TradingView that visualizes cyclic patterns in price action, dividing the trading day into specific sessions and 90-minute quarters (Q1-Q4). It is designed to identify and display market phases (Accumulation, Manipulation, Distribution, and Continuation/Reversal) along with key support and resistance levels within those sessions. Additionally, it allows customization of boxes, lines, labels, and colors to suit user preferences.
Main Features
Cycle Phases:
Accumulation (1900-0100): Represents the phase where large operators accumulate positions.
Manipulation (0100-0700): Identifies potential manipulative moves to mislead retail traders.
Distribution (0700-1300): The phase where large operators distribute their positions.
Continuation/Reversal (1300-1900): Indicates whether the price continues the trend or reverses.
90-Minute Quarters (Q1-Q4):
Divides each 6-hour cycle (360 minutes) into four 90-minute quarters (Q1: 00:00-01:30, Q2: 01:30-03:00, Q3: 03:00-04:30, Q4: 04:30-06:00 UTC).
Each quarter is displayed with a colored box (Q1: light purple, Q2: light blue, Q3: light gray, Q4: light pink) and labels (defaulted to black).
Support and Resistance Visualization:
Draws boxes or lines (based on settings) showing the high and low levels of each session.
Optionally displays accumulated volume at the highs and lows within the boxes.
Daily Lines and Last 3 Boxes:
How to Use the Indicator
Step 1: Add the Indicator to TradingView
Open TradingView and select the chart where you want to apply the indicator (e.g., UMG9OOR on a 5-minute timeframe, as shown in the screenshot).
Go to the Pine Editor (at the bottom of the TradingView interface).
Copy and paste the provided code.
Click Compile and then Add to Chart.
Step 2: Configure the Indicator
Click on the indicator name on the chart ("CYCLE") and select Settings (or double-click the name).
Adjust the options based on your needs:
Cycle Phases: Enable/disable phases (Accumulation, Manipulation, Distribution, Continuation/Reversal) and adjust their time slots if needed.
90-Minute Quarters: Enable/disable quarters (Q1-Q4).
Step 3: Interpret the Indicator
Identify Cycle Phases:
Observe the red boxes indicating the phases (Accumulation, Manipulation, etc.).
The high and low levels within each phase are potential support/resistance zones.
If volume is enabled, pay attention to the accumulated volume at highs and lows, as it may indicate the strength of those levels.
Use the 90-Minute Quarters (Q1-Q4):
The colored boxes (Q1-Q4) divide the day into 90-minute segments.
Each quarter shows the price range (high and low) during that period.
Use these boxes to identify price patterns within each quarter, such as breakouts or consolidations.
The labels (Q1, Q2, etc.) help you track time and anticipate potential moves in the next quarter.
Analyze Support and Resistance:
The high and low levels of each phase/quarter act as support and resistance.
Daily lines (if enabled) show key levels from the previous day, useful for planning entries/exits.
The "last 3 boxes below price" (if enabled) highlight potential support levels the price might target.
Avoid Manipulation:
During the Manipulation phase (0100-0700), be cautious of sharp moves or false breakouts.
Use the high/low levels of this phase to identify potential traps (as explained in your first question about manipulation candles).
Step 4: Trading Strategy
Entries and Exits:
Support/Resistance: Use the high/low levels of phases and quarters to set entry or exit points.
For example, if the price bounces off a Q1 support level, consider a buy.
Breakouts: If the price breaks a high/low of a quarter (e.g., Q2), wait for confirmation to enter in the direction of the breakout.
Volume: If accumulated volume is high near a key level, that level may be more significant.
Risk Management:
Place stop-loss orders below lows (for buys) or above highs (for sells) identified by the indicator.
Avoid trading during the Manipulation phase unless you have a specific strategy to handle false breakouts.
Time Context:
Use the quarters (Q1-Q4) to plan your trades based on time. For example, if Q3 is typically volatile in your market, prepare for larger moves between 03:00-04:30 UTC.
Step 5: Adjustments and Testing
Test on Different Timeframes: The indicator is set for a 5-minute timeframe (as in the screenshot), but you can test it on other timeframes (e.g., 1-minute, 15-minute) by adjusting the time slots if needed.
Adjust Colors and Styles: If the default colors are not visible on your chart, change them for better clarity.
---
📌 1. **Accumulation: Strong Institutional Activity**
- During the **accumulation phase, we see **high volume: 82.773K, which suggests strong buying interest**, likely from institutional players.
- This sets the base for the following upward move in price.
---
📌 2. **Manipulation: False Breakout with Lower Volume**
- Later, there's a manipulation phase where price breaks above previous highs, but the volume (71.814K) is **lower than during accumulation**.
- This implies that buyers are not as aggressive as before—no real demandbehind the breakout.
- It’s likely a bull trap, where smart money is selling into the breakout to exit their positions.
---
### 📌 3. Distribution: Weakness and Lack of Demand
- The market enters a distribution phase, and volume drops even further (only 7.914K).
- Price struggles to go higher, and you start seeing rejections at the top.
- This shows that demand is drying up, and smart money is offloading positions**—not accumulating anymore.
---
### 💡 Why Take the Short Here?
- Volume is not increasing with new highs—showing weak demand**.
- The manipulation volume is weaker than the accumulation volume, confirming the breakout was likely false.
- Structure starts to break down (Q levels falling), which confirms weakness.
- This creates a high-probability short setup:
- **Entry:** after confirmation of distribution and structural breakdown.
- **Stop loss:** above the manipulation high.
- **Target:** down toward previous lows or value zones.
---
### ✅ Conclusion
Since the manipulation volume failed to exceed the accumulation volume, the breakout lacked real strength. Combined with decreasing volume in the distribution phase, this indicates fading demand and supply taking control—which justifies entering a short position.
Wyckoff Schematic - Accumulation [TrendX_]Wyckoff Schematic 1 - Accumulation is an advanced Wyckoff method tool on TradingView, designed to automate the identification of critical phases and price structures within the Wyckoff Accumulation Schematic. By detecting key events such as SC (Selling Climax), AR (Automatic Rally), Spring, and SOS (Sign of Strength), this tool helps traders visualize institutional accumulation patterns, anticipate trend reversals, and identify potential entry points aligned with the Wyckoff model—all without requiring hours of manual monitoring. The indicator dynamically labels key points, draws accumulation zones, and triggers alerts upon phase confirmations, reducing manual analysis and emotional bias.
💎 FEATURES
▶ Phase A: Bottom Identification
Auto-detects Selling Climax (SC), Automatic Rally (AR), and Secondary Test (ST).
Customizable initial trend detection: FTD (Follow-Through Day), Market Structure Shift, Triple MA Crossover, or Ichimoku Cloud.
▶ Phase B: Accumulation Range Formation
Identifies SOS(b) and ST(b) in Phase B
Customizable sweep levels for ST detection: previous SC / ST(a) / Fibonacci retracement levels of AR & SC.
▶ Phase C: Accumulation Confirmation
Flags Spring (false breakdown) and Test (confirmation of false breakdown).
▶ Phase D: Breakout Preparation
Detects SOS and BU/LPS for breakout confirmation.
▶ Visual Tools
Auto-draws accumulation range SC, AR, SOS(b) with real-time extensions.
Labels all critical events (SC, AR, ST, SOS, Spring, LPS) with text and markers.
Draws colored boxes for confirmed phases A, B and C, and triggers alerts for start of Markup with SOS and BU/LPS.
🔎 BREAKOUT
Phase A: Halting the Downtrend
▶ Key Events: SC, AR, ST(a).
▶ Functions:
SC: Marks panic selling, often with high volume.
AR: Sharp rebound after SC, reflecting short-term demand.
ST(a): Retest of SC lows to confirm weakening supply.
▶ Importance:
Phase A signals the end of a downtrend. The SC shows exhaustion, while the AR and ST confirm that sellers are losing control. Customizable trend detection (e.g., Ichimoku Cloud or FTD) ensures alignment with broader market context or your preference.
Phase B: Building the Accumulation Range
▶ Key events: SOS (Pha B), ST (Pha B).
▶ Functions:
SOS(b): A rally breaking above the AR, indicating strong demand.
ST(b): Retests of SC / ST(a) / Fib level to sweep liquidity (trap late sellers).
▶ Importance:
Phase B confirms the sideways range. SOS reflects institutional buying, while ST(b) traps sellers. Sweeping SC / ST(a) / Fib level would help identify false breakdowns.
Phase C: Spring & Test
▶ Key events: Spring (false breakdown), Test (confirmation).
▶ Functions:
Spring: A deliberate drop below Phase B support to eliminate weak traders.
Test: Retest of the Spring low to confirm sustained demand.
▶ Importance:
Phase C is the final "shakeout" to confirm accumulation. The Spring traps weak hands, while the Test validates support, confirming the institution has bought enough, signaling readiness for Markup.
Phase D: Breakout / Start of Markup
▶ Key events: SOS, BU/LPS.
▶ Functions:
SOS: A strong rally breaking above the accumulation range.
BU/LPS: Pullback after SOS to retest the breakout level.
▶ Importance:
Phase D confirms the start of a Markup. SOS shows demand overpowering supply, while BU/LPS offers low-risk entry points.
Accumulation Range & Visual Tools
▶ Accumulation Range: Drawn between SC (low) and AR (high), reflecting institutional buying activity.
▶ Labels/Boxes: Clear labels (SC, AR, ST, SOS, Spring, …) track each phase.
▶ Alerts: Notifies users when SOS or BU/LPS appears.
🛠️ USAGE
▶ Configuration
Phase A: Select trend detection method based on your preference and trading style (FTD, Market Structure, Triple MA, Mây Ichimoku).
Phase B: Adjust sweep levels (SC, ST(a), Fibonacci 61.8% của AR & SC).
▶ Interpretation
Bullish Trend: Confirmed Phase C (Spring + Test) followed by SOS in Phase D.
▶ Trading Strategy
Enter long positions at BU/LPS (Phase D) with volume or momentum confirmation.
Uses other Break-out strategy after SOS appear for Long Entry.
DISCLAIMER
This indicator is not financial advice, it can only help traders make better decisions. There are many factors and uncertainties that can affect the outcome of any endeavor, and no one can guarantee or predict with certainty what will occur. Therefore, one should always exercise caution and judgment when making decisions based on past performance.
Wyckoff Event Detection [Alpha Extract]Wyckoff Event Detection
A powerful and intelligent indicator designed to detect key Wyckoff events in real time, helping traders analyze market structure and anticipate potential trend shifts. Using volume and price action, this script automatically identifies distribution and accumulation phases, providing traders with valuable insights into market behavior.
🔶 Phase-Based Detection
Utilizes a phase detection algorithm that evaluates price and volume conditions to identify accumulation (bullish) and distribution (bearish) events. This method ensures the script effectively captures major market turning points and avoids noise.
🔶 Multi-Factor Event Recognition
Incorporates multiple event conditions, including upthrusts, selling climaxes, and springs, to detect high-probability entry and exit points. Each event is filtered through customizable sensitivity settings, ensuring precise detection aligned with different trading styles.
🔶 Customizable Parameters
Fine-tune event detection with adjustable thresholds for volume, price movement, trend strength, and event spacing. These inputs allow traders to personalize the script to match their strategy and risk tolerance.
// === USER INPUTS ===
i_volLen = input.int(20, "Volume MA Length", minval=1)
i_priceLookback = input.int(20, "Price Pattern Lookback", minval=5)
i_lineLength = input.int(15, "Line Length", minval=5)
i_labelSpacing = input.int(5, "Minimum Label Spacing (bars)", minval=1, maxval=20)
❓How It Works
🔶 Event Identification
The script scans for key Wyckoff events by analyzing volume spikes, price deviations, and trend shifts within a user-defined lookback period. It categorizes events into bullish (accumulation) or bearish (distribution) structures and plots them directly on the chart.
// === EVENT DETECTION ===
volMA = ta.sma(volume, i_volLen)
highestHigh = ta.highest(high, i_priceLookback)
lowestLow = ta.lowest(low, i_priceLookback)
🔶 Automatic Filtering & Cleanup
Unconfirmed or weak signals are filtered out using customizable strength multipliers and volume thresholds. Events that do not meet the minimum conditions are discarded to keep the chart clean and informative.
🔶 Phase Strength Analysis
The script continuously tracks bullish and bearish event counts to determine whether the market is currently in an accumulation, distribution, or neutral phase. This allows traders to align their strategies accordingly.
🔶 Visual Alerts & Labels
Detects and labels key Wyckoff events directly on the chart, providing immediate insights into market conditions:
- PSY (Preliminary Supply) and UT (Upthrust) for distribution phases.
- PS (Preliminary Support) and SC (Selling Climax) for accumulation phases.
- Labels adjust dynamically to avoid chart clutter and improve readability.
🔶 Entry & Exit Optimization
By highlighting supply and demand imbalances, the script assists traders in identifying optimal entry and exit points. Wyckoff concepts such as springs and upthrusts provide clear trade signals based on market structure.
🔶 Trend Confirmation & Risk Management
Observing how price reacts to detected events helps confirm trend direction and potential reversals. Traders can place stop-loss and take-profit levels based on Wyckoff phase analysis, ensuring strategic trade execution.
🔶 Table-Based Market Analysis (Table)
A built-in table summarizes:
- Market Phase: Accumulation, Distribution, or Neutral.
- Strength of Phase: Weak, Moderate, or Strong.
- Price Positioning: Whether price is near support, resistance, or in a trading range.
- Supply/Demand State: Identifies whether the market is supply or demand dominant.
🔶 Why Choose Wyckoff Market Phases - Alpha Extract?
This indicator offers a systematic approach to understanding market mechanics through the lens of Wyckoff's time-tested principles. By providing clear and actionable insights into market phases, it empowers traders to make informed decisions, enhancing both confidence and performance in various trading environments.
Auto Wyckoff Schematic [by DanielM]This indicator is designed to automatically detect essential components of Wyckoff schematics. This tool aims to capture the critical phases of liquidity transfer from weak to strong hands, occurring before a trend reversal. While the Wyckoff method is a comprehensive and a very nuanced approach, every Wyckoff schematic is unique, making it impractical to implement all its components without undermining the detection of the pattern. Consequently, this script focuses on the essential elements critical to identifying these schematics effectively.
Key Features:
Swing Detection Sensitivity:
The sensitivity of swing detection is adjustable through the input parameter. This parameter controls the number of past bars analyzed to determine swing highs and lows, allowing users to fine-tune detection based on market volatility and timeframes.
Pattern Detection Logic:
Accumulation Schematic:
Detects consecutive lower swing lows, representing phases like Selling Climax (SC) and Spring, which often precede a trend reversal upward. After the final low is identified, a higher high is detected to confirm the upward trend initiation.
Labeled Key Points:
SC: Selling Climax, marking the beginning of the accumulation zone.
ST: Secondary Test during the schematic.
ST(b): Secondary Test in phase B.
Spring: The lowest point in the schematic, signaling a final liquidity grab.
SOS: Sign of Strength, confirming a bullish breakout.
The schematic is outlined visually with a rectangle to highlight the price range.
Distribution Schematic:
Detects consecutive higher swing highs, which indicate phases such as Buying Climax (BC) and UTAD, often leading to a bearish reversal. After the final high, a lower low is detected to confirm the downward trend initiation.
Labeled Key Points:
BC: Buying Climax, marking the beginning of the distribution zone.
ST: Secondary Test during the schematic.
UT: Upthrust.
UTAD: Upthrust After Distribution, signaling the final upward liquidity grab before a bearish trend.
SOW: Sign of Weakness, confirming a bearish breakout.
The schematic is visually outlined with a rectangle to highlight the price range.
Notes:
Simplification for Practicality: Due to the inherent complexity and variability of Wyckoff schematics, the indicator focuses only on the most essential features—liquidity transfer and key reversal signals.
Limitations: The tool does not account for all components of Wyckoff's method (e.g., minor phases or nuanced volume analysis) to maintain clarity and usability.
Unique Behavior: Every Wyckoff schematic is different, and this tool is designed to provide a simplified, generalized approach to detecting these unique patterns.
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
XAMD/AMDX ICT 01 [TradingFinder] SMC Quarterly Theory Cycles🔵 Introduction
The XAMD/AMDX strategy, combined with the Quarterly Theory, forms the foundation of a powerful market structure analysis. This indicator builds upon the principles of the Power of 3 strategy introduced by ICT, enhancing its application by incorporating an additional phase.
By extending the logic of Power of 3, the XAMD/AMDX tool provides a more detailed and comprehensive view of daily market behavior, offering traders greater precision in identifying key movements and opportunities
This approach divides the trading day into four distinct phases : Accumulation (19:00 - 01:00 EST), Manipulation (01:00 - 07:00 EST), Distribution (07:00 - 13:00 EST), and Continuation or Reversal (13:00 - 19:00 EST), collectively known as AMDX.
Each phase reflects a specific market behavior, providing a structured lens to interpret price action. Building on the fractal nature of time in financial markets, the Quarterly Theory introduces the Four Quarters Method, where a currency pair’s price range is divided into quarters.
These divisions, known as quarter points, highlight critical levels for analyzing and predicting market dynamics. Together, these principles allow traders to align their strategies with institutional trading patterns, offering deeper insights into market trends
🔵 How to Use
The AMDX framework provides a structured approach to understanding market behavior throughout the trading day. Each phase has its own characteristics and trading opportunities, allowing traders to align their strategies effectively. To get the most out of this tool, understanding the dynamics of each phase is essential.
🟣 Accumulation
During the Accumulation phase (19:00 - 01:00 EST), the market is typically quiet, with price movements confined to a narrow range. This phase is where institutional players accumulate their positions, setting the stage for future price movements.
Traders should use this time to study price patterns and prepare for the next phases. It’s a great opportunity to mark key support and resistance zones and set alerts for potential breakouts, as the low volatility makes immediate trading less attractive.
🟣 Manipulation
The Manipulation phase (01:00 - 07:00 EST) is often marked by sharp and deceptive price movements. Institutions create false breakouts to trigger stop-losses and trap retail traders into the wrong direction. Traders should remain cautious during this phase, focusing on identifying the areas of liquidity where these traps occur.
Watching for price reversals after these false moves can provide excellent entry opportunities, but patience and confirmation are crucial to avoid getting caught in the manipulation.
🟣 Distribution
The Distribution phase (07:00 - 13:00 EST) is where the day’s dominant trend typically emerges. Institutions execute large trades, resulting in significant price movements. This phase is ideal for trading with the trend, as the market provides clearer directional signals.
Traders should focus on identifying breakouts or strong momentum in the direction of the trend established during this period. This phase is also where traders can capitalize on setups identified earlier, aligning their entries with the market’s broader sentiment.
🟣 Continuation or Reversal
Finally, the Continuation or Reversal phase (13:00 - 19:00 EST) offers a critical juncture to assess the market’s direction. This phase can either reinforce the established trend or signal a reversal as institutions adjust their positions.
Traders should observe price behavior closely during this time, looking for patterns that confirm whether the trend is likely to continue or reverse. This phase is particularly useful for adjusting open positions or initiating new trades based on emerging signals.
🔵 Settings
Show or Hide Phases.
Adjust the session times for each phase :
Accumulation: 19:00-01:00 EST
Manipulation: 01:00-07:00 EST
Distribution: 07:00-13:00 EST
Continuation or Reversal: 13:00-19:00 EST
Modify Visualization : Customize how the indicator looks by changing settings like colors and transparency.
🔵 Conclusion
AMDX provides traders with a practical method to analyze daily market behavior by dividing the trading day into four key phases: Accumulation, Manipulation, Distribution, and Continuation or Reversal. Each phase highlights specific market dynamics, offering insights into how institutional activity shapes price movements.
From the quiet buildup in the Accumulation phase to the decisive trends of the Distribution phase, and the critical transitions in Continuation or Reversal, this approach equips traders with the tools to anticipate movements and make informed decisions.
By recognizing the significance of each phase, traders can avoid common traps during Manipulation, capitalize on clear trends during Distribution, and adapt to changes in the final phase of the day.
The structured visualization of market phases simplifies decision-making for traders of all levels. By incorporating these principles into your trading strategy, you can enhance your ability to align with market trends, optimize entry and exit points, and achieve more consistent results in your trading journey.
Power Of 3 ICT 01 [TradingFinder] AMD ICT & SMC Accumulations🔵 Introduction
The ICT Power of 3 (PO3) strategy, developed by Michael J. Huddleston, known as the Inner Circle Trader, is a structured approach to analyzing daily market activity. This strategy divides the trading day into three distinct phases: Accumulation, Manipulation, and Distribution.
Each phase represents a unique market behavior influenced by institutional traders, offering a clear framework for retail traders to align their strategies with market movements.
Accumulation (19:00 - 01:00 EST) takes place during low-volatility hours, as institutional traders accumulate orders. Manipulation (01:00 - 07:00 EST) involves false breakouts and liquidity traps designed to mislead retail traders. Finally, Distribution (07:00 - 13:00 EST) represents the active phase where significant market movements occur as institutions distribute their positions in line with the broader trend.
This indicator is built upon the Power of 3 principles to provide traders with a practical and visual tool for identifying these key phases. By using clear color coding and precise time zones, the indicator highlights critical price levels, such as highs and lows, helping traders to better understand market dynamics and make more informed trading decisions.
Incorporating the ICT AMD setup into daily analysis enables traders to anticipate market behavior, spot high-probability trade setups, and gain deeper insights into institutional trading strategies. With its focus on time-based price action, this indicator simplifies complex market structures, offering an effective tool for traders of all levels.
🔵 How to Use
The ICT Power of 3 (PO3) indicator is designed to help traders analyze daily market movements by visually identifying the three key phases: Accumulation, Manipulation, and Distribution.
Here's how traders can effectively use the indicator :
🟣 Accumulation Phase (19:00 - 01:00 EST)
Purpose : Identify the range-bound activity where institutional players accumulate orders.
Trading Insight : Avoid placing trades during this phase, as price movements are typically limited. Instead, use this time to prepare for the potential direction of the market in the next phases.
🟣 Manipulation Phase (01:00 - 07:00 EST)
Purpose : Spot false breakouts and liquidity traps that mislead retail traders.
Trading Insight : Observe the market for price spikes beyond key support or resistance levels. These moves often reverse quickly, offering high-probability entry points in the opposite direction of the initial breakout.
🟣 Distribution Phase (07:00 - 13:00 EST)
Purpose : Detect the main price movement of the day, driven by institutional distribution.
Trading Insight : Enter trades in the direction of the trend established during this phase. Look for confirmations such as breakouts or strong directional moves that align with broader market sentiment
🔵 Settings
Show or Hide Phases :mDecide whether to display Accumulation, Manipulation, or Distribution.
Adjust the session times for each phase :
Accumulation: 1900-0100 EST
Manipulation: 0100-0700 EST
Distribution: 0700-1300 EST
Modify Visualization : Customize how the indicator looks by changing settings like colors and transparency.
🔵 Conclusion
The ICT Power of 3 (PO3) indicator is a powerful tool for traders seeking to understand and leverage market structure based on time and price dynamics. By visually highlighting the three key phases—Accumulation, Manipulation, and Distribution—this indicator simplifies the complex movements of institutional trading strategies.
With its customizable settings and clear representation of market behavior, the indicator is suitable for traders at all levels, helping them anticipate market trends and make more informed decisions.
Whether you're identifying entry points in the Accumulation phase, navigating false moves during Manipulation, or capitalizing on trends in the Distribution phase, this tool provides valuable insights to enhance your trading performance.
By integrating this indicator into your analysis, you can better align your strategies with institutional movements and improve your overall trading outcomes.
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.
Wyckoff Springs [QuantVue]The Wyckoff Springs indicator is designed to identify potential bullish reversal patterns known as "springs" in the Wyckoff Method. A Wyckoff spring occurs when the price temporarily dips below a support level, then quickly rebounds, suggesting a false breakdown and a
potential buying opportunity.
How it works:
Pivot detection:
The indicator identifies pivot lows based on the specified pivot length.
These pivot points are stored and analyzed for potential spring patterns.
Volume and Range Checks:
If volume confirmation is enabled, the indicator checks if the current volume exceeds a threshold based on the average volume over the specified period.
The indicator ensures that the price undercuts the defined trading range before confirming a spring pattern.
Spring Identification
The indicator checks for price conditions indicative of a Wyckoff spring: a temporary dip below a pivot low followed by a close above it. The recovery must take place within 3 bars.
If these conditions are met, a spring label is placed below the bar.
Features:
Pivot Length:
The user can set the pivot length to match any style of trading.
Volume Confirmation:
An optional feature where the user can specify if volume confirmation is required for a spring signal.
Volume threshold can be set to determine what constitutes significant volume compared to the average volume over a specified period. By default it is set to 1.5
How to Trade a Spring:
Give this indicator a BOOST and COMMENT your thoughts below!
We hope you enjoy.
Cheers!
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.
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






















