Gold/Silver RatioOverview
This indicator displays the Gold/Silver Ratio by dividing the price of gold (XAUUSD) by the price of silver (XAGUSD) on the same timeframe. It is a widely used tool in macroeconomic and precious metals analysis, helping traders and investors evaluate the relative value of gold compared to silver.
📈 What it does
Plots the ratio between gold and silver prices as a line on the chart.
Displays two key horizontal levels:
Overbought level at 90 (dashed red line).
Oversold level at 70 (dashed green line).
Highlights the chart background to show extreme conditions:
Red shading when the ratio exceeds 90 (gold is likely overvalued relative to silver).
Green shading when the ratio drops below 70 (silver is likely overvalued relative to gold).
🧠 How to Use
When the ratio exceeds 90, it suggests that gold may be overbought or silver may be undervalued. Historically, these have been good times to consider shifting exposure from gold to silver.
When the ratio falls below 70, it may indicate silver is overbought or gold is undervalued.
This tool is best used in conjunction with technical analysis, macroeconomic trends, or RSI/Bollinger Bands applied to the ratio.
⚙️ Inputs
This version of the script uses OANDA's XAUUSD and XAGUSD pairs for spot gold and silver prices. You may edit the request.security() calls to change data sources (e.g., FXCM, FOREXCOM, or CFD tickers from your broker).
✅ Best For:
Macro traders
Commodity investors
Ratio and spread traders
Long-term portfolio reallocators
基本面分析
DDDDD: SET50 (40 Stocks) - % New 52W LowsDDDDD: SET50 - % New 52W Lows (40 Stocks)
This indicator measures the percentage of selected SET50 stocks making a new 52-week low, helping identify periods of extreme market fear that often align with long-term buying opportunities.
How It Works:
Tracks the daily closing prices of 40 major SET50 constituents.
A stock is counted when it closes at its lowest price over the past 252 trading days (approximately 1 year).
Calculates the percentage of new 52-week lows relative to 40 stocks.
Displays threshold lines to highlight levels of market panic.
📈 Threshold Levels:
Threshold Line Color Level (%) Interpretation Action
30% Threshold Orange 30% Early signs of stress Start monitoring opportunities
33% Threshold Yellow 33% Confirmed panic Consider gradual accumulation
50% Panic Zone Red 50% Extreme market panic Aggressive accumulation zone
📌 Important Notes:
Why not use the full 50 stocks?
Due to TradingView Pine Script's current technical limits, a script cannot request data for more than 40 symbols efficiently.
Therefore, this indicator uses 40 representative SET50 stocks to ensure optimal performance without exceeding system limits.
The selected stocks are diversified across major sectors to maintain reliability.
🔥 Key Insights:
Historically, spikes above 30%-50% of stocks making new lows have coincided with major market bottoms (e.g., 2011, 2020).
Higher simultaneous new lows = stronger potential for long-term recovery.
Global M2The Global Liquidity M2 Indicator tracks the aggregate M2 money supply across major economies (e.g., US, China, Eurozone, Japan, UK), converted to USD for consistency. M2 includes cash, checking/savings deposits, and easily convertible near-money. It visualizes global liquidity trends, helping investors assess economic conditions and potential impacts on asset prices, like stocks or cryptocurrencies, with higher M2 levels often signaling increased liquidity and economic growth.
EPS & Sales/Revenue Growth MarkerThis script plots the Revenue Growth and EPS Growth % on Earnings Date.
Idea Credit: Special thanks to @dharmeshrbhatt for inspiring the concept behind this tool.
Developed and Published by learningvitals.
Plots Revenue Growth % and EPS Growth % on earnings date.
Choose label position: Above Bar, Below Bar, Top, or Bottom.
Customizable growth colors based on combined EPS and Revenue performance.
Customizable line style and colors.
Controls max number of labels to keep the chart clean.
PEAD strategy█ OVERVIEW
This strategy trades the classic post-earnings announcement drift (PEAD).
It goes long only when the market gaps up after a positive EPS surprise.
█ LOGIC
1 — Earnings filter — EPS surprise > epsSprThresh %
2 — Gap filter — first regular 5-minute bar gaps ≥ gapThresh % above yesterday’s close
3 — Timing — only the first qualifying gap within one trading day of the earnings bar
4 — Momentum filter — last perfDays trading-day performance is positive
5 — Risk management
• Fixed stop-loss: stopPct % below entry
• Trailing exit: price < Daily EMA( emaLen )
█ INPUTS
• Gap up threshold (%) — 1 (gap size for entry)
• EPS surprise threshold (%) — 5 (min positive surprise)
• Past price performance — 20 (look-back bars for trend check)
• Fixed stop-loss (%) — 8 (hard stop distance)
• Daily EMA length — 30 (trailing exit length)
Note — Back-tests fill on the second 5-minute bar (Pine limitation).
Live trading: enable calc_on_every_tick=true for first-tick entries.
────────────────────────────────────────────
█ 概要(日本語)
本ストラテジーは決算後の PEAD を狙い、
EPS サプライズがプラス かつ 寄付きギャップアップ が発生した銘柄をスイングで買い持ちします。
█ ロジック
1 — 決算フィルター — EPS サプライズ > epsSprThresh %
2 — ギャップフィルター — レギュラー時間最初の 5 分足が前日終値+ gapThresh %以上
3 — タイミング — 決算当日または翌営業日の最初のギャップのみエントリー
4 — モメンタムフィルター — 過去 perfDays 営業日の騰落率がプラス
5 — リスク管理
• 固定ストップ:エントリー − stopPct %
• 利確:終値が日足 EMA( emaLen ) を下抜け
█ 入力パラメータ
• Gap up threshold (%) — 1 (ギャップ条件)
• EPS surprise threshold (%) — 5 (EPS サプライズ最小値)
• Past price performance — 20 (パフォーマンス判定日数)
• Fixed stop-loss (%) — 8 (固定ストップ幅)
• Daily EMA length — 30 (利確用 EMA 期間)
注意 — Pine の仕様上、バックテストでは寄付き 5 分足の次バーで約定します。
実運用で寄付き成行に合わせたい場合は calc_on_every_tick=true を有効にしてください。
────
ご意見や質問があればお気軽にコメントください。
Happy trading!
Support and Resistance Signals MTF [ZaryFlux]Support and Resistance Signals MTF is a powerful multi-timeframe (MTF) indicator designed to automatically detect key support and resistance levels across different timeframes.
It highlights significant price zones where reversals, breakouts, or trend continuations are most likely to occur — helping traders of all styles (scalping, swing, intraday) make smarter entries and exits.
Key Features :
Automatic plotting of dynamic support & resistance zones
Multi-Timeframe analysis: view higher timeframe zones directly on your current chart
Real-time alerts for price interactions with key levels
Customizable sensitivity for different trading strategies
Clean, non-cluttered design for easy readability
Whether you're trading Forex, crypto, stocks, or indices, this tool gives you a clearer view of market structure and high-probability trading zones.
MVA-PMI ModelThe Macroeconomic Volatility-Adjusted PMI Alpha Strategy: A Proprietary Trading Approach
The relationship between macroeconomic indicators and financial markets has been extensively documented in the academic literature (Fama, 1981; Chen et al., 1986). Among these indicators, the Purchasing Managers' Index (PMI) has emerged as a particularly valuable forward-looking metric for economic activity and, by extension, equity market returns (Lahiri & Monokroussos, 2013). The PMI captures manufacturing sentiment before many traditional economic indicators, providing investors with early signals of potential economic regime shifts.
The MVA-PMI trading strategy presented here leverages these temporal advantages through a sophisticated algorithmic framework that extends beyond traditional applications of economic data. Unlike conventional approaches that rely on static thresholds described in previous literature (Koenig, 2002), our proprietary model employs a multi-dimensional analysis of PMI time series data through various moving averages and momentum indicators.
As noted by Beckmann et al. (2020), composite signals derived from economic indicators significantly enhance predictive power compared to simpler univariate models. The MVA-PMI model adopts this principle by synthesizing multiple PMI-derived features through a machine learning optimization process. This approach aligns with Johnson and Watson's (2018) findings that trailing averages of economic indicators often outperform point-in-time readings for investment decision-making.
A distinctive feature of the model is its adaptive volatility mechanism, which draws on the extensive volatility feedback literature (Campbell & Hentschel, 1992; Bollerslev et al., 2011). This component dynamically adjusts position sizing according to market volatility regimes, reflecting the documented inverse relationship between market turbulence and expected returns. Such volatility-based position sizing has been shown to enhance risk-adjusted performance across various strategy types (Harvey et al., 2018).
The model's signal generation employs an asymmetric approach for long and short positions, consistent with Estrada and Vargas' (2016) research highlighting the positive long-term drift in equity markets and the inherently higher risks associated with short selling. This asymmetry is implemented through a proprietary scoring system that synthesizes multiple factors while maintaining different thresholds for bullish and bearish signals.
Extensive backtesting demonstrates that the MVA-PMI strategy exhibits particular strength during economic transition periods, correctly identifying a significant percentage of economic inflection points that preceded major market movements. This characteristic aligns with Croushore and Stark's (2003) observations regarding the value of leading indicators during periods of economic regime change.
The strategy's performance characteristics support the findings of Neely et al. (2014) and Rapach et al. (2010), who demonstrated that macroeconomic-based investment strategies can generate alpha that is distinct from traditional factor models. The MVA-PMI model extends this research by integrating machine learning for parameter optimization, an approach that has shown promise in extracting signal from noisy economic data (Gu et al., 2020).
These findings contribute to the growing literature on systematic macro trading and offer practical implications for portfolio managers seeking to incorporate economic cycle positioning into their allocation frameworks. As noted by Beber et al. (2021), strategies that successfully capture economic regime shifts can provide valuable diversification benefits within broader investment portfolios.
References
Beckmann, J., Glycopantis, D. & Pilbeam, K., 2020. The dollar-euro exchange rate and economic fundamentals: A time-varying FAVAR model. Journal of International Money and Finance, 107, p.102205.
Beber, A., Brandt, M.W. & Luisi, M., 2021. Economic cycles and expected stock returns. Review of Financial Studies, 34(8), pp.3803-3844.
Bollerslev, T., Tauchen, G. & Zhou, H., 2011. Volatility and correlations: An international GARCH perspective. Journal of Econometrics, 160(1), pp.102-116.
Campbell, J.Y. & Hentschel, L., 1992. No news is good news: An asymmetric model of changing volatility in stock returns. Journal of Financial Economics, 31(3), pp.281-318.
Chen, N.F., Roll, R. & Ross, S.A., 1986. Economic forces and the stock market. Journal of Business, 59(3), pp.383-403.
Croushore, D. & Stark, T., 2003. A real-time data set for macroeconomists: Does the data vintage matter? Review of Economics and Statistics, 85(3), pp.605-617.
Estrada, J. & Vargas, M., 2016. Black swans, beta, risk, and return. Journal of Applied Corporate Finance, 28(3), pp.48-61.
Fama, E.F., 1981. Stock returns, real activity, inflation, and money. The American Economic Review, 71(4), pp.545-565.
Gu, S., Kelly, B. & Xiu, D., 2020. Empirical asset pricing via machine learning. The Review of Financial Studies, 33(5), pp.2223-2273.
Harvey, C.R., Hoyle, E., Korgaonkar, R., Rattray, S., Sargaison, M. & Van Hemert, O., 2018. The impact of volatility targeting. Journal of Portfolio Management, 45(1), pp.14-33.
Johnson, R. & Watson, K., 2018. Economic indicators and equity returns: The importance of time horizons. Journal of Financial Research, 41(4), pp.519-552.
Koenig, E.F., 2002. Using the purchasing managers' index to assess the economy's strength and the likely direction of monetary policy. Economic and Financial Policy Review, 1(6), pp.1-14.
Lahiri, K. & Monokroussos, G., 2013. Nowcasting US GDP: The role of ISM business surveys. International Journal of Forecasting, 29(4), pp.644-658.
Neely, C.J., Rapach, D.E., Tu, J. & Zhou, G., 2014. Forecasting the equity risk premium: The role of technical indicators. Management Science, 60(7), pp.1772-1791.
Rapach, D.E., Strauss, J.K. & Zhou, G., 2010. Out-of-sample equity premium prediction: Combination forecasts and links to the real economy. Review of Financial Studies, 23(2), pp.821-862.
Global M2 [BizFing]MARKETSCOM:BITCOIN ECONOMICS:USM2
This is an indicator designed to show the correlation between the global M2 money supply and Bitcoin.
This indicator basically provides a Global M2 index by summing the M2 money supply data from the United States, South Korea, China, Japan, the EU, and the United Kingdom.
Furthermore, it is configured to allow you to add or remove the M2 data of desired countries within the settings.
I hope this proves to be a small aid in predicting the future price of Bitcoin.
If you have any questions or require any improvements while using it, please feel free to contact me.
Thank you.
TUF_LOGICTUF_LOGIC: Three-Value Logic for Pine Script v6
The TUF_LOGIC library implements a robust three-valued logic system (trilean logic) for Pine Script v6, providing a formal framework for reasoning about uncertain or incomplete information in financial markets. By extending beyond binary True/False states to include an explicit "Uncertain" state, this library enables more nuanced algorithmic decision-making, particularly valuable in environments characterized by imperfect information.
Core Architecture
TUF_LOGIC offers two complementary interfaces for working with trilean values:
Enum-Based API (Recommended): Leverages Pine Script v6's enum capabilities with Trilean.True , Trilean.Uncertain , and Trilean.False for improved type safety and performance.
Integer-Based API (Legacy Support): Maintains compatibility with existing code using integer values 1 (True), 0 (Uncertain), and -1 (False).
Fundamental Operations
The library provides type conversion methods for seamless interaction between integer representation and enum types ( to_trilean() , to_int() ), along with validation functions to maintain trilean invariants.
Logical Operators
TUF_LOGIC extends traditional boolean operators to the trilean domain with NOT , AND , OR , XOR , and EQUALITY functions that properly handle the Uncertain state according to the principles of three-valued logic.
The library implements three different implication operators providing flexibility for different logical requirements: IMP_K (Kleene's approach), IMP_L (Łukasiewicz's approach), and IMP_RM3 (Relevant implication under RM3 logic).
Inspired by Tarski-Łukasiewicz's modal logic formulations, TUF_LOGIC includes modal operators: MA (Modal Assertion) evaluates whether a state is possibly true; LA (Logical Assertion) determines if a state is necessarily true; and IA (Indeterminacy Assertion) identifies explicitly uncertain states.
The UNANIMOUS operator evaluates trilean values for complete agreement, returning the consensus value if one exists or Uncertain otherwise. This function is available for both pairs of values and arrays of trilean values.
Practical Applications
TUF_LOGIC excels in financial market scenarios where decision-making must account for uncertainty. It enables technical indicator consensus by combining signals with different confidence levels, supports multi-timeframe analysis by reconciling potentially contradictory signals, enhances risk management by explicitly modeling uncertainty, and handles partial information systems where some data sources may be unreliable.
By providing a mathematically sound framework for reasoning about uncertainty, TUF_LOGIC elevates trading system design beyond simplistic binary logic, allowing for more sophisticated decision-making that better reflects real-world market complexity.
Library "TUF_LOGIC"
Three-Value Logic (TUF: True, Uncertain, False) implementation for Pine Script.
This library provides a comprehensive set of logical operations supporting trilean logic systems,
including Kleene, Łukasiewicz, and RM3 implications. Compatible with Pine v6 enums.
method validate(self)
Ensures a valid trilean integer value by clamping to the appropriate range .
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to validate.
Returns: An integer value guaranteed to be within the valid trilean range.
method to_trilean(self)
Converts an integer value to a Trilean enum value.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer to convert (typically -1, 0, or 1).
Returns: A Trilean enum value: True (1), Uncertain (0), or False (-1).
method to_int(self)
Converts a Trilean enum value to its corresponding integer representation.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to convert.
Returns: Integer value: 1 (True), 0 (Uncertain), or -1 (False).
method NOT(self)
Negates a trilean integer value (NOT operation).
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to negate.
Returns: Negated integer value: 1 -> -1, 0 -> 0, -1 -> 1.
method NOT(self)
Negates a Trilean enum value (NOT operation).
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to negate.
Returns: Negated Trilean: True -> False, Uncertain -> Uncertain, False -> True.
method AND(self, comparator)
Logical AND operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer result of the AND operation (minimum value).
method AND(self, comparator)
Logical AND operation for Trilean enum values following three-valued logic.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean result of the AND operation.
method OR(self, comparator)
Logical OR operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer result of the OR operation (maximum value).
method OR(self, comparator)
Logical OR operation for Trilean enum values following three-valued logic.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean result of the OR operation.
method EQUALITY(self, comparator)
Logical EQUALITY operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer representation (1/-1) indicating if values are equal.
method EQUALITY(self, comparator)
Logical EQUALITY operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean.True if both values are equal, Trilean.False otherwise.
method XOR(self, comparator)
Logical XOR (Exclusive OR) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer result of the XOR operation.
method XOR(self, comparator)
Logical XOR (Exclusive OR) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean result of the XOR operation.
method IMP_K(self, comparator)
Material implication using Kleene's logic for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The antecedent integer value.
comparator (int) : The consequent integer value.
Returns: Integer result of Kleene's implication operation.
method IMP_K(self, comparator)
Material implication using Kleene's logic for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The antecedent Trilean enum value.
comparator (series Trilean) : The consequent Trilean enum value.
Returns: Trilean result of Kleene's implication operation.
method IMP_L(self, comparator)
Logical implication using Łukasiewicz's logic for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The antecedent integer value.
comparator (int) : The consequent integer value.
Returns: Integer result of Łukasiewicz's implication operation.
method IMP_L(self, comparator)
Logical implication using Łukasiewicz's logic for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The antecedent Trilean enum value.
comparator (series Trilean) : The consequent Trilean enum value.
Returns: Trilean result of Łukasiewicz's implication operation.
method IMP_RM3(self, comparator)
Logical implication using RM3 logic for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The antecedent integer value.
comparator (int) : The consequent integer value.
Returns: Integer result of the RM3 implication operation.
method IMP_RM3(self, comparator)
Logical implication using RM3 logic for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The antecedent Trilean enum value.
comparator (series Trilean) : The consequent Trilean enum value.
Returns: Trilean result of the RM3 implication operation.
method MA(self)
Modal Assertion (MA) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to evaluate.
Returns: 1 if the value is 1 or 0, -1 if the value is -1.
method MA(self)
Modal Assertion (MA) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to evaluate.
Returns: Trilean.True if value is True or Uncertain, Trilean.False if value is False.
method LA(self)
Logical Assertion (LA) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to evaluate.
Returns: 1 if the value is 1, -1 otherwise.
method LA(self)
Logical Assertion (LA) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to evaluate.
Returns: Trilean.True if value is True, Trilean.False otherwise.
method IA(self)
Indeterminacy Assertion (IA) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to evaluate.
Returns: 1 if the value is 0, -1 otherwise.
method IA(self)
Indeterminacy Assertion (IA) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to evaluate.
Returns: Trilean.True if value is Uncertain, Trilean.False otherwise.
method UNANIMOUS(self, comparator)
Evaluates the unanimity between two trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value.
Returns: Integer value of self if both values are equal, 0 (Uncertain) otherwise.
method UNANIMOUS(self, comparator)
Evaluates the unanimity between two Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value.
Returns: Value of self if both values are equal, Trilean.Uncertain otherwise.
method UNANIMOUS(self)
Evaluates the unanimity among an array of trilean integer values.
Namespace types: array
Parameters:
self (array) : The array of integer values.
Returns: First value if all values are identical, 0 (Uncertain) otherwise.
method UNANIMOUS(self)
Evaluates the unanimity among an array of Trilean enum values.
Namespace types: array
Parameters:
self (array) : The array of Trilean enum values.
Returns: First value if all values are identical, Trilean.Uncertain otherwise.
RSI + MACD + Liquidity FinderLiquidity Finder: The liquidity zones are heuristic and based on volume and swing points. You may need to tweak the volumeThreshold and lookback to match the asset's volatility and timeframe.
Timeframe: This script works on any timeframe, but signals may vary in reliability (e.g., higher timeframes like 4H or 1D may reduce noise).
Customization: You can modify signal conditions (e.g., require only RSI or MACD) or add filters like trend direction using moving averages.
Backtesting: Use TradingView's strategy tester to evaluate performance by converting the indicator to a strategy (replace plotshape with strategy.entry/strategy.close).
Accurate Global M2 (Top10 GDP, FX-Stabilized)This script was created to solve the serious distortions found in other circulating "Global M2" indicators.
Many previous versions used noisy daily FX rates, unweighted country data, mixed liquidity categories (e.g., RRP, TGA), or aggregated low-quality sources, causing exaggerated or misleading charts.
This version fixes those problems by:
Using Top 10 global economies only (based on GDP).
GDP-weighting each country's M2 contribution.
Fetching monthly-averaged M2 data.
Applying monthly FX conversions to eliminate daily volatility noise.
Forward-shifting the M2 line (default 90 days) to study potential Bitcoin correlations.
Keeping the math clean, without mixing central bank liquidity tools with broad M2 aggregates.
As a result, this script provides a more realistic and stable representation of global M2 expansion in USD terms, more suitable for serious macroeconomic analysis and Bitcoin market correlation studies.
GGG - Market Breadth UST vs GoldThis indicator provides a dynamic macro view between the 10YR U.S. Treasury future market and Gold prices. It combines bond market momentum with gold technical trend confirmation to enhance trading decision-making.
Recommended Timeframes: Suitable for intraday to swing trading setups (e.g., 15-minutes, 1-hour, 4-hour).
Notes:
REMARK: This indicator is designed as a macro filter or confirmation tool. It is highly recommended to use in conjunction with your preferred entry/exit techniques for optimal performance.
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.
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).
Supply and Demand Order Blocks - Nadeem Al-QahwiThis advanced order block detection system identifies key supply and demand zones on your chart using a proprietary multi-factor algorithm. Unlike basic implementations that only look for engulfing patterns, this indicator incorporates price momentum, volume confirmation, and swing point analysis to filter out false signals and highlight only the most significant trading zones.
Unique Features
Dual Detection System:
Identifies both internal order blocks (within trends) and swing order blocks (at market turns)
Separate customization for each type allows focused analysis
Smart Zone Validation:
Dynamic strength calculation based on price rejection intensity
Timeframe-sensitive filtering (automatically adjusts for different chart intervals)
Minimum price movement threshold to eliminate insignificant zones
Advanced Visualization:
Three display modes (Boxes & Levels, Boxes Only, Levels Only)
Gradient coloring system showing zone strength intensity
Configurable midline markers for precise entry/exit planning
Methodology
The indicator scans the specified lookback period for:
Bullish Order Blocks: Last bearish candle before a sustained upward move
Bearish Order Blocks: Last bullish candle before a sustained downward move
Each potential zone is evaluated using:
Price Action Confirmation:
Minimum required price move (configurable as percentage)
Consecutive closes beyond the order block range
Volume Analysis (implied through price movement):
Significant expansion beyond the zone
Sustained momentum after breakout
Zone Quality Filters:
Overlap prevention (merges similar zones)
Strength ranking system (prioritizes zones with strongest reactions)
Usage Instructions
Primary Settings:
Adjust lookback period (default 500 bars)
Select display style based on your trading needs
Zone Customization:
Internal Order Blocks: Best for trending markets
Swing Order Blocks: Ideal for reversal trading
Configure colors and styles for visual clarity
Advanced Filters:
Minimum price move: Increase for higher timeframes
Overlap threshold: Adjust based on market volatility
Strength filter: Focus only on high-probability zones
Trading Applications
Trend Trading: Use internal order blocks as continuation signals
Reversal Trading: Swing order blocks mark potential turning points
Risk Management: Zone boundaries serve as natural stop levels
Multiple Timeframe Analysis: Combine settings for different chart intervals
Originality Statement
This implementation differs from basic order block indicators through:
Proprietary strength calculation algorithm
Adaptive timeframe filtering
Intelligent zone merging technology
Configurable display system for personalized charting
While the concept of order blocks is not novel, this particular implementation adds significant value through its sophisticated filtering mechanisms and customizable visualization options that aren't available in open-source alternatives.
PivotBox by Nadeem Al-QahwiPivotBox by Nadeem Al-Qahwi
General Idea of the Indicator: The PivotBox indicator is an advanced technical analysis tool designed to identify key reversal points in the market based on pivot highs and pivot lows. The indicator helps traders to detect breakout and breakdown opportunities based on past price movements, guiding informed trading decisions.
Indicator Functions:
Key Reversal Points (Pivot Points):
The indicator identifies pivot highs and pivot lows over a user-defined period, helping traders spot significant price levels in the market.
These points are plotted on the chart, showing where market reversals may occur.
Breakouts and Breakdowns:
The indicator identifies breakouts when the price moves above a pivot high or breakdowns when the price falls below a pivot low.
Once these breakouts or breakdowns are detected, the indicator draws lines indicating the critical price levels for visual reference.
Trend Levels using Zero-Lag MA:
The indicator includes an option to add a Zero-Lag Moving Average (Zero-Lag MA) to display the overall trend in the market. This moving average helps filter out noise and identify the general market direction, improving trade decision-making.
Line Styles:
The pivot points (highs and lows) are displayed using different line styles, such as solid, dashed, or dotted lines. The user can customize the style based on their preference.
These lines represent the breakouts or breakdown levels in the market.
Alerts:
The indicator can activate alerts when a breakout or breakdown occurs. Users can customize the alerts to notify them when specific conditions are met, ensuring that they do not miss significant price movements.
Input Variables:
Period (prd): The time period over which the pivot highs and lows are calculated. The user can define this period based on their trading strategy.
Max Breakout Length (bo_len): The maximum time duration for a breakout or breakdown to occur. This variable helps determine the relevance of the price movement.
Threshold Rate (cwidthu): The width percentage that helps to define the price area for breakouts and breakdowns.
Line Style (lstyle): Allows the user to choose the style of lines used to display the pivot points (solid, dashed, or dotted).
Minimum Number of Tests (mintest): The minimum number of tests required before a breakout or breakdown is considered valid.
How the Indicator Works:
The indicator first calculates the pivot highs and lows based on the user-defined period (Period).
It then tracks price movements to detect if a breakout or breakdown occurs.
When a breakout or breakdown is confirmed, the indicator draws lines at these levels and shows the user the new price direction.
Alerts can be triggered based on predefined conditions such as when a breakout or breakdown occurs.
The Zero-Lag MA helps the user visualize the trend, adding another layer of analysis to the market movements.
Key Benefits:
Accurate Reversal Point Analysis: Helps traders identify key entry and exit points based on precise technical analysis.
Breakout and Breakdown Detection: Allows traders to spot breakout and breakdown opportunities in real-time.
Customizable Alerts: Users can set up alerts to notify them when a breakout or breakdown happens, ensuring they don't miss important market moves.
Flexible Customization: The indicator offers various options to customize the display (line styles, alerts, trendlines), catering to different trading strategies.
Mongoose Capital: FlowWave + Conviction Strip🟩 Indicator Name
Mongoose Capital: FlowWave + Conviction Strip
📜 Short Description
Smoothed Money Flow Oscillator with conviction scoring columns to assess flow strength.
🧠 Description (Long Form)
The Mongoose Capital: FlowWave + Conviction Strip is a refined visualization of money flow dynamics designed to identify shifts in volume pressure and trend strength.
This dual-panel indicator includes:
• FlowWave Line — A smoothed momentum curve built from normalized money flow data, filtered through dual EMAs. Green (positive) and purple (negative) segments help traders quickly assess bias shifts.
• Conviction Score Columns — A histogram below the zero line shows strength of flow deltas (momentum of volume pressure). Green/red bars appear when strength exceeds a critical threshold, while gray bars indicate low conviction.
• Background Zone Coloring — Optional dark red/green gradient to enhance visibility of positive/negative phases.
✅ Designed for traders who value clarity and minimal noise
✅ Pairs well with macro trend filters or breakout strategies
✅ Built and published by Mongoose Capital
🔧 Default Settings
Money Flow Length: 14
Signal Cooldown: 5 bars
Source: HLC3
EMA Wave Filter: 3
Strength Threshold: 20
🧪 Suggested Use
Confirm entries/exits in trend continuation setups
Identify divergences between price and money flow
Filter low-conviction trades using the histogram's gray zone
Spot early accumulation or distribution through wave crossovers
📢 Author
Published by: TheRealMongoose
Powered by: Mongoose Capital
Feel free to tag us in your setups.
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:
Market Sessions & Viewer Panel [By MUQWISHI]▋ INTRODUCTION :
The “Market Sessions & Viewer Panel” is a clean and intuitive visual indicator tool that highlights up to four trading sessions directly on the chart. Each session is fully customizable with its name, session time, and color. It also generates a panel that provides a quick-glance summary of each session’s candle/bar shape, helping traders gain insight into the volatility across all trading sessions.
_______________________
▋ OVERVIEW:
_______________________
▋ CREDIT:
This indicator utilizes the “ Timezone — Library ”. A huge thanks to @n00btraders for effort and well-organized work.
_______________________
▋ SESSION PANEL:
The Session Panel allows traders to visually compare session volatility using a candlestick/bar pattern.
Each bar represents the price action during a session and includes the session status, session name, closing price, change(%) from open, and a tooltip that reveals detailed OHLC and volume when hovered over.
Chart Type:
It offers two styles Bar or Candle to display based on traders’ preference
Sorting:
Allowing to arrange session candles/bars based on…
—Left to Right: The most recently opened on the left, moving backward in time to the right.
—Right to Left: The most recently opened on the right, moving backward in time to the left.
—Default: Arrange sessions in the user-defined input order.
_______________________
▋ CHART VISUALIZATION:
The chart visualization highlights each trading session using color-coded backgrounds in two selectable drawing styles that span their respective active timeframes. Each session block provides session’s name, close price, and change from open.
Chart Type: Candle
Chart Type: Box
Extra Drawing Feature:
This feature may not exist in other indicators within the same category, it extends the session block drawing to the projected end of the session. This's done through estimation based on historical data; however, it doesn’t function fully on seconds-based timeframes due to drawing limitations.
_______________________
▋ INDICATOR SETTINGS:
Section(1): Sessions
(1) Universal Timezone.
(2) Each Session: Enable/Disable, Name, Color, and Time.
Section(2): Session Panel
(1) Show/Hide Session Panel.
(2) Chart Type: Candle/Bar.
(3) Bar’s Up/Down color.
(4) Width and Height of the bar.
(5) Location of Session Panel on chat.
(6) Sort: Left to Right (most recent session is placed on the left), Right to Left (most recent session is placed on the right), and Default (as input arrangement).
Section(3): Chart Visualization
(1) Show/Hide Chart Block Visualization.
(2) Draw Shape: Box/Candle.
(3) Border Style and Size.
(4) Label Styling includes location, size, and some essential selectable infos.
Please let me know if you have any questions
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
ICT SMC Liquidity Grabs and OBsICT SMC Liquidity Grabs + Order Blocks + Fibonacci OTE Levels
A High-Probability Entry Engine for Smart Money Concept Traders
This script combines three powerful Smart Money Concepts (SMC) into a single tool: Liquidity Grabs, Order Block Zones, and Fibonacci OTE Levels, allowing traders to identify institutional entry models with clean, rule-based visual signals.
It’s designed to simplify SMC trading by highlighting confluence zones where price is likely to reverse or continue — with clear visual zones, entry arrows, and take profit projections.
🔍 What This Script Does:
Detects Liquidity Grabs
Identifies when price sweeps above/below the highest high or lowest low within a user-defined lookback period and closes back inside.
Plots orange labels on the chart to signal potential liquidity events (LG-H / LG-L).
Plots Order Blocks After Liquidity Grabs
After a liquidity grab, the script looks for displacement candles (strong bullish or bearish moves) and draws highlighted OB zones extending several bars to the right.
These zones represent potential institutional footprints for price reversals.
Draws Fibonacci OTE Levels (Optimal Trade Entry)
Uses recent swing high and low pivots to automatically calculate OTE zones (default: 62% and 75% retracement levels).
Draws these retracement zones for both bullish and bearish setups.
Marks Valid OTE Entry Zones
Buy/Sell zones only trigger when:
A liquidity grab occurs,
Price enters the OTE zone,
And a strong confirming candle is present.
Plots green/red arrows for valid buy/sell OTE entries.
Auto-Draws Take Profit Zones
TP1 = Previous swing high/low
TP2 = Risk-based R-multiplied extension (e.g., 1.5R — customizable)
Alerts
Triggers alerts when valid buy or sell OTE setups are detected.
⚙️ Customization Features:
Toggle each feature: Liquidity Grabs, Order Blocks, Fibonacci OTE levels
Set Fibonacci retracement percentages (e.g., 0.62 / 0.75)
Adjust lookback window for liquidity detection
Customize the take-profit multiplier (R-based)
Full control over visuals: colors, labels, and lines
💡 How to Use:
Use this script to scan for high-confluence trade setups based on Smart Money principles.
Combine with session timing (e.g., New York open), major swing structure, or Kill Zone windows for maximum edge.
Look for arrows inside OB zones or OTE levels following liquidity sweeps for cleaner entries.
🔗 Works Best With:
✅ First FVG — Opening Range Fair Value Gap Detector: Identify early inefficiencies to set the narrative for the day.
✅ Liquidity Levels — Smart Swing Lows: Spot key structural lows that can fuel stop hunts and reversals.
✅ ICT Turtle Soup — Liquidity Reversal: Add a classic reversal pattern to your toolkit to catch fakeouts cleanly.
Together, these tools build a complete Smart Money ecosystem for entry precision, risk management, and price behavior forecasting.
ICT Turtle Soup (Liquidity Reversal)ICT Turtle Soup — Liquidity Reversal Detection
Trap the Trap: A Precision Reversal Strategy from the Inner Circle Trader Playbook
This indicator implements the Turtle Soup liquidity reversal setup — a widely used ICT (Inner Circle Trader) concept that targets false breakouts beyond recent swing highs or lows. These patterns typically occur when price grabs liquidity above or below a known level, then snaps back, trapping retail traders and creating a high-probability reversal scenario.
🔍 What This Script Does:
Detects Liquidity Sweeps Above/Below Key Swing Levels
Uses a customizable swing lookback to identify recent swing highs and lows.
Triggers a Bearish Turtle Soup when price runs above a previous swing high and closes back below.
Triggers a Bullish Turtle Soup when price sweeps below a prior swing low and closes back above.
Plots Clear Visual Signals
Reversal signals appear as 🐢🔻 (Bearish) or 🐢🔺 (Bullish) markers directly on your chart.
Optional labels can be enabled for enhanced journaling and review.
Real-Time Alerts
Receive alert notifications when a Turtle Soup setup is detected — ideal for scalpers or intraday traders watching for reversals around liquidity pools.
⚙️ Customization Options:
Set the swing lookback sensitivity (default: 5)
Enable or disable labels
Choose label font size
Customize colors for bullish and bearish signals
💡 How to Use:
Deploy on intraday timeframes (e.g. 5m–15m) for high-resolution liquidity analysis.
Watch for signals at key highs/lows, session extremes, or zones where liquidity is likely resting.
Combine with tools like FVGs, Order Blocks, and OTE zones for layered confirmation.
🔗 Combine With These Tools for a Complete SMC Edge:
✅ First FVG — Opening Range Fair Value Gap Detector
✅ ICT SMC Liquidity Grabs + OB + Fibonacci OTE Levels
✅ Liquidity Levels — Smart Swing Lows
Together, these tools form a high-precision Smart Money toolkit — helping traders map, anticipate, and act on institutional-level liquidity events with clarity and confidence.
ICT Turtle Soup Ultimate V2📜 ICT Turtle Soup Ultimate V2 — Advanced Liquidity Reversal System
Overview:
The ICT Turtle Soup Ultimate V2 is a next-generation liquidity reversal indicator built on the principles of smart money concepts (SMC) and the classic ICT Turtle Soup setup. It is designed to detect false breakouts (liquidity grabs) at key swing points, enhanced by proprietary logic that filters out low-quality signals using a combination of trend context, kill zone timing, candle wick behavior, and multi-timeframe imbalance zones.
This tool is ideal for intraday traders seeking high-probability entry signals near liquidity pools and imbalance zones — where smart money makes its move.
🔍 What This Script Does
🧠 Liquidity Grab Detection (Turtle Soup Core Logic)
The script scans for recent swing highs/lows using a user-defined lookback.
A signal is generated when price breaks above/below a previous swing level but closes back inside — indicating a liquidity run and likely reversal.
A special Wick Trap Mode enhances this logic by detecting long-wick fakeouts — where the wick grabs stops but the candle body closes opposite the breakout direction.
📉 Trend Filter with ATR Buffer
Optional trend filter uses a simple moving average (SMA) to gauge market direction.
Instead of hard filtering, it applies an ATR-based buffer to allow for entries near the trend line, reducing signal suppression from micro-fluctuations.
🕰️ Kill Zone Session Filtering
Only show signals during institutional trading hours:
London Session
New York AM
Or any custom user-defined session
Helps traders avoid low-volume hours and focus on where stop hunts and price expansions typically occur.
🧱 Multi-Timeframe FVG Confluence (Optional)
Signal validation is strengthened by checking if price is within a higher timeframe Fair Value Gap — commonly used to identify imbalances or inefficiencies.
Filters out setups that lack underlying displacement or order flow justification.
🎨 Visual Feedback
Plots 🔺 bullish and 🔻 bearish markers at signal candles.
Optionally displays:
Swing High/Low Labels (SH / SL)
Reversal distance labels
Background color shading on valid signals
Includes built-in alerts for automated trade notification.
🔑 Unique Benefits
Wick Trap Detection: A proprietary approach to detecting stop hunts via wick behavior, not just candle closes.
ATR-based trend filtering: Avoids unnecessary filtering while still maintaining directional bias.
All-in-one system: No need to stack multiple indicators — swing detection, reversal logic, session filtering, and imbalance confirmation are all integrated.
💡 How to Use
Enable Wick Trap Mode to detect stealthy liquidity grabs with strong wicks.
Use Kill Zone filters to trade only when institutions are active.
Optionally enable FVG confluence to improve confidence in reversal zones.
Watch for Bullish signals near SL levels and Bearish signals near SH levels.
Combine with your own execution strategy or other SMC tools for optimal results.
🔗 Best Used With:
Maximize your edge by combining this script with complementary SMC-based tools:
✅ First FVG — Opening Range Fair Value Gap Detector
✅ ICT SMC Liquidity Grabs + OB + Fibonacci OTE Levels
✅ Liquidity Levels — Smart Swing Highs and Lows with horizontal line projections