Effort-Result Divergence
Wyckoff-inspired tool comparing volume effort against price result for institutional activity detection.
Table of Contents
Overview
The Effort-Result Divergence (ERD) is a Wyckoff-inspired indicator that answers a critical question: "Is the volume (effort) producing proportional price movement (result)?"
This concept comes from Richard Wyckoff's analysis methodology. Wyckoff observed that when large players accumulate or distribute, volume patterns often diverge from price behavior. The ERD quantifies this relationship mathematically.
Core Concept
The indicator compares two normalized measurements:
- Effort — Current volume relative to average volume (how much energy is being expended)
- Result — Current price movement relative to ATR (how much the market actually moved)
ERD Score = Result - Effort
What It Tells You
- Positive ERD (Teal) — Result exceeds effort. Price moved significantly on relatively low volume. This is a "vacuum" condition — thin liquidity, easy movement.
- Negative ERD (Magenta) — Effort exceeds result. High volume produced little price movement. This is "absorption" — someone is absorbing the selling/buying pressure.
- Near Zero — Effort and result are balanced. Normal market conditions.
Why This Matters
Absorption is one of the most powerful signals in Wyckoff analysis. When heavy volume fails to move price, it often indicates:
- Institutional accumulation (absorbing selling pressure)
- Institutional distribution (absorbing buying pressure)
- Potential reversal zones forming
- Support/resistance being established
Vacuum conditions (positive ERD) reveal when markets can move easily — useful for breakout confirmation or identifying thin liquidity zones.
How It's Calculated
Understanding the calculation helps you interpret signals correctly and adjust settings for your market.
Step 1: Calculate Effort (Volume Normalized)
Effort measures how much volume is being expended relative to the norm:
Effort Ratio = Current Volume ÷ Average Volume (SMA) Effort (0-100) = (Effort Ratio ÷ Effort Cap) × 100
Example: If average volume is 1M shares and current volume is 2M, effort ratio = 2.0. With default effort cap of 3.0, this maps to 66.7 on the 0-100 scale.
Step 2: Calculate Result (Price Move Normalized)
Result measures how much price actually moved relative to typical volatility:
Price Move = |Close - Previous Close| Result Ratio = Price Move ÷ ATR Result (0-100) = (Result Ratio ÷ Result Cap) × 100
Example: If ATR is $2 and price moved $1.5, result ratio = 0.75. With default result cap of 1.0, this maps to 75 on the 0-100 scale.
Step 3: Calculate ERD Score
ERD = Result - Effort
Using the examples above: ERD = 75 - 66.7 = +8.3 (slight vacuum — result exceeded effort)
Step 4: Statistical Divergence Detection
To identify significant divergence events, ERD uses z-score analysis:
ERD Mean = SMA(ERD, Z-Score Lookback) ERD StdDev = Standard Deviation(ERD, Z-Score Lookback) Z-Score = (ERD - ERD Mean) ÷ ERD StdDev
Step 5: Flag Divergence Events
- Absorption Event: Z-Score ≤ -Threshold (significant negative divergence)
- Vacuum Event: Z-Score ≥ +Threshold (significant positive divergence)
Default threshold is 2.0 standard deviations — meaning these events are statistically significant (occurring roughly 5% of the time).
Input Settings
Core Settings
Volume Average Length (Default: 20)
Range: 5–200 bars
Lookback period for calculating average volume baseline.
- Lower values (5-10): More reactive to recent volume changes. Better for fast-moving markets or shorter timeframes.
- Default (20): Standard baseline that captures roughly one month of daily data or one trading day of hourly data.
- Higher values (50-100+): Smoother baseline, less sensitive to short-term volume spikes. Better for filtering noise.
ATR Length (Default: 14)
Range: 5–100 bars
Period for Average True Range calculation used to normalize price movement.
- Lower values: More responsive to recent volatility changes.
- Default (14): Industry standard ATR period.
- Higher values: Smoother volatility baseline.
Effort Cap (Default: 3.0)
Range: 0.5–10.0
The volume ratio that maps to 100 on the effort scale. When volume is 3× average, effort reads 100.
- Lower values: Volume spikes hit 100 faster. Use for low-volume markets where 2× is significant.
- Higher values: Allows for bigger volume spikes. Use for volatile markets with frequent high-volume bars.
Result Cap (Default: 1.0)
Range: 0.1–5.0
The ATR multiple that maps to 100 on the result scale. When price moves 1× ATR, result reads 100.
- Lower values: Smaller moves register as significant. Use for range-bound markets.
- Higher values: Only large moves register high. Use for trending markets with extended runs.
Divergence Detection
Z-Score Lookback (Default: 100)
Range: 20–500 bars
Lookback for calculating ERD mean and standard deviation for z-score analysis.
- Lower values (20-50): More frequent divergence signals, adapts faster to regime changes.
- Default (100): Balanced statistical significance.
- Higher values (200+): Fewer, more significant divergence signals. Better for identifying major institutional events.
Z-Score Threshold (Default: 2.0)
Range: 1.0–4.0
Standard deviations required to flag a divergence event.
- 1.0-1.5: More signals, but many may be noise.
- 2.0: Statistically significant (~5% occurrence rate).
- 2.5-3.0: High confidence signals only (~1-2% occurrence rate).
Visual Settings
Show ERD Histogram (Default: On)
Display the main ERD histogram. Teal bars for positive (vacuum), magenta for negative (absorption).
Show Zero Line (Default: On)
Display horizontal reference line at zero.
Show Divergence Markers (Default: On)
Display circle markers when absorption or vacuum events are detected based on z-score threshold.
Show Effort/Result Lines (Default: Off)
Display separate Effort (orange) and Result (blue) lines. Useful for understanding which component is driving ERD.
Reading the Indicator
Histogram Color Coding
- Teal Bars (Positive ERD): Result exceeds effort. Price moved easily — vacuum/thin liquidity.
- Magenta Bars (Negative ERD): Effort exceeds result. Volume failed to move price — absorption.
Understanding Absorption (Negative ERD)
When you see large magenta bars or absorption event markers:
At Support Levels
- Heavy selling volume, but price doesn't drop
- Suggests buying absorption — institutions accumulating
- Potential bullish reversal signal
At Resistance Levels
- Heavy buying volume, but price doesn't rise
- Suggests selling absorption — institutions distributing
- Potential bearish reversal signal
Understanding Vacuum (Positive ERD)
When you see large teal bars or vacuum event markers:
During Breakouts
- Price moves easily on relatively light volume
- Suggests thin liquidity in the direction of movement
- Breakout may extend further or reverse quickly (no support)
During Trends
- Efficient price movement — trend has room to run
- Low resistance to price advancement
Divergence Event Markers
Absorption Event (Magenta Circle)
Statistically significant effort > result divergence. High confidence institutional absorption detected.
Vacuum Event (Teal Circle)
Statistically significant result > effort divergence. Market moved on air — thin liquidity zone.
Component Lines Analysis
When "Show Effort/Result Lines" is enabled:
- Orange line (Effort) above Blue line (Result): Absorption conditions
- Blue line (Result) above Orange line (Effort): Vacuum conditions
- Lines crossing: Transition between regimes
Trading Applications
Reversal Detection at Key Levels
The most powerful ERD application is identifying institutional absorption at support/resistance:
Bullish Absorption Setup
- Price at or near support level
- ERD showing strong negative readings (magenta bars)
- Absorption event marker appears
- Interpretation: Heavy selling being absorbed. Look for bullish reversal.
Bearish Absorption Setup
- Price at or near resistance level
- ERD showing strong negative readings
- Absorption event marker appears
- Interpretation: Heavy buying being absorbed. Look for bearish reversal.
Breakout Confirmation
- Healthy Breakout: Moderate positive ERD — price moving with some volume support
- Unsustained Breakout Warning: Extreme positive ERD (vacuum) — price moving on air, may reverse
- Breakout Failure Warning: Breakout attempt with negative ERD — effort not producing result
Trend Quality Assessment
- Healthy Trend: ERD fluctuates around zero or slightly positive. Balanced effort and result.
- Climax Warning: Extreme positive ERD during trend. Price moving too easily — potential exhaustion.
- Accumulation in Trend: Negative ERD pullbacks during uptrend may indicate accumulation.
Combining with Other Indicators
ERD works best when combined with:
- Market Acceptance Zones: Identify key levels, then use ERD to detect absorption at those levels
- Market Efficiency Ratio: MER shows trend quality, ERD shows institutional activity
- Volume Profile: High volume nodes + ERD absorption = strong institutional interest
Position Management
- Entry: Look for absorption events at key support/resistance for reversal entries
- Exit: Watch for absorption against your position (e.g., selling absorption during longs)
- Stop Placement: Absorption zones often become support/resistance — place stops beyond them
Data Window Values
When "Show Data Window Values" is enabled, access these metrics by hovering over any bar:
Effort (0-100)
Normalized volume effort score. Shows how much volume is being expended relative to the average.
- 0-30: Below-average volume
- 30-70: Normal volume range
- 70-100: High volume (approaching or at effort cap)
Result (0-100)
Normalized price movement score. Shows how much price moved relative to ATR.
- 0-30: Small price movement (less than 0.3× ATR with default settings)
- 30-70: Moderate price movement
- 70-100: Large price movement (approaching or at result cap)
ERD Score
The difference between Result and Effort. Range is theoretically -100 to +100.
- Positive: Result exceeds effort (vacuum)
- Negative: Effort exceeds result (absorption)
- Near zero: Balanced conditions
Z-Score
Statistical measure of how unusual the current ERD reading is relative to recent history.
- ±1: Within normal range
- ±2: Unusual (default threshold for events)
- ±3: Very unusual
Absorption Event
Binary value: 1 = absorption event triggered, 0 = no event.
Use for scanning or alerts when significant effort > result divergence occurs.
Vacuum Event
Binary value: 1 = vacuum event triggered, 0 = no event.
Use for scanning or alerts when significant result > effort divergence occurs.
Common Mistakes
Mistake #1: Ignoring Context
Problem: Trading absorption signals without considering price location.
Result: Absorption in the middle of nowhere may just be consolidation, not reversal.
Solution: Only act on absorption signals at significant support/resistance levels, trend lines, or volume nodes.
Mistake #2: Confusing Direction
Problem: Assuming negative ERD (absorption) is bearish.
Result: Missing that absorption at support is actually bullish.
Solution: Remember — ERD measures effort vs result, not direction. Context determines bullish/bearish implications.
Mistake #3: Wrong Cap Settings
Problem: Using default effort/result caps on markets with different characteristics.
Result: ERD readings are always skewed one direction.
Solution: Observe your market. If effort rarely exceeds 50, lower the effort cap. If result regularly hits 100, raise the result cap.
Mistake #4: Over-Relying on Event Markers
Problem: Only looking for absorption/vacuum events, ignoring regular ERD readings.
Result: Missing gradual absorption patterns that don't trigger event thresholds.
Solution: Use event markers as confirmation, but watch the histogram for persistent patterns.
Mistake #5: Ignoring Volume Quality
Problem: Using ERD on assets with unreliable volume data (forex pairs on retail platforms, some CFDs).
Result: Effort calculation is based on tick volume, not actual volume, reducing reliability.
Solution: ERD works best on assets with real volume data: stocks, futures, crypto on major exchanges.
Mistake #6: Too Short Z-Score Lookback
Problem: Using z-score lookback of 20-30, generating frequent event signals.
Result: Events lose statistical significance; too many false positives.
Solution: Keep z-score lookback at 100+ for meaningful statistical signals. Lower only if you understand the trade-off.
Pro Tips
Tip #1: Look for Absorption Clusters
Single absorption bars can be noise. Multiple consecutive or clustered absorption readings at a level indicate genuine institutional activity.
Tip #2: Wyckoff Phases
ERD is particularly powerful during Wyckoff accumulation/distribution phases:
- Accumulation: Look for absorption during selling climax and tests
- Distribution: Look for absorption during buying climax and upthrusts
Tip #3: Use Component Lines for Analysis
Enable "Show Effort/Result Lines" to see exactly what's driving ERD. Sometimes result dropping causes positive ERD (low volatility), not volume dropping.
Tip #4: Vacuum After Absorption
A powerful pattern: Absorption at a level followed by vacuum in the breakout direction. This suggests institutions accumulated/distributed, then price moves easily once they're done.
Tip #5: Calibrate to Your Market
Spend time observing ERD on your specific market before trading it. Note:
- What effort/result readings are normal?
- What readings precede significant moves?
- How often do event markers occur?
Tip #6: Multi-Timeframe Confirmation
Absorption on a higher timeframe is more significant than on lower timeframes. Check for absorption on daily before trading reversals on hourly.
Tip #7: News and Events
ERD readings during major news can be distorted. High volume + high movement = balanced ERD, even though the move is significant. Consider the event context.
Tip #8: Divergence from Price
Watch for persistent absorption during price advances — institutions may be distributing into strength. This is a classic Wyckoff warning sign.
Ready to use this indicator?
Add it to your TradingView charts for free. No signup required. Start analyzing markets smarter today.
Open on TradingView