Sharpe Ratio Forced Selling StrategyThis study introduces the “Sharpe Ratio Forced Selling Strategy”, a quantitative trading model that dynamically manages positions based on the rolling Sharpe Ratio of an asset’s excess returns relative to the risk-free rate. The Sharpe Ratio, first introduced by Sharpe (1966), remains a cornerstone in risk-adjusted performance measurement, capturing the trade-off between return and volatility. In this strategy, entries are triggered when the Sharpe Ratio falls below a specified low threshold (indicating excessive pessimism), and exits occur either when the Sharpe Ratio surpasses a high threshold (indicating optimism or mean reversion) or when a maximum holding period is reached.
The underlying economic intuition stems from institutional behavior. Institutional investors, such as pension funds and mutual funds, are often subject to risk management mandates and performance benchmarking, requiring them to reduce exposure to assets that exhibit deteriorating risk-adjusted returns over rolling periods (Greenwood and Scharfstein, 2013). When risk-adjusted performance improves, institutions may rebalance or liquidate positions to meet regulatory requirements or internal mandates, a behavior that can be proxied effectively through a rising Sharpe Ratio.
By systematically monitoring the Sharpe Ratio, the strategy anticipates when “forced selling” pressure is likely to abate, allowing for opportunistic entries into assets priced below fundamental value. Exits are equally mechanized, either triggered by Sharpe Ratio improvements or by a strict time-based constraint, acknowledging that institutional rebalancing and window-dressing activities are often time-bound (Coval and Stafford, 2007).
The Sharpe Ratio is particularly suitable for this framework due to its ability to standardize excess returns per unit of risk, ensuring comparability across timeframes and asset classes (Sharpe, 1994). Furthermore, adjusting returns by a dynamically updating short-term risk-free rate (e.g., US 3-Month T-Bills from FRED) ensures that macroeconomic conditions, such as shifting interest rates, are accurately incorporated into the risk assessment.
While the Sharpe Ratio is an efficient and widely recognized measure, the strategy could be enhanced by incorporating alternative or complementary risk metrics:
• Sortino Ratio: Unlike the Sharpe Ratio, the Sortino Ratio penalizes only downside volatility (Sortino and van der Meer, 1991). This would refine entries and exits to distinguish between “good” and “bad” volatility.
• Maximum Drawdown Constraints: Integrating a moving window maximum drawdown filter could prevent entries during persistent downtrends not captured by volatility alone.
• Conditional Value at Risk (CVaR): A measure of expected shortfall beyond the Value at Risk, CVaR could further constrain entry conditions by accounting for tail risk in extreme environments (Rockafellar and Uryasev, 2000).
• Dynamic Thresholds: Instead of static Sharpe thresholds, one could implement dynamic bands based on the historical distribution of the Sharpe Ratio, adjusting for volatility clustering effects (Cont, 2001).
Each of these risk parameters could be incorporated into the current script as additional input controls, further tailoring the model to different market regimes or investor risk appetites.
References
• Cont, R. (2001) ‘Empirical properties of asset returns: stylized facts and statistical issues’, Quantitative Finance, 1(2), pp. 223-236.
• Coval, J.D. and Stafford, E. (2007) ‘Asset Fire Sales (and Purchases) in Equity Markets’, Journal of Financial Economics, 86(2), pp. 479-512.
• Greenwood, R. and Scharfstein, D. (2013) ‘The Growth of Finance’, Journal of Economic Perspectives, 27(2), pp. 3-28.
• Rockafellar, R.T. and Uryasev, S. (2000) ‘Optimization of Conditional Value-at-Risk’, Journal of Risk, 2(3), pp. 21-41.
• Sharpe, W.F. (1966) ‘Mutual Fund Performance’, Journal of Business, 39(1), pp. 119-138.
• Sharpe, W.F. (1994) ‘The Sharpe Ratio’, Journal of Portfolio Management, 21(1), pp. 49-58.
• Sortino, F.A. and van der Meer, R. (1991) ‘Downside Risk’, Journal of Portfolio Management, 17(4), pp. 27-31.
Forecasting
Sharpe & Sortino Ratio PROSharpe & Sortino Ratio PRO offers an advanced and more precise way to calculate and visualize the Sharpe and Sortino Ratios for financial assets on TradingView. Its main goal is to provide a scientifically accurate method for assessing the risk-adjusted performance of assets, both in the short and long term. Unlike TradingView’s built-in metrics, this script correctly handles periodic returns, uses optional logarithmic returns, properly annualizes both returns and volatility, and adjusts for the risk-free rate — all critical factors for truly meaningful Sharpe and Sortino calculations.
Users can customize the rolling analysis window (e.g., 252 periods for one year on daily data) and the long-term smoothing period (e.g., 1260 periods for five years). There’s also an option to select between linear and logarithmic returns and to manually input a risk-free rate if real-time data from FRED (the 3-Month T-Bill Rate via FRED:DGS3MO) is unavailable. Based on the chart’s timeframe (daily, weekly, or monthly), the script automatically adjusts the risk-free rate to a per-period basis.
The Sharpe Ratio is calculated by first determining the asset’s excess returns (returns after subtracting the risk-free return per period), then computing the average and standard deviation of those excess returns over the specified window, and finally annualizing these figures separately — in line with best scientific practices (Sharpe, 1994). The Sortino Ratio follows a similar approach but only considers negative returns, focusing specifically on downside risk (Sortino & Van der Meer, 1991).
To enhance readability, the script visualizes the ratios using a color gradient: strong negative values are shown in red, neutral values in yellow, and strong positive values in green. Additionally, the long-term averages for both Sharpe and Sortino are plotted with steady colors (teal and orange, respectively), making it easier to spot enduring performance trends.
Why calculating Sharpe and Sortino Ratios manually on TradingView is necessary?
While TradingView provides basic Sharpe and Sortino Ratios, they come with significant methodological flaws that can lead to misleading conclusions about an asset’s true risk-adjusted performance.
First, TradingView often computes volatility based on the standard deviation of price levels rather than returns (TradingView, 2023). This method is problematic because it causes the volatility measure to be directly dependent on the asset’s absolute price. For instance, a stock priced at $1,000 will naturally show larger absolute daily price moves than a $10 stock, even if their percentage changes are similar. This artificially inflates the measured standard deviation and, as a result, depresses the calculated Sharpe Ratio.
Second, TradingView frequently neglects to adjust for the risk-free rate. By treating all returns as risky returns, the computed Sharpe Ratio may significantly underestimate risk-adjusted performance, especially when interest rates are high (Sharpe, 1994).
Third, and perhaps most critically, TradingView doesn’t properly annualize the mean excess return and the standard deviation separately. In correct financial math, the mean excess return should be multiplied by the number of periods per year, while the standard deviation should be multiplied by the square root of the number of periods per year (Cont, 2001; Fabozzi et al., 2007). Incorrect annualization skews the Sharpe and Sortino Ratios and can lead to under- or overestimating investment risk.
These flaws lead to three major issues:
• Overstated volatility for high-priced assets.
• Incorrect scaling between returns and risk.
• Sharpe Ratios that are systematically biased downward, especially in high-price or high-interest environments.
How to properly calculate Sharpe and Sortino Ratios in Pine Script?
To get accurate results, the Sharpe and Sortino Ratios must be calculated using the correct methodology:
1. Use returns, not price levels, to calculate volatility. Ideally, use logarithmic returns for better mathematical properties like time additivity (Cont, 2001).
2. Adjust returns by subtracting the risk-free rate on a per-period basis to obtain true excess returns.
3. Annualize separately:
• Multiply the mean excess return by the number of periods per year (e.g., 252 for daily data).
• Multiply the standard deviation by the square root of the number of periods per year.
4. Finally, divide the annualized mean excess return by the annualized standard deviation to calculate the Sharpe Ratio.
The Sortino Ratio follows the same structure but uses downside deviations instead of standard deviations.
By following this scientifically sound method, you ensure that your Sharpe and Sortino Ratios truly reflect the asset’s real-world risk and return characteristics.
References
• Cont, R. (2001). Empirical properties of asset returns: stylized facts and statistical issues. Quantitative Finance, 1(2), pp. 223–236.
• Fabozzi, F.J., Gupta, F. and Markowitz, H.M. (2007). The Legacy of Modern Portfolio Theory. Journal of Investing, 16(3), pp. 7–22.
• Sharpe, W.F. (1994). The Sharpe Ratio. Journal of Portfolio Management, 21(1), pp. 49–58.
• Sortino, F.A. and Van der Meer, R. (1991). Downside Risk: Capturing What’s at Stake in Investment Situations. Journal of Portfolio Management, 17(4), pp. 27–31.
• TradingView (2023). Help Center - Understanding Sharpe and Sortino Ratios. Available at: www.tradingview.com (Accessed: 25 April 2025).
Death Metal Fire & IceA dynamic support/resistance system built from modified Fibonacci-based moving averages, designed to assist with structure identification in trending markets — particularly when price is moving into uncharted territory.
🧠 Core Logic
Twelve Fibonacci-based moving averages are mathematically adjusted by the square root of a standard trading Fibonacci ratio to create projected zones above and around price. These dynamic levels are labeled L1 to L12 and automatically adjust with trend velocity and volatility.
Faster levels (L1–L5) often serve as immediate reaction zones in volatile markets and provide ceilings for rising price action.
Slower levels (L6–L12) tend to behave as longer-term structure — both above and below current price.
These levels are dynamic, non-static, and provide forward-looking structure that adapts as markets move. Price tends to range between these levels until conditions change, which becomes visually apparent through the breaking of support/resistance.
⚙️ Features
Smart Mode: Hides levels that are not relevant to current price proximity. Price action needs to get within 10% of the level for it to appear. If price action moves away from the level, there will be a cooldown period for the line to cease printing on the chart.
Gradient Mode: Fills space between levels with a visual overlay to help visualize distance and potential volatility.
Levels can be toggled on/off individually.
🧩 Use Case
Designed for trending markets where traditional support/resistance is unavailable or unreliable.
Applicable across all assets and timeframes — stocks, crypto, futures, etc.
ka66: ADR EstimationThis is based on Daryl Guppy's Average Daily Range indicator, the link is difficult to find, but it is an estimation/projection indicator for a daily range.
The thesis is (if I understand correctly):
The range (high - low) of a particular day can be determined, with 85% probability, by taking the ranges of the last 5 days, and getting their average, then multiplying this average value by 0.75. This final value is the estimated range for the next day.
The indicator does not say anything about potential direction, so it may be used as a Take Profit or Stop Loss estimator for the trading strategy in use. Either on the daily timeframe, or an intraday timeframe.
And if we enter the market intraday for a day trade, when the day's range has already exceeded or is close to exceeding the estimated/projected value, perhaps the move is already quite exhausted, and the trade needs to be reconsidered.
A further implication is: if 0.75 multiple occurs with 85% probability, then a lower multiple is even more probable, if one was looking for a more conservative estimate.
The indicator shows three things for a visual inspection of the validity of this concept (and allows basic customisation of parameters):
The day's range, shown in a translucent gray/deep green, as columns. This is the current bar's range. If intraday, it will repaint.
The 5 day average up to the current bar, shown as a step-line plot in orange. If intraday, it will repaint.
The projected range: a thinner blue histogram column, this is offset one bar forward, as it is a future estimate/forward-looking. It too will repaint if the current day is still not complete.
To evaluate the historical results of the chosen settings visually (eye-ball it!), compare the blue histogram bar to the gray bar/column, i.e. the estimate vs. actual range:
When the blue bar is generally within the gray column, and close enough to that column's size/range, then the projected estimation has been reasonable.
if the blue bar tends to be relatively smaller than the gray bar, then we are underestimating often. Increase the projection multiple setting, as a simple fix.
if the blue bar tends to exceed the range of the gray bar a lot, we are overestimating often. Lower the projection multiple setting, as a simple fix.
Guppy's document says that they basically calculate this ADR for multiple markets and focus on markets with the top 5 ranges (in descending order, of course), to maximise the profit potential on intraday trades planned for the next day. Because it is an estimation, this calculation can be run at the end of the day on completed bars.
This indicator also allows displaying the value as percentages, taking the logic of the ATR% (ATR Percent) indicator, which divides the ATR by the close value and multiplies it by 100 to get a normalised percentage value, allowing it to be compared across markets (but in the same timeframe!).
QuantumSync Pulse [ w.aritas ]QuantumSync Pulse (QSP) is an advanced technical indicator crafted for traders seeking a dynamic and adaptable tool to analyze diverse market conditions. By integrating momentum, mean reversion, and regime detection with quantum-inspired calculations and entropy analysis, QSP offers a powerful histogram that reflects trend strength and market uncertainty. With multi-timeframe synchronization, adaptive filtering, and customizable visualization, it’s a versatile addition to any trading strategy.
Key Features
Hybrid Signals: Combines momentum and mean reversion, dynamically weighted by market regime.
Quantum Tunneling: Enhances responsiveness in volatile markets using volatility-adjusted calculations.
3-State Entropy: Assesses market uncertainty across up, down, and neutral states.
Regime Detection: Adapts signal weights with Hurst exponent and volatility ROC.
Multi-Timeframe Alignment: Syncs with higher timeframe trends for context.
Customizable Histogram: Displays trend strength with ADX-based visuals and flexible styling.
How to Use and Interpret
Histogram Interpretation
Positive (Above Zero): Bullish momentum; color intensity shows trend strength.
Negative (Below Zero): Bearish momentum; gradients indicate weakness.
Overlaps: Alignment of final_z (signal) and ohlc4 (price) histograms highlights key price levels or turning points.
Regime Visualization
Green Background: Trending market; prioritize momentum signals.
Red Background: Mean-reverting market; focus on reversion signals.
Blue Background: Neutral state; balance both signal types.
Trading Signals
Buy: Histogram crosses above zero or shows positive divergence between histograms.
Sell: Histogram crosses below zero or exhibits negative divergence.
Confirmation: Match signals with regime background—green for trends, red for ranges.
Customization
Tweak Momentum Length, Entropy Lookback, and Hurst Exponent Lookback for sensitivity.
Adjust color themes and transparency to suit your charts.
Tips for Optimal Use
Timeframes: Use higher timeframes (1h, 4h) for trend context and lower (5m, 15m) for entries.
Pairing: Combine with RSI, MACD, or volume indicators for confirmation.
Backtesting: Test settings on historical data for asset-specific optimization.
Overlaps: Watch for histogram overlaps to identify support, resistance, or reversals.
Simulated Performance
Trending Markets: Histogram stays above/below zero, with overlaps at retracements for entries.
Range-Bound Markets: Oscillates around zero; overlaps signal reversals in red regimes.
Volatile Markets: Quantum tunneling ensures quick reactions, with filters reducing noise.
Elevate your trading with QuantumSync Pulse—a sophisticated tool that adapts to the market’s rhythm and your unique style.
Auto Trend Channel + Buy/Sell AlertsThis indicator automatically detects trend channels using a linear regression line, and dynamically plots upper and lower channel boundaries based on standard deviation. It helps traders identify potential Buy and Sell zones with clear visual signals and customizable alerts.
💡 How It Works:
🧠 Regression-Based Channel: Calculates the central trend line using ta.linreg() over a user-defined length.
📏 Dynamic Boundaries: Upper and lower channel lines are offset by a multiplier of the standard deviation for precision volatility tracking.
✅ Buy Signals: Triggered when price crosses above the lower boundary — potential bounce entry.
❌ Sell Signals: Triggered when price crosses below the upper boundary — potential reversal exit.
🔔 Alerts Enabled: Get real-time alerts when price touches the channel lines.
NIG Probability TableNormal-Inverse Gaussian Probability Table
This indicator implements the Normal-Inverse Gaussian (NIG) distribution to estimate the likelihood of future price based on recent market behavior.
📊 Key Features:
- Estimates the parameters (α: tail heaviness, β: skewness, δ: scale, μ: location)
of the NIG distribution using a sliding window over log returns.
- Uses a numerically approximated version of the modified Bessel function (K₁)
to calculate the NIG probability density function (PDF).
- Normalizes the total probability across all bins to ensure the values are interpretable.
- Displays a dynamic probability table showing the chance of future returns falling into each bin.
⚠️ Notes:
- This is a real-time approximation. The Bessel function and posterior inference are simplified.
- Tail probabilities and shape parameters are sensitive to the window size and input settings.
- Useful for risk analysis, option overlays, and strategy filters.
M2 Global Liquidity Index [Extended + Offset]M2 Global Liquidity Index
This indicator visualizes global M2 money supply, weighted in USD, based on major economic regions.
Features:
Standard Mode: Includes M2 data from the USA, China, Eurozone, Japan, and the UK.
Extended Mode: Adds Switzerland, Canada, India, Russia, Brazil, South Korea, Mexico, and South Africa.
Offset Function: Adjustable time lag (78 or 108 days) to analyze the delayed impact of liquidity on financial markets.
Use Case:
Designed to help identify global liquidity cycles and assess potential turning points in financial markets. Rising global liquidity generally supports risk assets like equities and crypto, while declining liquidity can put downward pressure on these markets.
Technical Details:
Non-USD M2 values are converted using real-time FX rates.
All values are displayed in trillions of USD (Tn).
Note:
Not all countries release M2 data in real-time or at the same frequency. Minor delays and discrepancies may occur.
Example:
Log-Normal Price ForecastLog-Normal Price Forecast
This Pine Script creates a log-normal forecast model of future price movements on a TradingView chart, based on historical log returns. It plots expected price trajectories and bands representing different levels of statistical deviation.
Parameters
Model Length – Number of bars used to calculate average and standard deviation of log returns (default: 100).
Forecast Length – Number of bars into the future for which the forecast is projected (default: 100, max: 500).
Volatility SMA Length – The smoothing length for the standard deviation (default: 20).
Confidence Intervals – Confidence intervals for price bands (default: 95%, 99%, 99.9%).
for your comparison: Global M2 Money Supply // Days Offset =📈 Global M2 Money Supply Overlay – Offset Adjustable
This script plots an aggregated, FX-adjusted global M2 money supply index directly on your TradingView chart. It pulls M2 data from multiple global regions—including North America, Europe, Asia, Latin America, and more—and normalizes it for comparison in USD terms.
You can apply a custom time offset to the M2 line using the settings, allowing you to test potential leading or lagging correlations between global liquidity and market price action (e.g., Bitcoin, equities, commodities).
💡 Ideal for macro traders, long-term investors, and anyone interested in liquidity-driven market behavior.
Features:
Combines M2 data from 20+ countries and currency zones
FX-adjusted for consistency in USD terms
Offset slider to shift M2 data forward or backward in time
Scaled to trillions for readability
Plots directly on the main chart for visual comparison
Log-Normal Price DistributionThis Pine Script indicator plots a log-normal distribution model of future price projections on a TradingView chart. It visualizes the potential price ranges based on the statistical properties (mean and standard deviation) of log returns over a defined period. It's particularly useful for analyzing potential volatility and predicting future price ranges.
John M Oscillator with Zero-Cross Range ScalingThis oscillator tries to measure momentum by comparing the current price to the Heikin Ashi open price, then scales that signal based on how much the price has moved since the last time the signal crossed zero. This makes the strength of the move relative to the recent market activity, which can help identify overbought/oversold zones more adaptively than traditional oscillators.
Helps you spot trend shifts early by watching for zero crossings.
The scaling helps you judge if the trend is weak or strong, instead of just relying on absolute price movement.
Ideal for momentum-based entries/exits, divergence spotting, and avoiding fakeouts.
Components:
1. Heikin Ashi Values:
- Heikin Ashi open is the average of the previous period's open and close.
- Heikin Ashi close is the average of the current period's open, high, low, and close.
2. Basic Oscillator Calculation:
- Calculated by subtracting the Heikin Ashi open from the current close price.
3. Smoothing:
- An EMA is applied to the basic oscillator value for noise reduction.
4. Zero-Cross Range Scaling:
- Identifies the range between the last two zero crossings.
- Finds the largest candle range (High to Low) within this zero-cross range.
- Scales the oscillator as a percentage of this largest range.
5. Color Coding:
- The oscillator plot is green when positive and red when negative.
6. Reference Lines:
- Horizontal lines are drawn at -100, -80, -70, -50, 0, 50, 70, 80, and 100 for reference.
Use Case:
This oscillator helps traders identify trends and momentum with a percentage scale based on recent price action. The scaling provides a view of the oscillator's strength relative to the most significant price movement since the last trend change, making it easier to identify potential reversals or trend continuations
Note: the script is set to default time frame of 6hr. Personally, i use the 1 hr time frame. play with it to find what works for your style of trading.
Daily ATR BandsATR Finder – Volatility Scanner for Smarter Trade Setups
The ATR Finder is a precision tool designed to help traders quickly identify high-volatility assets using the Average True Range (ATR) – a key metric in assessing market momentum and potential breakout zones. By automatically scanning and highlighting tickers or candles with elevated ATR values relative to their recent historical range, this indicator helps you filter for setups that are more likely to experience significant price moves.
Whether you're a day trader seeking intraday momentum or a swing trader looking for setups with strong follow-through potential, the ATR Finder cuts through the noise and visually signals which assets are "on the move." It can be paired with other indicators or price action tools to create a high-conviction trading strategy focused on volatility expansion.
Key Features:
Dynamic ATR Calculation over a user-defined period
Visual Alerts or Color-Coding for above-threshold volatility spikes
Supports Multiple Timeframes for both short- and long-term volatility analysis
Great for spotting breakout opportunities, gap continuations, or trend reversals
Use the ATR Finder to stay ahead of price action and build a watchlist that moves with purpose. Perfect for scalpers, breakout traders, and anyone who respects the power of volatility.
Gabriel's Asset Rotation System📈 Gabriel's Asset Rotation System
Overview
Gabriel’s Asset Rotation System is an advanced multi-asset trend-following tool that dynamically ranks and rotates up to 6 assets (plus USD) based on a customizable trend scoring matrix. Using enhanced signal detection techniques like Cauchy-weighted Supertrend, Jurík RSX, Fisherized CCI, Kalman-filtered PSAR, and Dynamic DMI Smoothing, the system identifies the most dominant asset and simulates strategy equity performance compared to buy-and-hold benchmarks.
🔍 Key Features
✅ Multi-Asset Rotation: Analyze up to 6 symbols and USD simultaneously.
✅ Relative Strength Matrix: Compares every asset against each other to find outperformers.
✅ Custom Trend Engine:
Jurik RSX with advanced RSX logic
Fisherized CCI for momentum confirmation
Kalman-smoothed PSAR for trend bias
SuperTrend using a Cauchy Moving Average
Smoothed DMI signal across looped periods (10–17)
✅ Dynamic Best Asset Detection: Identifies and tracks the asset with the highest trend score over time.
✅ Performance Table: Displays Sharpe, Sortino, and Omega Ratios along with drawdowns and means for both strategy and each asset.
✅ Visual Trend Matrix: Tabular view of asset strength comparisons against each other + final scoring.
✅ Realistic Strategy Equity Curve: Tracks performance assuming full capital rotation into the best asset.
✅ Alerts: Get notified when the top-performing asset changes.
⚙️ Inputs
🔹 Assets: Customize 6 tickers (crypto, stocks, ETFs, etc.)
🔹 Trend Classification Method:
RSI
CCI
SuperTrend
DMI
PSAR
or use all together
🔹 Jurik RSX Length
🔹 Fisherized CCI Length
🔹 Cauchy MA Gamma and ATR Settings
🔹 DMI Range and MA Type (SMA, EMA, HMA, etc.)
🔹 PSAR Parameters with Kalman smoothing
🔹 Custom Backtest Start Date
📊 Outputs
Plot 1: Best Asset Equity (colored dynamically)
Plot 2–7: Buy & Hold Curves for each asset (with labels)
Tables:
Rotation Matrix (bottom-right)
Best Performing Asset (bottom-center)
Performance Metrics Table (optional toggle)
🧠 Use Case Ideas
🔁 Dynamic Portfolio Rebalancing
⚖️ Compare Risk-Adjusted Returns Across Crypto or Stocks
🧪 Backtest Rotation Hypotheses
🚀 Identify Strongest Breakout Assets in Trend Environments
📉 Avoid Weakening Assets with Rising Drawdowns
🚨 Alerts
🔔 "New Optimal Asset": Triggers when a new top-ranking asset replaces the current one.
Open - CSC Bars - 33 CSC Bars – Early Session Price Action Filter
This script detects when the first three bars of the RTH (Regular Trading Hours) session all move in the same direction — either all bullish or all bearish.
It’s a tool for price action traders who want to develop structured opening strategies by observing clean directional agreement at the session start. The indicator highlights the third bar when the sequence confirms directional bias.
🔍 How It Works:
Monitors the first three bars after the RTH session begins.
If all three bars are bullish, it highlights the third bar (same for bearish sequences).
No projections, signals, or entries—purely a visual tool to observe and study opening behavior.
🎯 Use Case:
This script is designed to help traders build and test opening-based frameworks by identifying potential trend bias early in the day.
Note: This is an open-source utility script with a simple function. It does not generate signals or predictions and is intended to assist with observation and discretionary strategy building.
Oath KeeperOath Keeper - Advanced Money Flow & Market Dynamics Indicator
A sophisticated indicator that analyzes market dynamics through money flow patterns, volume analysis, and liquidation detection to identify high-probability trading opportunities.
Core Features:
• Smart Money Flow Analysis: Proprietary calculation of institutional money movement
• Volume-Enhanced Signals: Multi-timeframe volume confirmation
• Liquidation Detection: Identifies potential forced liquidation events
• Advanced Signal Classification: Regular, Super, and Fakeout signals
Signal Types:
1. Regular Signals (Green/Purple Circles)
• Volume-confirmed momentum shifts
• Money flow threshold breaches
• Institutional participation confirmation
2. Super Signals (Green/Purple Squares)
• Deep oversold/overbought reversals
• High-volume rejection patterns
• Liquidation event confirmation
3. Fakeout Signals (Red X)
• Rapid sentiment shifts
• Trap detection
• False breakout warnings
Visual Components:
• Dynamic Money Flow Line (White/Purple)
• Order Flow Clouds (Green/Red with high transparency)
• Reference Levels (20, 50, 80)
• Multi-type Signal Markers
• Color-coded momentum visualization
Interpretation Guide:
• Green Cloud: Bullish money flow dominance
• Red Cloud: Bearish money flow dominance
• Circle Markers: Standard reversals
• Square Markers: High-conviction moves
• X Markers: Potential trap zones
Best Practices:
• Most effective on 1H+ timeframes
• Use with major trading pairs
• Wait for candle close confirmation
• Combine with support/resistance levels
• Monitor volume confirmation
• Use multiple timeframe analysis
This indicator helps traders identify institutional money flow, potential liquidation events, and market reversals by analyzing volume patterns and money flow dynamics, providing multiple confirmation layers for trade decisions.
Note: Performance varies with market conditions and timeframes. Always employ proper risk management.
Directional Bias | FractalystNote: This indicator is specifically designed to integrate with the Quantify suite, automating bias detection through input.source(). While other scripts may provide similar functionality, this indicator uniquely connects with Quantify by outputting precise bias values: bullish (1), bearish (-1), or neutral (0).
What is the Directional Bias indicator?
The Directional Bias indicator is a powerful tool designed to automatically identify market bias (bullish, bearish, or neutral) using a sophisticated system of moving averages and filters. It serves as the perfect companion to the Quantify suite, allowing traders to objectively determine market direction without relying on subjective analysis or emotional decision-making.
How does the Directional Bias indicator work?
The indicator utilizes up to four customizable moving averages (MA) with various types (SMA, EMA, HMA, VWMA, etc.) and timeframes to determine market direction. It analyzes price action relative to these moving averages and applies user-defined filters to calculate whether the current market condition is bullish, bearish, or neutral.
What makes this indicator different from other trend indicators?
- Unlike traditional trend indicators that rely on a single moving average or oscillator, the Directional Bias indicator offers:
- Multi-moving average analysis with up to 4 different MAs
- Customizable MA types (SMA, EMA, WMA, VWMA, RMA, HMA, DEMA, TEMA, etc.)
- Multi-timeframe functionality for each MA
- Configurable filters to eliminate false signals
- Clear visual representation of bias directly on your charts
How does this indicator integrate with the Quantify?
- The Directional Bias indicator serves as the automated "bias detection engine" for the Quantify suite. While the original Quantify model required manual bias selection, this integration allows Quantify to automatically detect market bias and adjust its calculations accordingly. This creates a more streamlined workflow where Quantify can focus on identifying high-probability setups aligned with the objectively determined market direction.
Who is this indicator designed for?
This indicator is perfect for:
- Traders who use the Quantify suite and want to automate bias detection
- Technical analysts seeking objective trend confirmation
- Systematic traders who need clear rules for market direction
- Any trader looking to remove subjectivity from their directional analysis
What are the key benefits of using the Directional Bias indicator?
- Objective Analysis: Removes emotion and subjectivity from market direction determination
- Customizable: Adapt to your preferred timeframes and moving average types
- Visual Clarity: Instantly see market bias directly on your charts
- Seamless Quantify Integration: Automates what was previously a manual step in the Quantify workflow
- Enhanced Decision-Making: Provides clear signals for when to look for long vs. short opportunities
How can I optimize the Directional Bias indicator for my trading style?
You can customize:
- MA types for different market conditions (trending vs. ranging)
- MA lengths for sensitivity adjustment (shorter for quick signals, longer for reduced noise)
- Timeframes for each MA to incorporate multi-timeframe analysis
- Filter conditions to refine signals based on your risk tolerance
How does this indicator fit into a complete trading system?
The Directional Bias indicator serves as the first essential component in a complete system:
- Step 1: Use Directional Bias to determine market direction
- Step 2: Let Quantify identify high-probability entry setups aligned with that direction
- Step 3: Implement proper risk management using Quantify's Kelly Criterion calculations
- Step 4: Manage your trades with Quantify's trailing stop mechanisms
What technical innovations does this indicator offer?
- The indicator leverages advanced Pine Script functionality to deliver:
- Real-time bias calculation across multiple timeframes
- Non-repainting signals that provide reliable analysis
- Optimized code for smooth performance
- Visual color-coding for instant bias recognition
- Seamless integration with the broader Quantify ecosystem
To implement: Add both indicators to your chart, select Directional Bias as Quantify's external input source, and the system will automatically adjust calculations based on the detected market bias.
Multi-Factor Reversal AnalyzerMulti-Factor Reversal Analyzer – Quantitative Reversal Signal System
OVERVIEW
Multi-Factor Reversal Analyzer is a comprehensive technical analysis toolkit designed to detect market tops and bottoms with high precision. It combines trend momentum analysis, price action behavior, wave oscillation structure, and volatility breakout potential into one unified indicator.
This indicator is not a random mix of tools — each module is carefully selected for a specific purpose. When combined, they form a multi-dimensional view of the market, merging trend analysis, momentum divergence, and volatility compression to produce high-confidence signals.
Why Combine These Modules?
Module Combination Ideas & How to Use Them
Factor A: Trend Detector + Gold Zone
Concept:
• The Trend Detector (light yellow histogram) evaluates market strength:
• Histogram trending downward or staying below 50 → bearish conditions;
• Trending upward or staying above 50 → bullish conditions.
• The Gold Zone identifies areas of volatility compression — typically a prelude to explosive market moves.
Practical Application:
• When the Gold Zone appears and the Trend Detector is bearish → likely downside move;
• When the Gold Zone appears and the Trend Detector is bullish → likely upside breakout.
• Note: The Gold Zone does not mean the bottom is in. It is not a buy signal on its own — always combine it with other modules for directional bias.
Factor B: PAI + Wave Trend
Concept:
• PAI (Price Action Index) is a custom oscillator that combines price momentum with volatility dispersion, displaying strength zones:
• Green area → bullish dominance;
• Red area → bearish pressure.
• Wave Trend offers smoothed crossover signals via the main and signal lines.
Practical Application:
• When PAI is in the green zone and Wave Trend makes a bullish crossover → potential reversal to the upside;
• When PAI is in the red zone and Wave Trend shows a bearish crossover → potential start of a downtrend.
Factor C: Trend Detector + PAI
Concept:
• Combines directional trend strength with price action strength to confirm setups via confluence.
Practical Application:
• Trend Detector histogram bottoms out + PAI enters the green zone → high chance of upward reversal;
• Histogram tops out + PAI in the red zone → increased likelihood of downside continuation.
Multi-Factor Confluence (Advanced Use)
• When Trend Detector, PAI, and Wave Trend all align in the same direction (bullish or bearish), the directional signal becomes significantly more reliable.
• This setup is especially useful for trend-following or swing trade entries.
KEY FEATURES
1. Multi-Layer Reversal Logic
• Combines trend scoring, oscillator divergence, and volatility squeezes for triangulated reversal detection.
• Helps traders distinguish between trend pullbacks and true reversals.
2. Advanced Divergence Detection
• Detects both regular and hidden divergences using pivot-based confirmation logic.
• Customizable lookback ranges and pivot sensitivity provide flexible tuning for different market styles.
3. Gold Zone Volatility Compression
• Highlights pre-breakout zones using custom oscillation models (RSI, harmonic, Karobein, etc.).
• Improves anticipation of breakout opportunities following low-volatility compressions.
4. Trend Direction Context
• PAI and Trend Score components provide top-down insight into prevailing bias.
• Built-in “Straddle Area” highlights consolidation zones; breakouts from this area often signal new trend phases.
5. Flexible Visualization
• Color-coded trend bars, reversal markers, normalized oscillator plots, and trend strength labels.
• Designed for both visual discretionary traders and data-driven system developers.
USAGE GUIDELINES
1. Applicable Markets
• Suitable for stocks, crypto, futures, and forex
• Supports reversal, mean-reversion, and breakout trading styles
2. Recommended Timeframes
• Short-term traders: 5m / 15m / 1H — use Wave Trend divergence + Gold Zone
• Swing traders: 4H / Daily — rely on Price Action Index and Trend Detector
• Macro trend context: use PAI HTF mode for higher timeframe overlays
3. Reversal Strategy Flow
• Watch for divergence (WT/PAI) + Gold Zone compression
• Confirm with Trend Score weakening or flipping
• Use Straddle Area breakout for final trigger
• Optional: enable bar coloring or labels for visual reinforcement
• The indicator performs optimally when used in conjunction with a harmonic pattern recognition tool
4. Additional Note on the Gold Zone
The “Gold Zone” does not directly indicate a market bottom. Since it is displayed at the bottom of the chart, it may be misunderstood as a bullish signal. In reality, the Gold Zone represents a compression of price momentum and volatility, suggesting that a significant directional move is about to occur. The direction of that move—upward or downward—should be determined by analyzing the histogram:
• If histogram momentum is weakening, the Gold Zone may precede a downward move.
• If histogram momentum is strengthening, it may signal an upcoming rebound or rally.
Treat the Gold Zone as a warning of impending volatility, and always combine it with trend indicators for accurate directional judgment.
RISK DISCLAIMER
• This indicator calculates trend direction based on historical data and cannot guarantee future market performance. When using this indicator for trading, always combine it with other technical analysis tools, fundamental analysis, and personal trading experience for comprehensive decision-making.
• Market conditions are uncertain, and trend signals may result in false positives or lag. Traders should avoid over-reliance on indicator signals and implement stop-loss strategies and risk management techniques to reduce potential losses.
• Leverage trading carries high risks and may result in rapid capital loss. If using this indicator in leveraged markets (such as futures, forex, or cryptocurrency derivatives), exercise caution, manage risks properly, and set reasonable stop-loss/take-profit levels to protect funds.
• All trading decisions are the sole responsibility of the trader. The developer is not liable for any trading losses. This indicator is for technical analysis reference only and does not constitute investment advice.
• Before live trading, it is recommended to use a demo account for testing to fully understand how to use the indicator and apply proper risk management strategies.
CHANGELOG
v1.0: Initial release featuring integrated Price Action Index, Trend Strength Scoring, Wave Trend Oscillator, Gold Zone Compression Detection, and dual-type divergence recognition. Supports higher timeframe (HTF) synchronization, visual signal markers, and diversified parameter configurations.
RSI Forecast [Titans_Invest]RSI Forecast
Introducing one of the most impressive RSI indicators ever created – arguably the best on TradingView, and potentially the best in the world.
RSI Forecast is a visionary evolution of the classic RSI, merging powerful customization with groundbreaking predictive capabilities. While preserving the core principles of traditional RSI, it takes analysis to the next level by allowing users to anticipate potential future RSI movements.
Real-Time RSI Forecasting:
For the first time ever, an RSI indicator integrates linear regression using the least squares method to accurately forecast the future behavior of the RSI. This innovation empowers traders to stay one step ahead of the market with forward-looking insight.
Highly Customizable:
Easily adapt the indicator to your personal trading style. Fine-tune a variety of parameters to generate signals perfectly aligned with your strategy.
Innovative, Unique, and Powerful:
This is the world’s first RSI Forecast to apply this predictive approach using least squares linear regression. A truly elite-level tool designed for traders who want a real edge in the market.
⯁ SCIENTIFIC BASIS LINEAR REGRESSION
Linear Regression is a fundamental method of statistics and machine learning, used to model the relationship between a dependent variable y and one or more independent variables 𝑥.
The general formula for a simple linear regression is given by:
y = β₀ + β₁x + ε
Where:
y = is the predicted variable (e.g. future value of RSI)
x = is the explanatory variable (e.g. time or bar index)
β0 = is the intercept (value of 𝑦 when 𝑥 = 0)
𝛽1 = is the slope of the line (rate of change)
ε = is the random error term
The goal is to estimate the coefficients 𝛽0 and 𝛽1 so as to minimize the sum of the squared errors — the so-called Random Error Method Least Squares.
⯁ LEAST SQUARES ESTIMATION
To minimize the error between predicted and observed values, we use the following formulas:
β₁ = /
β₀ = ȳ - β₁x̄
Where:
∑ = sum
x̄ = mean of x
ȳ = mean of y
x_i, y_i = individual values of the variables.
Where:
x_i and y_i are the means of the independent and dependent variables, respectively.
i ranges from 1 to n, the number of observations.
These equations guarantee the best linear unbiased estimator, according to the Gauss-Markov theorem, assuming homoscedasticity and linearity.
⯁ LINEAR REGRESSION IN MACHINE LEARNING
Linear regression is one of the cornerstones of supervised learning. Its simplicity and ability to generate accurate quantitative predictions make it essential in AI systems, predictive algorithms, time series analysis, and automated trading strategies.
By applying this model to the RSI, you are literally putting artificial intelligence at the heart of a classic indicator, bringing a new dimension to technical analysis.
⯁ VISUAL INTERPRETATION
Imagine an RSI time series like this:
Time →
RSI →
The regression line will smooth these values and extend them n periods into the future, creating a predicted trajectory based on the historical moment. This line becomes the predicted RSI, which can be crossed with the actual RSI to generate more intelligent signals.
⯁ SUMMARY OF SCIENTIFIC CONCEPTS USED
Linear Regression Models the relationship between variables using a straight line.
Least Squares Minimizes the sum of squared errors between prediction and reality.
Time Series Forecasting Estimates future values based on historical data.
Supervised Learning Trains models to predict outputs from known inputs.
Statistical Smoothing Reduces noise and reveals underlying trends.
⯁ WHY THIS INDICATOR IS REVOLUTIONARY
Scientifically-based: Based on statistical theory and mathematical inference.
Unprecedented: First public RSI with least squares predictive modeling.
Intelligent: Built with machine learning logic.
Practical: Generates forward-thinking signals.
Customizable: Flexible for any trading strategy.
⯁ CONCLUSION
By combining RSI with linear regression, this indicator allows a trader to predict market momentum, not just follow it.
RSI Forecast is not just an indicator — it is a scientific breakthrough in technical analysis technology.
⯁ Example of simple linear regression, which has one independent variable:
⯁ In linear regression, observations ( red ) are considered to be the result of random deviations ( green ) from an underlying relationship ( blue ) between a dependent variable ( y ) and an independent variable ( x ).
⯁ Visualizing heteroscedasticity in a scatterplot against 100 random fitted values using Matlab:
⯁ The data sets in the Anscombe's quartet are designed to have approximately the same linear regression line (as well as nearly identical means, standard deviations, and correlations) but are graphically very different. This illustrates the pitfalls of relying solely on a fitted model to understand the relationship between variables.
⯁ The result of fitting a set of data points with a quadratic function:
_______________________________________________________________________
🥇 This is the world’s first RSI indicator with: Linear Regression for Forecasting 🥇_______________________________________________________________________
_________________________________________________
🔮 Linear Regression: PineScript Technical Parameters 🔮
_________________________________________________
Forecast Types:
• Flat: Assumes prices will remain the same.
• Linreg: Makes a 'Linear Regression' forecast for n periods.
Technical Information:
ta.linreg (built-in function)
Linear regression curve. A line that best fits the specified prices over a user-defined time period. It is calculated using the least squares method. The result of this function is calculated using the formula: linreg = intercept + slope * (length - 1 - offset), where intercept and slope are the values calculated using the least squares method on the source series.
Syntax:
• Function: ta.linreg()
Parameters:
• source: Source price series.
• length: Number of bars (period).
• offset: Offset.
• return: Linear regression curve.
This function has been cleverly applied to the RSI, making it capable of projecting future values based on past statistical trends.
______________________________________________________
______________________________________________________
⯁ WHAT IS THE RSI❓
The Relative Strength Index (RSI) is a technical analysis indicator developed by J. Welles Wilder. It measures the magnitude of recent price movements to evaluate overbought or oversold conditions in a market. The RSI is an oscillator that ranges from 0 to 100 and is commonly used to identify potential reversal points, as well as the strength of a trend.
⯁ HOW TO USE THE RSI❓
The RSI is calculated based on average gains and losses over a specified period (usually 14 periods). It is plotted on a scale from 0 to 100 and includes three main zones:
• Overbought: When the RSI is above 70, indicating that the asset may be overbought.
• Oversold: When the RSI is below 30, indicating that the asset may be oversold.
• Neutral Zone: Between 30 and 70, where there is no clear signal of overbought or oversold conditions.
______________________________________________________
______________________________________________________
⯁ ENTRY CONDITIONS
The conditions below are fully flexible and allow for complete customization of the signal.
______________________________________________________
______________________________________________________
🔹 CONDITIONS TO BUY 📈
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
📈 RSI Conditions:
🔹 RSI > Upper
🔹 RSI < Upper
🔹 RSI > Lower
🔹 RSI < Lower
🔹 RSI > Middle
🔹 RSI < Middle
🔹 RSI > MA
🔹 RSI < MA
📈 MA Conditions:
🔹 MA > Upper
🔹 MA < Upper
🔹 MA > Lower
🔹 MA < Lower
📈 Crossovers:
🔹 RSI (Crossover) Upper
🔹 RSI (Crossunder) Upper
🔹 RSI (Crossover) Lower
🔹 RSI (Crossunder) Lower
🔹 RSI (Crossover) Middle
🔹 RSI (Crossunder) Middle
🔹 RSI (Crossover) MA
🔹 RSI (Crossunder) MA
🔹 MA (Crossover) Upper
🔹 MA (Crossunder) Upper
🔹 MA (Crossover) Lower
🔹 MA (Crossunder) Lower
📈 RSI Divergences:
🔹 RSI Divergence Bull
🔹 RSI Divergence Bear
📈 RSI Forecast:
🔮 RSI (Crossover) MA Forecast
🔮 RSI (Crossunder) MA Forecast
______________________________________________________
______________________________________________________
🔸 CONDITIONS TO SELL 📉
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
📉 RSI Conditions:
🔸 RSI > Upper
🔸 RSI < Upper
🔸 RSI > Lower
🔸 RSI < Lower
🔸 RSI > Middle
🔸 RSI < Middle
🔸 RSI > MA
🔸 RSI < MA
📉 MA Conditions:
🔸 MA > Upper
🔸 MA < Upper
🔸 MA > Lower
🔸 MA < Lower
📉 Crossovers:
🔸 RSI (Crossover) Upper
🔸 RSI (Crossunder) Upper
🔸 RSI (Crossover) Lower
🔸 RSI (Crossunder) Lower
🔸 RSI (Crossover) Middle
🔸 RSI (Crossunder) Middle
🔸 RSI (Crossover) MA
🔸 RSI (Crossunder) MA
🔸 MA (Crossover) Upper
🔸 MA (Crossunder) Upper
🔸 MA (Crossover) Lower
🔸 MA (Crossunder) Lower
📉 RSI Divergences:
🔸 RSI Divergence Bull
🔸 RSI Divergence Bear
📉 RSI Forecast:
🔮 RSI (Crossover) MA Forecast
🔮 RSI (Crossunder) MA Forecast
______________________________________________________
______________________________________________________
🤖 AUTOMATION 🤖
• You can automate the BUY and SELL signals of this indicator.
______________________________________________________
______________________________________________________
⯁ UNIQUE FEATURES
______________________________________________________
Linear Regression: (Forecast)
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Plot Labels in the Graph Above: BUY/SELL
Automate and Monitor Signals/Alerts: BUY/SELL
Linear Regression (Forecast)
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Plot Labels in the Graph Above: BUY/SELL
Automate and Monitor Signals/Alerts: BUY/SELL
______________________________________________________
📜 SCRIPT : RSI Forecast
🎴 Art by : @Titans_Invest & @DiFlip
👨💻 Dev by : @Titans_Invest & @DiFlip
🎑 Titans Invest — The Wizards Without Gloves 🧤
✨ Enjoy!
______________________________________________________
o Mission 🗺
• Inspire Traders to manifest Magic in the Market.
o Vision 𐓏
• To elevate collective Energy 𐓷𐓏
Gabriel's Crypto Cycle Master [Multi-Asset]🧠 Gabriel's Crypto Cycle Master
Gabriel’s Crypto Cycle Master is a comprehensive macro valuation tool designed to identify long-term accumulation and distribution zones for any crypto asset using custom on-chain and price-based models.
🔹 Fully Multi-Asset Support
Manually input full tickers from COINMETRICS, GLASSNODE, or INDEX to track:
Realized Market Cap
On-chain Supply
Total Transaction Volume
USD-denominated Price
🔹 Core Metrics Modeled
This script computes major macroeconomic valuation layers based on widely researched concepts:
Realized Price – Network's cost basis
Top Cap – 35× average historical cap
Delta Top – Gap between Realized Price and Average Cap
CVDD – Cumulative Value Days Destroyed
Terminal Price – Network floor based on age and velocity
Balanced Price – Realized minus Terminal (via regression)
🔹 Advanced Bands for Over/Undervaluation
Around Realized Price, this tool dynamically plots:
Golden Ratio Band (×φ) — "Warm Zone" undervaluation
Euler's e Band (×e) — "Caution Zone" deeper value
Pi Band (×π) — "Overheated" zone when crossed upward
🔹 Built-in Alerts
Alerts fire when:
Price crosses below or above any band
Price drops under Terminal Price
Price recovers above the network floor
🔹 Ideal For
Long-term crypto cycle investors
On-chain analysts
DCA accumulation and distribution timing
Macro-level Bitcoin or ETH valuation zones
⚙️ Setup
Manually enter tickers for Market Cap, Supply, Volume, and Price for your preferred crypto asset.
Adjust CVDD cap (21M for BTC, ~120M for ETH) if analyzing a different coin.
Enable/disable specific valuation layers and alert bands via checkboxes.
Built by OneWallStreetQuant | Dynamic adaptation by Gabriel
Published for educational and cycle analysis use — not financial advice.
Ideal for Daily Charts, since the estimate formula was created on that timeframe.
Market Sessions by BASSWELLThis TradingView indicator visually highlights major global trading sessions (Tokyo, London, New York) directly on intraday charts. It provides a clear, color-coded display of session activity and key statistics to help traders better understand session dynamics and overlaps.
✅ Key Features:
Visual Session Boxes: Draws background boxes for each session with configurable colors.
Session Names: Displays the name of each session as a label above the session box.
Open/Close Lines: Optionally shows dashed lines at session open and close prices.
Average Price Line: Plots the average session price as a dotted line.
Tick Range Display: Calculates and shows the high-low range in ticks.
Time Zone Support: Fully timezone-aware via IANA definitions (e.g. "Europe/London").
Overlap Handling: Automatically dims older sessions when a new one starts for visual clarity.
🔧 Configurable Parameters:
Show/hide each session individually.
Set session times and timezones.
Customize label visibility and box contents.
Adjust session colors with transparency.
Includes basic visual styling for better chart readability.
⚠️ Note: Works only on intraday timeframes. Daily/weekly/monthly charts are not supported.
Opening Price Levels (by Period)This indicator draws clean horizontal lines at the opening prices of key time periods: Year, Quarter, Month, Week, and Day.
Each line is plotted only within its own time range, so there's no visual clutter or vertical jumps between periods.
Perfect for traders who want to:
Identify and react to institutional levels.
Track price behavior relative to major opens.
Keep charts clean and easy to read.
Features:
✅ Toggle visibility for each period (Year, Quarter, Month, Week, Day).
🎯 Accurate open levels, aligned with your chart's timeframe and session settings.
✨ Clean segments — each line only spans its original period.
DC History & Daily Cross CountOkay, here is a technical document for the Pine Script indicator we developed. This can be used as a guide or description when publishing the script on TradingView or elsewhere.
Technical Document: SMA Cross Signals & Static DC History (Death Cross)
Version: 1.0
Date: April 14, 2025
Indicator Name: Specific Static DC History + Live Signals
Pine Script Version: 5
1. Overview
This TradingView indicator is designed to provide traders with visual signals for Simple Moving Average (SMA) crossovers, specifically focusing on the "Death Cross", while also presenting relevant historical context via a static data table and a real-time daily cross counter.
It combines several features:
Plotting of a fast and a slow Simple Moving Average (SMA).
Visual identification and marking of "Death Cross" events (Fast SMA crossing below Slow SMA) directly on the price chart.
A customizable table displaying static, pre-defined historical performance data of the S&P 500 following specific Death Crosses that occurred between 2016 and 2022.
An optional label that counts the total number of SMA crosses (both Golden Crosses and Death Crosses) occurring during the current trading day/session, including extended hours if enabled by the user on their chart.
2. Features
Customizable SMA Lengths: User-defined periods for both the Fast (default 50) and Slow (default 200) SMAs.
Death Cross Signals: Clear visual markers (red triangles above the bar and optional background shading) when the Fast SMA closes below the Slow SMA.
Optional SMA Plotting: Ability to show or hide the SMA lines themselves.
Static Historical Performance Table: Displays fixed historical return data (1 Week, 1 Month, 3 Months, 6 Months, 1 Year) following specific S&P 500 Death Crosses that occurred on 1/11/2016, 12/7/2018, 3/30/2020, and 3/14/2022. Note: This data is static and does not change based on the current chart.
Customizable Table Position: User can select the on-screen corner for the data table.
Daily SMA Cross Counter: Optionally displays a label showing the cumulative number of times the Fast SMA has crossed above (Golden Cross) or below (Death Cross) the Slow SMA during the current trading day/session.
Extended Hours Compatibility: The Daily Cross Counter includes crosses from pre-market and after-hours sessions if the user has "Extended Trading Hours" enabled on their TradingView chart settings.
3. Technical Explanation
SMA Calculation: The script uses the built-in ta.sma(source, length) function, calculating the Simple Moving Average based on the close price of each bar for the user-defined fastLen and slowLen.
Death Cross Detection: A Death Cross is detected using ta.crossunder(fastMA, slowMA). This function returns true on the first bar where the value of fastMA is less than the value of slowMA, after previously being greater than or equal to it. The comparison is based on the calculated SMA values at the close of each bar.
Golden Cross Detection: Similarly, ta.crossover(fastMA, slowMA) is used to detect Golden Crosses for the daily counter.
Visual Signals: The plotshape() function draws a red triangle above the bar where deathCross is true. The bgcolor() function applies a transparent red background to the bar where deathCross is true.
Static Table Data: The historical performance data for the 4 specified dates (Jan 2016 - Mar 2022) is hardcoded into array variables within the script. This data was derived from a prior analysis (based on the initially provided image, source likely Dow Jones Market Data or similar) and is not calculated dynamically from the chart. The script iterates through these arrays and populates a table object on the last bar.
Daily Cross Counter:
A var int dailyCrossCount variable holds the count, ensuring persistence across bars within a day.
ta.change(time("D")) detects the start of a new daily session based on the chart's symbol and session settings. When true, the dailyCrossCount is reset to 0.
On each bar, if either deathCross or goldenCross is true, the dailyCrossCount is incremented.
A label object displays the dailyCrossCount and is updated on the last bar (barstate.islast).
Extended Hours Inclusion: The script inherently uses the data series provided by the chart. If the chart is configured to include Extended Trading Hours (ETH), the close prices used for SMA calculations will reflect ETH data, and crosses occurring during ETH will be detected and counted.
4. Settings (Inputs)
Show Static Data Table (2016-2022) (Checkbox): Toggles the visibility of the table containing the fixed historical performance data. (Default: On)
Table Position (Dropdown): Selects the corner or side of the chart where the static data table will be displayed. (Default: top_right)
Plot 50/200 SMAs (Checkbox): Toggles the visibility of the Fast and Slow SMA lines on the chart. (Default: On)
Fast MA Length (Integer Input): Sets the lookback period for the Fast Simple Moving Average. (Default: 50)
Slow MA Length (Integer Input): Sets the lookback period for the Slow Simple Moving Average. (Default: 200)
Show Daily Cross Count (Checkbox): Toggles the visibility of the label displaying the number of SMA crosses detected during the current day's session. (Default: On)
5. How to Use / Interpretation
Apply the indicator to your desired chart (e.g., SPY, QQQ, /ES).
Use the plotted SMA lines (if enabled) and the red triangle/background signals to identify potential trend changes indicated by Death Crosses based on your chosen MA lengths. Remember that these are lagging indicators.
Refer to the static data table for historical context only. It shows how the S&P 500 performed following specific Death Crosses between 2016 and 2022. This data is fixed and does not predict future performance.
Use the "Today's SMA Crosses" label (if enabled) to gauge the frequency of interaction between the chosen SMAs during the current session. A higher number might indicate choppier conditions or potential shifts on the chart's timeframe.
Important: For the Daily Cross Counter to reflect pre-market/after-hours activity, ensure "Extended Trading Hours" (ETH) is enabled in your TradingView chart settings.
Be aware that the number of crosses detected by the script (based on bar closes) may differ from visual interpretations of lines touching intraday, especially on lower timeframes.
6. Limitations
Static Table Data: The performance data in the table is fixed to the 4 provided historical instances (2016-2022) and is not calculated dynamically or updated. It serves only as a historical reference point.
Lagging Indicators: Moving Averages and their crosses are lagging indicators and may not signal trend changes precisely at tops or bottoms.
Cross Calculation: Crosses are based on the closing price of each bar. Intraday price movements briefly piercing an SMA may not register as a confirmed cross.
Daily Counter Definition: The definition of "Today" depends on the chart's session timing, which might not align perfectly with a calendar day.
Whipsaws: On lower timeframes or during volatile periods, MA crosses can generate frequent signals (whipsaws) which may be less reliable.
7. Disclaimer
This indicator is provided for informational and educational purposes only. It does not constitute financial advice or a recommendation to buy or sell any security. Trading involves significant risk, and past performance (including the historical data presented in the table) is not indicative of future results. Always conduct your own thorough research and consult with a qualified financial advisor before making any trading decisions.