Volume Pressure OscillatorThe Volume Pressure Oscillator (VPO) is a momentum-based indicator that measures the directional pressure of cumulative volume delta (CVD) combined with price efficiency. It oscillates between 0 and 100, with readings above 50 indicating net buying pressure and readings below 50 indicating net selling pressure.
The indicator is designed to identify the strength and sustainability of volume-driven trends while remaining responsive during consolidation periods.
How the Indicator Works
The VPO analyzes volume flow by examining price action at lower timeframes to build a Cumulative Volume Delta (CVD). For each chart bar, the indicator looks at intrabar price movements to classify volume as either buying volume or selling volume. These classifications are accumulated into a running total that tracks net directional volume.
The indicator then measures the momentum of this CVD over both short-term and longer-term periods, providing responsiveness to recent changes while maintaining awareness of the broader trend. These momentum readings are normalized using percentile ranking, which creates a stable 0-100 scale that works consistently across different instruments and market conditions.
A key feature is the extreme zone persistence mechanism. When the indicator enters extreme zones (above 80 or below 20), it maintains elevated readings as long as volume pressure continues in the same direction. This allows the VPO to stay in extreme zones during strong trends rather than quickly reverting to neutral, making it useful for identifying sustained volume pressure rather than just temporary spikes.
What Makes This Indicator Different
While many indicators measure volume or volume delta, the VPO specifically measures how aggressively CVD is currently changing and whether that pressure is being sustained. It's the difference between knowing "more volume has accumulated on the buy side" versus "buying pressure is intensifying right now and shows signs of continuation."
1. Focus on CVD Momentum, Not CVD Levels
Most CVD indicators display the cumulative volume delta as a line that trends up or down indefinitely. The VPO is fundamentally different - it measures the slope of CVD rather than the absolute level. This transforms CVD from an unbounded cumulative metric into a bounded 0-100 oscillator that shows the intensity and direction of current volume pressure, not just the historical accumulation.
2. Designed to Stay in Extremes During Trends
Unlike traditional oscillators that treat extreme readings (above 80 or below 20) as overbought/oversold reversal signals, the VPO is engineered to oscillate within extreme zones during strong trends. When sustained buying or selling pressure exists, the indicator remains elevated (e.g., 80-95 or 5-20) rather than quickly reverting to neutral. This makes it useful for trend continuation identification rather than exclusively for reversal trading.
3. Percentile-Based Normalization
The VPO uses percentile ranking over a lookback window, which provides consistent behavior across different instruments, timeframes, and volatility regimes without constant recalibration.
4. Dual-Timeframe Momentum Synthesis
The indicator simultaneously considers short-term CVD momentum (responsive to recent changes) and longer-term CVD momentum (tracking trend direction), weighted and combined with a slow-moving trend bias. This multi-timeframe approach helps it stay responsive in ranging markets while maintaining context during trends.
How to Use the Indicator
Understanding the Zones:
80-100 (Strong Buying Pressure): CVD momentum is strongly positive. In trending markets, the indicator oscillates within this zone rather than immediately reverting to neutral. This suggests sustained accumulation and trend continuation probability.
60-80 (Moderate Buying): Positive volume pressure but not extreme. Suitable for identifying pullback entry opportunities within uptrends.
40-60 (Neutral Zone): Volume pressure is balanced or unclear. No strong directional edge from volume. Often seen during consolidation or trend transitions.
20-40 (Moderate Selling): Negative volume pressure developing. May indicate distribution or downtrend continuation setups.
0-20 (Strong Selling Pressure): CVD momentum is strongly negative. During downtrends, sustained readings in this zone suggest continued distribution and downside follow-through probability.
Practical Applications:
Trend Confirmation: When price makes new highs/lows, check if VPO confirms with similarly elevated readings. Divergences (price making new highs while VPO fails to reach prior highs) may indicate weakening momentum.
Range Trading: During consolidation, the VPO typically oscillates between 30-70. Readings toward the low end of the range (30-40) may present accumulation opportunities, while readings at the high end (60-70) may indicate distribution zones.
Extreme Persistence: If VPO reaches 90+ or drops below 10, this indicates exceptional volume pressure. Rather than fading these extremes immediately, monitor whether the indicator stays elevated. Sustained extreme readings suggest strong trend continuation potential.
Context with Price Action: The VPO is most effective when combined with price action or other orderflow indicators. Use the indicator to gauge whether volume is confirming or contradicting.
What the Indicator Does NOT Do:
It does not provide specific entry or exit signals
It does not predict future price direction
It does not guarantee profitable trades
It should not be used as a standalone trading system
Settings Explanation
Momentum Period (Default: 14)
This parameter controls the lookback period for CVD rate-of-change calculations.
Lower values (5-10): Make the indicator more responsive to recent volume changes. Useful for shorter-term trading and more active oscillation. May produce more whipsaws in choppy markets.
Default value (14): Provides balanced responsiveness while filtering out most noise. Suitable for swing trading and daily timeframe analysis.
Higher values (20-50): Create smoother readings and focus on longer-term volume trends. Better for position trading and reducing false signals, but with slower reaction to genuine changes in volume pressure.
Important Notes:
This indicator requires intrabar data to function properly. On some instruments or timeframes where lower timeframe data is not available, the indicator may not display.
The indicator uses request.security_lower_tf() which has a limit of intrabars. On higher timeframes, this provides extensive history, but on very low timeframes (<1-minute charts), the indicator may only cover limited historical bars.
Volume data quality varies by exchange and instrument. The indicator's effectiveness depends on accurate volume reporting from the data feed.
Search in scripts for "accumulation"
Continuous Partial Buying Signals v7.1🇬🇧 English Description: Continuous Partial Buying Signals v7.1
This indicator is built on a long-term accumulation philosophy , not a traditional buy-sell strategy. Its main purpose is to systematically increase your position in an asset you believe in by identifying significant price drops as buying opportunities. It is a tool designed for long-term investors who want to automate the "buy the dip" or "Dollar Cost Averaging (DCA)" mindset.
How It Works
The logic follows a simple but powerful cycle: Find a Peak -> Wait for a Drop -> Signal a Buy -> Wait for a New Peak.
1. Identifies a Significant Peak: Instead of reacting to minor price spikes, the indicator looks back over a user-defined period (e.g., the last 200 candles) to find the highest price. This stable peak (marked with an orange circle) becomes the reference point for the current cycle.
2. Waits for a Pullback: The indicator then calculates the percentage drop from this locked-in peak.
3. Generates Buy Signals: When the price drops by the percentages you define (e.g., -5% and -10%), it plots a "BUY" signal on the chart. It will only signal once per level within the same cycle.
4. Resets the Cycle: This is the key. If the price recovers and establishes a new significant peak higher than the previous one, the entire cycle resets. The new peak becomes the new reference, and the buy signals are re-armed, allowing the indicator to perpetually find new buying opportunities in a rising market.
How to Get the Most Out of This Indicator
* Timeframe: It is highly recommended to use this on higher timeframes (4H, Daily, Weekly) to align with its long-term accumulation philosophy.
* Peak Lookback Period:
* Higher values (200, 300): Create more stable and less frequent signals. Ideal for long-term, patient investors.
* Lower values (50, 100): More sensitive to recent price action, resulting in more frequent cycles.
* Drop Percentages: Adjust these based on the asset's volatility.
* Volatile assets (Crypto): Consider larger percentages like 10%, 20%.
* Less volatile assets (Stocks, Indices): Smaller percentages like 3%, 5%, 8% might be more appropriate.
This indicator is a tool for disciplined, emotion-free accumulation. It does not provide sell signals.
Chaikin Oscillator Multi-Timeframe BiasOverview
Chaikin Oscillator Multi-Timeframe Bias is an indicator designed to help traders align with institutional buying and selling activity by analyzing Chaikin Oscillator signals across two timeframes—a higher timeframe (HTF) for trend bias and a lower timeframe (LTF) for timing. This dual-confirmation model helps traders avoid false breakouts and trade in sync with market momentum and accumulation or distribution dynamics.
Core Concepts
The Chaikin Oscillator measures the momentum of accumulation and distribution based on price and volume. Institutional traders typically accumulate slowly and steadily, and the Chaikin Oscillator helps reveal this pattern. Multi-timeframe analysis confirms whether short-term price action supports the longer-term trend. This indicator applies a smoothing EMA to each Chaikin Oscillator to help confirm direction and reduce noise.
How to Use the Indicator
Start by selecting your timeframes. The higher timeframe, set by default to Daily, establishes the broader directional bias. The lower timeframe, defaulted to 30 minutes, identifies short-term momentum confirmation. The indicator displays one of five labels: CALL Bias, CALL Wait, PUT Bias, PUT Wait, or NEUTRAL. CALL Bias means both HTF and LTF are bullish, signaling a potential opportunity for long or call trades. CALL Wait indicates that the HTF is bullish, but the LTF hasn’t confirmed yet. PUT Bias signals bearish alignment in both HTF and LTF, while PUT Wait indicates HTF is bearish and LTF has not yet confirmed. NEUTRAL means there is no alignment between timeframes and directional trades are not advised.
Interpretation
When the Chaikin Oscillator is above zero and also above its EMA, this indicates bullish momentum and accumulation. When the oscillator is below zero and below its EMA, it suggests bearish momentum and distribution. Bias labels identify when both timeframes are aligned for a higher-probability directional setup. When a “Wait” label appears, it means one timeframe has confirmed bias but the other has not, suggesting the trader should monitor closely but delay entry.
Notes
This indicator includes alerts for both CALL and PUT bias confirmation when both timeframes are aligned. It works on all asset classes, including stocks, ETFs, cryptocurrencies, and futures. Timeframes are fully customizable, and users may explore combinations such as 1D and 1H, or 4H and 15M depending on their strategy. For best results, consider pairing this tool with volume, volatility, or price action analysis.
Exposure Oscillator (Cumulative 0 to ±100%)
Exposure Oscillator (Cumulative 0 to ±100%)
This Pine Script indicator plots an "Exposure Oscillator" on the chart, which tracks the cumulative market exposure from a range of technical buy and sell signals. The exposure is measured on a scale from -100% (maximum short exposure) to +100% (maximum long exposure), helping traders assess the strength of their position in the market. It provides an intuitive visual cue to aid decision-making for trend-following strategies.
Buy Signals (Increase Exposure Score by +10%)
Buy Signal 1 (Cross Above 21 EMA):
This signal is triggered when the price crosses above the 21-period Exponential Moving Average (EMA), where the current bar closes above the EMA21, and the previous bar closed below the EMA21. This indicates a potential upward price movement as the market shifts into a bullish trend.
buySignal1 = ta.crossover(close, ema21)
Buy Signal 2 (Trending Above 21 EMA):
This signal is triggered when the price closes above the 21-period EMA for each of the last 5 bars, indicating a sustained bullish trend. It confirms that the price is consistently above the EMA21 for a significant period.
buySignal2 = ta.barssince(close <= ema21) > 5
Buy Signal 3 (Living Above 21 EMA):
This signal is triggered when the price has closed above the 21-period EMA for each of the last 15 bars, demonstrating a strong, prolonged uptrend.
buySignal3 = ta.barssince(close <= ema21) > 15
Buy Signal 4 (Cross Above 50 SMA):
This signal is triggered when the price crosses above the 50-period Simple Moving Average (SMA), where the current bar closes above the 50 SMA, and the previous bar closed below it. It indicates a shift toward bullish momentum.
buySignal4 = ta.crossover(close, sma50)
Buy Signal 5 (Cross Above 200 SMA):
This signal is triggered when the price crosses above the 200-period Simple Moving Average (SMA), where the current bar closes above the 200 SMA, and the previous bar closed below it. This suggests a long-term bullish trend.
buySignal5 = ta.crossover(close, sma200)
Buy Signal 6 (Low Above 50 SMA):
This signal is true when the lowest price of the current bar is above the 50-period SMA, indicating strong bullish pressure as the price maintains itself above the moving average.
buySignal6 = low > sma50
Buy Signal 7 (Accumulation Day):
An accumulation day occurs when the closing price is in the upper half of the daily range (greater than 50%) and the volume is larger than the previous bar's volume, suggesting buying pressure and accumulation.
buySignal7 = (close - low) / (high - low) > 0.5 and volume > volume
Buy Signal 8 (Higher High):
This signal occurs when the current bar’s high exceeds the highest high of the previous 14 bars, indicating a breakout or strong upward momentum.
buySignal8 = high > ta.highest(high, 14)
Buy Signal 9 (Key Reversal Bar):
This signal is generated when the stock opens below the low of the previous bar but rallies to close above the previous bar’s high, signaling a potential reversal from bearish to bullish.
buySignal9 = open < low and close > high
Buy Signal 10 (Distribution Day Fall Off):
This signal is triggered when a distribution day (a day with high volume and a close near the low of the range) "falls off" the rolling 25-bar period, indicating the end of a bearish trend or selling pressure.
buySignal10 = ta.barssince(close < sma50 and close < sma50) > 25
Sell Signals (Decrease Exposure Score by -10%)
Sell Signal 1 (Cross Below 21 EMA):
This signal is triggered when the price crosses below the 21-period Exponential Moving Average (EMA), where the current bar closes below the EMA21, and the previous bar closed above it. It suggests that the market may be shifting from a bullish trend to a bearish trend.
sellSignal1 = ta.crossunder(close, ema21)
Sell Signal 2 (Trending Below 21 EMA):
This signal is triggered when the price closes below the 21-period EMA for each of the last 5 bars, indicating a sustained bearish trend.
sellSignal2 = ta.barssince(close >= ema21) > 5
Sell Signal 3 (Living Below 21 EMA):
This signal is triggered when the price has closed below the 21-period EMA for each of the last 15 bars, suggesting a strong downtrend.
sellSignal3 = ta.barssince(close >= ema21) > 15
Sell Signal 4 (Cross Below 50 SMA):
This signal is triggered when the price crosses below the 50-period Simple Moving Average (SMA), where the current bar closes below the 50 SMA, and the previous bar closed above it. It indicates the start of a bearish trend.
sellSignal4 = ta.crossunder(close, sma50)
Sell Signal 5 (Cross Below 200 SMA):
This signal is triggered when the price crosses below the 200-period Simple Moving Average (SMA), where the current bar closes below the 200 SMA, and the previous bar closed above it. It indicates a long-term bearish trend.
sellSignal5 = ta.crossunder(close, sma200)
Sell Signal 6 (High Below 50 SMA):
This signal is true when the highest price of the current bar is below the 50-period SMA, indicating weak bullishness or a potential bearish reversal.
sellSignal6 = high < sma50
Sell Signal 7 (Distribution Day):
A distribution day is identified when the closing range of a bar is less than 50% and the volume is larger than the previous bar's volume, suggesting that selling pressure is increasing.
sellSignal7 = (close - low) / (high - low) < 0.5 and volume > volume
Sell Signal 8 (Lower Low):
This signal occurs when the current bar's low is less than the lowest low of the previous 14 bars, indicating a breakdown or strong downward momentum.
sellSignal8 = low < ta.lowest(low, 14)
Sell Signal 9 (Downside Reversal Bar):
A downside reversal bar occurs when the stock opens above the previous bar's high but falls to close below the previous bar’s low, signaling a reversal from bullish to bearish.
sellSignal9 = open > high and close < low
Sell Signal 10 (Distribution Cluster):
This signal is triggered when a distribution day occurs three times in the rolling 7-bar period, indicating significant selling pressure.
sellSignal10 = ta.valuewhen((close < low) and volume > volume , 1, 7) >= 3
Theme Mode:
Users can select the theme mode (Auto, Dark, or Light) to match the chart's background or to manually choose a light or dark theme for the oscillator's appearance.
Exposure Score Calculation: The script calculates a cumulative exposure score based on a series of buy and sell signals.
Buy signals increase the exposure score, while sell signals decrease it. Each signal impacts the score by ±10%.
Signal Conditions: The buy and sell signals are derived from multiple conditions, including crossovers with moving averages (EMA21, SMA50, SMA200), trend behavior, and price/volume analysis.
Oscillator Visualization: The exposure score is visualized as a line on the chart, changing color based on whether the exposure is positive (long position) or negative (short position). It is limited to the range of -100% to +100%.
Position Type: The indicator also indicates the position type based on the exposure score, labeling it as "Long," "Short," or "Neutral."
Horizontal Lines: Reference lines at 0%, 100%, and -100% visually mark neutral, increasing long, and increasing short exposure levels.
Exposure Table: A table displays the current exposure level (in percentage) and position type ("Long," "Short," or "Neutral"), updated dynamically based on the oscillator’s value.
Inputs:
Theme Mode: Choose "Auto" to use the default chart theme, or manually select "Dark" or "Light."
Usage:
This oscillator is designed to help traders track market sentiment, gauge exposure levels, and manage risk. It can be used for long-term trend-following strategies or short-term trades based on moving average crossovers and volume analysis.
The oscillator operates in conjunction with the chart’s price action and provides a visual representation of the market’s current trend strength and exposure.
Important Considerations:
Risk Management: While the exposure score provides valuable insight, it should be combined with other risk management tools and analysis for optimal trading decisions.
Signal Sensitivity: The accuracy and effectiveness of the signals depend on market conditions and may require adjustments based on the user’s trading strategy or timeframe.
Disclaimer:
This script is for educational purposes only. Trading involves significant risk, and users should carefully evaluate all market conditions and apply appropriate risk management strategies before using this tool in live trading environments.
Buy/Sell Volume Totals for PeriodThis indicator can be used to help you tell the difference between Wyckoff Accumulation and Distribution.
The idea is to add up all the Buy Volume and all the Sell Volume separately from the beginning of the Trading Range (TR) for each candle. You can define the Start and End dates in the settings of the indicator.
The indicator will show you 3 numbers of interest:
GREEN = Total Buy Volume from beginning of date range
RED = Total Sell Volume from beginning of date range
YELLOW = Ratio of Total Buy / Total Sell Volume from beginning of date range
When the Total Buy Volume exceeds the Total Sell Volume in the TR, the indicator will color the background in GREEN color, to indicate possible accumulation. Otherwise the background will be RED, to indicate possible distribution.
You can float your cursor over any candle to see the current Volume Totals at that candle from the beginning of the TR (set by you in settings to a specific date).
Here's a few examples of the indicator in action:
1) Accumulation
2) Distribution
3) Possible Re-distribution
Please note that this indicator is meant to be used in combination with other analysis techniques from the Wyckoff Methodology!
Long-Term Investment Manager [Manual]Long-Term Investment Manager (Manual) is a portfolio decision support indicator designed for investors managing long-horizon equity or crypto positions with a rules-based, evidence-informed framework.
This script is not a trading signal generator and does not place orders. Instead, it functions as a structured portfolio advisor that contextualizes price action relative to trend, volatility, momentum, and your own cost basis, then translates that context into clear, interpretable guidance.
Core Philosophy
The indicator formalizes how disciplined long-term investors typically think:
Stay invested in primary uptrends
Protect capital when trends break
Trim into strength, not fear
Accumulate selectively during healthy pullbacks
Anchor decisions to entry price and position size, not emotions
What You Configure (Manual by Design)
Average Buy Price – your actual cost basis
Position Size – used for unrealized PnL calculation
Profit Trim Targets – two customizable percentage levels
Volatility Stop Multiplier – controls long-term trailing risk
This ensures the indicator adapts to your portfolio, not a hypothetical backtest.
Evidence-Based Components
200-period Simple Moving Average
Defines the long-term trend using a widely accepted institutional standard.
ATR-based Volatility Stop (Chandelier-style)
Adjusts dynamically to market noise and provides an objective exit when the trend fails.
Relative Strength Index (RSI) + Bollinger Bands
Identifies extension and overheating for profit trimming, and controlled pullbacks for accumulation.
Decision Hierarchy (Capital First)
The logic prioritizes decisions in a strict order:
Exit / Capital Protection
Triggered when price breaks the volatility stop or falls below the long-term trend.
Profit Management
Graduated trimming based on extension and predefined return thresholds.
Accumulation or Hold
Differentiates between healthy pullbacks in an uptrend versus conditions that warrant patience.
Visual & Dashboard Outputs
Entry price and profit targets plotted directly on the chart
Long-term trend and trailing stop visualized clearly
A compact dashboard displaying:
Return on investment percentage
Unrealized profit or loss in currency terms
Current recommended action
Explicit reasoning behind that action
Distance to stop as a quantified risk metric
Intended Use
This tool is best suited for:
Long-term investors managing core positions
Swing-to-position traders seeking structure and discipline
Portfolio managers who prefer rules over reactions
It is intentionally manual, transparent, and conservative—designed to support judgment, not replace it.
Disclaimer:
This indicator is for educational and informational purposes only and does not constitute financial advice. Always integrate broader risk management and personal judgment when making investment decisions.
Apex Wallet - Bitcoin Halving Cycle & Profit ProjectionOverview The Apex Wallet Bitcoin Halving Cycle Profit is a strategic macro-analysis tool designed for Bitcoin investors and long-term holders. It provides a visual framework of Bitcoin's 4-year cycles by identifying past halving dates and projecting future ones automatically. The script highlights key accumulation and profit-taking windows based on historical cycle performance.
Dynamic Cycle Intelligence
Halving Milestones: Automatically detects and marks all major halving events (2012, 2016, 2020, 2024) with precise timestamps.
Predictive Projections: Using an estimated 1,460-day cycle, the script projects up to 30 future halving events to help plan long-term investment horizons.
Timeframe Optimization: Built specifically for Weekly (W) and Monthly (M) charts to provide a clean, high-level perspective of market structure.
Key Strategy Visuals
Profit Windows: Visualizes "Start" and "End" profit zones with automated vertical lines and color-coded labels based on user-defined offsets from the halving.
DCA Chain Signals: Identifies strategic Dollar Cost Averaging (DCA) points throughout the cycle to assist in disciplined accumulation.
Heatmap Shading: Features dynamic background shading that intensifies as the cycle progresses toward historical peak performance periods.
How to Use:
Switch to a Weekly or Monthly Bitcoin chart.
Use the Green Labels (Profit START) to identify early cycle strength.
Monitor the Red Labels (Profit END) for historical cycle exhaustion zones.
Scalp Breakout Predictor Pro - by Herman Sangivera (Papua)Scalp Breakout Predictor Pro by Herman Sangivera ( Papuan Trader )
Overview
The Scalp Breakout Predictor Pro is a high-performance technical indicator designed for scalpers and day traders who thrive on market volatility. This tool specializes in identifying "Squeeze" phases—periods where the market is consolidating sideways—and predicts the likely direction of the upcoming breakout using underlying momentum accumulation.
How It Works
The indicator combines three core mathematical concepts to ensure "Safe but Fast" entries:
Squeeze Detection (BB vs. KC): It monitors the relationship between Bollinger Bands and Keltner Channels. When Bollinger Bands contract inside the Keltner Channels, the market is in a "Squeeze" (represented by the gray background). This indicates that energy is being coiled for a massive move.
Momentum Accumulation (Pre-Signal): While the price is still moving sideways, the script analyzes linear regression momentum.
PRE-BULL: Momentum is building upwards despite price being flat.
PRE-BEAR: Momentum is fading downwards despite price being flat.
Breakout Confirmation: An entry signal is only triggered when the Squeeze "fires" (the price breaks out of the bands), ensuring you don't get stuck in a dead market for too long.
Key Features
Real-time Prediction Labels: Get early warnings (PRE-BULL / PRE-BEAR) to prepare for the trade before it happens.
Dynamic TP/SL Lines: Automatically calculates Take Profit and Stop Loss levels based on the Average True Range (ATR), adapting to the current market's "breath."
On-Screen Dashboard: A sleek table in the top-right corner displays the current market phase (Squeeze vs. Volatile), the predicted next move, and the current ATR value.
Pine Script V6 Optimized: Built using the latest version of TradingView’s coding language for maximum speed and compatibility.
Trading Rules
Preparation: When you see a Gray Background, the market is sideways. Watch the Dashboard for the "Potential" direction.
Anticipation: If a PRE-BULL or PRE-BEAR label appears, get ready to enter.
Execution: Enter the trade when the ENTRY BUY (Lime Triangle) or ENTRY SELL (Red Triangle) signal appears.
Exit: Follow the Green Line for Take Profit and the Red Line for Stop Loss.
Technical Settings
HMA Length: Adjusts the sensitivity of the trend filter (Hull Moving Average).
TP/SL Multipliers: Allows you to customize your Risk:Reward ratio based on ATR volatility.
Squeeze Length: Determines the lookback period for consolidation detection.
Disclaimer: Scalping involves high risk. Always test this indicator on a demo account before using it with live capital.
BTC - BEAM: Adaptive Multiple (Open-Source)Title: BTC - BEAM: Adaptive Multiple Cycle Oscillator | RM
Overview & Philosophy
The BTC - BEAM (Bitcoin Economics Adaptive Multiple) is a premier macro-valuation tool designed to identify the "Logarithmic Pulse" of Bitcoin's 4-year cycles. Unlike standard oscillators that lose relevance as the network grows, BEAM uses an adaptive baseline that tracks Bitcoin’s fundamental growth curve with precision.
It identifies the harmonic distance between the current price and its multi-year mean, helping you spot the rare windows of deep capitulation and terminal euphoria.
Methodology
This edition is a hardened, gap-proof and Open-Source implementation of the canonical BEAM model.
1. The 1400-Day Anchor (200 Weeks):
The model is anchored to a 1400-day Simple Moving Average. On the Weekly chart, this aligns with the legendary 200-week moving average—the historical "floor" of the Bitcoin network. It represents one full halving cycle of data.
2. Daily-Lock Architecture:
Even when viewed on the 1W chart, the script performs its calculations using Daily data. This ensures that the oscillator captures the exact peak day of a cycle, providing a "high-resolution" signal within a "low-noise" weekly environment.
3. Logarithmic Normalization:
We calculate the natural logarithm of the price-to-mean relationship, scaled by a factor of 2.5: Score = ln(Price / 1400d MA) / 2.5 This creates a standardized "Multiple" that remains comparable across all Bitcoin eras.
How to Read the Chart (1W Context)
🟧 The BEAM Line (Orange): Tracks the "macro heat" of the market. On the 1W chart, look for the slope of this line to identify cycle acceleration.
🔴 The Cycle Ceiling (Score > 1.0): Historical Cycle Tops. When the weekly candle sustains in this zone, the market has reached a state of unsustainable mania. Every major blow-off top has been captured in this red corridor.
🟢 The Cycle Floor (Score < 0.1): Generational Accumulation. On the 1W chart, these zones appear as extended "green troughs." These are the only times in history where Bitcoin is fundamentally "too cheap" relative to its 4-year trend.
The Status Dashboard
The bottom-right monitor provides immediate cycle classification:
• BEAM Score: The exact logarithmic multiple.
• Cycle Regime: ACCUMULATION , NEUTRAL , or OVERHEATED .
Credits
BitcoinEcon: For the original concept of the BEAM adaptive model.
⚠️ RECOMMENDATION: While this indicator captures daily data, it is strongly recommended to be viewed on the Weekly (1W) Timeframe. The 1W chart filters market noise and perfectly reveals the long-term "Cycle Narrative."
Disclaimer
This script is for research and educational purposes only. Macro indicators provide structural context; they are not crystal balls. Always manage your risk according to your personal financial plan.
Tags
bitcoin, btc, beam, macro, cycle, halving, log-growth, valuation, on-chain, Rob Maths
WAD : Whale Activity Detector🐋 WAD: Whale Activity Detector
WAD (Whale Activity Detector) automatically detects periods of abnormally high trading volume compared to the average, identifying potential whale (institutional) buy or sell activity and visualizing it directly on the chart.
🔍 How It Works
1. Buy/Sell Volume Separation
Each candle’s trading volume is categorized based on its direction:
Bullish candle → Buy volume
Bearish candle → Sell volume
This separation helps distinguish the actual strength of buying vs. selling pressure, rather than looking at total volume alone.
2. Average Volume Calculation
Over a user-defined lookback period (default: 34 bars), the indicator calculates the moving average of both buy and sell volumes, establishing a baseline for what constitutes “normal” activity.
3. Whale Activity Detection
When the current volume exceeds n times the average volume (default: 4×), the indicator flags it as a Whale Zone — a potential sign of large player involvement.
Volume surge on a bullish candle → Whale Buy
Volume surge on a bearish candle → Whale Sell
4. Visual Display
🟢 Green bars: Whale buy activity
🔴 Red bars: Whale sell activity
BUY/SELL labels: Appear above the chart when an anomaly is detected
Average line toggle: Users can turn the average volume lines on or off for clarity
5. Alerts
Whenever whale buy/sell signals are detected, real-time alerts are triggered.
Example: 🐋 Whale Buy – NVDA! 🟢
⚙️ Indicator Meaning
Rather than showing raw volume, WAD tracks “abnormal volume relative to the average.”
It filters out noise and highlights the moments where large entities begin to move.
Essentially, it visualizes intentional and impactful trades hidden within standard volume activity.
🚀 Example Use Cases
Whale accumulation tracking – Repeated strong buy signals may indicate sustained institutional accumulation.
Short-term breakout confirmation – Price often rallies shortly after whale buy signals appear.
Support/resistance analysis – Whale sell zones frequently align with short-term resistance areas.
In short:
WAD identifies when trading volume exceeds its historical norm to highlight where big money enters or exits the market.
===============================================================================
🐋 WAD : 세력 매매거래 추적기
WAD(Whale Activity Detector) 는 특정 종목의 거래량 패턴 속에서
‘평균 대비 비정상적으로 큰 거래량이 발생한 구간’을 자동으로 감지해
세력(Whale)의 매수·매도 활동을 시각화하는 지표입니다.
🔍 작동 원리
매수·매도 거래량 분리
각 캔들이 양봉인지, 음봉인지에 따라 거래량을 분리합니다.
양봉 시 발생한 거래량 → 매수 거래량(buy volume)
음봉 시 발생한 거래량 → 매도 거래량(sell volume)
이렇게 분리함으로써 단순 거래량이 아닌,
실제 매수세/매도세의 힘을 구분할 수 있습니다.
평균 거래량 계산
사용자가 지정한 기간(기본 34봉)을 기준으로
매수·매도 거래량의 이동평균선을 각각 계산합니다.
이는 ‘정상적인 거래량 수준’을 판단하는 기준선으로 활용됩니다.
이상치 탐지 (Whale Activity Detection)
현재 거래량이 평균 거래량의 n배(기본 4배)를 초과할 경우,
그 구간을 세력 개입 구간(Whale Zone) 으로 판단합니다.
양봉에서 급증 → 세력 매수 (Whale Buy)
음봉에서 급증 → 세력 매도 (Whale Sell)
시각적 표시
초록색 기둥 : 세력 매수 거래량
빨간색 기둥 : 세력 매도 거래량
라벨 표시 (BUY / SELL) : 이상치 발생 시 차트 상단에 표시
평균선 표시 옵션 : 사용자가 원할 때 평균선을 켜거나 끌 수 있음
알림(Alerts)
세력의 매수·매도 신호가 감지되면,
알림 메시지를 통해 실시간으로 통보받을 수 있습니다.
(예: 🐋 Whale Buy - NVDA! 🟢)
⚙️ 지표의 의미
단순 거래량이 아니라, ‘평균 대비 비정상적 거래량’ 을 추적합니다.
즉, “세력이 본격적으로 움직이기 시작한 구간” 만 걸러내는 지표입니다.
노이즈가 많은 거래량 차트 속에서 의도 있는 거래의 흔적을 포착할 수 있습니다.
🚀 활용 예시
세력 매집 구간 포착 : 큰 매수 시그널이 반복적으로 발생하는 구간은 세력의 누적 매집 가능성을 의미함
단기 급등 신호 확인 : 매수 이상치가 발생한 직후 가격이 급등하는 경우가 많음
지지/저항 분석과 병행 활용 : 세력 매도 구간은 단기 저항으로 작용하는 경향이 있음
copyright @invest_hedgeway
Cyclical Phases of the Market🧭 Overview
“Cyclical Phases of the Market” automatically detects major market cycles by connecting swing lows and measuring the average number of bars between them.
Once it learns the rhythm of past cycles, it projects the next expected cycle (in time and price) using a dashed orange line and a forecast label.
In simple terms:
The indicator shows where the next potential low is statistically expected to occur, based on the timing and depth of previous cycles.
⚙️ Core Logic – Step by Step
1️⃣ Pivot Detection
The script uses the built-in ta.pivotlow() and ta.pivothigh() functions to find local turning points:
pivotLow marks a local swing low, defined by pivotLeft and pivotRight bars on each side.
Only confirmed lows are used to define the major cycle points.
Each new pivot low is stored in two arrays:
cycleLows → price level of the low
cycleBars → bar index where the low occurred
2️⃣ Cycle Identification and Drawing
Every time two consecutive swing lows are found, the indicator:
Calculates the number of bars between them (cycle length).
If that distance is greater than or equal to minCycleBars, it draws a teal line connecting the two lows — visually representing one complete cycle.
These teal lines form the historical cycle structure of the market.
3️⃣ Average Cycle Length
Once there are at least three completed cycles, the script calculates the average duration (mean number of bars between lows).
This value — avgCycleLength — represents the dominant periodicity or cycle rhythm of the market.
4️⃣ Forecasting the Next Cycle
When a valid average cycle length exists, the model projects the next expected cycle:
Time projection:
Adds avgCycleLength to the last cycle’s ending bar index to find where the next low should occur.
Price projection:
Estimates the vertical amplitude by taking the difference between the last two cycle lows (priceDiff).
Adds this same difference to the last low price to forecast the next probable low level.
The result is drawn as an orange dashed line extending into the future, representing the Next Expected Cycle.
5️⃣ Forecast Label
An orange label 🔮 appears at the projected future point showing:
Text:
🔮 Upcoming Cycle Forecast
Price:
The label marks the probable area and timing of the next cyclical low.
(Note: the date/time calculation currently multiplies bar count by 7 days, so it’s designed mainly for daily charts. On other timeframes, that conversion can be adapted.)
📊 How to Read It on the Chart
Visual Element Meaning Interpretation
Teal lines Completed historical cycles (low to low) Show actual periodic rhythm of the market
Orange dashed line Projection of the next expected cycle Anticipated path toward the next cyclical low
Orange label 🔮 Upcoming Cycle Forecast Displays expected price and bar location
Average cycle length Internal variable (bars between lows) Represents the dominant cycle period
📈 Interpretation
When teal segments show consistent spacing, the market is following a stable rhythm → cycles are predictable.
When cycle spacing shortens, the market is accelerating (volatility rising).
When it widens, the market is slowing down or entering accumulation.
The orange dashed line represents the next expected low zone:
If the market drops near this line → cyclical pattern confirmed.
If the market breaks well below → cycle amplitude has increased (trend weakening).
If the market rises above and delays → a new longer cycle may be forming.
🧠 Practical Use
Combine with oscillators (e.g., RSI or TSI) to confirm momentum alignment near projected lows.
Use in conjunction with volume to identify accumulation or exhaustion near the expected turning point.
Compare across timeframes: weekly cycles confirm long-term rhythm; daily cycles refine short-term entries.
⚡ Summary
Aspect Description
Purpose Detect and forecast recurring market cycles
Cycle basis Low-to-Low pivot analysis
Visuals Teal historical cycles + Orange forecast line
Forecast Next expected low (price and time)
Ideal timeframe Daily
Main outputs Average cycle length, next projected cycle, visual cycle map
Nightrangers IndicatorDescription
This indicator combines three EMA's, Ichimoku Cloud, RSI and MACD. By combining and modifying their use case this turns into an extremely powerful and accessible indicator for finding long and short position entries, below is a description of how to use this indicator, and what makes it different.
Primary Use case
The three EMA's would be the initial indicators you would be looking at, they are based on the 7d, 25d and 200d MA - Used on their own, they would be worthless, and this is where the Ichimoku Cloud comes into it, I have removed all other aspects of the Ichimoku Cloud and only kept the baseline, combine this with the three MA's and we have a very powerful indicator for finding Long entries, that is used uniquely in a way to which the Ichimoku Cloud is not originally meant to be used for.
An early indication of a LONG entry would be when the 7d MA crosses above the Ichimoku Baseline, through this early indicator, you are able to watch and monitor the chart, you would be waiting to see if the 25d MA then also crosses above the Ichimoku Baseline, This would be the second important indication of a long entry. The 200d MA helps here when making decisions on where to set your own personal take profits - If the Ichimoku baseline, and the MA's are below the 200d MA, you would be expecting a bounce point here, or heavy resistance so the long entry could be over a shorter period, than that if it was above the 200d MA, which is why it is included here, to help make a better informed choice.
The latter is reversed for finding short positions, and entries. This indicator is completely reliant on each other to find the best possible entry/exit by complementing each other, and by using the Ichimoku Baseline on it's own, and not as the Ichimoku Cloud is intended.
Just using these though, is not enough, which is why the RSI and MACD are also combined, once the conditions are met above, You may find that there can be false positives for entries, and this is where the RSI has multiple use cases within this script.
Firstly the backdrop colour will change based on whether the chart is in an uptrend or downtrend, This is a visual indicator provided to work simultaneaously on the chart itself to help identification of entries/exits easier to identify in conjunction with the above.
Secondly, It is used to display in the top right, The current Trend in a text format, as well as if the current chart is in one of three phases, these are Overbrought, Oversold and accumulation.
And finally it will display the current RSI Value on the last candle in a clear to see blue Label, This helps with the visual accessible side, to help you make a more informed choice depending on your own personal tolerance.
This ties into the above Indicators, by combining the information, you would not be looking to take a long, if for example, the RSI showed it was over-brought, and in a downtrend, even if the MA's had crossed above the Baseline, as this would most likely be a fakeout.
However if the Indicators above, showed a potential long, and the backdrop had flipped green, indicating an uptrend, and it was in an accumulation phase, you would consider this position. and this is where the MACD comes into play.
You would use the MACD to see whether or not the Signal line has crossed over the MACD line, and vice versa - However this script uses it to simplify and portray current market sentiment, and visually display by reducing clutter on screen, and making it more accessible.
It is designed to portray an easy to read and understand visual indicator by displaying in the top right simply as Bullish or Bearish, with markers above the candles ( "M" and "MX" ).
The M indicator is to show where the MACD Crosses above the Signal, and if aligned with all the other indicators within the script, shows a very strong confirmation for a buying opportunity, and vice versa for the "MX" indicator if aligned with the other indicators in reverse, provides a very strong confirmation for opening a short position or for selling.
Secondary Use case
By combining the indicators above, the secondary conditions you would be looking for, If you opened a LONG position, would be knowing when to sell, On top of what has been described above already regarding this, you would be looking to start taking profits, when the 7d MA crosses above or across the candles, and looking to close the position, when the 25d MA also crosses above the candles, and respectively, in reverse for closing short positions. This is shown across the charts to be extremely useful, however, combine this with the other indicators, portrayed in an easy to use and understand visual representation, you are now able to make more informed decisions, on whether to close a position or not.
How is it different and not just a mash up
I have combined these indicators to make the world of trading more accessible for everyone regardless of circumstances, by creating an easy to understand visual representation, keeping colours vibrant and easy to stand out, with clear and simple to read text indications. So whether you are a seasoned trader, or just starting out, you can make more informed choices, without the need of learning how to use multiple different indicators, and learning how to combine them all, or if you have difficulties learning, this indicator also simplifies a lot of the more technical intricacies, by still allowing you to make a more informed choice.
Distribution Histogram [SS]This is the frequency histogram indicator. It does just that—creates a frequency histogram distribution based on your desired lookback period. It then uses Pine's new Polyline function to plot a normal curve of the expected results for a normal distribution. This allows you to see quite a few things:
🎯 Firstly, it allows you to see where the accumulation rests in terms of a bell curve. The histogram represents a bell curve, and you can visually observe what the curve would look like.
🎯 Secondly, it will assess the normal distribution and the degree of skewness based on the curve itself. The indicator imports the SPTS statistics library to assess the distribution using Kurtosis and Skewness. However, it also adds functionality in this regard by making a qualitative assessment of the data. For example, if there are heavy left tails or heavier right tails present in the histogram, the indicator will alert you that a heavier left or right tail has been observed.
🎯 Thirdly, it provides you with the kurtosis and skewness of the dataset.
🎯 Fourthly, it provides the mean, median, and mode of the dataset, as well as the maximum and minimum values within the dataset.
🎯 Lastly, it provides you with the ability to toggle on tips/explanations of the curve itself. Simply toggle on "Show Distribution Explanation" in the settings menu:
How is the indicator helpful for trading?
If you are a mean reversion trader, this helps you identify the areas and price ranges of high and low accumulation. It also allows you to ascertain the probability by looking at the standard deviation of the bell curve. Remember, the majority of values should fall between -1 and 1 standard deviation of the mean (68%).
If it is revealed that the distribution has a heavier right or left tail, you will know that the stock is more likely to experience sudden drops and shifts in the curve in one direction or the other. Heavier left tails will tend to shift to the values on the far left, and vice versa for right tails.
Customization
You can turn off and on the following:
👉 The normal curve,
👉 The standard deviation levels, and
👉 The distribution explanations and tips.
Conclusion: And that is the indicator! Hope you enjoy it!
Chips MasterChips Master, a way to tell potential chips accumulation.
There are a couple of situation where Chips Master's Yellow Bars will show up.
Firstly,
When an uptrend trend completed Dow's 12345 waves, moving into ABC waves, yellow bars will show up between MA21 and MA60
if we refer to Granville rules, it is in the vicinity of buy point number 4.
Secondly,
During a down trend, when new low is created, potentially, yellow bars will show up, an indication of chips accumulation at low price.
Feel free to provide inputs to further improve the accuracy to benefit users.
Disclaimer : Purely for Technical Analysis study. No suggestion on buy/sell.
Average Volume at Time (AVAT)Calculation of average volume at current time for a number of previous sessions, known as Average Volume at Time (AVAT).
Inputs:
* period to use for accumulation. "D" is the default value, useful to view data for each session.
* number of previous sessions to average
TODO: more intelligent accumulation of number of bars in a session, since there may be sessions with different values
TODO: interpolate volume according to current time, inside of the last bar
Advanced Chaikin Money Flow (CMF)TL;DR: change the aggregation to EMA to achieve similar results to Twiggs Money Flow. Play with the rest of parameters to get the desired results.
This script allows customization of CMF. It also includes all the improvements made by Twiggs Money flow.
Regular CMF does not take price gaps into account as you can see in the chart below. True range fixes this issue, as done in Twiggs Money flow (TMF).
More info here: www.incrediblecharts.com
Customization Options:
- You can change the effect of volume by setting volume exponent. 0 to 10 reduces the effect and 10+ increases it. In exchanges with too much wash trading, you may want to reduce volume effect.
- You can factor in price in CMF. It gives you a slightly different results. See my Volume x price (VxP) indicator for why it might be useful.
- The range can be changed to percentage (similar to RSI)
PS: I do not recommend using CMF in today's Crypto markets. Chaikin uses the same multiplier in CMF and Accumulation/Distribution Line (ADL). ADL is a totally broken indicator for BTC. If you look at the period after ATH (chart below), you will notice that ADL keeps increasing implying accumulation. While it is clear that there was distribution going on. The reason might be the artificially inflated prices in Crypto that is achieved by the help of bots and having "certain" exchanges as a price reference. So, my reasoning is that if ADL is a broken indicator, so should be CMF. CMF diverges from BTC price frequently. This is a double edged sword IMO. Still CMF is a much better indicator than ADL because it works relative to prior periods which covers some of its flaws.
Note for super nerds: Twiggs Money Flow includes true range and Welles Wilder's Moving Average (WWMA). I have seen some other scripts using their own calculations for WWMA which is not efficient. WWMA is equal to built-in RMA/SMMA which is equal to EMA with length 2x-1.
Edufx's Power of ThreeIndicator Overview
Name: Edufx's Power of Three
Purpose:
To highlight the high and low price ranges of specific hourly candles on a chart.
To visualize these ranges using rectangles.
Features
Visibility Toggle:
Users can enable or disable the visibility of the rectangles highlighting the high and low price ranges of the specified candles.
Customizable Rectangle Length:
Users can adjust the length of the rectangles that extend from the specified candle's high and low prices.
Price Range Tracking:
The high and low prices of the specified candles are tracked and stored.
Rectangle Drawing:
Rectangles are drawn from 5 bars before the end of the specified hour, highlighting the high and low price ranges.
How It Works
Price Range Tracking:
During each specified hour, the high and low prices are updated with the highest and lowest prices observed.
Rectangle Drawing:
At the end of each specified hour, the high and low prices are used to draw rectangles extending 5 bars backward from the end of the hour.
Rectangles are color-coded (red, green, and blue) for easy identification.
Usage
This indicator is useful for traders who want to monitor and react to key price levels at specific times of the day.
The visual rectangles help in identifying potential trading opportunities based on price action relative to these key levels.
Example
If the price moves above the high of the specified candle but fails to close above it, a visual rectangle will highlight this price range.
Similarly, if the price moves below the low of the specified candle but fails to close below it, the rectangle will indicate this range.
This indicator provides visual aids to assist traders in making informed decisions based on the behavior of price at specific key levels.
Dynamic Support and Resistance with Trend LinesDynamic Support and Resistance with Trend Lines (DSRTL)
1. Introduction & Methodology
The DSRTL indicator is designed to provide a multidimensional analysis of market structure. Unlike traditional tools that rely solely on price pivots, this script combines Static Volume-based Zones with Dynamic Trend Lines to evaluate the price's position relative to critical market components.
The S/R Identification Technique
Instead of standard pivot points, DSRTL utilizes Volume Analysis to highlight areas of significant trader participation:
- Strategy A:
Matrix Climax: Identifies candles within the lookback period that are near price extremes (Highs/Lows) and coincide with significant buying or selling volume.
- Strategy B:
Volume Extremes: Detects candles with the absolute highest buy/sell volumes within the selected lookback window, creating extreme volume-based S/R zones.
- Result:
This creates Support/Resistance (S/R) zones that are validated by actual market activity, not just price geometry.
Dynamic Trend Lines
To complement the static zones, the indicator employs two adaptive channel methods:
- Pivot Span: Connects recent significant pivots for a fast, reactive trend corridor.
- 5-Point Channel: Segments the lookback period into 5 parts to perform a linear regression analysis, creating a stable and statistically significant channel.
2. Volume Calculation Methodology
Accurate S/R detection requires distinguishing Buy Volume from Sell Volume. DSRTL offers two calculation modes:
- Geometry (Source File): Estimates buy/sell volume based on the Close price's position relative to the High/Low of the candle.
Note: This is an approximation that works on all plan types as it does not require intrabar data.
- Intrabar (Precise): Analyzes historical lower-timeframe data (e.g., 15S) to calculate intrabar-based volume deltas with higher precision compared to the geometric method.
Note: This offers superior accuracy. It requires access to historical intrabar data (depending on your plan limits). For the best analytical results, use this mode if available.
3. The Smart Matrix Engine (3D Analysis)
The core of DSRTL is its dashboard, powered by the "Smart Matrix Engine." This engine evaluates the current price in a multi-layer market structure context (Static Volume Zones + Dynamic Channels + Volume Metrics).:
A. S-State (Static): Where is the price relative to the Volume S/R zones?
B. D-State (Dynamic): Where is the price relative to the Trend Channels?
How to read the Matrix Map:
The dashboard displays a 5x5 grid representing 25 possible market scenarios.
- Rows (S1-S5): Represent the Static State (S1=Breakout, S3=Mid-Range, S5=Breakdown).
- Columns (D1-D5): Represent the Dynamic State (D1=Overextended Up, D3=Neutral, D5=Overextended Down).
- Active Cell: Marked with a dot, indicating the specific intersection of price action and market structure.
4. Matrix Interpretations (The 25 Scenarios)
Below is the detailed logic for every possible state displayed on the dashboard, explaining the Title, Bias, and actionable Signal.
Section I: S1 - Static Breakout (Price > Static Resistance)
The price has cleared the static volume resistance zone.
- S1 / D1: HYPER EXTENSION
Bias: Extreme Bullish
Signal: Caution: Exhaustion Risk. Trail stops tight.
- S1 / D2: RESISTANCE CLASH
Bias: Bullish
Signal: Breakout confirmed but facing immediate dynamic resistance.
- S1 / D3: CHANNEL BREAKOUT
Bias: Strong Bullish
Signal: Ideal Trend Continuation. Look to buy dips.
- S1 / D4: SMART PULLBACK
Bias: Bullish (Pullback)
Signal: A pullback occurring after a breakout. Strong buy opportunity.
- S1 / D5: CONFLICT (DIV)
Bias: Conflict/Reversal
Signal: Major Divergence. Static breakout is failing against dynamic structure. High Risk.
Section II: S2 - Inside Static Resistance
The price is currently testing the overhead resistance zone.
- S2 / D1: WEAK SPIKE
Bias: Neutral/Bullish
Signal: Testing resistance, but short-term overextended.
- S2 / D2: IRON FORTRESS (R)
Bias: Rejection Risk
Signal: Double Resistance (Static + Dynamic). High probability of rejection.
- S2 / D3: TESTING RES
Bias: Neutral
Signal: Consolidating at resistance. Wait for a clear break or rejection.
- S2 / D4: COMPRESSION (UP)
Bias: Conflict (Squeeze)
Signal: Squeezed between Static Resistance and Dynamic Support. Volatility imminent.
- S2 / D5: RES vs DOWN-TREND
Bias: Bearish
Signal: Strong downtrend meeting static resistance. Potential Short entry.
Section III: S3 - Mid-Range
The price is floating between significant Static Support and Resistance.
- S3 / D1: OVERBOUGHT RANGE
Bias: Rejection Risk (OB)
Signal: Overextended within the range. Potential fade (short).
- S3 / D2: RANGE HIGH LIMIT
Bias: Neutral/Bearish
Signal: At the top of the dynamic channel. Look for rejection signs.
- S3 / D3: NEUTRAL / CHOPPY
Bias: Neutral
Signal: Dead Center. Low probability environment. Avoid trading.
- S3 / D4: RANGE DIP BUY
Bias: Neutral/Bullish
Signal: At the bottom of the dynamic channel. Look for bounce signs.
- S3 / D5: WEAK RANGE (OS)
Bias: Bounce Risk (OS)
Signal: Oversold within the range. Potential fade (long).
Section IV: S4 - Inside Static Support
The price is currently testing the floor support zone.
- S4 / D1: SUP vs UP-TREND
Bias: Bullish
Signal: Strong uptrend meeting static support. Potential Long entry.
- S4 / D2: COMPRESSION (DN)
Bias: Conflict (Squeeze)
Signal: Squeezed between Static Support and Dynamic Resistance. Volatility imminent.
- S4 / D3: TESTING SUPPORT
Bias: Neutral
Signal: Consolidating at support. Wait for a bounce or breakdown.
- S4 / D4: IRON FLOOR (S)
Bias: Bounce Risk
Signal: Double Support (Static + Dynamic). High probability of a bounce.
- S4 / D5: WEAK DIP
Bias: Neutral/Bearish
Signal: Testing support, but short-term oversold.
Section V: S5 - Static Breakdown (Price < Static Support)
The price has dropped below the static volume support zone.
- S5 / D1: CONFLICT (DIV)
Bias: Conflict/Reversal
Signal: Major Divergence. Static breakdown is failing. High Risk.
- S5 / D2: BEAR PULLBACK
Bias: Bearish (Pullback)
Signal: A pullback occurring after a breakdown. Strong selling opportunity.
- S5 / D3: CHANNEL BREAKDOWN
Bias: Strong Bearish
Signal: Ideal Trend Continuation (Down). Sell rallies.
- S5 / D4: SUPPORT CLASH
Bias: Bearish
Signal: Breakdown confirmed but facing immediate dynamic support.
- S5 / D5: HYPER DROP (VOID)
Bias: Extreme Bearish
Signal: Caution: Climax risk. Trail stops for shorts.
DISCLAIMER & EDUCATIONAL PURPOSE
This indicator is strictly an educational tool designed to visualize complex market structure concepts. Its primary purpose is to help traders "bridge the gap" between academic theory and real-time market behavior by providing a visual representation of support, resistance, and volume dynamics.
Please Note:
1. Not a Trading Strategy: This script is an analytical assistant, not a standalone "Black Box" trading system. It does not generate buy or sell signals that should be followed blindly.
2. No Financial Advice: The data provided by this tool is for informational purposes only. It is not a recommendation to buy or sell any asset.
3. Risk Warning: Trading involves significant risk. Always use your own judgment, perform your own technical analysis, and use proper risk management. Do not use this tool as the sole basis for your trading decisions.
4. Data Precision & Platform Limits: The "Intrabar (Precise)" calculation mode relies on high-resolution historical data to provide exact results. Access to this specific data depth depends entirely on your platform's subscription capabilities. If your plan does not support this level of historical intrabar data, the Precise mode may have limited coverage. In that case, you should switch to "Geometry" mode for a fully populated view.
ATAI Volume analysis with price action V 1.00ATAI Volume Analysis with Price Action
1. Introduction
1.1 Overview
ATAI Volume Analysis with Price Action is a composite indicator designed for TradingView. It combines per‑side volume data —that is, how much buying and selling occurs during each bar—with standard price‑structure elements such as swings, trend lines and support/resistance. By blending these elements the script aims to help a trader understand which side is in control, whether a breakout is genuine, when markets are potentially exhausted and where liquidity providers might be active.
The indicator is built around TradingView’s up/down volume feed accessed via the TradingView/ta/10 library. The following excerpt from the script illustrates how this feed is configured:
import TradingView/ta/10 as tvta
// Determine lower timeframe string based on user choice and chart resolution
string lower_tf_breakout = use_custom_tf_input ? custom_tf_input :
timeframe.isseconds ? "1S" :
timeframe.isintraday ? "1" :
timeframe.isdaily ? "5" : "60"
// Request up/down volume (both positive)
= tvta.requestUpAndDownVolume(lower_tf_breakout)
Lower‑timeframe selection. If you do not specify a custom lower timeframe, the script chooses a default based on your chart resolution: 1 second for second charts, 1 minute for intraday charts, 5 minutes for daily charts and 60 minutes for anything longer. Smaller intervals provide a more precise view of buyer and seller flow but cover fewer bars. Larger intervals cover more history at the cost of granularity.
Tick vs. time bars. Many trading platforms offer a tick / intrabar calculation mode that updates an indicator on every trade rather than only on bar close. Turning on one‑tick calculation will give the most accurate split between buy and sell volume on the current bar, but it typically reduces the amount of historical data available. For the highest fidelity in live trading you can enable this mode; for studying longer histories you might prefer to disable it. When volume data is completely unavailable (some instruments and crypto pairs), all modules that rely on it will remain silent and only the price‑structure backbone will operate.
Figure caption, Each panel shows the indicator’s info table for a different volume sampling interval. In the left chart, the parentheses “(5)” beside the buy‑volume figure denote that the script is aggregating volume over five‑minute bars; the center chart uses “(1)” for one‑minute bars; and the right chart uses “(1T)” for a one‑tick interval. These notations tell you which lower timeframe is driving the volume calculations. Shorter intervals such as 1 minute or 1 tick provide finer detail on buyer and seller flow, but they cover fewer bars; longer intervals like five‑minute bars smooth the data and give more history.
Figure caption, The values in parentheses inside the info table come directly from the Breakout — Settings. The first row shows the custom lower-timeframe used for volume calculations (e.g., “(1)”, “(5)”, or “(1T)”)
2. Price‑Structure Backbone
Even without volume, the indicator draws structural features that underpin all other modules. These features are always on and serve as the reference levels for subsequent calculations.
2.1 What it draws
• Pivots: Swing highs and lows are detected using the pivot_left_input and pivot_right_input settings. A pivot high is identified when the high recorded pivot_right_input bars ago exceeds the highs of the preceding pivot_left_input bars and is also higher than (or equal to) the highs of the subsequent pivot_right_input bars; pivot lows follow the inverse logic. The indicator retains only a fixed number of such pivot points per side, as defined by point_count_input, discarding the oldest ones when the limit is exceeded.
• Trend lines: For each side, the indicator connects the earliest stored pivot and the most recent pivot (oldest high to newest high, and oldest low to newest low). When a new pivot is added or an old one drops out of the lookback window, the line’s endpoints—and therefore its slope—are recalculated accordingly.
• Horizontal support/resistance: The highest high and lowest low within the lookback window defined by length_input are plotted as horizontal dashed lines. These serve as short‑term support and resistance levels.
• Ranked labels: If showPivotLabels is enabled the indicator prints labels such as “HH1”, “HH2”, “LL1” and “LL2” near each pivot. The ranking is determined by comparing the price of each stored pivot: HH1 is the highest high, HH2 is the second highest, and so on; LL1 is the lowest low, LL2 is the second lowest. In the case of equal prices the newer pivot gets the better rank. Labels are offset from price using ½ × ATR × label_atr_multiplier, with the ATR length defined by label_atr_len_input. A dotted connector links each label to the candle’s wick.
2.2 Key settings
• length_input: Window length for finding the highest and lowest values and for determining trend line endpoints. A larger value considers more history and will generate longer trend lines and S/R levels.
• pivot_left_input, pivot_right_input: Strictness of swing confirmation. Higher values require more bars on either side to form a pivot; lower values create more pivots but may include minor swings.
• point_count_input: How many pivots are kept in memory on each side. When new pivots exceed this number the oldest ones are discarded.
• label_atr_len_input and label_atr_multiplier: Determine how far pivot labels are offset from the bar using ATR. Increasing the multiplier moves labels further away from price.
• Styling inputs for trend lines, horizontal lines and labels (color, width and line style).
Figure caption, The chart illustrates how the indicator’s price‑structure backbone operates. In this daily example, the script scans for bars where the high (or low) pivot_right_input bars back is higher (or lower) than the preceding pivot_left_input bars and higher or lower than the subsequent pivot_right_input bars; only those bars are marked as pivots.
These pivot points are stored and ranked: the highest high is labelled “HH1”, the second‑highest “HH2”, and so on, while lows are marked “LL1”, “LL2”, etc. Each label is offset from the price by half of an ATR‑based distance to keep the chart clear, and a dotted connector links the label to the actual candle.
The red diagonal line connects the earliest and latest stored high pivots, and the green line does the same for low pivots; when a new pivot is added or an old one drops out of the lookback window, the end‑points and slopes adjust accordingly. Dashed horizontal lines mark the highest high and lowest low within the current lookback window, providing visual support and resistance levels. Together, these elements form the structural backbone that other modules reference, even when volume data is unavailable.
3. Breakout Module
3.1 Concept
This module confirms that a price break beyond a recent high or low is supported by a genuine shift in buying or selling pressure. It requires price to clear the highest high (“HH1”) or lowest low (“LL1”) and, simultaneously, that the winning side shows a significant volume spike, dominance and ranking. Only when all volume and price conditions pass is a breakout labelled.
3.2 Inputs
• lookback_break_input : This controls the number of bars used to compute moving averages and percentiles for volume. A larger value smooths the averages and percentiles but makes the indicator respond more slowly.
• vol_mult_input : The “spike” multiplier; the current buy or sell volume must be at least this multiple of its moving average over the lookback window to qualify as a breakout.
• rank_threshold_input (0–100) : Defines a volume percentile cutoff: the current buyer/seller volume must be in the top (100−threshold)%(100−threshold)% of all volumes within the lookback window. For example, if set to 80, the current volume must be in the top 20 % of the lookback distribution.
• ratio_threshold_input (0–1) : Specifies the minimum share of total volume that the buyer (for a bullish breakout) or seller (for bearish) must hold on the current bar; the code also requires that the cumulative buyer volume over the lookback window exceeds the seller volume (and vice versa for bearish cases).
• use_custom_tf_input / custom_tf_input : When enabled, these inputs override the automatic choice of lower timeframe for up/down volume; otherwise the script selects a sensible default based on the chart’s timeframe.
• Label appearance settings : Separate options control the ATR-based offset length, offset multiplier, label size and colors for bullish and bearish breakout labels, as well as the connector style and width.
3.3 Detection logic
1. Data preparation : Retrieve per‑side volume from the lower timeframe and take absolute values. Build rolling arrays of the last lookback_break_input values to compute simple moving averages (SMAs), cumulative sums and percentile ranks for buy and sell volume.
2. Volume spike: A spike is flagged when the current buy (or, in the bearish case, sell) volume is at least vol_mult_input times its SMA over the lookback window.
3. Dominance test: The buyer’s (or seller’s) share of total volume on the current bar must meet or exceed ratio_threshold_input. In addition, the cumulative sum of buyer volume over the window must exceed the cumulative sum of seller volume for a bullish breakout (and vice versa for bearish). A separate requirement checks the sign of delta: for bullish breakouts delta_breakout must be non‑negative; for bearish breakouts it must be non‑positive.
4. Percentile rank: The current volume must fall within the top (100 – rank_threshold_input) percent of the lookback distribution—ensuring that the spike is unusually large relative to recent history.
5. Price test: For a bullish signal, the closing price must close above the highest pivot (HH1); for a bearish signal, the close must be below the lowest pivot (LL1).
6. Labeling: When all conditions above are satisfied, the indicator prints “Breakout ↑” above the bar (bullish) or “Breakout ↓” below the bar (bearish). Labels are offset using half of an ATR‑based distance and linked to the candle with a dotted connector.
Figure caption, (Breakout ↑ example) , On this daily chart, price pushes above the red trendline and the highest prior pivot (HH1). The indicator recognizes this as a valid breakout because the buyer‑side volume on the lower timeframe spikes above its recent moving average and buyers dominate the volume statistics over the lookback period; when combined with a close above HH1, this satisfies the breakout conditions. The “Breakout ↑” label appears above the candle, and the info table highlights that up‑volume is elevated relative to its 11‑bar average, buyer share exceeds the dominance threshold and money‑flow metrics support the move.
Figure caption, In this daily example, price breaks below the lowest pivot (LL1) and the lower green trendline. The indicator identifies this as a bearish breakout because sell‑side volume is sharply elevated—about twice its 11‑bar average—and sellers dominate both the bar and the lookback window. With the close falling below LL1, the script triggers a Breakout ↓ label and marks the corresponding row in the info table, which shows strong down volume, negative delta and a seller share comfortably above the dominance threshold.
4. Market Phase Module (Volume Only)
4.1 Concept
Not all markets trend; many cycle between periods of accumulation (buying pressure building up), distribution (selling pressure dominating) and neutral behavior. This module classifies the current bar into one of these phases without using ATR , relying solely on buyer and seller volume statistics. It looks at net flows, ratio changes and an OBV‑like cumulative line with dual‑reference (1‑ and 2‑bar) trends. The result is displayed both as on‑chart labels and in a dedicated row of the info table.
4.2 Inputs
• phase_period_len: Number of bars over which to compute sums and ratios for phase detection.
• phase_ratio_thresh : Minimum buyer share (for accumulation) or minimum seller share (for distribution, derived as 1 − phase_ratio_thresh) of the total volume.
• strict_mode: When enabled, both the 1‑bar and 2‑bar changes in each statistic must agree on the direction (strict confirmation); when disabled, only one of the two references needs to agree (looser confirmation).
• Color customisation for info table cells and label styling for accumulation and distribution phases, including ATR length, multiplier, label size, colors and connector styles.
• show_phase_module: Toggles the entire phase detection subsystem.
• show_phase_labels: Controls whether on‑chart labels are drawn when accumulation or distribution is detected.
4.3 Detection logic
The module computes three families of statistics over the volume window defined by phase_period_len:
1. Net sum (buyers minus sellers): net_sum_phase = Σ(buy) − Σ(sell). A positive value indicates a predominance of buyers. The code also computes the differences between the current value and the values 1 and 2 bars ago (d_net_1, d_net_2) to derive up/down trends.
2. Buyer ratio: The instantaneous ratio TF_buy_breakout / TF_tot_breakout and the window ratio Σ(buy) / Σ(total). The current ratio must exceed phase_ratio_thresh for accumulation or fall below 1 − phase_ratio_thresh for distribution. The first and second differences of the window ratio (d_ratio_1, d_ratio_2) determine trend direction.
3. OBV‑like cumulative net flow: An on‑balance volume analogue obv_net_phase increments by TF_buy_breakout − TF_sell_breakout each bar. Its differences over the last 1 and 2 bars (d_obv_1, d_obv_2) provide trend clues.
The algorithm then combines these signals:
• For strict mode , accumulation requires: (a) current ratio ≥ threshold, (b) cumulative ratio ≥ threshold, (c) both ratio differences ≥ 0, (d) net sum differences ≥ 0, and (e) OBV differences ≥ 0. Distribution is the mirror case.
• For loose mode , it relaxes the directional tests: either the 1‑ or the 2‑bar difference needs to agree in each category.
If all conditions for accumulation are satisfied, the phase is labelled “Accumulation” ; if all conditions for distribution are satisfied, it’s labelled “Distribution” ; otherwise the phase is “Neutral” .
4.4 Outputs
• Info table row : Row 8 displays “Market Phase (Vol)” on the left and the detected phase (Accumulation, Distribution or Neutral) on the right. The text colour of both cells matches a user‑selectable palette (typically green for accumulation, red for distribution and grey for neutral).
• On‑chart labels : When show_phase_labels is enabled and a phase persists for at least one bar, the module prints a label above the bar ( “Accum” ) or below the bar ( “Dist” ) with a dashed or dotted connector. The label is offset using ATR based on phase_label_atr_len_input and phase_label_multiplier and is styled according to user preferences.
Figure caption, The chart displays a red “Dist” label above a particular bar, indicating that the accumulation/distribution module identified a distribution phase at that point. The detection is based on seller dominance: during that bar, the net buyer-minus-seller flow and the OBV‑style cumulative flow were trending down, and the buyer ratio had dropped below the preset threshold. These conditions satisfy the distribution criteria in strict mode. The label is placed above the bar using an ATR‑based offset and a dashed connector. By the time of the current bar in the screenshot, the phase indicator shows “Neutral” in the info table—signaling that neither accumulation nor distribution conditions are currently met—yet the historical “Dist” label remains to mark where the prior distribution phase began.
Figure caption, In this example the market phase module has signaled an Accumulation phase. Three bars before the current candle, the algorithm detected a shift toward buyers: up‑volume exceeded its moving average, down‑volume was below average, and the buyer share of total volume climbed above the threshold while the on‑balance net flow and cumulative ratios were trending upwards. The blue “Accum” label anchored below that bar marks the start of the phase; it remains on the chart because successive bars continue to satisfy the accumulation conditions. The info table confirms this: the “Market Phase (Vol)” row still reads Accumulation, and the ratio and sum rows show buyers dominating both on the current bar and across the lookback window.
5. OB/OS Spike Module
5.1 What overbought/oversold means here
In many markets, a rapid extension up or down is often followed by a period of consolidation or reversal. The indicator interprets overbought (OB) conditions as abnormally strong selling risk at or after a price rally and oversold (OS) conditions as unusually strong buying risk after a decline. Importantly, these are not direct trade signals; rather they flag areas where caution or contrarian setups may be appropriate.
5.2 Inputs
• minHits_obos (1–7): Minimum number of oscillators that must agree on an overbought or oversold condition for a label to print.
• syncWin_obos: Length of a small sliding window over which oscillator votes are smoothed by taking the maximum count observed. This helps filter out choppy signals.
• Volume spike criteria: kVolRatio_obos (ratio of current volume to its SMA) and zVolThr_obos (Z‑score threshold) across volLen_obos. Either threshold can trigger a spike.
• Oscillator toggles and periods: Each of RSI, Stochastic (K and D), Williams %R, CCI, MFI, DeMarker and Stochastic RSI can be independently enabled; their periods are adjustable.
• Label appearance: ATR‑based offset, size, colors for OB and OS labels, plus connector style and width.
5.3 Detection logic
1. Directional volume spikes: Volume spikes are computed separately for buyer and seller volumes. A sell volume spike (sellVolSpike) flags a potential OverBought bar, while a buy volume spike (buyVolSpike) flags a potential OverSold bar. A spike occurs when the respective volume exceeds kVolRatio_obos times its simple moving average over the window or when its Z‑score exceeds zVolThr_obos.
2. Oscillator votes: For each enabled oscillator, calculate its overbought and oversold state using standard thresholds (e.g., RSI ≥ 70 for OB and ≤ 30 for OS; Stochastic %K/%D ≥ 80 for OB and ≤ 20 for OS; etc.). Count how many oscillators vote for OB and how many vote for OS.
3. Minimum hits: Apply the smoothing window syncWin_obos to the vote counts using a maximum‑of‑last‑N approach. A candidate bar is only considered if the smoothed OB hit count ≥ minHits_obos (for OverBought) or the smoothed OS hit count ≥ minHits_obos (for OverSold).
4. Tie‑breaking: If both OverBought and OverSold spike conditions are present on the same bar, compare the smoothed hit counts: the side with the higher count is selected; ties default to OverBought.
5. Label printing: When conditions are met, the bar is labelled as “OverBought X/7” above the candle or “OverSold X/7” below it. “X” is the number of oscillators confirming, and the bracket lists the abbreviations of contributing oscillators. Labels are offset from price using half of an ATR‑scaled distance and can optionally include a dotted or dashed connector line.
Figure caption, In this chart the overbought/oversold module has flagged an OverSold signal. A sell‑off from the prior highs brought price down to the lower trend‑line, where the bar marked “OverSold 3/7 DeM” appears. This label indicates that on that bar the module detected a buy‑side volume spike and that at least three of the seven enabled oscillators—in this case including the DeMarker—were in oversold territory. The label is printed below the candle with a dotted connector, signaling that the market may be temporarily exhausted on the downside. After this oversold print, price begins to rebound towards the upper red trend‑line and higher pivot levels.
Figure caption, This example shows the overbought/oversold module in action. In the left‑hand panel you can see the OB/OS settings where each oscillator (RSI, Stochastic, Williams %R, CCI, MFI, DeMarker and Stochastic RSI) can be enabled or disabled, and the ATR length and label offset multiplier adjusted. On the chart itself, price has pushed up to the descending red trendline and triggered an “OverBought 3/7” label. That means the sell‑side volume spiked relative to its average and three out of the seven enabled oscillators were in overbought territory. The label is offset above the candle by half of an ATR and connected with a dashed line, signaling that upside momentum may be overextended and a pause or pullback could follow.
6. Buyer/Seller Trap Module
6.1 Concept
A bull trap occurs when price appears to break above resistance, attracting buyers, but fails to sustain the move and quickly reverses, leaving a long upper wick and trapping late entrants. A bear trap is the opposite: price breaks below support, lures in sellers, then snaps back, leaving a long lower wick and trapping shorts. This module detects such traps by looking for price structure sweeps, order‑flow mismatches and dominance reversals. It uses a scoring system to differentiate risk from confirmed traps.
6.2 Inputs
• trap_lookback_len: Window length used to rank extremes and detect sweeps.
• trap_wick_threshold: Minimum proportion of a bar’s range that must be wick (upper for bull traps, lower for bear traps) to qualify as a sweep.
• trap_score_risk: Minimum aggregated score required to flag a trap risk. (The code defines a trap_score_confirm input, but confirmation is actually based on price reversal rather than a separate score threshold.)
• trap_confirm_bars: Maximum number of bars allowed for price to reverse and confirm the trap. If price does not reverse in this window, the risk label will expire or remain unconfirmed.
• Label settings: ATR length and multiplier for offsetting, size, colours for risk and confirmed labels, and connector style and width. Separate settings exist for bull and bear traps.
• Toggle inputs: show_trap_module and show_trap_labels enable the module and control whether labels are drawn on the chart.
6.3 Scoring logic
The module assigns points to several conditions and sums them to determine whether a trap risk is present. For bull traps, the score is built from the following (bear traps mirror the logic with highs and lows swapped):
1. Sweep (2 points): Price trades above the high pivot (HH1) but fails to close above it and leaves a long upper wick at least trap_wick_threshold × range. For bear traps, price dips below the low pivot (LL1), fails to close below and leaves a long lower wick.
2. Close break (1 point): Price closes beyond HH1 or LL1 without leaving a long wick.
3. Candle/delta mismatch (2 points): The candle closes bullish yet the order flow delta is negative or the seller ratio exceeds 50%, indicating hidden supply. Conversely, a bearish close with positive delta or buyer dominance suggests hidden demand.
4. Dominance inversion (2 points): The current bar’s buyer volume has the highest rank in the lookback window while cumulative sums favor sellers, or vice versa.
5. Low‑volume break (1 point): Price crosses the pivot but total volume is below its moving average.
The total score for each side is compared to trap_score_risk. If the score is high enough, a “Bull Trap Risk” or “Bear Trap Risk” label is drawn, offset from the candle by half of an ATR‑scaled distance using a dashed outline. If, within trap_confirm_bars, price reverses beyond the opposite level—drops back below the high pivot for bull traps or rises above the low pivot for bear traps—the label is upgraded to a solid “Bull Trap” or “Bear Trap” . In this version of the code, there is no separate score threshold for confirmation: the variable trap_score_confirm is unused; confirmation depends solely on a successful price reversal within the specified number of bars.
Figure caption, In this example the trap module has flagged a Bear Trap Risk. Price initially breaks below the most recent low pivot (LL1), but the bar closes back above that level and leaves a long lower wick, suggesting a failed push lower. Combined with a mismatch between the candle direction and the order flow (buyers regain control) and a reversal in volume dominance, the aggregate score exceeds the risk threshold, so a dashed “Bear Trap Risk” label prints beneath the bar. The green and red trend lines mark the current low and high pivot trajectories, while the horizontal dashed lines show the highest and lowest values in the lookback window. If, within the next few bars, price closes decisively above the support, the risk label would upgrade to a solid “Bear Trap” label.
Figure caption, In this example the trap module has identified both ends of a price range. Near the highs, price briefly pushes above the descending red trendline and the recent pivot high, but fails to close there and leaves a noticeable upper wick. That combination of a sweep above resistance and order‑flow mismatch generates a Bull Trap Risk label with a dashed outline, warning that the upside break may not hold. At the opposite extreme, price later dips below the green trendline and the labelled low pivot, then quickly snaps back and closes higher. The long lower wick and subsequent price reversal upgrade the previous bear‑trap risk into a confirmed Bear Trap (solid label), indicating that sellers were caught on a false breakdown. Horizontal dashed lines mark the highest high and lowest low of the lookback window, while the red and green diagonals connect the earliest and latest pivot highs and lows to visualize the range.
7. Sharp Move Module
7.1 Concept
Markets sometimes display absorption or climax behavior—periods when one side steadily gains the upper hand before price breaks out with a sharp move. This module evaluates several order‑flow and volume conditions to anticipate such moves. Users can choose how many conditions must be met to flag a risk and how many (plus a price break) are required for confirmation.
7.2 Inputs
• sharp Lookback: Number of bars in the window used to compute moving averages, sums, percentile ranks and reference levels.
• sharpPercentile: Minimum percentile rank for the current side’s volume; the current buy (or sell) volume must be greater than or equal to this percentile of historical volumes over the lookback window.
• sharpVolMult: Multiplier used in the volume climax check. The current side’s volume must exceed this multiple of its average to count as a climax.
• sharpRatioThr: Minimum dominance ratio (current side’s volume relative to the opposite side) used in both the instant and cumulative dominance checks.
• sharpChurnThr: Maximum ratio of a bar’s range to its ATR for absorption/churn detection; lower values indicate more absorption (large volume in a small range).
• sharpScoreRisk: Minimum number of conditions that must be true to print a risk label.
• sharpScoreConfirm: Minimum number of conditions plus a price break required for confirmation.
• sharpCvdThr: Threshold for cumulative delta divergence versus price change (positive for bullish accumulation, negative for bearish distribution).
• Label settings: ATR length (sharpATRlen) and multiplier (sharpLabelMult) for positioning labels, label size, colors and connector styles for bullish and bearish sharp moves.
• Toggles: enableSharp activates the module; show_sharp_labels controls whether labels are drawn.
7.3 Conditions (six per side)
For each side, the indicator computes six boolean conditions and sums them to form a score:
1. Dominance (instant and cumulative):
– Instant dominance: current buy volume ≥ sharpRatioThr × current sell volume.
– Cumulative dominance: sum of buy volumes over the window ≥ sharpRatioThr × sum of sell volumes (and vice versa for bearish checks).
2. Accumulation/Distribution divergence: Over the lookback window, cumulative delta rises by at least sharpCvdThr while price fails to rise (bullish), or cumulative delta falls by at least sharpCvdThr while price fails to fall (bearish).
3. Volume climax: The current side’s volume is ≥ sharpVolMult × its average and the product of volume and bar range is the highest in the lookback window.
4. Absorption/Churn: The current side’s volume divided by the bar’s range equals the highest value in the window and the bar’s range divided by ATR ≤ sharpChurnThr (indicating large volume within a small range).
5. Percentile rank: The current side’s volume percentile rank is ≥ sharp Percentile.
6. Mirror logic for sellers: The above checks are repeated with buyer and seller roles swapped and the price break levels reversed.
Each condition that passes contributes one point to the corresponding side’s score (0 or 1). Risk and confirmation thresholds are then applied to these scores.
7.4 Scoring and labels
• Risk: If scoreBull ≥ sharpScoreRisk, a “Sharp ↑ Risk” label is drawn above the bar. If scoreBear ≥ sharpScoreRisk, a “Sharp ↓ Risk” label is drawn below the bar.
• Confirmation: A risk label is upgraded to “Sharp ↑” when scoreBull ≥ sharpScoreConfirm and the bar closes above the highest recent pivot (HH1); for bearish cases, confirmation requires scoreBear ≥ sharpScoreConfirm and a close below the lowest pivot (LL1).
• Label positioning: Labels are offset from the candle by ATR × sharpLabelMult (full ATR times multiplier), not half, and may include a dashed or dotted connector line if enabled.
Figure caption, In this chart both bullish and bearish sharp‑move setups have been flagged. Earlier in the range, a “Sharp ↓ Risk” label appears beneath a candle: the sell‑side score met the risk threshold, signaling that the combination of strong sell volume, dominance and absorption within a narrow range suggested a potential sharp decline. The price did not close below the lower pivot, so this label remains a “risk” and no confirmation occurred. Later, as the market recovered and volume shifted back to the buy side, a “Sharp ↑ Risk” label prints above a candle near the top of the channel. Here, buy‑side dominance, cumulative delta divergence and a volume climax aligned, but price has not yet closed above the upper pivot (HH1), so the alert is still a risk rather than a confirmed sharp‑up move.
Figure caption, In this chart a Sharp ↑ label is displayed above a candle, indicating that the sharp move module has confirmed a bullish breakout. Prior bars satisfied the risk threshold — showing buy‑side dominance, positive cumulative delta divergence, a volume climax and strong absorption in a narrow range — and this candle closes above the highest recent pivot, upgrading the earlier “Sharp ↑ Risk” alert to a full Sharp ↑ signal. The green label is offset from the candle with a dashed connector, while the red and green trend lines trace the high and low pivot trajectories and the dashed horizontals mark the highest and lowest values of the lookback window.
8. Market‑Maker / Spread‑Capture Module
8.1 Concept
Liquidity providers often “capture the spread” by buying and selling in almost equal amounts within a very narrow price range. These bars can signal temporary congestion before a move or reflect algorithmic activity. This module flags bars where both buyer and seller volumes are high, the price range is only a few ticks and the buy/sell split remains close to 50%. It helps traders spot potential liquidity pockets.
8.2 Inputs
• scalpLookback: Window length used to compute volume averages.
• scalpVolMult: Multiplier applied to each side’s average volume; both buy and sell volumes must exceed this multiple.
• scalpTickCount: Maximum allowed number of ticks in a bar’s range (calculated as (high − low) / minTick). A value of 1 or 2 captures ultra‑small bars; increasing it relaxes the range requirement.
• scalpDeltaRatio: Maximum deviation from a perfect 50/50 split. For example, 0.05 means the buyer share must be between 45% and 55%.
• Label settings: ATR length, multiplier, size, colors, connector style and width.
• Toggles : show_scalp_module and show_scalp_labels to enable the module and its labels.
8.3 Signal
When, on the current bar, both TF_buy_breakout and TF_sell_breakout exceed scalpVolMult times their respective averages and (high − low)/minTick ≤ scalpTickCount and the buyer share is within scalpDeltaRatio of 50%, the module prints a “Spread ↔” label above the bar. The label uses the same ATR offset logic as other modules and draws a connector if enabled.
Figure caption, In this chart the spread‑capture module has identified a potential liquidity pocket. Buyer and seller volumes both spiked above their recent averages, yet the candle’s range measured only a couple of ticks and the buy/sell split stayed close to 50 %. This combination met the module’s criteria, so it printed a grey “Spread ↔” label above the bar. The red and green trend lines link the earliest and latest high and low pivots, and the dashed horizontals mark the highest high and lowest low within the current lookback window.
9. Money Flow Module
9.1 Concept
To translate volume into a monetary measure, this module multiplies each side’s volume by the closing price. It tracks buying and selling system money default currency on a per-bar basis and sums them over a chosen period. The difference between buy and sell currencies (Δ$) shows net inflow or outflow.
9.2 Inputs
• mf_period_len_mf: Number of bars used for summing buy and sell dollars.
• Label appearance settings: ATR length, multiplier, size, colors for up/down labels, and connector style and width.
• Toggles: Use enableMoneyFlowLabel_mf and showMFLabels to control whether the module and its labels are displayed.
9.3 Calculations
• Per-bar money: Buy $ = TF_buy_breakout × close; Sell $ = TF_sell_breakout × close. Their difference is Δ$ = Buy $ − Sell $.
• Summations: Over mf_period_len_mf bars, compute Σ Buy $, Σ Sell $ and ΣΔ$ using math.sum().
• Info table entries: Rows 9–13 display these values as texts like “↑ USD 1234 (1M)” or “ΣΔ USD −5678 (14)”, with colors reflecting whether buyers or sellers dominate.
• Money flow status: If Δ$ is positive the bar is marked “Money flow in” ; if negative, “Money flow out” ; if zero, “Neutral”. The cumulative status is similarly derived from ΣΔ.Labels print at the bar that changes the sign of ΣΔ, offset using ATR × label multiplier and styled per user preferences.
Figure caption, The chart illustrates a steady rise toward the highest recent pivot (HH1) with price riding between a rising green trend‑line and a red trend‑line drawn through earlier pivot highs. A green Money flow in label appears above the bar near the top of the channel, signaling that net dollar flow turned positive on this bar: buy‑side dollar volume exceeded sell‑side dollar volume, pushing the cumulative sum ΣΔ$ above zero. In the info table, the “Money flow (bar)” and “Money flow Σ” rows both read In, confirming that the indicator’s money‑flow module has detected an inflow at both bar and aggregate levels, while other modules (pivots, trend lines and support/resistance) remain active to provide structural context.
In this example the Money Flow module signals a net outflow. Price has been trending downward: successive high pivots form a falling red trend‑line and the low pivots form a descending green support line. When the latest bar broke below the previous low pivot (LL1), both the bar‑level and cumulative net dollar flow turned negative—selling volume at the close exceeded buying volume and pushed the cumulative Δ$ below zero. The module reacts by printing a red “Money flow out” label beneath the candle; the info table confirms that the “Money flow (bar)” and “Money flow Σ” rows both show Out, indicating sustained dominance of sellers in this period.
10. Info Table
10.1 Purpose
When enabled, the Info Table appears in the lower right of your chart. It summarises key values computed by the indicator—such as buy and sell volume, delta, total volume, breakout status, market phase, and money flow—so you can see at a glance which side is dominant and which signals are active.
10.2 Symbols
• ↑ / ↓ — Up (↑) denotes buy volume or money; down (↓) denotes sell volume or money.
• MA — Moving average. In the table it shows the average value of a series over the lookback period.
• Σ (Sigma) — Cumulative sum over the chosen lookback period.
• Δ (Delta) — Difference between buy and sell values.
• B / S — Buyer and seller share of total volume, expressed as percentages.
• Ref. Price — Reference price for breakout calculations, based on the latest pivot.
• Status — Indicates whether a breakout condition is currently active (True) or has failed.
10.3 Row definitions
1. Up volume / MA up volume – Displays current buy volume on the lower timeframe and its moving average over the lookback period.
2. Down volume / MA down volume – Shows current sell volume and its moving average; sell values are formatted in red for clarity.
3. Δ / ΣΔ – Lists the difference between buy and sell volume for the current bar and the cumulative delta volume over the lookback period.
4. Σ / MA Σ (Vol/MA) – Total volume (buy + sell) for the bar, with the ratio of this volume to its moving average; the right cell shows the average total volume.
5. B/S ratio – Buy and sell share of the total volume: current bar percentages and the average percentages across the lookback period.
6. Buyer Rank / Seller Rank – Ranks the bar’s buy and sell volumes among the last (n) bars; lower rank numbers indicate higher relative volume.
7. Σ Buy / Σ Sell – Sum of buy and sell volumes over the lookback window, indicating which side has traded more.
8. Breakout UP / DOWN – Shows the breakout thresholds (Ref. Price) and whether the breakout condition is active (True) or has failed.
9. Market Phase (Vol) – Reports the current volume‑only phase: Accumulation, Distribution or Neutral.
10. Money Flow – The final rows display dollar amounts and status:
– ↑ USD / Σ↑ USD – Buy dollars for the current bar and the cumulative sum over the money‑flow period.
– ↓ USD / Σ↓ USD – Sell dollars and their cumulative sum.
– Δ USD / ΣΔ USD – Net dollar difference (buy minus sell) for the bar and cumulatively.
– Money flow (bar) – Indicates whether the bar’s net dollar flow is positive (In), negative (Out) or neutral.
– Money flow Σ – Shows whether the cumulative net dollar flow across the chosen period is positive, negative or neutral.
The chart above shows a sequence of different signals from the indicator. A Bull Trap Risk appears after price briefly pushes above resistance but fails to hold, then a green Accum label identifies an accumulation phase. An upward breakout follows, confirmed by a Money flow in print. Later, a Sharp ↓ Risk warns of a possible sharp downturn; after price dips below support but quickly recovers, a Bear Trap label marks a false breakdown. The highlighted info table in the center summarizes key metrics at that moment, including current and average buy/sell volumes, net delta, total volume versus its moving average, breakout status (up and down), market phase (volume), and bar‑level and cumulative money flow (In/Out).
11. Conclusion & Final Remarks
This indicator was developed as a holistic study of market structure and order flow. It brings together several well‑known concepts from technical analysis—breakouts, accumulation and distribution phases, overbought and oversold extremes, bull and bear traps, sharp directional moves, market‑maker spread bars and money flow—into a single Pine Script tool. Each module is based on widely recognized trading ideas and was implemented after consulting reference materials and example strategies, so you can see in real time how these concepts interact on your chart.
A distinctive feature of this indicator is its reliance on per‑side volume: instead of tallying only total volume, it separately measures buy and sell transactions on a lower time frame. This approach gives a clearer view of who is in control—buyers or sellers—and helps filter breakouts, detect phases of accumulation or distribution, recognize potential traps, anticipate sharp moves and gauge whether liquidity providers are active. The money‑flow module extends this analysis by converting volume into currency values and tracking net inflow or outflow across a chosen window.
Although comprehensive, this indicator is intended solely as a guide. It highlights conditions and statistics that many traders find useful, but it does not generate trading signals or guarantee results. Ultimately, you remain responsible for your positions. Use the information presented here to inform your analysis, combine it with other tools and risk‑management techniques, and always make your own decisions when trading.
FluidFlow OscillatorFluidFlow Oscillator: Study Material for Traders
Overview
The FluidFlow Oscillator is a custom technical indicator designed to measure price momentum and market flow dynamics by simulating fluid motion concepts such as velocity, viscosity, and turbulence. It helps traders identify potential buy and sell signals along with trend strength, momentum direction, and volatility conditions.
This study explains the underlying calculation concepts, signal logic, visual cues, and how to interpret the professional dashboard table that summarizes key indicator readings.
________________________________________
How the FluidFlow Oscillator Works
Core Mechanisms
1. Price Flow Velocity
o Measures the rate of change of price over a specified flow length (default 40 bars).
o Calculated as a percentage change of closing price: roc=close−closelen_flowcloselen_flow×100\text{roc} = \frac{\text{close} - \text{close}_{len\_flow}}{\text{close}_{len\_flow}} \times 100roc=closelen_flowclose−closelen_flow×100
o Smoothed by an EMA (Exponential Moving Average) to reduce noise, generating a "flow velocity" value.
2. Viscosity Factor
o Analogous to fluid viscosity, it adjusts the flow velocity based on recent price volatility.
o Volatility is computed as the standard deviation of close prices over the flow length.
o The viscosity acts as a damping factor to slow down the flow velocity in highly volatile conditions.
o This results in a "flow with viscosity" value, that smooths out the velocity considering market turbulence.
3. Turbulence Burst
o Captures sudden changes or bursts in the flow by measuring changes between successive viscosity-adjusted flows.
o The turbulence value is a smoothed absolute change in flow.
o A burst boost factor is added to the oscillator to incorporate this rapid change component, amplifying signals during sudden shifts.
4. Oscillator Calculation
o The raw oscillator value is the sum of flow with viscosity plus burst boost, scaled by 10.
o Clamped between -100 and +100 to limit extremes.
o Finally, smoothed again by EMA for cleaner visualization.
________________________________________
Signal Logic
The oscillator works with complementary components to produce actionable signals:
• Signal Line: An EMA-smoothed version of the oscillator for generating crossover-based signals.
• Momentum: The rate of change of the oscillator itself, smoothed by EMA.
• Trend: Uses fast (21-period EMA) and slow (50-period EMA) moving averages of price to identify market trend direction (uptrend, downtrend, or sideways).
Signal Conditions
• Bullish Signal (Buy): Oscillator crosses above the oversold threshold with positive momentum.
• Bearish Signal (Sell): Oscillator crosses below the overbought threshold with negative momentum.
Statuses
The oscillator provides descriptive market states based on level and momentum:
• Overbought
• Oversold
• Buy Signal
• Sell Signal
• Bullish / Bearish (momentum-driven)
• Neutral (no clear trend)
________________________________________
Color System and Visualization
The oscillator uses a sophisticated HSV color model adapting hues according to:
• Oscillator value magnitude and sign (positive or negative)
• Acceleration of oscillator changes
• Smooth color gradients to facilitate intuitive understanding of trend strength and momentum shifts
Background colors highlight overbought (red tint) and oversold (green tint) zones with transparency.
________________________________________
How to Understand the Professional Dashboard Table
The FluidFlow Oscillator offers an integrated table at the bottom center of the chart. This dashboard summarizes critical indicator readings in 8 columns across 3 rows:
Column Description
SIGNAL Current signal status (e.g., Buy, Sell, Overbought) with color coding
OSCILLATOR Current oscillator value (-100 to +100) with color reflecting intensity and direction
MOMENTUM Momentum bias indicating strength/direction of oscillator changes (Strong Up, Up, Sideways, Down, Strong Down)
TREND Current trend status based on EMAs (Strong Uptrend, Uptrend, Sideways, Downtrend, Strong Downtrend)
VOLATILITY Volatility percentage relative to average, indicating market activity level
FLOW Flow velocity value describing price momentum magnitude and direction
TURBULENCE Turbulence level indicating sudden bursts or spikes in price movement
PROGRESS Oscillator's position mapped as a percentage (0% to 100%) showing proximity to extreme levels
Rows Explained
• Row 1 (Header): Labels for each metric.
• Row 2 (Values): Current numerical or descriptive values color-coded along a professional scheme:
o Green or lime tones indicate positive or bullish conditions.
o Red or orange tones indicate caution, sell signals, or bearish conditions.
o Blue tones indicate neutral or stable conditions.
• Row 3 (Status Indicators): Emoji-like icons and bars provide a quick visual gauge of each metric's intensity or signal strength:
o For example, "🟢🟢🟢" suggests very strong bullish momentum, while "🔴🔴🔴" suggests strong bearish momentum.
o Progress bar visually demonstrates oscillator movement toward oversold or overbought extremes.
________________________________________
Practical Interpretation Tips
• A Buy signal with green colors and strong momentum usually precedes upward price moves.
• An Overbought status with red background and red table colors warns of potential price corrections or reversals.
• Watch the Turbulence to gauge market instability; spikes may precede price shocks or volatility bursts.
• Confirm signals with the Trend and Momentum columns to avoid false entries.
• Use the Progress bar to anticipate oscillations approaching key threshold levels for timing trades.
________________________________________
Alerts
The oscillator supports alerts for:
• Buy and sell signals based on oscillator crossovers.
• Overbought and oversold levels reached.
These help traders automate awareness of important market conditions.
________________________________________
Disclaimer
The FluidFlow Oscillator and its signals are for educational and informational purposes only. They do not guarantee profits and should not be considered as financial advice. Always conduct your own research and use proper risk management when trading. Past performance is not indicative of future results.
________________________________________
This detailed explanation should help you understand the workings of the FluidFlow Oscillator, its components, signal logic, and how to analyze its professional dashboard for informed trading decisions.
Daily 6 AM & 8 AM CST Linesit help so you can figure out 6am and 8am on cst time in americas very fast.
CVDD Z-ScoreCumulative Value Days Destroyed (CVDD) - The CVDD was created by Willy Woo and is the ratio of the cumulative value of Coin Days Destroyed in USD and the market age (in days). While this indicator is used to detect bottoms normally, an extension is used to allow detection of BTC tops. When the BTC price goes above the CVDD extension, BTC is generally considered to be overvalued. Because the "strength" of the BTC tops has decreased over the cycles, a logarithmic function for the extension was created by fitting past cycles as log extension = slope * time + intercept. This indicator is triggered for a top when the BTC price is above the CVDD extension. For the bottoms, the CVDD is shifted upwards at a default value of 120%. The slope, intercept, and CVDD bottom shift can all be modified in the script.
Now with the automatic Z-Score calculation for ease of classification of Bitcoin's valuation according to this metric.
Created for TRW.
Previous Day Liquidity ZonesThis indicator is designed for intraday liquidity-based trading strategies and helps traders identify high-probability reversal or breakout zones based on smart money concepts.
It automatically plots the:
🟥 Previous Day High Zone – potential buy-side liquidity trap
🟩 Previous Day Low Zone – potential sell-side liquidity trap
🟧 Previous Day Close Zone – potential rebalancing or indecision zone
These levels are critical areas where institutional stop-hunting, reversals, and fake breakouts often occur.
🎯 How to Use
Use this indicator on 1-minute or 5-minute charts for stocks, indices (like NIFTY, BANKNIFTY), or forex.
Watch for price entering these zones during live market hours.
Combine with price action confirmation:
Rejection wicks
Engulfing candles
Change of character (CHoCH) or BOS
Fair Value Gaps (FVG)
First 5-minute candle (9:15 AM in Indian market) is highlighted for breakout setups.
🧠 Smart Money Logic
These zones mimic the logic used by institutions to:
Trigger retail stop-losses
Reverse market direction near liquidity pools
Trap breakout traders around session extremes
⚙️ Features
Configurable zone width (%)
Visual fill zones with subtle shading
Support for all assets and timeframes
Highlights first candle of day to assist with pre-trade bias
✅ Ideal For:
Smart money traders
ICT / Wyckoff / SMC followers
Breakout trap or reversal strategy users
Anyone who trades key session levels
⚠️ Disclaimer
This is an informational tool. Always use confirmation and sound risk management before executing any trade.






















