Statistics
Price Change Indicatorit tells what is the current closing price of the day. how much it is down from previous close
Index Futures vs Cash ArbitrageThis indicator measures the statistical spread between major stock index futures and their corresponding cash indices (e.g., ES vs SPX, NQ vs NDX) using Z-score normalization. It automatically detects commonly traded index pairs (S&P 500, Nasdaq, Dow Jones, Russell 2000) and calculates a smoothed spread between futures and spot prices. A Z-score is then derived from this spread to highlight potential overpricing or underpricing conditions.
Traders can use customizable thresholds to identify mean-reversion opportunities where the futures contract may be temporarily overvalued or undervalued relative to the index. The histogram highlights the direction of the Z-score (green = futures > index, red = futures < index), while built-in alerts notify users of key threshold breaches or zero-line crosses.
This tool is designed for discretionary traders, pairs traders, or anyone exploring statistical arbitrage strategies between futures and spot markets. It is not a buy/sell signal by itself and should be used with additional confluence or risk management techniques.
Rolling 4-Year CAGRCalculates rolling 4-year CAGR on day, week, or month chart.
Can change timeframe to any number of years.
-Jesse Myers
CANX Pairs Table© CanxStixTrader
This Indicator simply shows the change in movement of all the major currency pairs using custom time frames and percentage.
Customize time frame, background, text colors and indicator location to suit.
Keep it simple!
Seasonality DOW CombinedOverall Purpose
This script analyzes historical daily returns based on two specific criteria:
Month of the year (January through December)
Day of the week (Sunday through Saturday)
It summarizes and visually displays the average historical performance of the selected asset by these criteria over multiple years.
Step-by-Step Breakdown
1. Initial Settings:
Defines minimum year (i_year_start) from which data analysis will start.
Ensures the user is using a daily timeframe, otherwise prompts an error.
Sets basic display preferences like text size and color schemes.
2. Data Collection and Variables:
Initializes matrices to store and aggregate returns data:
month_data_ and month_agg_: store monthly performance.
dow_data_ and dow_agg_: store day-of-week performance.
COUNT tracks total number of occurrences, and COUNT_POSITIVE tracks positive-return occurrences.
3. Return Calculation:
Calculates daily percentage change (chg_pct_) in price:
chg_pct_ = close / close - 1
Ensures it captures this data only for the specified years (year >= i_year_start).
4. Monthly Performance Calculation:
Each daily return is grouped by month:
matrix.set updates total returns per month.
The script tracks:
Monthly cumulative returns
Number of occurrences (how many days recorded per month)
Positive occurrences (days with positive returns)
5. Day-of-Week Performance Calculation:
Similarly, daily returns are also grouped by day-of-the-week (Sunday to Saturday):
Daily return values are summed per weekday.
The script tracks:
Cumulative returns per weekday
Number of occurrences per weekday
Positive occurrences per weekday
6. Visual Display (Tables):
The script creates two visual tables:
Left Table: Monthly Performance.
Right Table: Day-of-the-Week Performance.
For each table, it shows:
Yearly data for each month/day.
Summaries at the bottom:
SUM row: Shows total accumulated returns over all selected years for each month/day.
+ive row: Shows percentage (%) of times the month/day had positive returns, along with a tooltip displaying positive occurrences vs total occurrences.
Cells are color-coded:
Green for positive returns.
Red for negative returns.
Gray for neutral/no change.
7. Interpreting the Tables:
Monthly Table (left side):
Helps identify seasonal patterns (e.g., historically bullish/bearish months).
Day-of-Week Table (right side):
Helps detect recurring weekday patterns (e.g., historically bullish Mondays or bearish Fridays).
Practical Use:
Traders use this to:
Identify patterns based on historical data.
Inform trading strategies, e.g., avoiding historically bearish days/months or leveraging historically bullish periods.
Example Interpretation:
If the table shows consistently green (positive) for March and April, historically the asset tends to perform well during spring. Similarly, if the "Friday" column is often red, historically Fridays are bearish for this asset.
Swing Data - ADR% / RVol / PVol / Float % / Avg $ VolThis indicator provides a comprehensive table displaying essential swing trading metrics directly on your chart. Designed for traders who need a quick overview of stock volatility, liquidity, and volume dynamics at a glance.
Key Features:
✅ ADR% (Average Daily Range Percentage)
✅ Relative Volume (RVol)
✅ Projected Intraday Volume
✅ Average Daily $ Volume (AD NYSE:V )
✅ Float Percentage
✅ Market Capitalization
✅ LoD Distance (Low of Day distance in ATR%)
✅ Volume Buzz (current volume deviation from average)
✅ Sector & Industry classification
Customization Options:
➤ Table size (tiny to large)
➤ Adjustable position: Top-Left, Top-Right, Bottom-Left, Bottom-Right
➤ Dark Mode friendly colors
➤ Toggle each metric on/off
➤ Option to add a spacing row for clear visibility
Usage:
This script is ideal for intraday and swing traders who monitor volume surges, float dynamics, and volatility patterns to assess tradable setups. It combines key price and volume insights with fundamentals in one clean table — saving screen space while enhancing situational awareness.
Inspired by professional trading dashboards and adapted for TradingView charts.
Crypto_in_details_MAlibCrypto_in_details_MaLib — Advanced Moving Average Library for Pine Script
Overview:
Crypto_in_details_MaLib is a comprehensive, performance-optimized Moving Average (MA) library designed specifically for Pine Script v6 users seeking advanced technical analysis tools. Developed by Crypto_in_details, this library consolidates the most popular and sophisticated MA calculation methods — including classical, weighted, exponential, and Hull variants — into one seamless package.
Key Features:
Implements a wide range of Moving Averages: SMA, EMA, WMA, RMA, VWMA, HMA, TEMA, EHMA, THMA.
Designed for precision and flexibility — suitable for diverse trading strategies and indicator development.
Fully typed functions compatible with Pine Script v6 standards.
Simplifies your scripting workflow by providing ready-to-use MA functions via clean and easy-to-import methods.
Well-documented and maintained by an experienced Pine Script developer.
Why Use Crypto_in_details_MaLib?
Gain access to advanced MA calculations that enhance trend analysis, smoothing, and signal accuracy.
Save time on coding complex moving averages from scratch.
Easily extend or combine with your own strategies or indicators for improved performance.
Rely on a tested and community-driven solution backed by a prolific Pine Script author.
Ideal for:
Traders and developers building custom indicators or strategies requiring versatile MA techniques.
Anyone looking to improve their Pine Script efficiency and code maintainability.
Pine Script enthusiasts wanting a professional-grade MA toolkit.
Global M2 Money Supply (USD) (27 currencies)M2 for 27 currencies, converted into USD.
Does not constitute 100% of global M2, but ~90% accounted for.
Leverages Dylan LeClair's starting point, adds to it.
VolumeFlowOscillatorLibVolume Flow Oscillator Library
Overview
The Volume Flow Oscillator library provides a comprehensive framework for analyzing directional volume flow in financial markets. It creates a multi-band oscillator system that transforms price and volume data into a spectrum of sensitivity bands, revealing the underlying buying and selling pressure.
Technical Approach
The library combines price direction with trading volume to generate an oscillator that fluctuates around a zero line, with positive values indicating buying pressure and negative values showing selling pressure. Using sophisticated ALMA (Arnaud Legoux Moving Average) smoothing techniques with asymmetric sensitivity, the library creates seven distinct bands that help identify various intensity levels of volume flow.
Key Features
Multi-band oscillator system with seven sensitivity levels
Directional volume flow analysis combining price movement and volume
Zero-line oscillation showing the balance between buying and selling pressure
Asymmetric ALMA smoothing for different sensitivity on positive/negative bands
Customizable lookback periods and multipliers for fine-tuning
Color-coded visualization for intuitive chart reading
Applications
This library offers developers a versatile foundation for creating volume-based indicators that go beyond simple volume measurement to reveal the directional force behind market movements. Ideal for confirming price trends, detecting divergences, identifying volume climaxes, and assessing overall market strength.
MVRV | Lyro RS📊 MVRV | Lyro RS is a powerful on-chain valuation tool designed to assess the relative market positioning of Bitcoin (BTC) or Ethereum (ETH) based on the Market Value to Realized Value (MVRV) ratio. It highlights potential undervaluation or overvaluation zones, helping traders and investors anticipate cyclical tops and bottoms.
✨ Key Features :
🔁 Dual Asset Support: Analyze either BTC or ETH with a single toggle.
📐 Dynamic MVRV Thresholds: Automatically calculates median-based bands at 50%, 64%, 125%, and 170%.
📊 Median Calculation: Period-based median MVRV for long-term trend context.
💡 Optional Smoothing: Use SMA to smooth MVRV for cleaner analysis.
🎯 Visual Threshold Alerts: Background and bar colors change based on MVRV position relative to thresholds.
⚠️ Built-in Alerts: Get notified when MVRV enters under- or overvalued territory.
📈 How It Works :
💰 MVRV Calculation: Uses data from IntoTheBlock and CoinMetrics to obtain real-time MVRV values.
🧠 Threshold Bands: Median MVRV is used as a baseline. Ratios like 50%, 64%, 125%, and 170% signal various levels of market extremes.
🎨 Visual Zones: Green zones for undervaluation and red zones for overvaluation, providing intuitive visual cues.
🛠️ Custom Highlights: Toggle individual threshold zones on/off for a cleaner view.
⚙️ Customization Options :
🔄 Switch between BTC or ETH for analysis.
📏 Adjust period length for median MVRV calculation.
🔧 Enable/disable threshold visibility (50%, 64%, 125%, 170%).
📉 Toggle smoothing to reduce noise in volatile markets.
📌 Use Cases :
🟢 Identify undervalued zones for long-term entry opportunities.
🔴 Spot potential overvaluation zones that may precede corrections.
🧭 Use in confluence with price action or macro indicators for better timing.
⚠️ Disclaimer :
This indicator is for educational purposes only. It should not be used in isolation for making trading or investment decisions. Always combine with price action, fundamentals, and proper risk management.
Anchored Probability Cone by TenozenFirst of all, credit to @nasu_is_gaji for the open source code of Log-Normal Price Forecast! He teaches me alot on how to use polylines and inverse normal distribution from his indicator, so check it out!
What is this indicator all about?
This indicator draws a probability cone that visualizes possible future price ranges with varying levels of statistical confidence using Inverse Normal Distribution , anchored to the start of a selected timeframe (4h, W, M, etc.)
Feutures:
Anchored Cone: Forecasts begin at the first bar of each chosen higher timeframe, offering a consistent point for analysis.
Drift & Volatility-Based Forecast: Uses log returns to estimate market volatility (smoothed using VWMA) and incorporates a trend angle that users can set manually.
Probabilistic Price Bands: Displays price ranges with 5 customizable confidence levels (e.g., 30%, 68%, 87%, 99%, 99,9%).
Dynamic Updating: Recalculates and redraws the cone at the start of each new anchor period.
How to use:
Choose the Anchored Timeframe (PineScript only be able to forecast 500 bars in the future, so if it doesn't plot, try adjusting to a lower anchored period).
You can set the Model Length, 100 sample is the default. The higher the sample size, the higher the bias towards the overall volatility. So better set the sample size in a balanced manner.
If the market is inside the 30% conifidence zone (gray color), most likely the market is sideways. If it's outside the 30% confidence zone, that means it would tend to trend and reach the other probability levels.
Always follow the trend, don't ever try to trade mean reversions if you don't know what you're doing, as mean reversion trades are riskier.
That's all guys! I hope this indicator helps! If there's any suggestions, I'm open for it! Thanks and goodluck on your trading journey!
Nowein-Anchored VWAP with 1% Bands Anchored VWAP with ±1% Bands Starting at 9:00 AM
This indicator calculates an Anchored Volume Weighted Average Price (VWAP) starting precisely at 9:00 AM each trading day (customizable). It plots the VWAP line alongside two dynamic bands set at ±1% above and below the VWAP. The bands help visualize potential support and resistance zones relative to the intraday VWAP anchored at market open.
Key Features:
Anchors VWAP calculation to user-defined start time (default 9:00 AM)
Displays VWAP line in orange for easy tracking
Shows upper and lower dashed bands at ±1% of VWAP in green and red, respectively
Bands update dynamically with each new bar throughout the trading day
Designed for intraday charts (1-minute, 5-minute, etc.)
Use this tool to better assess intraday price action around VWAP and identify potential trading opportunities based on price deviations from the anchored VWAP.
CANSLIM Từng Bước"CANSLIM Step-by-Step" Indicator Description for TradingView
CANSLIM Step-by-Step - Your Companion for Evaluating Stocks with the CANSLIM Methodology
Welcome, investors, to "CANSLIM Step-by-Step"! This indicator is designed to assist you in analyzing and evaluating stocks based on the seven core criteria of William J. O'Neil's renowned CANSLIM investment methodology.
Purpose of the Indicator:
This tool is not intended to provide fully automated buy/sell recommendations. Instead, it focuses on "digitizing" and visualizing each step in the CANSLIM evaluation process, helping you gain a more comprehensive and detailed overview of potential stocks.
Key Features:
Evaluation of 7 CANSLIM Criteria:
C (Current Quarterly Earnings): Allows manual input for the latest quarterly EPS growth (%) and positive EPS status. It also attempts to fetch data automatically (which may not be stable for all symbols) for comparison.
A (Annual Earnings & ROE): Prioritizes manual input for annual EPS growth rate (CAGR) and current ROE to ensure accuracy.
N (New Highs): Automatically analyzes price action from the chart to determine if the stock is near or making a new 52-week high.
S (Supply and Demand - Volume): Automatically analyzes current trading volume against its average to detect significant surges.
L (Leader or Laggard): You evaluate and input whether the stock is a market or industry leader.
I (Institutional Sponsorship): You evaluate and input the quality and quantity of significant institutional ownership.
M (Market Direction): Automatically analyzes the trend of a reference market index (e.g., VNINDEX) using moving averages.
Prioritized Manual Input for Financial Data: For criteria C and A, the indicator allows and encourages manual input to ensure the highest accuracy, given the inherent limitations of automatically accessing consistently updated financial data via Pine Script.
"Super Compact" Summary Table:
Clearly displays the status (Pass/Fail/N/A) of each criterion using color codes.
Provides specific values for each criterion (e.g., growth percentage, distance to 52-week high, volume ratio).
Aggregates a total score (out of 7) and a star rating (0 to 7 stars) for a quick overview of the stock's CANSLIM compliance.
Customizable Thresholds: You can adjust the evaluation thresholds for various criteria (e.g., minimum EPS growth %, minimum ROE %) to suit your risk appetite and personal standards.
How to Use Effectively:
Step 1: Select the stock symbol you wish to analyze.
Step 2: Open the indicator's settings:
Manually input your research findings for criteria C, A, L, and I.
Adjust thresholds and parameters for N, S, and M if needed.
Select the appropriate market index symbol for criterion M.
Step 3: Observe the summary table in the bottom-right corner of your screen for the overall assessment and detailed breakdown of each criterion.
"CANSLIM Step-by-Step" is a companion tool designed to help you systematize your stock evaluation process according to one of the most successful investment methodologies. Combine this indicator with your knowledge and experience to make informed investment decisions!
Commitment to Ongoing Development
We wish to share that the current "CANSLIM Step-by-Step" indicator is the initial version in our journey to build a more comprehensive CANSLIM stock evaluation support tool.
Our vision is to continuously develop and enhance this indicator with the following goals:
Increase Automation Capabilities: Explore solutions to automatically update certain basic financial data (for criteria C, A) more reliably and consistently, within the technical limits of Pine Script and available data sources.
Add Deeper Analytical Features: Such as visualizing changes in criteria over time, or comparisons with industry peers (where feasible).
Improve User Interface: Make data input and tracking even more intuitive and convenient.
Listen to and Integrate Community Feedback: We highly value all user feedback, bug reports, and feature suggestions to make "CANSLIM Step-by-Step" an increasingly useful tool.
This is a dedicated project, and we are committed to continually working to make "CANSLIM Step-by-Step" an even more powerful assistant for investors following the CANSLIM philosophy.
Anchored VWAP with Bands DebugAnchored VWAP with ±1% Bands Starting at 9:00 AM
This indicator calculates an Anchored Volume Weighted Average Price (VWAP) starting precisely at 9:00 AM each trading day (customizable). It plots the VWAP line alongside two dynamic bands set at ±1% above and below the VWAP. The bands help visualize potential support and resistance zones relative to the intraday VWAP anchored at market open.
Key Features:
Anchors VWAP calculation to user-defined start time (default 9:00 AM)
Displays VWAP line in orange for easy tracking
Shows upper and lower dashed bands at ±1% of VWAP in green and red, respectively
Bands update dynamically with each new bar throughout the trading day
Designed for intraday charts (1-minute, 5-minute, etc.)
Use this tool to better assess intraday price action around VWAP and identify potential trading opportunities based on price deviations from the anchored VWAP.
Tick Value (Top-Center Fixed)this can be used by future traders some brokers and tradingview does not use tick value given by cme for some instruments , so this gives tick value which is used by tradingview chart
Granger Causality Flow IndicatorGranger Causality Flow Indicator (GC Flow)
█ OVERVIEW
The Granger Causality Flow Indicator (GC Flow) attempts to quantify the potential predictive relationship between two user-selected financial instruments (Symbol X and Symbol Y). In essence, it explores whether the past values of one series (e.g., Symbol X) can help explain the current value of another series (e.g., Symbol Y) better than Y's own past values alone.
This indicator provides a "Granger Causality Score" (GC Score) for both directions (X → Y and Y → X). A higher score suggests a stronger statistical linkage where one series may lead or influence the other. The indicator visualizes this "flow" of potential influence through background colors and on-chart text.
Important Note: "Granger Causality" does not imply true economic or fundamental causation. It is a statistical concept indicating predictive power or information flow. This implementation also involves simplifications (notably, using AR(1) models) due to the complexities of full Vector Autoregression (VAR) models in Pine Script®.
█ HOW IT WORKS
The indicator's methodology is based on comparing the performance of Autoregressive (AR) models:
1. Data Preprocessing:
Fetches historical close prices for two user-defined symbols (X and Y).
Optionally applies first-order differencing (`price - price `) to the series. Differencing is a common technique to achieve a proxy for stationarity, which is an underlying assumption for Granger Causality tests. Non-stationary series can lead to spurious correlations.
2. Autoregressive (AR) Models (Simplified to AR(1)):
Due to Pine Script's current limitations for complex multivariate time series models, this indicator uses simplified AR(1) models (where the current value is predicted by its immediately preceding value).
Restricted Model (for Y → Y): Predicts the target series (e.g., Y) using only its own past value (Y ).
`Y = c_R + a_R * Y + residuals_R`
The variance of `residuals_R` (Var_R) is calculated.
Unrestricted Model (Proxy for X → Y): To test if X Granger-causes Y, the indicator examines if the past values of X (X ) can explain the residuals from the restricted model of Y.
`residuals_R = c_UR' + b_UR * X + residuals_UR`
The variance of these final `residuals_UR` (Var_UR) is calculated.
The same process is repeated to test if Y Granger-causes X.
3. Granger Causality (GC) Score Calculation:
The GC Score quantifies the improvement in prediction from adding the other series' past values. It's calculated as:
`GC Score = 1 - (Var_UR / Var_R)`
A score closer to 1 suggests that the "causing" series significantly reduces the unexplained variance of the "target" series (i.e., Var_UR is much smaller than Var_R), indicating stronger Granger causality.
A score near 0 (or capped at 0 if Var_UR >= Var_R) suggests little to no improvement in prediction.
The score is calculated over a rolling `Calculation Window`.
Pine Script® Snippet (Conceptual GC Score Logic):
// Conceptual representation of GC Score calculation
// var_R: Variance of residuals when Y is predicted by Y
// var_UR: Variance of residuals when Y's AR(1) residuals are predicted by X
score = 0.0
if var_R > 1e-9 // Avoid division by zero
score := 1.0 - (var_UR / var_R)
score := score < 0 ? 0 : score // Ensure score is not negative
4. Determining Causal Flow:
The calculated GC Scores for X → Y and Y → X are compared against a user-defined `Significance Threshold for GC Score`.
If GC_X→Y > threshold AND GC_Y→X > threshold: Bidirectional flow.
If GC_X→Y > threshold only: X → Y flow.
If GC_Y→X > threshold only: Y → X flow.
Otherwise: No significant flow.
█ HOW TO USE IT
Interpreting the Visuals:
Background Color:
Green: Indicates X → Y (Symbol 1 potentially leads Symbol 2).
Orange: Indicates Y → X (Symbol 2 potentially leads Symbol 1).
Blue: Indicates Bidirectional influence.
Gray: No significant Granger causality detected based on the threshold.
Data Window Plots: The actual GC Scores for X → Y (blue) and Y → X (red) are plotted and visible in TradingView's Data Window. A dashed gray line shows your `Significance Threshold`.
On-Chart Table (Last Bar): Displays the currently detected causal direction text (e.g., "BTCUSDT → QQQ").
Potential Applications:
Intermarket Analysis: Explore potential lead-lag relationships between different asset classes (e.g., commodities and equities, bonds and currencies).
Pair Trading Components: Identify if one component of a potential pair tends to lead the other.
Confirmation Tool: Use alongside other analyses to see if a move in one asset might foreshadow a move in another.
Considerations:
Symbol Choice: Select symbols that have a plausible economic or market relationship.
Stationarity: Granger Causality tests ideally require stationary time series. The `Use Differencing` option is a simple proxy. True stationarity testing is complex. Non-stationary data can yield misleading results.
Lag Order (p): This indicator is fixed at p=1 due to Pine Script® limitations. In rigorous analysis, selecting the optimal lag order is crucial.
Calculation Window: Shorter windows are more responsive but may be noisier. Longer windows provide smoother scores but lag more.
Significance Threshold: Adjust this based on your desired sensitivity for detecting causal links. There's no universally "correct" threshold; it depends on the context and noise level of the series.
█ INPUTS
Symbol 1 (X): The first symbol in the analysis.
Symbol 2 (Y): The second symbol (considered the target when testing X → Y).
Use Differencing: If true, applies first-order differencing to both series as a proxy for stationarity.
Calculation Window (N): Lookback period for AR model coefficient estimation and variance calculations.
Lag Order (p): Currently fixed at 1. This defines the lag used (e.g., X , Y ) in the AR models.
Significance Threshold for GC Score: A value between 0.01 and 0.99. The calculated GC Score must exceed this to be considered significant.
█ VISUALIZATION
Background Color: Dynamically changes based on the detected Granger causal flow (Green for X → Y, Orange for Y → X, Blue for Bidirectional, Gray for None).
GC Scores (Data Window):
Blue Plot: GC Score for X → Y.
Red Plot: GC Score for Y → X.
Significance Threshold Line: A dashed gray horizontal line plotted at the level of your input threshold.
On-Chart Table: Displayed on the top-right (on the last bar), showing the current causal direction text.
█ ALERTS
The indicator can generate alerts for:
Emergence of X → Y causality.
Emergence of Y → X causality.
General change or cessation of a previously detected causal relationship.
█ IMPORTANT DISCLAIMERS & LIMITATIONS
Correlation vs. Causation: Granger causality measures predictive power, not true underlying economic causation. A strong GC Score doesn't prove one asset *causes* another to move, only that its past values improve predictions.
Stationarity Assumption: While differencing is offered, it's a simplified approach. Non-stationary data can lead to spurious (false) Granger causality detection.
Model Simplification (AR(1)): This script uses AR(1) models for simplicity. Real-world relationships can involve more complex dynamics and higher lag orders. The fixed lag of p=1 is a significant constraint.
Sensitivity to Parameters: Results can be sensitive to the chosen symbols, calculation window, differencing option, and significance threshold.
No Statistical Significance Testing (p-values): This indicator uses a direct threshold on the GC Score itself, not a formal statistical test (like an F-test producing p-values) typically found in econometric software.
Use this indicator as an exploratory tool within a broader analytical framework. Do not rely on it as a standalone basis for trading decisions.
█ CREDITS & LICENSE
Author: mastertop ( Twitter: x.com )
Version: 1.0 (Released: 2025-05-08)
This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
© mastertop, 2025
Adaptive Hurst Exponent Regime FilterAdaptive Hurst Exponent Regime Filter (AHERF)
█ OVERVIEW
The Adaptive Hurst Exponent Regime Filter (AHERF) is designed to identify the prevailing market regime—be it Trending, Mean-Reverting, or a Random Walk/Transition phase. While the Hurst Exponent is a well-known tool for this purpose, AHERF introduces a key innovation: an adaptive threshold . Instead of relying solely on the traditional fixed 0.5 Hurst value, this indicator's threshold dynamically adjusts based on current market volatility, aiming to provide more nuanced and responsive regime classifications.
This tool can assist traders in:
Gauging the current character of the market.
Tailoring trading strategies to the identified regime (e.g., deploying trend-following systems in Trending markets or mean-reversion tactics in Mean-Reverting conditions).
Filtering out trades that may be counterproductive to the dominant market behavior.
█ HOW IT WORKS
The indicator operates through the following key calculations:
1. Hurst Exponent Calculation:
The script computes an approximate Hurst Exponent (H). It utilizes log price changes as its input series.
The `calculateHurst` function implements a variance scaling approach:
It defines three sub-periods based on the main `Hurst Lookback Period`.
It calculates the standard deviation of the input series over these sub-periods.
The Hurst Exponent is then estimated from the slope of a log-log regression between the standard deviations and their respective sub-period lengths. A simplified calculation using the first and last sub-periods is performed: `H = (log(StdDev3) - log(StdDev1)) / (log(N3) - log(N1))`.
Theoretically, a Hurst Exponent:
H > 0.5 suggests persistence (trending behavior).
H < 0.5 suggests anti-persistence (mean-reverting behavior).
H ≈ 0.5 suggests a random walk (unpredictable movement).
Pine Script® Snippet (Hurst Calculation Call):
float logPriceChange = math.log(close) - math.log(close );
// ... ensure logPriceChange is not na on first bar ...
float hurstValue = calculateHurst(logPriceChange, hurstLookbackInput);
2. Volatility Proxy Calculation:
To enable the adaptive nature of the threshold, a volatility proxy is calculated.
Users can select the `Volatility Metric` to be either:
Average True Range (ATR), normalized by the closing price.
Standard Deviation (StdDev) of simple price returns.
This proxy quantifies the current degree of price activity or fluctuation in the market.
Pine Script® Snippet (Volatility Proxy Call):
float volatilityProxy = getVolatilityProxy(volatilityMetricInput, volatilityLookbackInput);
3. Adaptive Threshold Calculation:
This is the core of AHERF's adaptability. Instead of a static 0.5 line as the sole determinant, the script computes a dynamic threshold.
The adaptive threshold is calculated as: `0.5 + (Threshold Sensitivity * Volatility Proxy)`.
This means the threshold starts at the baseline 0.5 level and then adjusts upwards or downwards based on the current `volatilityProxy` scaled by the `Threshold Sensitivity (k)` input.
Pine Script® Snippet (Adaptive Threshold Calculation):
float adaptiveThreshold = 0.5 + sensitivityInput * nz(volatilityProxy, 0.0);
4. Regime Identification:
The prevailing market regime is determined by comparing the `hurstValue` to this `adaptiveThreshold`, incorporating a `Threshold Buffer` to reduce noise and clearly delineate zones:
Trending: `hurstValue > adaptiveThreshold + bufferInput`
Mean-Reverting: `hurstValue < adaptiveThreshold - bufferInput`
Random/Transition: Otherwise (Hurst value is within the buffer zone around the adaptive threshold).
Pine Script® Snippet (Regime Determination Logic):
if not na(hurstValue) and not na(adaptiveThreshold)
if hurstValue > adaptiveThreshold + bufferInput
currentRegimeColor := TRENDING_COLOR
regimeText := "Trending"
else if hurstValue < adaptiveThreshold - bufferInput
currentRegimeColor := MEAN_REVERTING_COLOR
regimeText := "Mean-Reverting"
// else remains Random/Transition
█ HOW TO USE IT
Interpreting the Visuals:
Observe the plotted `Hurst Exponent (H)` line (White) relative to the `Adaptive Threshold` line (Orange).
The background color provides an immediate indication of the current regime: Green for Trending, Red for Mean-Reverting, and Gray for Random/Transition.
The fixed `0.5 Level` (Dashed Gray) is plotted for reference against traditional Hurst interpretation.
Labels "T", "M", and "R" appear below bars to signal new entries into Trending, Mean-Reverting, or Random/Transition regimes, respectively.
Inputs Customization:
Hurst Exponent Calculation
Hurst Lookback Period: Defines the number of bars used for the Hurst Exponent calculation. Longer periods generally yield smoother Hurst values, reflecting longer-term market memory. Shorter periods are more responsive.
Adaptive Threshold Settings
Volatility Metric: Choose "ATR" or "StdDev" to drive the adaptive threshold. Experiment to see which best suits the asset.
Volatility Lookback: The lookback period for the selected volatility metric.
Threshold Sensitivity (k): A crucial multiplier determining how strongly volatility influences the adaptive threshold. Higher values mean volatility has a greater impact, potentially widening or shifting the regime bands more significantly.
Threshold Buffer: Creates a neutral zone around the adaptive threshold. This helps prevent overly frequent regime shifts due_to minor Hurst fluctuations.
█ ORIGINALITY AND USEFULNESS
The AHERF indicator distinguishes itself by:
Implementing an adaptive threshold mechanism for Hurst Exponent analysis. This threshold dynamically responds to changes in market volatility, offering a more flexible approach than a fixed 0.5 reference, potentially leading to more contextually relevant regime detection.
Providing clear, at-a-glance visualization of market regimes through background coloring and distinct plot shapes.
Offering user-configurable parameters for both the Hurst calculation and the adaptive threshold components, allowing for tuning across various assets and timeframes.
Traders can leverage AHERF to better align their chosen strategies with the prevailing market character, potentially enhancing trade filtering and decision-making processes.
█ VISUALIZATION
The indicator plots the following in a separate pane:
Hurst Exponent (H): A white line representing the calculated Hurst value.
Adaptive Threshold: An orange line representing the dynamic threshold.
Fixed 0.5 Level: A dashed gray horizontal line for traditional Hurst reference.
Background Color: Changes based on the identified regime:
Green: Trending regime.
Red: Mean-Reverting regime.
Gray: Random/Transition regime.
Regime Entry Shapes: Plotted below the price bars (forced overlay for visibility):
"T" (Green Label): Signals entry into a Trending regime.
"M" (Teal Label): Signals entry into a Mean-Reverting regime.
"R" (Cyan Label): Signals entry into a Random/Transition regime.
█ ALERTS
The script provides alert conditions for changes in the market regime:
Regime Shift to Trending: Triggers when the Hurst Exponent crosses above the adaptive threshold into a Trending state.
Regime Shift to Mean-Reverting: Triggers when the Hurst Exponent crosses below the adaptive threshold into a Mean-Reverting state.
Regime Shift to Random/Transition: Triggers when the Hurst Exponent enters the Random/Transition zone around the adaptive threshold.
These can be configured directly from the TradingView alerts panel.
█ NOTES & DISCLAIMERS
The Hurst Exponent calculation is an approximation; various methods exist, each with its nuances.
The performance and relevance of the identified regimes can differ across financial instruments and timeframes. Parameter tuning is recommended.
This indicator is intended as a decision-support tool and should not be the sole basis for trading decisions. Always integrate its signals within a broader analytical framework.
Past performance of any trading system or indicator, including those derived from AHERF, is not indicative of future results.
█ CREDITS & LICENSE
Author: mastertop ( Twitter: x.com )
Color Palette: Uses the `MaterialPalette` library by MASTERTOP_ASTRAY.
This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
© mastertop, 2025
BPCO Z-ScoreBPCO Z-Score with Scaled Z-Value and Table
Description:
This custom indicator calculates the Z-Score of a specified financial instrument (using the closing price as a placeholder for the BPCO value), scales the Z-Score between -2 and +2 based on user-defined thresholds, and displays it in a table for easy reference.
The indicator uses a simple moving average (SMA) and standard deviation to calculate the original Z-Score, and then scales the Z-Score within a specified range (from -2 to +2) based on the upper and lower thresholds set by the user.
Additionally, the scaled Z-Score is displayed in a separate table on the right side of the chart, providing a clear, numerical value for users to track and interpret.
Key Features:
BPCO Z-Score: Calculates the Z-Score using a simple moving average and standard deviation over a user-defined window (default: 365 days). This provides a measure of how far the current price is from its historical average in terms of standard deviations.
Scaled Z-Score: The original Z-Score is then scaled between -2 and +2, based on the user-specified upper and lower thresholds. The thresholds default to 3.5 (upper) and -1.5 (lower), and can be adjusted as needed.
Threshold Bands: Horizontal lines are plotted on the chart to represent the upper and lower thresholds. These help visualize when the Z-Score crosses critical levels, indicating potential market overbought or oversold conditions.
Dynamic Table Display: The scaled Z-Score is shown in a dynamic table at the top-right of the chart, providing a convenient reference for traders. The table updates automatically as the Z-Score fluctuates.
How to Use:
Adjust Time Window: The "Z-Score Period (Days)" input allows you to adjust the time period used for calculating the moving average and standard deviation. By default, this is set to 365 days (1 year), but you can adjust this depending on your analysis needs.
Set Upper and Lower Thresholds: Use the "BPCO Upper Threshold" and "BPCO Lower Threshold" inputs to define the bands for your Z-Score. The default values are 3.5 for the upper band and -1.5 for the lower band, but you can adjust them based on your strategy.
Interpret the Z-Score: The Z-Score provides a standardized measure of how far the current price (or BPCO value) is from its historical mean, relative to the volatility. A value above the upper threshold (e.g., 3.5) may indicate overbought conditions, while a value below the lower threshold (e.g., -1.5) may indicate oversold conditions.
Use the Scaled Z-Score: The scaled Z-Score is calculated based on the original Z-Score, but it is constrained to a range between -2 and +2. When the BPCO value hits the upper threshold (3.5), the scaled Z-Score will be +2, and when it hits the lower threshold (-1.5), the scaled Z-Score will be -2. This gives you a clear, easy-to-read value to interpret the market's condition.
Data Sources:
BPCO Data: In this indicator, the BPCO value is represented by the closing price of the asset. The calculation of the Z-Score and scaled Z-Score is based on this price data, but you can modify it to incorporate other data streams as needed (e.g., specific economic indicators or custom metrics).
Indicator Calculation: The Z-Score is calculated using the following formulas:
Mean (SMA): A simple moving average of the BPCO (close price) over the selected period (365 days by default).
Standard Deviation (Std): The standard deviation of the BPCO (close price) over the same period.
Z-Score: (Current BPCO - Mean) / Standard Deviation
Scaled Z-Score: The Z-Score is normalized to fall within a specified range (from -2 to +2), based on the upper and lower threshold inputs.
Important Notes:
Customization: The indicator allows users to adjust the period (window) for calculating the Z-Score, as well as the upper and lower thresholds to suit different timeframes and trading strategies.
Visual Aids: Horizontal lines are drawn to represent the upper and lower threshold levels, making it easy to visualize when the Z-Score crosses critical levels.
Limitations: This indicator relies on historical price data (or BPCO) and assumes that the standard deviation and mean are representative of future price behavior. It does not account for potential market shifts or extreme events that may fall outside historical norms.
SOPR with Z-Score Table📊 Glassnode SOPR with Dynamic Z-Score Table
ℹ️ Powered by Glassnode On-Chain Metrics
📈 Description:
This indicator visualizes the Spent Output Profit Ratio (SOPR) for major cryptocurrencies — Bitcoin, Ethereum, and Litecoin — along with a dynamically normalized Z-Score. SOPR is a key on-chain metric that reflects whether coins moved on-chain are being sold at a profit or a loss.
🔍 SOPR is calculated using Glassnode’s entity-adjusted SOPR feed, and a custom SMA is applied to smooth the signal. The normalized Z-Score helps identify market sentiment extremes by scaling SOPR relative to its historical context.
📊 Features:
Selectable cryptocurrency: Bitcoin, Ethereum, or Litecoin
SOPR smoothed by user-defined SMA (default: 10 periods)
Upper & lower bounds (±4%) for SOPR, shown as red/green lines
Background highlighting when SOPR moves outside normal range
Normalized Z-Score scaled between –2 and +2
Live Z-Score display in a compact top-right table
🧮 Calculations:
SOPR data is sourced daily from Glassnode:
Bitcoin: XTVCBTC_SOPR
Ethereum: XTVCETH_SOPR
Litecoin: XTVCLTC_SOPR
Z-Score is calculated as:
SMA of SOPR over zscore_length periods
Standard deviation of SOPR
Z-Score = (SOPR – mean) / standard deviation
Z-Score is clamped between –2 and +2 for visual consistency
🎯 Interpretation:
SOPR > 1 implies coins are sold in profit
SOPR < 1 suggests coins are sold at a loss
When SOPR is significantly above or below its recent range (e.g., +4% or –4%), it may signal overheating or capitulation
The Z-Score contextualizes how extreme the current SOPR is relative to history
📌 Notes:
Best viewed on daily charts
Works across selected assets (BTC, ETH, LTC)
MVRVZ BTCMVRVZ BTC (Market Value to Realized Value Z-Score)
Description:
The MVRVZ BTC indicator provides insights into the relationship between the market value and realized value of Bitcoin, using the Market Value to Realized Value (MVRV) ratio, which is then adjusted using a Z-Score. This indicator highlights potential market extremes and helps in identifying overbought or oversold conditions, offering a unique perspective on Bitcoin's valuation.
How It Works:
MVRVZ is calculated by taking the difference between Bitcoin's Market Capitalization (MC) and Realized Capitalization (MCR), then dividing that by the Standard Deviation (Stdev) of the price over a specified period (usually 104 weeks).
The resulting value is plotted as the MVRVZ line, representing how far the market price deviates from its realized value.
Z-Score is then applied to the MVRVZ line, with the Z-Score bounded between +2 and -2, which allows it to be used within a consistent evaluation framework, regardless of how high or low the MVRVZ line goes. The Z-Score will reflect overbought or oversold conditions:
A Z-Score above +2 indicates the market is likely overbought (possible market top).
A Z-Score below -2 indicates the market is likely oversold (possible market bottom).
Values between -2 and +2 indicate more neutral market conditions.
How to Read the Indicator:
MVRVZ Line:
The MVRVZ line shows the relationship between market cap and realized cap. A higher value indicates the market is overvalued relative to the actual capital realized by holders.
The MVRVZ line can move above or below the top and bottom lines you define, which are adjustable according to your preferences. These lines act as trigger levels.
Top and Bottom Trigger Lines:
You can customize the Top Line and Bottom Line values to your preference.
When the MVRVZ line crosses the Top Line, the market might be considered overbought.
When the MVRVZ line crosses the Bottom Line, the market might be considered oversold.
SCDA Z-Score:
The Z-Score is displayed alongside the MVRVZ line and is bounded between -2 and +2. It scales proportionally based on the MVRVZ line's position relative to the top and bottom trigger lines.
The Z-Score ensures that even if the MVRVZ line moves beyond the trigger lines, the Z-Score will stay within the limits of -2 to +2, making it ideal for your custom evaluation system (SCDA).
Background Highlighting:
The background color changes when the MVRVZ line crosses key levels:
When the MVRVZ line exceeds the Top Trigger, the background turns red, indicating overbought conditions.
When the MVRVZ line falls below the Bottom Trigger, the background turns green, indicating oversold conditions.
Data Sources:
The data for the MVRVZ indicator is sourced from Glassnode and Coinmetrics, which provide the necessary values for:
BTC Market Cap (MC) – The total market capitalization of Bitcoin.
BTC Realized Market Cap (MCR) – The capitalization based on the price at which Bitcoin was last moved on the blockchain (realized value).
How to Use the Indicator:
Market Extremes:
Use the MVRVZ and Z-Score to spot potential market tops or bottoms.
A high Z-Score (above +2) suggests the market is overbought, while a low Z-Score (below -2) suggests the market is oversold.
Adjusting the Triggers:
Customize the Top and Bottom Trigger Lines to suit your trading strategy. These lines can act as dynamic reference points for when to take action based on the Z-Score or MVRVZ line crossing these levels.
Market Evaluation (SCDA Framework):
The bounded Z-Score (from -2 to +2) is tailored for your SCDA evaluation system, allowing you to assess market conditions based on consistent criteria, no matter how volatile the MVRVZ line becomes.
Conclusion:
The MVRVZ BTC indicator is a powerful tool for assessing the relative valuation of Bitcoin based on its market and realized capitalization. By combining it with the Z-Score, you get an easy-to-read, bounded evaluation system that highlights potential market extremes and helps you make informed decisions about Bitcoin's price behavior.