Volume vs Range Imbalance DetectorDescription :-
Concept :-
This indicator is designed to identify "Effort vs. Result" anomalies in the market using Volume Spread Analysis (VSA) concepts. It highlights specific candles where high trading activity (Volume) is occurring, but the price movement (Range) is restricted. This behavior often signals the presence of heavy absorption by buyers or sellers ("Smart Money" activity) before a potential reversal or continuation.
How It Works :-
The script combines two distinct methods of volume analysis into a single view
1. Structural Imbalance (Lime & Red Signals)
This logic detects major market anomalies by comparing the current candle against a 50-period average context.
The Logic: A signal is generated if the Volume is significantly higher than the average (default 1.618x the 50 SMA) AND the Price Range is significantly smaller than the average (default 1.272x the 50 ATR).
Lime Candle/Dot (Bullish Absorption): Massive volume with small range, closing in the upper 50% of the bar. This suggests sellers are dumping, but buyers are absorbing all orders, preventing the price from dropping.
Red Candle/Dot (Bearish Blockade): Massive volume with small range, closing in the lower 50% of the bar. This suggests buyers are pushing, but sellers are absorbing the demand, preventing the price from rising.
2. Hidden Activity (Orange Signals)
This logic is more sensitive and compares the current candle only to the previous candle.
The Logic: A signal is generated if the current Volume is higher than the previous bar's volume, but the current Range is smaller than the previous bar's range.
Orange Candle/Dot: This indicates "Churn." Effort is increasing, but the result (movement) is decreasing. It is often an early warning sign of congestion or a pending breakout.
Visual Guide
Lime Dot (Below Bar): Strong Buying Pressure (Bullish Imbalance).
Red Dot (Above Bar): Strong Selling Pressure (Bearish Imbalance).
Orange Dot (Above Bar): Hidden Activity / Churn (Warning).
Settings
Context Length: The lookback period for the moving averages (Default: 50).
Volume/Range Multipliers: Determine how strict the "Imbalance" signals are. Higher numbers result in fewer, more significant signals.
Show Hidden Activity: Toggle the orange signals on or off.
Disclaimer
This tool is for educational purposes only. Volume analysis is subjective and should be used in conjunction with other form Indicator

DeltaBurst Locator ## DeltaBurst Locator
DeltaBurst Locator is a sponsorship detector that divides OBV impulse by price thrust, normalizes the ratio, and cross-checks it against a higher timeframe confirmation stream. The oscillator turns the abstract "is this move real?" question into a precise number, exposing accumulation, distribution, and exhaustion across futures and stocks.
HOW IT WORKS
OBV Impulse vs. Price Change – Smoothed deltas of On-Balance Volume and price are ratioed, then normalized using a hyperbolic tangent function to prevent single prints from dominating.
Signal vs. Confirmation – A short EMA produces the execution signal while a higher-timeframe request.security() feed validates whether broader flows agree.
Spectrum Classification – Expansion/compression metrics grade whether current aggression is intense or fading, while ±0.65 bands define exhaust/vacuum zones.
Slope Divergences – Linear regression slopes on both price and the ratio expose bullish/bearish sponsorship mismatches before candles reverse.
HOW TO USE IT
Breakout Validation : Only chase breakouts when both local and higher-timeframe ratios are on the same side of zero; mixed signals suggest liquidity is fading.
Absorption Trades : When the histogram spikes beyond ±0.65 but the EMA lags, expect absorption; combine with price structure for pinpoint reversals.
News/Event Monitoring : During earnings or macro releases, watch for ratio collapses with price still rising—this flags forced moves driven by hedging rather than real demand.
VISUAL FEATURES
Color logic: Positive sponsorship fills teal, negative fills crimson against the zero line, making intent obvious at a glance.
Optional markers: Burst triangles and divergence dots can be enabled when you need explicit annotations or left off for a minimalist panel.
Compression heatmap: Background shading communicates whether the market is coiling (high compression) or erupting (low compression).
Dashboard: Displays the live ratio, higher-timeframe ratio, and agreement state to speed up scanning across tickers.
PARAMETERS
Fast Pulse Length (default: 5): Controls the smoothing window for price change detection.
Slow Equilibrium Length (default: 34): Window for expansion/compression calculation.
OBV Smooth (default: 8): Smoothing period for OBV impulse calculation.
Ratio Ceiling (default: 3.0): Controls how aggressively values saturate; raise for high-volatility tickers.
Signal EMA (default: 4): EMA period for the signal line.
Confirmation Timeframe (default: 240): Pick a higher anchor (e.g., 4H) to validate intraday moves.
Divergence Window (default: 21): Window for slope-based divergence detection.
Show Burst Markers (default: disabled): Toggle burst triangles on demand.
Show Divergence Markers (default: disabled): Toggle divergence dots on demand.
Show Delta Dashboard (default: enabled): Hide when screen space is limited; leave on for desk broadcasts.
ALERTS
The indicator includes four alert conditions:
DeltaBurst Bull: Spotted a bullish liquidity burst
DeltaBurst Bear: Spotted a bearish liquidity burst
DeltaBurst Bull Div: Detected bullish sponsorship divergence
DeltaBurst Bear Div: Detected bearish sponsorship divergence
Hope you enjoy!
Indicator

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.
Indicator

Dynamic Volume Trace Profile [ChartPrime]⯁ OVERVIEW
Dynamic Volume Trace Profile is a reimagined take on volume profile analysis. Instead of plotting a static horizontal histogram on the side of your chart, this indicator projects dynamic volume trace lines directly onto the price action. Each bin is color-graded according to its relative strength, creating a living “volume skeleton” of the market. The orange trace highlights the current Point of Control (POC)—the price level with maximum historical traded volume within the lookback window. On the right side, the tool builds a mini profile, showing absolute volume per bin alongside its percentage share, where the POC always represents 100% strength .
⯁ KEY FEATURES
Dynamic On-Chart Bins:
The range between highest high and lowest low is split into 25 bins. Each bin is drawn as a horizontal trace line across the lookback chart period.
Gradient Color Encoding:
Trace lines fade from transparent to teal depending on relative volume size. The more intense the teal, the stronger the historical traded activity at that level.
Automatic POC Highlight:
The bin with the highest aggregated volume is flagged with an orange line . This POC adapts bar-by-bar as volume distribution shifts.
Right-Side Volume Profile:
At the chart’s right edge, the script prints a box-style profile. Each bin shows:
• Total volume (absolute units).
• Percentage of max volume, in parentheses (POC bin = 100%).
This gives both raw and normalized context at a glance.
Adjustable Lookback Window:
The lookback defines how many bars feed the profile. Increase for stable HTF zones or decrease for responsive intraday distributions.
POC Toggle & Styling:
Optionally toggle POC highlighting on/off, adjust colors, and set line thickness for better integration with your chart theme.
⯁ HOW IT WORKS (UNDER THE HOOD)
Step Sizing:
over last 100 bars is divided by to calculate bin height.
Volume Aggregation:
For each bar in the , the script checks which bin the close falls into, then adds that bar’s volume to the bin’s counter.
Gradient Mapping:
Bin volume is normalized against the max volume across all bins. That value is mapped onto a gradient from transparent → teal.
POC Logic:
The bin with highest volume is colored orange both on the dynamic trace and in the right-side profile.
Right-Hand Profile:
Boxes are drawn for each bin proportional to volume / maxVolume × 50 units, with text labels showing both absolute volume and normalized %.
⯁ USAGE
Use the orange trace as the dominant “magnet” level—price often gravitates to the POC.
Watch for clusters of strong teal traces as areas of high acceptance; thin or faint zones mark low-liquidity gaps prone to fast moves.
On intraday charts, tighten lookback to reveal session-based distributions . For swing or position trading, expand lookback to surface more durable volume shelves.
Compare the right-side profile % to judge how “top-heavy” or “bottom-heavy” the current distribution is.
Use bright, intense color traces as context for confluence with structure, OBs, or liquidity hunts.
⯁ CONCLUSION
Dynamic Volume Trace Profile takes the traditional volume profile and fuses it into the body of price itself. Instead of a fixed sidebar, you see gradient traces layered directly on the chart, giving real-time context of where volume concentrated and where price may be drawn. With built-in POC highlighting, normalized % readouts, and an adaptive right-side profile, it offers both precision levels and market structure awareness in a cleaner, more intuitive form. Indicator

Indicator

Volumatic Fair Value Gaps [BigBeluga]🔵 OVERVIEW
The Volumatic Fair Value Gaps indicator detects and plots size-filtered Fair Value Gaps (FVGs) and immediately analyzes the bullish vs. bearish volume composition inside each gap. When an FVG forms, the tool samples volume from a 10× lower timeframe , splits it into Buy and Sell components, and overlays two compact bars whose percentages always sum to 100%. Each gap also shows its total traded volume . A live dashboard (top-right) summarizes how many bullish and bearish FVGs are currently active and their cumulative volumes—offering a quick read on directional participation and trend pressure.
🔵 CONCEPTS
FVGs (Fair Value Gaps) : Imbalance zones between three consecutive candles where price “skips” trading. The script plots bullish and bearish gaps and extends them until mitigated.
Size Filtering : Only significant gaps (by relative size percentile) are drawn, reducing noise and emphasizing meaningful imbalances.
// Gap Filters
float diff = close > open ? (low - high ) / low * 100 : (low - high) / high *100
float sizeFVG = diff / ta.percentile_nearest_rank(diff, 1000, 100) * 100
bool filterFVG = sizeFVG > 15
Volume Decomposition : For each FVG, the indicator inspects a 10× lower timeframe and aggregates volume of bullish vs. bearish candles inside the gap’s span.
100% Split Bars : Two inline bars per FVG display the % Bull and % Bear shares; their total is always 100%.
Total Gap Volume : A numeric label at the right edge of the FVG shows the total traded volume associated with that gap.
Mitigation Logic : Gaps are removed when price closes through (or touches via high/low—user-selectable) the opposite boundary.
Dashboard Summary : Counts and sums the active bullish/bearish FVGs and their total volumes to gauge directional dominance.
🔵 FEATURES
Bullish & Bearish FVG plotting with independent color controls and visibility toggles.
Adaptive size filter (percentile-based) to keep only impactful gaps.
Lower-TF volume sampling at 10× faster resolution for more granular Buy/Sell breakdown.
Per-FVG volume bars : two horizontal bars showing Bull % and Bear % (sum = 100%).
Per-FVG total volume label displayed at the right end of the gap’s body.
Mitigation source option : choose close or high/low for removing/invalidating gaps.
Overlap control : older overlapped gaps are cleaned to avoid clutter.
Auto-extension : active gaps extend right until mitigated.
Dashboard : shows count of bullish/bearish gaps on chart and cumulative volume totals for each side.
Performance safeguards : caps the number of active FVG boxes to maintain responsiveness.
🔵 HOW TO USE
Turn on/off FVG types : Enable Bullish FVG and/or Bearish FVG depending on your focus.
Tune the filter : The script already filters by relative size; if you need fewer (stronger) signals, increase the percentile threshold in code or reduce the number of displayed boxes.
Choose mitigation source :
close — stricter; gap is removed when a closing price crosses the boundary.
high/low — more sensitive; a wick through the boundary mitigates the gap.
Read the per-FVG bars :
A higher Bull % inside a bullish gap suggests constructive demand backing the imbalance.
A higher Bear % inside a bearish gap suggests supply is enforcing the imbalance.
Use total gap volume : Larger totals imply more meaningful interest at that imbalance; confluence with structure/HTF levels increases relevance.
Watch the dashboard : If bullish counts and cumulative volume exceed bearish, market pressure is likely skewed upward (and vice versa). Combine with trend tools or market structure for entries/exits.
Optional: hide volume bars : Disable Volume Bars when you want a cleaner FVG map while keeping total volume labels and the dashboard.
🔵 CONCLUSION
Volumatic Fair Value Gaps blends precise FVG detection with lower-timeframe volume analytics to show not only where imbalances exist but also who powers them. The per-gap Bull/Bear % bars, total volume labels, and the cumulative dashboard together provide a fast, high-signal read on directional participation. Use the tool to prioritize higher-quality gaps, align with trend bias, and time mitigations or continuations with greater confidence. Indicator

Volume Pressure Analysis - Live DataVolume Pressure Gauge and Volume Percentage Indicator – Pine Script Guide
This indicator provides a simplified, real-time visualization of both volume pressure (buy vs. sell activity) and today’s trading volume in comparison to historical averages. It is designed to help traders assess whether buyers or sellers dominate the current session and whether today’s volume is significant relative to recent behaviour.
________________________________________
Key Functional Segments
1. Inputs and Configuration
Users can configure the length of the Simple Moving Average (SMA) used to calculate average volume, set the position of the gauge table on the chart, and toggle the visibility of the volume pressure display. This allows flexibility in integrating the tool with various trading styles and chart layouts.
2. Volume Data Calculations
The indicator calculates three key volume metrics:
• volToday: The current day’s volume.
• volAvg: The average volume over the user-defined SMA period (default is 20 bars).
• volPct: The current volume as a percentage of the average.
This enables traders to quickly recognize whether current trading activity is above or below normal, which can be a precursor to potential trend strength or weakness.
3. Volume Pressure Calculation
The script estimates buying and selling pressure based on price movement and volume. It distributes volume into upward (buy) and downward (sell) segments and expresses them as percentages of the total volume. This gives an immediate sense of whether bulls or bears are more active in the current session.
4. Visual Representation (Progress Bars)
The indicator renders a simplified visual gauge using horizontal bar segments (pseudo-bars) to reflect the proportion of buy and sell pressure. The length of each bar correlates with the strength of pressure from buyers or sellers, helping users assess dominance without analyzing candlestick behavior in depth.
5. Table Display
A compact table is drawn on the chart showing:
• Buy pressure percentage and corresponding bar.
• Sell pressure percentage and corresponding bar.
• Volume percentage compared to the recent average.
This format makes it easy to evaluate volume dynamics at a glance, without cluttering the price chart or relying on separate overlays.
________________________________________
How Traders Benefit from This Indicator
• Momentum Shift Detection: Early signs of trend reversal can be observed when volume pressure flips direction.
• Breakout Validation: High volume combined with dominant pressure supports the credibility of breakout moves.
• False Move Avoidance: If price moves on low volume or mixed pressure, traders can avoid low-probability entries.
• Market Context Awareness: Users can assess whether a day is behaving normally in terms of participation or is unusually quiet or aggressive.
________________________________________
Basic Usage Guide
1. Add the script to your PulseWire chart and set your preferred SMA length for volume comparison.
2. Customize the table’s position using the X and Y settings for clarity and alignment.
3. Interpret the outputs:
o A higher red bar indicates dominant sell pressure.
o A higher green bar indicates dominant buy pressure.
o Volume % above 100% suggests above-average activity, while values below 100% may imply low conviction.
4. Apply to trading decisions:
o High buy pressure and high volume may indicate a strong long opportunity.
o High sell pressure and high volume may support short setups.
o Low volume or conflicting signals may call for caution.
5. Combine with other tools such as trend indicators, support/resistance zones, or price action patterns for more reliable trade setups.
________________________________________
Practical Example
• Sell Pressure: 70% → Suggests strong seller control; potential for short setups.
• Buy Pressure: 30% → Weak buying interest; long trades may carry risk.
• Volume Percentage: 120% → Indicates a surge in participation; movement may have greater validity.
________________________________________
Tips for New Traders
• Use this indicator as a confirmation tool rather than a standalone strategy.
• Begin on higher timeframes (4-hour or daily) to develop familiarity.
• Compare multiple examples to identify reliable patterns over time.
• Always incorporate proper risk management, including stop losses.
________________________________________
Disclaimer from aiTrendview
This indicator is intended solely for educational and informational use. It does not constitute investment advice, trade signals, or financial recommendations. aiTrendview and its affiliates are not liable for any trading losses incurred through use of this tool. All trading involves risk. Past performance of any indicator does not guarantee future results. Users should conduct independent research and consult with a certified financial advisor before making any trading decisions.
Indicator

Exchanges Combined Volume📊 Exchanges Combined Volume
(Aggregated Multi-Exchange Volume: Binance, OKX, Bybit, etc.) by BIGTAKER*
🔍 Purpose
The Exchanges Combined Volume indicator aggregates real-time trading volumes from multiple global exchanges for a specific asset (e.g., a cryptocurrency).
Instead of relying on a single market, it provides a broader view of market activity, helping users detect abnormal volume behavior and increased participation across the entire market.
⚙️ Supported Exchanges
* USDT Markets
`Binance`, `OKX`, `Bybit`, `Bitget`, `Gate.io`
* USD Markets
`Coinbase`, `Bitfinex`, `Bitstamp`
* Default
Includes the current chart symbol’s native volume by default.
🧮 Core Calculation Logic
1. 📛 Symbol Normalization (cleanSymbol)
Prefixes such as `1000`, `10000`, `100000`, or `1M` (common in leveraged tickers) are automatically removed to extract the base token.
> Example:
> `1000PEPEUSDT` → `PEPEUSDT`
2. 📈 Volume Requests from External Exchanges
Volume is retrieved using the `` format (e.g., `'BINANCE:PEPEUSDT'`, `'COINBASE:BTCUSD'`).
Invalid or delisted pairs are safely ignored using `ignore_invalid_symbol=true`.
3. 📊 Total Volume Calculation
totalVolume = usdtVolume + usdVolume + currentSymbolVolume
The indicator sums the volume from all target exchanges plus the volume from the current chart symbol.
4. 📏 Comparison to Average Volume
* Period: `length = 60` (Simple Moving Average over 60 candles)
* A candle is considered **high-intensity** if:
5. 🎨 Visual Styling
| Condition | Color | Meaning |
| -------------------------- | --------------------- | ----------------------- |
| High-volume Bullish Candle | Light Green (#30db78) | Strong Buying Activity |
| High-volume Bearish Candle | Bright Red (#ff0000) | Strong Selling Activity |
| Normal Bullish Candle | Dark Green (#3c7058) | Regular Buying Volume |
| Normal Bearish Candle | Dark Red (#682e2c) | Regular Selling Volume |
📌 Use Cases
* Detect synchronized volume surges across major global exchanges.
* Identify pre-pump accumulation phases on altcoins.
* Combine with premium gap indicators (e.g., Kimchi Premium) to identify leading market sentiment.
* Confirm breakout momentum with multi-exchange volume validation.
📘 Notes & Warnings
* Listing differences across exchanges may result in **zero volume** on some platforms.
* Prefixes like `1000`, `1M`, etc., are automatically removed to **improve symbol matching accuracy**.
* As volume units are not standardized, this indicator is best suited for **absolute value analysis**, not ratio-based comparisons.
Indicator

Indicator

Indicator

Indicator

Range Breakout Signals [AlgoAlpha]OVERVIEW
This script detects range-bound market conditions and breakout signals using a combination of volatility compression and volume imbalance analysis. It identifies zones where price consolidates within a defined range and highlights potential breakout points with visual markers. Traders can use this to spot market transitions from ranging to trending phases, aiding in decision-making for breakout strategies.
CONCEPTS
The script measures volatility by comparing the ratio of the simple moving average (SMA) of price movements to their median value. When volatility drops below a threshold, the script assumes a range-bound market. It then tracks the cumulative volume of buying and selling pressure to assess breakout strength. The approach is based on the idea that market consolidation often precedes strong moves, and volume distribution can provide clues on the breakout direction.
FEATURES
Range Detection : Uses a volatility filter to identify low-volatility zones and marks them on the chart with shaded boxes.
Volume Imbalance Analysis : Evaluates cumulative up and down volume over a confirmation period to assess directional bias.
Breakout Signals : When price exits a detected range, the script plots breakout markers. A ▲ symbol indicates a bullish breakout, and a ▼ symbol indicates a bearish breakout. Additional "+" markers indicate strong volume imbalance favoring the breakout direction.
Adaptive Timeframe Volume Analysis : The script dynamically adjusts its volume calculation based on the chart’s timeframe, ensuring reliable signal generation across different trading conditions.
Alerts : Notifies traders when a new range is detected or when a breakout occurs, allowing for automated monitoring.
USAGE
Traders can use this script to identify potential trade setups by entering positions when price breaks out of a detected range. For breakout confirmation, traders can look at volume imbalance cues—bullish breakouts with strong buying volume may indicate sustained moves, while weak volume breakouts may lead to false signals. This script is particularly useful for breakout traders, range traders seeking to fade breakouts, and those looking to automate trade alerts in volatile markets. Indicator

Indicator

Liquidity Depth [AlgoAlpha]OVERVIEW
This script visualizes market liquidity by identifying key price levels where significant volume has transacted. It highlights zones of high buying and selling interest, helping traders understand where liquidity is accumulating and how price may respond to these areas. By dynamically tracking volume at highs and lows, the script builds a real-time liquidity profile, making it a powerful tool for identifying potential support and resistance levels.
CONCEPTS
Liquidity depth analysis helps traders determine how price interacts with supply and demand at different levels. The script processes historical volume data to distinguish between high-liquidity and low-liquidity zones. It assigns transparency levels to plotted lines , ensuring that more relevant liquidity areas stand out visually. The script adds a profile to show the depth of liquidity (derived from historical volume data) for levels above and below the current price
FEATURES
Liquidity Levels: Tracks liquidity levels based on volume concentration at price high and lows.
Volume-Based Transparency: More significant liquidity levels are displayed with higher visibility, showing their significance.
Interpolation: interpolates the bullish and bearish liquidity depth at a user defined range away from the price, helping in comparing the liquidity amounts between bullish and bearish.
Depth Profile: Allows traders to visualize depth of liquidity in a more quantitative and clearer way than the liquidity levels/list]
USAGE
This indicator is best used to track liquidity levels and potential price reaction areas. Traders can adjust the Liquidity Lookback setting to analyze past liquidity levels over different historical periods. The Profile Resolution setting controls the granularity of liquidity depth visualization, with higher values providing more detail. The script can be applied across different timeframes, from intraday scalping to swing trading analysis. The plotted liquidity zones provide traders with insights into where price may encounter strong support, resistance, or potential liquidity-driven reversals.
Indicator

Indicator

Volume Data Customized TimeframeThe "Volume Data Customized Timeframe" (VolData CTF) indicator provides traders with an enhanced volume analysis tool that aggregates buy and sell volume over a user-defined timeframe. It enables a comparative assessment of bullish and bearish volume trends, offering deeper insights into market sentiment. The indicator features a customizable display table with user-selectable themes and positioning, providing essential volume metrics for improved trading decisions.
1. Introduction:
The "Volume Data Customized Timeframe" indicator is designed to help traders analyze volume trends across different timeframes. It allows users to customize the period for volume calculations, view the ratio of selling to buying volume, and present the data in a user-friendly table format.
2. Features:
Selectable timeframe for volume analysis (default: chart timeframe)
Calculation of bullish (buy) and bearish (sell) volume
Customizable table size, theme, and positioning
Displays key volume metrics:
Total Buy Volume
Total Sell Volume
Sell/Buy Volume Ratio
Analysis period in minutes, days, weeks, or months
3. Indicator Inputs:
Average Volume Lookback (n): Number of bars used to calculate volume statistics.
Select Timeframe: Custom timeframe for volume calculations (leave empty to use the chart's timeframe).
Table Size: Choose from Small, Medium, or Big to adjust text size.
Table Theme: Choose between Light and Dark themes.
Table Position: Place the table in any corner of the chart (top-left, top-right, bottom-left, bottom-right).
4. How It Works:
The indicator retrieves volume data for the selected timeframe.
It aggregates bullish and bearish volume based on the lookback period.
The sell-to-buy volume ratio is calculated and color-coded (green for bullish dominance, red for bearish dominance).
The volume statistics are displayed in a customizable table for easy reference.
5. Interpretation:
Δ BUY VOL: Represents the total volume of bullish (up-closing) bars within the lookback period.
Δ SELL VOL: Represents the total volume of bearish (down-closing) bars within the lookback period.
Δ SELL/Δ BUY: The ratio of bearish to bullish volume; values above 1 indicate more selling pressure, while values below 1 indicate buying dominance.
Period (M/D/W/M): Displays the selected timeframe for volume aggregation.
Indicator

Indicator

Volume Spread Analysis [AlgoAlpha]Unleash the power of Volume Spread Analysis (VSA) with our state-of-the-art indicator designed to detect market divergences and convergences, helping you make informed trading decisions. 📈
Key Features:
Detects bullish and bearish divergences based on volume and price movements. 📊🔍
Identifies bullish and bearish convergences, signaling potential trend continuations or reversals. 🔄📉
Customizable parameters for period length, volume SMA period, and outlier reduction factor. ⚙️🔧
Visual highlights for detected effects, with color-coded boxes and labels. 🟩🟥
Provides alerts for divergences and convergences, keeping you updated on market conditions. 🔔📬
📚 Introduction to Volume Spread Analysis (VSA) :
Volume Spread Analysis is a method used to interpret the relationship between volume and price to identify the intentions of market participants. By analyzing the spread (range) of a price bar and its corresponding volume, VSA helps traders discern market strength and potential reversals.
In VSA, harmony occurs when price and volume move in sync, such as when increasing prices(aka "Effect" in the script) are accompanied by increasing volume. This indicates a strong and healthy trend. Conversely, divergence happens when price and volume move in opposite directions. For example, if prices are rising lesser but volume is still high, it may signal a weakening trend and a potential reversal. Identifying these patterns helps traders understand market dynamics and make more informed trading decisions.
🛠 Quick Guide to Using the Volume Spread Analysis Indicator
⭐ Add the Indicator: Add the indicator to favorites by pressing the star icon. Customize settings such as period length, volume SMA period, and outlier reduction factor to fit your trading style.
📊 Market Analysis: Watch for color-coded boxes indicating effects and labels showing effort values. Look for divergences and convergences to identify potential trading opportunities. A higher work done suggests that the markets are needing to work harder to move the price and users can use that information as displayed below each trend impulse box to analyze the likely hood of trend continuation/reversals.
🔔 Alerts: Enable alerts for divergences and convergences to stay informed of critical market conditions without constant chart monitoring.
🔍 How It Works:
Our indicator meticulously analyzes volume and price data to detect significant market movements. It identifies periods where volume is above or below a moving average, marks these points, and tracks the price effect over a user-defined range. By calculating the effort (volume) and effect (price movement), it distinguishes between divergences and convergences based on predefined conditions. Bullish and bearish conditions are visually represented with color-coded boxes and labels, making it easy to spot trading opportunities. Alerts can be set to notify you of critical market conditions, ensuring you never miss a potential trade setup.
Happy trading! 📈🚀 Indicator

Auto Volume Spread Analysis (VSA) [TANHEF]Auto Volume Spread Analysis (visible volume and spread bars auto-scaled): Understanding Market Intentions through the Interpretation of Volume and Price Movements.
All the sections below contain the same descriptions as my other indicator "Volume Spread Analysis" with the exception of 'Auto Scaling'.
█ Auto-Scaling
This indicator auto-scales spread bars to match the visible volume bars, unlike the previous "Volume Spread Analysis " version which limited the number of visible spread bars to a fixed count. The auto-scaling feature allows for easier navigation through historical data, enabling both more historical spread bars to be viewed and more historical VSA pattern labels being displayed without requiring using the bar replay tool. Please note that this indicator’s auto-scaling feature recalculates the visible bars on the chart, causing the indicator to reload whenever the chart is moved.
Auto-scaled spread bars have two display options (set via 'Spread Bars Method' setting):
Lines: a bar lookback limit of 500 bars.
Polylines: no bar lookback limit as only plotted on visible bars on chart, which uses multiple polylines are used.
█ Simple Explanation:
The Volume Spread Analysis (VSA) indicator is a comprehensive tool that helps traders identify key market patterns and trends based on volume and spread data. This indicator highlights significant VSA patterns and provides insights into market behavior through color-coded volume/spread bars and identification of bars indicating strength, weakness, and neutrality between buyers and sellers. It also includes powerful volume and spread forecasting capabilities.
█ Laws of Volume Spread Analysis (VSA):
The origin of VSA begins with Richard Wyckoff, a pivotal figure in its development. Wyckoff made significant contributions to trading theory, including the formulation of three basic laws:
The Law of Supply and Demand: This fundamental law states that supply and demand balance each other over time. High demand and low supply lead to rising prices until demand falls to a level where supply can meet it. Conversely, low demand and high supply cause prices to fall until demand increases enough to absorb the excess supply.
The Law of Cause and Effect: This law assumes that a 'cause' will result in an 'effect' proportional to the 'cause'. A strong 'cause' will lead to a strong trend (effect), while a weak 'cause' will lead to a weak trend.
The Law of Effort vs. Result: This law asserts that the result should reflect the effort exerted. In trading terms, a large volume should result in a significant price move (spread). If the spread is small, the volume should also be small. Any deviation from this pattern is considered an anomaly.
█ Volume and Spread Analysis Bars:
Display: Volume and spread bars that consist of color coded levels, with the spread bars scaled to match the volume bars. A displayable table (Legend) of bar colors and levels can give context and clarify to each volume/spread bar.
Calculation: Levels are calculated using multipliers applied to moving averages to represent key levels based on historical data: low, normal, high, ultra. This method smooths out short-term fluctuations and focuses on longer-term trends.
Low Level: Indicates reduced volatility and market interest.
Normal Level: Reflects typical market activity and volatility.
High Level: Indicates increased activity and volatility.
Ultra Level: Identifies extreme levels of activity and volatility.
This illustrates the appearance of Volume and Spread bars when scaled and plotted together:
█ Forecasting Capabilities:
Display: Forecasted volume and spread levels using predictive models.
Calculation: Volume and Spread prediction calculations differ as volume is linear and spread is non-linear.
Volume Forecast (Linear Forecasting): Predicts future volume based on current volume rate and bar time till close.
Spread Forecast (Non-Linear Dynamic Forecasting): Predicts future spread using a dynamic multiplier, less near midpoint (consolidation) and more near low or high (trending), reflecting non-linear expansion.
Moving Averages: In forecasting, moving averages utilize forecasted levels instead of actual levels to ensure the correct level is forecasted (low, normal, high, or ultra).
The following compares forecasted volume with actual resulting volume, highlighting the power of early identifying increased volume through forecasted levels:
█ VSA Patterns:
Criteria and descriptions for each VSA pattern are available as tooltips beside them within the indicator’s settings. These tooltips provide explanations of potential developments based on the volume and spread data.
Signs of Strength (🟢): Patterns indicating strong buying pressure and potential market upturns.
Down Thrust
Selling Climax
No Effort ➤ Bearish Result
Bearish Effort ➤ No Result
Inverse Down Thrust
Failed Selling Climax
Bull Outside Reversal
End of Falling Market (Bag Holder)
Pseudo Down Thrust
No Supply
Signs of Weakness (🔴): Patterns indicating strong selling pressure and potential market downturns.
Up Thrust
Buying Climax
No Effort ➤ Bullish Result
Bullish Effort ➤ No Result
Inverse Up Thrust
Failed Buying Climax
Bear Outside Reversal
End of Rising Market (Bag Seller)
Pseudo Up Thrust
No Demand
Neutral Patterns (🔵): Patterns indicating market indecision and potential for continuation or reversal.
Quiet Doji
Balanced Doji
Strong Doji
Quiet Spinning Top
Balanced Spinning Top
Strong Spinning Top
Quiet High Wave
Balanced High Wave
Strong High Wave
Consolidation
Bar Patterns (🟡): Common candlestick patterns that offer insights into market sentiment. These are required in some VSA patterns and can also be displayed independently.
Bull Pin Bar
Bear Pin Bar
Doji
Spinning Top
High Wave
Consolidation
This demonstrates the acronym and descriptive options for displaying bar patterns, with the ability to hover over text to reveal the descriptive text along with what type of pattern:
█ Alerts:
VSA Pattern Alerts: Notifications for identified VSA patterns at bar close.
Volume and Spread Alerts: Alerts for confirmed and forecasted volume/spread levels (Low, High, Ultra).
Forecasted Volume and Spread Alerts: Alerts for forecasted volume/spread levels (High, Ultra) include a minimum percent time elapsed input to reduce false early signals by ensuring sufficient bar time has passed.
█ Inputs and Settings:
Indicator Bar Color: Select color schemes for bars (Normal, Detail, Levels).
Indicator Moving Average Color: Select schemes for bars (Fill, Lines, None).
Price Bar Colors: Options to color price bars based on VSA patterns and volume levels.
Legend: Display a table of bar colors and levels for context and clarity of volume/spread bars.
Forecast: Configure forecast display and prediction details for volume and spread.
Average Multipliers: Define multipliers for different levels (Low, High, Ultra) to refine the analysis.
Moving Average: Set volume and spread moving average settings.
VSA: Select the VSA patterns to be calculated and displayed (Strength, Weakness, Neutral).
Bar Patterns: Criteria for bar patterns used in VSA (Doji, Bull Pin Bar, Bear Pin Bar, Spinning Top, Consolidation, High Wave).
Colors: Set exact colors used for indicator bars, indicator moving averages, and price bars.
More Display Options: Specify how VSA pattern text is displayed (Acronym, Descriptive), positioning, and sizes.
Alerts: Configure alerts for VSA patterns, volume, and spread levels, including forecasted levels.
█ Usage:
The Volume Spread Analysis indicator is a helpful tool for leveraging volume spread analysis to make informed trading decisions. It offers comprehensive visual and textual cues on the chart, making it easier to identify market conditions, potential reversals, and continuations. Whether analyzing historical data or forecasting future trends, this indicator provides insights into the underlying factors driving market movements.
Indicator

Volume Spread Analysis [TANHEF]Volume Spread Analysis: Understanding Market Intentions through the Interpretation of Volume and Price Movements.
█ Simple Explanation:
The Volume Spread Analysis (VSA) indicator is a comprehensive tool that helps traders identify key market patterns and trends based on volume and spread data. This indicator highlights significant VSA patterns and provides insights into market behavior through color-coded volume/spread bars and identification of bars indicating strength, weakness, and neutrality between buyers and sellers. It also includes powerful volume and spread forecasting capabilities.
█ Laws of Volume Spread Analysis (VSA):
The origin of VSA begins with Richard Wyckoff, a pivotal figure in its development. Wyckoff made significant contributions to trading theory, including the formulation of three basic laws:
The Law of Supply and Demand: This fundamental law states that supply and demand balance each other over time. High demand and low supply lead to rising prices until demand falls to a level where supply can meet it. Conversely, low demand and high supply cause prices to fall until demand increases enough to absorb the excess supply.
The Law of Cause and Effect: This law assumes that a 'cause' will result in an 'effect' proportional to the 'cause'. A strong 'cause' will lead to a strong trend (effect), while a weak 'cause' will lead to a weak trend.
The Law of Effort vs. Result: This law asserts that the result should reflect the effort exerted. In trading terms, a large volume should result in a significant price move (spread). If the spread is small, the volume should also be small. Any deviation from this pattern is considered an anomaly.
█ Volume and Spread Analysis Bars:
Display: Volume and/or spread bars that consist of color coded levels. If both of these are displayed, the number of spread bars can be limited for visual appeal and understanding, with the spread bars scaled to match the volume bars. While automatic calculation of the number of visual bars for auto scaling is possible, it is avoided to prevent the indicator from reloading whenever the number of visual price bars on the chart is adjusted, ensuring uninterrupted analysis. A displayable table (Legend) of bar colors and levels can give context and clarify to each volume/spread bar.
Calculation: Levels are calculated using multipliers applied to moving averages to represent key levels based on historical data: low, normal, high, ultra. This method smooths out short-term fluctuations and focuses on longer-term trends.
Low Level: Indicates reduced volatility and market interest.
Normal Level: Reflects typical market activity and volatility.
High Level: Indicates increased activity and volatility.
Ultra Level: Identifies extreme levels of activity and volatility.
This illustrates the appearance of Volume and Spread bars when scaled and plotted together:
█ Forecasting Capabilities:
Display: Forecasted volume and spread levels using predictive models.
Calculation: Volume and Spread prediction calculations differ as volume is linear and spread is non-linear.
Volume Forecast (Linear Forecasting): Predicts future volume based on current volume rate and bar time till close.
Spread Forecast (Non-Linear Dynamic Forecasting): Predicts future spread using a dynamic multiplier, less near midpoint (consolidation) and more near low or high (trending), reflecting non-linear expansion.
Moving Averages: In forecasting, moving averages utilize forecasted levels instead of actual levels to ensure the correct level is forecasted (low, normal, high, or ultra).
The following compares forecasted volume with actual resulting volume, highlighting the power of early identifying increased volume through forecasted levels:
█ VSA Patterns:
Criteria and descriptions for each VSA pattern are available as tooltips beside them within the indicator’s settings. These tooltips provide explanations of potential developments based on the volume and spread data.
Signs of Strength (🟢): Patterns indicating strong buying pressure and potential market upturns.
Down Thrust
Selling Climax
No Effort → Bearish Result
Bearish Effort → No Result
Inverse Down Thrust
Failed Selling Climax
Bull Outside Reversal
End of Falling Market (Bag Holder)
Pseudo Down Thrust
No Supply
Signs of Weakness (🔴): Patterns indicating strong selling pressure and potential market downturns.
Up Thrust
Buying Climax
No Effort → Bullish Result
Bullish Effort → No Result
Inverse Up Thrust
Failed Buying Climax
Bear Outside Reversal
End of Rising Market (Bag Seller)
Pseudo Up Thrust
No Demand
Neutral Patterns (🔵): Patterns indicating market indecision and potential for continuation or reversal.
Quiet Doji
Balanced Doji
Strong Doji
Quiet Spinning Top
Balanced Spinning Top
Strong Spinning Top
Quiet High Wave
Balanced High Wave
Strong High Wave
Consolidation
Bar Patterns (🟡): Common candlestick patterns that offer insights into market sentiment. These are required in some VSA patterns and can also be displayed independently.
Bull Pin Bar
Bear Pin Bar
Doji
Spinning Top
High Wave
Consolidation
This demonstrates the acronym and descriptive options for displaying bar patterns, with the ability to hover over text to reveal the descriptive text along with what type of pattern:
█ Alerts:
VSA Pattern Alerts: Notifications for identified VSA patterns at bar close.
Volume and Spread Alerts: Alerts for confirmed and forecasted volume/spread levels (Low, High, Ultra).
Forecasted Volume and Spread Alerts: Alerts for forecasted volume/spread levels (High, Ultra) include a minimum percent time elapsed input to reduce false early signals by ensuring sufficient bar time has passed.
█ Inputs and Settings:
Display Volume and/or Spread: Choose between displaying volume bars, spread bars, or both with different lookback periods.
Indicator Bar Color: Select color schemes for bars (Normal, Detail, Levels).
Indicator Moving Average Color: Select schemes for bars (Fill, Lines, None).
Price Bar Colors: Options to color price bars based on VSA patterns and volume levels.
Legend: Display a table of bar colors and levels for context and clarity of volume/spread bars.
Forecast: Configure forecast display and prediction details for volume and spread.
Average Multipliers: Define multipliers for different levels (Low, High, Ultra) to refine the analysis.
Moving Average: Set volume and spread moving average settings.
VSA: Select the VSA patterns to be calculated and displayed (Strength, Weakness, Neutral).
Bar Patterns: Criteria for bar patterns used in VSA (Doji, Bull Pin Bar, Bear Pin Bar, Spinning Top, Consolidation, High Wave).
Colors: Set exact colors used for indicator bars, indicator moving averages, and price bars.
More Display Options: Specify how VSA pattern text is displayed (Acronym, Descriptive), positioning, and sizes.
Alerts: Configure alerts for VSA patterns, volume, and spread levels, including forecasted levels.
█ Usage:
The Volume Spread Analysis indicator is a helpful tool for leveraging volume spread analysis to make informed trading decisions. It offers comprehensive visual and textual cues on the chart, making it easier to identify market conditions, potential reversals, and continuations. Whether analyzing historical data or forecasting future trends, this indicator provides insights into the underlying factors driving market movements.
Indicator

VolumeSpreadAnalysisLibrary "VolumeSpreadAnalysis"
A library for Volume Spread Analysis (VSA).
spread(_barIndex)
Calculates the spread of a bar.
Parameters:
_barIndex (int) : (int) The index of the bar.
Returns: (float) The spread of the bar.
volume(_barIndex)
Retrieves the volume of a bar.
Parameters:
_barIndex (int) : (int) The index of the bar.
Returns: (float) The volume of the bar.
body(_barIndex)
Calculates the body of a bar.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (float) The body size of the bar.
wickUpper(_barIndex)
Calculates the upper wick of a bar (upper shadow).
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (float) The upper wick size of the bar.
wickLower(_barIndex)
Calculates the lower wick of a bar (lower shadow).
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (float) The lower wick size of the bar.
calcForecastedSMA(_source, _length, _forecastedLevel)
Calculates the forecasted Simple Moving Average (SMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the SMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted SMA value.
calcForecastedEMA(_source, _length, _forecastedLevel)
Calculates the forecasted Exponential Moving Average (EMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the EMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted EMA value.
calcForecastedRMA(_source, _length, _forecastedLevel)
Calculates the forecasted Relative Moving Average (RMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the RMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted RMA value.
calcForecastedWMA(_source, _length, _forecastedLevel)
Calculates the forecasted Weighted Moving Average (WMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the WMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted WMA value.
calcElapsedTimePercent()
Calculates the elapsed time percent of the current bar.
Returns: (float) The elapsed time percent.
calcForecastedSpread(multiplierAtMidpoints, multiplierAtPeaks)
Calculates the forecasted spread using elapsed time and dynamic multipliers, handling spread's non-linear nature.
Parameters:
multiplierAtMidpoints (float) : (float) The multiplier value at midpoints.
multiplierAtPeaks (float) : (float) The multiplier value at peaks.
Returns: (float) The forecasted spread value.
calcForecastedVolume()
Calculates the forecasted volume using elapsed time, satisfying volume's linear nature.
Returns: (float) The forecasted volume value.
calcForecastedMA(_source, _length, _forecastedSource, _type)
Calculates the forecasted Moving Average (MA) based on the specified type.
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the MA.
_forecastedSource (float) : (float) The forecasted level to include in the calculation.
_type (simple string) : (string) The type of the MA ("SMA", "EMA", "SMMA (RMA)", "WMA").
Returns: (float) The forecasted MA value.
calcMA(_source, _length, _type)
Calculates the Moving Average (MA) based on the specified type.
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the MA.
_type (simple string) : (string) The type of the MA ("SMA", "EMA", "SMMA (RMA)", "WMA").
Returns: (float) The MA value.
bullBar(_barIndex)
Determines if the bar is bullish.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if the bar is bullish, otherwise false.
bearBar(_barIndex)
Determines if the bar is bearish.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if the bar is bearish, otherwise false.
breakout(_barIndex)
Determines if there is a breakout above the previous bar.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if there is a breakout, otherwise false.
breakdown(_barIndex)
Determines if there is a breakdown below the previous bar.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if there is a breakdown, otherwise false.
rejectionWickUpper(_rejectionWick)
Determines if the upper wick is a rejection wick.
Parameters:
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if the upper wick is a rejection wick, otherwise false.
rejectionWickLower(_rejectionWick)
Determines if the lower wick is a rejection wick.
Parameters:
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if the lower wick is a rejection wick, otherwise false.
setupDataVolume(_data, _mult_Low, _mult_High, _mult_Ultra, _maLengthVolume, _maTypeVolume)
Sets up data for volume levels.
Parameters:
_data (map) : (map) The map to store the levels.
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthVolume (simple int) : (int) The length for MA.
_maTypeVolume (simple string) : (string) The type for MA.
Returns: (void) Nothing.
setupDataSpread(_data, _mult_Low, _mult_High, _mult_Ultra, _maLengthSpread, _maTypeSpread)
Sets up data for spread levels.
Parameters:
_data (map) : (map) The map to store the levels.
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthSpread (simple int) : (int) The length for MA.
_maTypeSpread (simple string) : (string) The type for MA.
Returns: (void) Nothing.
setupDataForecastVolume(_dataForecast, _mult_Low, _mult_High, _mult_Ultra, _maLengthVolume, _predictedLevelVolume, _maTypeVolume)
Sets up data for volume and spread levels for forecast.
Parameters:
_dataForecast (map)
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthVolume (simple int) : (int) The length for MA.
_predictedLevelVolume (float) : (float) The predicted level for MA.
_maTypeVolume (simple string) : (string) The type for MA.
Returns: (void) Nothing.
setupDataForecastSpread(_dataForecast, _mult_Low, _mult_High, _mult_Ultra, _maLengthSpread, _predictedLevelSpread, _maTypeSpread)
Sets up data for spread levels for forecast.
Parameters:
_dataForecast (map)
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthSpread (simple int) : (int) The length for MA.
_predictedLevelSpread (float) : (float) The predicted level for MA.
_maTypeSpread (simple string) : (string) The type for MA.
Returns: (void) Nothing.
isVolumeLow(_data, _barIndex)
Determines if the volume is low.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is low, otherwise false.
isVolumeNormal(_data, _barIndex)
Determines if the volume is normal.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is normal, otherwise false.
isVolumeHigh(_data, _barIndex)
Determines if the volume is high.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is high, otherwise false.
isVolumeUltra(_data, _barIndex)
Determines if the volume is ultra.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is ultra, otherwise false.
isSpreadLow(_data, _barIndex)
Determines if the spread is low.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is low, otherwise false.
isSpreadNormal(_data, _barIndex)
Determines if the spread is normal.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is normal, otherwise false.
isSpreadHigh(_data, _barIndex)
Determines if the spread is high.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is high, otherwise false.
isSpreadUltra(_data, _barIndex)
Determines if the spread is ultra.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is ultra, otherwise false.
isVolumeText(_data)
Determines text string representing the volume area level.
Parameters:
_data (map) : (map) The data map with volume levels.
Returns: (string) Text string of Low, Normal, High, or Ultra.
isSpreadText(_data)
Determines text string representing the spread area level.
Parameters:
_data (map) : (map) The data map with spread levels.
Returns: (string) Text string of Low, Normal, High, or Ultra.
calcBarColor(_value, _level)
Calculates the color based level.
Parameters:
_value (float) : (float) The value to check.
_level (float) : (float) The value level for comparison.
Returns: (color) The color for the bar.
bullPinBar(_maxBodyPercent, _minWickPercent)
Determines if the bar is a bull pin bar.
Parameters:
_maxBodyPercent (simple float) : (float) The maximum body percentage.
_minWickPercent (simple float) : (float) The minimum wick percentage.
Returns: (bool) True if the bar is a bull pin bar, otherwise false.
bearPinBar(_maxBodyPercent, _minWickPercent)
Determines if the bar is a bear pin bar.
Parameters:
_maxBodyPercent (simple float) : (float) The maximum body percentage.
_minWickPercent (simple float) : (float) The minimum wick percentage.
Returns: (bool) True if the bar is a bear pin bar, otherwise false.
dojiBar(_maxBodyPercent)
Determines if the bar is a doji.
Parameters:
_maxBodyPercent (simple float) : (float) The maximum body percentage.
Returns: (bool) True if the bar is a doji, otherwise false.
spinningTopBar(_minWicksPercent, _emaLength)
Determines if the bar is a spinning top.
Parameters:
_minWicksPercent (simple float) : (float) The minimum wicks percentage.
_emaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if the bar is a spinning top, otherwise false.
highWaveBar(_minBodyPercent, _minWickPercent, _bars)
Determines if the bar is a high wave bar.
Parameters:
_minBodyPercent (simple float) : (float) The minimum body percentage.
_minWickPercent (simple float) : (float) The minimum wick percentage.
_bars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if the bar is a high wave bar, otherwise false.
consolidationBar(_data, _spread, _bars)
Determines if the bars are in consolidation.
Parameters:
_data (map) : (map) The data map with spread levels.
_spread (simple float) : (float) The spread percentage for comparison.
_bars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if the bars are in consolidation, otherwise false.
S_DownThrust(_data, _bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of strength (DownThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of strength (DownThrust), otherwise false.
S_SellingClimax(_data, _rejectionWick)
Determines if there is a sign of strength (Selling Climax).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if there is a sign of strength (Selling Climax), otherwise false.
S_NoEffortBearishResult()
Determines if there is a sign of strength (No Effort Bearish Result).
Returns: (bool) True if there is a sign of strength (No Effort Bearish Result), otherwise false.
S_BearishEffortNoResult()
Determines if there is a sign of strength (Bearish Effort No Result).
Returns: (bool) True if there is a sign of strength (Bearish Effort No Result), otherwise false.
S_InverseDownThrust(_data, _bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of strength (Inverse DownThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of strength (Inverse DownThrust), otherwise false.
S_FailedSellingClimax()
Determines if there is a sign of strength (Failed Selling Climax).
Returns: (bool) True if there is a sign of strength (Failed Selling Climax), otherwise false.
S_BullOutsideReversal(_data)
Determines if there is a sign of strength (Bull Outside Reversal).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of strength (Bull Outside Reversal), otherwise false.
S_EndOfFallingMarket(_data)
Determines if there is a sign of strength (End of Falling Market).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of strength (End of Falling Market), otherwise false.
S_PseudoDownThrust(_bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of strength (Pseudo DownThrust).
Parameters:
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of strength (Pseudo DownThrust), otherwise false.
S_NoSupply(_bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of strength (No Supply).
Parameters:
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of strength (No Supply), otherwise false.
W_UpThrust(_data, _bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of weakness (UpThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of weakness (UpThrust), otherwise false.
W_BuyingClimax(_data, _rejectionWick)
Determines if there is a sign of weakness (Buying Climax).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if there is a sign of weakness (Buying Climax), otherwise false.
W_NoEffortBullishResult()
Determines if there is a sign of weakness (No Effort Bullish Result).
Returns: (bool) True if there is a sign of weakness (No Effort Bullish Result), otherwise false.
W_BullishEffortNoResult()
Determines if there is a sign of weakness (Bullish Effort No Result).
Returns: (bool) True if there is a sign of weakness (Bullish Effort No Result), otherwise false.
W_InverseUpThrust(_data, _bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of weakness (Inverse UpThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of weakness (Inverse UpThrust), otherwise false.
W_FailedBuyingClimax()
Determines if there is a sign of weakness (Failed Buying Climax).
Returns: (bool) True if there is a sign of weakness (Failed Buying Climax), otherwise false.
W_BearOutsideReversal(_data)
Determines if there is a sign of weakness (Bear Outside Reversal).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of weakness (Bear Outside Reversal), otherwise false.
W_EndOfRisingMarket(_data)
Determines if there is a sign of weakness (End of Rising Market).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of weakness (End of Rising Market), otherwise false.
W_PseudoUpThrust(_bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of weakness (Pseudo UpThrust).
Parameters:
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of weakness (Pseudo UpThrust), otherwise false.
W_NoDemand(_bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of weakness (No Demand).
Parameters:
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of weakness (No Demand), otherwise false.
N_QuietDoji(_dojiBarMaxBody)
Determines if there is a neutral signal (Quiet Doji).
Parameters:
_dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
Returns: (bool) True if there is a neutral signal (Quiet Doji), otherwise false.
N_BalancedDoji(_data, _dojiBarMaxBody)
Determines if there is a neutral signal (Balanced Doji).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
Returns: (bool) True if there is a neutral signal (Balanced Doji), otherwise false.
N_StrongDoji(_dojiBarMaxBody)
Determines if there is a neutral signal (Strong Doji).
Parameters:
_dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
Returns: (bool) True if there is a neutral signal (Strong Doji), otherwise false.
N_QuietSpinningTop(_spinningTopBarMinWicks, _spinningTopBarEmaLength)
Determines if there is a neutral signal (Quiet Spinning Top).
Parameters:
_spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
_spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if there is a neutral signal (Quiet Spinning Top), otherwise false.
N_BalancedSpinningTop(_data, _spinningTopBarMinWicks, _spinningTopBarEmaLength)
Determines if there is a neutral signal (Balanced Spinning Top).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
_spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if there is a neutral signal (Balanced Spinning Top), otherwise false.
N_StrongSpinningTop(_spinningTopBarMinWicks, _spinningTopBarEmaLength)
Determines if there is a neutral signal (Strong Spinning Top).
Parameters:
_spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
_spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if there is a neutral signal (Strong Spinning Top), otherwise false.
N_QuietHighWave(_highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
Determines if there is a neutral signal (Quiet High Wave).
Parameters:
_highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
_highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
_highWaveBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Quiet High Wave), otherwise false.
N_BalancedHighWave(_data, _highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
Determines if there is a neutral signal (Balanced High Wave).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
_highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
_highWaveBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Balanced High Wave), otherwise false.
N_StrongHighWave(_highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
Determines if there is a neutral signal (Strong High Wave).
Parameters:
_highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
_highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
_highWaveBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Strong High Wave), otherwise false.
N_Consolidation(_data, _consolidationBarSpread, _consolidationBarBars)
Determines if there is a neutral signal (Consolidation).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_consolidationBarSpread (simple float) : (float) The spread percentage for consolidation bar.
_consolidationBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Consolidation), otherwise false. Library

Net Buying/Selling Flows Toolkit [AlgoAlpha]🌟📊 Introducing the Net Buying/Selling Flows Toolkit by AlgoAlpha 📈🚀
🔍 Explore the intricate dynamics of market movements with the Net Buying/Selling Flows Toolkit designed for precision and effectiveness in visualizing money inflows and outflows and their impact on asset prices.
🔀 Multiple Display Modes : Choose from "Flow Comparison", "Net Flow", or "Sum of Flows" to view the data in the most relevant way for your analysis.
📏 Adjustable Unit Display : Easily manage the magnitude of the values displayed with options like "1 Billion", "1 Million", "1 Thousand", or "None".
🔧 Lookback Period Customization : Tailor the sum calculation window with a configurable lookback period, applicable in "Sum of Flows" mode.
📊 Deviation Thresholds : Set up lower and upper deviation thresholds to identify significant changes in flow data.
🔄 Reversal Signals and Deviation Bands : Enable signals for potential reversals and visualize deviation bands for comparative analysis.
🎨 Color-coded Visualization : Distinct colors for upward and downward movements make it easy to distinguish between buying and selling pressures.
🚀 Quick Guide to Using the Net Buying/Selling Flows Toolkit :
🔍 Add the Indicator : Add the indicator to you favorites. Customize the settings to fit your trading requirements.
👁️🗨️ Data Analysis : Compare the trend of Buying and Selling to help indicate whether bulls or bears are in control of the market. Utilize the different display modes to present the data in different form to suite your analysis style.
🔔 Set Alerts : Activate alerts for reversal conditions to keep abreast of significant market movements without having to monitor the charts constantly.
🌐 How It Works :
The toolkit processes volume data on a lower timeframe to distinguish between buying and selling pressures based on intra-bar price closing higher or lower than it opened. It aggregates these transactions and finds the net selling and buying that took place during that bar, offering a clearer view of market fundamentals. The indicator then plots this data visually with multiple modes including comparisons between buying/selling and the net flow of the asset. Deviation thresholds help in identifying significant changes, allowing traders to spot potential buying or selling opportunities based on the money flow dynamics. The "Sum of Flows" mode is unique from other trend following indicators as it does not determine trend based on price action, but rather based on the net buying/selling. Therefore in some cases the "Sum of Flows" mode can be a leading indicator showing bullish/bearish net flows even before the prices move significantly.
Embark on a more informed trading journey with this dynamic and insightful tool, tailor-made for those who demand precision and clarity in their trading strategies. 🌟📉📈 Indicator

Fine-Tune Inputs: Fourier Smoothed Hybrid Volume Spread AnalysisUse this Strategy to Fine-tune inputs for the HSHVSA Indicator.
Strategy allows you to fine-tune the indicator for 1 TimeFrame at a time; cross Timeframe Input fine-tuning is done manually after exporting the chart data.
I suggest using " Close all " input False when fine-tuning Inputs for 1 TimeFrame. When you export data to Excel/Numbers/GSheets I suggest using " Close all " input as True , except for the lowest TimeFrame.
MEANINGFUL DESCRIPTION:
The Fourier Smoothed Hybrid Volume Spread Analysis (FSHVSA) Strategy/Indicator is an innovative trading tool designed to fuse volume analysis with trend detection capabilities, offering traders a comprehensive view of market dynamics.
This Strategy/Indicator stands apart by integrating the principles of the Discrete Fourier Transform (DFT) and volume spread analysis, enhanced with a layer of Fourier smoothing to distill market noise and highlight trend directions with unprecedented clarity.
This smoothing process allows traders to discern the true underlying patterns in volume and price action, stripped of the distractions of short-term fluctuations and noise.
The core functionality of the FSHVSA revolves around the innovative combination of volume change analysis, spread determination (calculated from the open and close price difference), and the strategic use of the EMA (default 10) to fine-tune the analysis of spread by incorporating volume changes.
Trend direction is validated through a moving average (MA) of the histogram, which acts analogously to the Volume MA found in traditional volume indicators. This MA serves as a pivotal reference point, enabling traders to confidently engage with the market when the histogram's movement concurs with the trend direction, particularly when it crosses the Trend MA line, signalling optimal entry points.
It returns 0 when MA of the histogram and EMA of the Price Spread are not align.
WHAT IS FSHVSA INDICATOR:
The FSHVSA plots a positive trend when a positive Volume smoothed Spread and EMA of Volume smoothed price is above 0, and a negative when negative Volume smoothed Spread and EMA of Volume smoothed price is below 0. When this conditions are not met it plots 0.
HOW TO USE THE STRATEGY:
Here you fine-tune the inputs until you find a combination that works well on all Timeframes you will use when creating your Automated Trade Algorithmic Strategy. I suggest 4h, 12h, 1D, 2D, 3D, 4D, 5D, 6D, W and M.
ORIGINALITY & USEFULNESS:
The FSHVSA Strategy is unique because it applies DFT for data smoothing, effectively filtering out the minor fluctuations and leaving traders with a clear picture of the market's true movements. The DFT's ability to break down market signals into constituent frequencies offers a granular view of market dynamics, highlighting the amplitude and phase of each frequency component. This, combined with the strategic application of Ehler's Universal Oscillator principles via a histogram, furnishes traders with a nuanced understanding of market volatility and noise levels, thereby facilitating more informed trading decisions.
DETAILED DESCRIPTION:
My detailed description of the indicator and use cases which I find very valuable.
What is the meaning of price spread?
In finance, a spread refers to the difference between two prices, rates, or yields. One of the most common types is the bid-ask spread, which refers to the gap between the bid (from buyers) and the ask (from sellers) prices of a security or asset.
We are going to use Open-Close spread.
What is Volume spread analysis?
Volume spread analysis (VSA) is a method of technical analysis that compares the volume per candle, range spread, and closing price to determine price direction.
What does this mean?
We need to have a positive Volume Price Spread and a positive Moving average of Volume price spread for a positive trend. OR via versa a negative Volume Price Spread and a negative Moving average of Volume price spread for a negative trend.
What if we have a positive Volume Price Spread and a negative Moving average of Volume Price Spread?
It results in a neutral, not trending price action.
Thus the Indicator/Strategy returns 0 and Closes all long and short positions.
In the next Image you can see that trend is negative on 4h, we just move Negative on 12h and Positive on 1D. That means trend/Strategy flipped negative .
I am sorry, the chart is a bit messy. The idea is to use the indicator/strategy over more than 1 Timeframe.
Use this Strategy to fine-tune inputs for the HSHVSA Indicator.
(Strategy allows you to fine-tune the indicator for 1 TimeFrame at a time; cross Timeframe Input fine-tuning is done manually after exporting the chart data)
I suggest using " Close all " input False when fine-tuning Inputs for 1 TimeFrame. When you export data to Excel/Numbers/GSheets I suggest using " Close all " input as True , except for the lowest TimeFrame. I suggest using 100% equity as your default quantity for fine-tune purposes. I have to mention that 100% equity may lead to unrealistic backtesting results. Be avare. When backtesting for trading purposes use Contracts or USDT. Strategy
