10Y–2Y Treasury Yield Curve Spread & MES % Change📝 Description:
This indicator tracks the U.S. 10-Year minus 2-Year Treasury yield spread — a powerful macroeconomic signal often used by professional traders to gauge market sentiment and recession risk — and overlays an optional MES % change line to help intraday futures traders spot macro–price divergences in real time.
Features:
🏦 Plots the 10Y–2Y spread, with optional EMA smoothing.
📉 Highlights yield curve inversion (background turns red when spread < 0).
📊 Optional MES % change line from daily or RTH open for directional bias.
🔔 Alert conditions for:
Yield curve inversion / un-inversion.
Sudden spread spikes in basis points (customizable).
🧮 Optional correlation plot to visualize relationship strength between MES and the yield curve.
🧭 Z-score normalization allows both series to be viewed in one pane without scaling issues.
Why it matters:
A falling or inverted 2s10s spread often signals risk-off behavior and pressure on equities.
A steepening curve tends to support risk-on rallies.
Divergences between MES price action and the spread can provide early warning signals of reversals or fakeouts.
Best used with:
MES (MES1!) or MYM charts for intraday & swing bias.
Fed event days, CPI/NFP, or any macro-sensitive sessions.
VWAP or structure-based intraday trading strategies.
⚠️ Note: This indicator is for informational purposes only and does not constitute financial advice. Always combine macro context with your own trade plan and risk management.
Search in scripts for "bias"
Squeeze Hour Frequency [CHE]Squeeze Hour Frequency (ATR-PR) — Standalone — Tracks daily squeeze occurrences by hour to reveal time-based volatility patterns
Summary
This indicator identifies periods of unusually low volatility, defined as squeezes, and tallies their frequency across each hour of the day over historical trading sessions. By aggregating counts into a sortable table, it helps users spot hours prone to these conditions, enabling better scheduling of trading activity to avoid or target specific intraday regimes. Signals gain robustness through percentile-based detection that adapts to recent volatility history, differing from fixed-threshold methods by focusing on relative lowness rather than absolute levels, which reduces false positives in varying market environments.
Motivation: Why this design?
Traders often face uneven intraday volatility, with certain hours showing clustered low-activity phases that precede or follow breakouts, leading to mistimed entries or overlooked calm periods. The core idea of hourly squeeze frequency addresses this by binning low-volatility events into 24 hourly slots and counting distinct daily occurrences, providing a historical profile of when squeezes cluster. This reveals time-of-day biases without relying on real-time alerts, allowing proactive adjustments to session focus.
What’s different vs. standard approaches?
- Reference baseline: Classical volatility tools like simple moving average crossovers or fixed ATR thresholds, which flag squeezes uniformly across the day.
- Architecture differences:
- Uses persistent arrays to track one squeeze per hour per day, preventing overcounting within sessions.
- Employs custom sorting on ratio arrays for dynamic table display, prioritizing top or bottom performers.
- Handles timezones explicitly to ensure consistent binning across global assets.
- Practical effect: Charts show a persistent table ranking hours by squeeze share, making intraday patterns immediately visible—such as a top hour capturing over 20 percent of total events—unlike static overlays that ignore temporal distribution, which matters for avoiding low-liquidity traps in crypto or forex.
How it works (technical)
The indicator first computes a rolling volatility measure over a specified lookback period. It then derives a relative ranking of the current value against recent history within a window of bars. A squeeze is flagged when this ranking falls below a user-defined cutoff, indicating the value is among the lowest in the recent sample.
On each bar, the local hour is extracted using the selected timezone. If a squeeze occurs and the bar has price data, the count for that hour increments only if no prior mark exists for the current day, using a persistent array to store the last marked day per hour. This ensures one tally per unique trading day per slot.
At the final bar, arrays compile counts and ratios for all 24 hours, where the ratio represents each hour's share of total squeezes observed. These are sorted ascending or descending based on display mode, and the top or bottom subset populates the table. Background shading highlights live squeezes in red for visual confirmation. Initialization uses zero-filled arrays for counts and negative seeds for day tracking, with state persisting across bars via variable declarations.
No higher timeframe data is pulled, so there is no repaint risk from external fetches; all logic runs on confirmed bars.
Parameter Guide
ATR Length — Controls the lookback for the volatility measure, influencing sensitivity to short-term fluctuations; shorter values increase responsiveness but add noise, longer ones smooth for stability — Default: 14 — Trade-offs/Tips: Use 10-20 for intraday charts to balance quick detection with fewer false squeezes; test on historical data to avoid over-smoothing in trending markets.
Percentile Window (bars) — Sets the history depth for ranking the current volatility value, affecting how "low" is defined relative to past; wider windows emphasize long-term norms — Default: 252 — Trade-offs/Tips: 100-300 bars suit daily cycles; narrower for fast assets like crypto to catch recent regimes, but risks instability in sparse data.
Squeeze threshold (PR < x) — Defines the cutoff for flagging low relative volatility, where values below this mark a squeeze; lower thresholds tighten detection for rarer events — Default: 10.0 — Trade-offs/Tips: 5-15 percent for conservative signals reducing false positives; raise to 20 for more frequent highlights in high-vol environments, monitoring for increased noise.
Timezone — Specifies the reference for hourly binning, ensuring alignment with market sessions — Default: Exchange — Trade-offs/Tips: Set to "America/New_York" for US assets; mismatches can skew counts, so verify against chart timezone.
Show Table — Toggles the results display, essential for reviewing frequencies — Default: true — Trade-offs/Tips: Disable on mobile for performance; pair with position tweaks for clean overlays.
Pos — Places the table on the chart pane — Default: Top Right — Trade-offs/Tips: Bottom Left avoids candle occlusion on volatile charts.
Font — Adjusts text readability in the table — Default: normal — Trade-offs/Tips: Tiny for dense views, large for emphasis on key hours.
Dark — Applies high-contrast colors for visibility — Default: true — Trade-offs/Tips: Toggle false in light themes to prevent washout.
Display — Filters table rows to focus on extremes or full list — Default: All — Trade-offs/Tips: Top 3 for quick scans of risky hours; Bottom 3 highlights safe low-squeeze periods.
Reading & Interpretation
Red background shading appears on bars meeting the squeeze condition, signaling current low relative volatility. The table lists hours as "H0" to "H23", with columns for daily squeeze counts, percentage share of total squeezes (summing to 100 percent across hours), and an arrow marker on the top hour. A summary row above details the peak count, its share, and the leading hour. A label at the last bar recaps total days observed, data-valid days, and top hour stats. Rising shares indicate clustering, suggesting regime persistence in that slot.
Practical Workflows & Combinations
- Trend following: Scan for hours with low squeeze shares to enter during stable regimes; confirm with higher highs or lower lows on the 15-minute chart, avoiding top-share hours post-news like tariff announcements.
- Exits/Stops: Tighten stops in high-share hours to guard against sudden vol spikes; use the table to shift to conservative sizing outside peak squeeze times.
- Multi-asset/Multi-TF: Defaults work across crypto pairs on 5-60 minute timeframes; for stocks, widen percentile window to 500 bars. Combine with volume oscillators—enter only if squeeze count is below average for the asset.
Behavior, Constraints & Performance
Logic executes on closed bars, with live bars updating counts provisionally but finalizing on confirmation; table refreshes only at the last bar, avoiding intrabar flicker. No security calls or higher timeframes, so no repaint from external data. Resources include a 5000-bar history limit, loops up to 24 iterations for sorting and totals, and arrays sized to 24 elements; labels and table are capped at 500 each for efficiency. Known limits: Skips hours without bars (e.g., weekends), assumes uniform data availability, and may undercount in sparse sessions; timezone shifts can alter profiles without warning.
Sensible Defaults & Quick Tuning
Start with ATR Length at 14, Percentile Window at 252, and threshold at 10.0 for broad crypto use. If too many squeezes flag (noisy table), raise threshold to 15.0 and narrow window to 100 for stricter relative lowness. For sluggish detection in calm markets, drop ATR Length to 10 and threshold to 5.0 to capture subtler dips. In high-vol assets, widen window to 500 and threshold to 20.0 for stability.
What this indicator is—and isn’t
This is a historical frequency tracker and visualization layer for intraday volatility patterns, best as a filter in multi-tool setups. It is not a standalone signal generator, predictive model, or risk manager—pair it with price action, news filters, and position sizing rules.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Thanks to Duyck
for the ma sorter
Dual EMA Trend Ribbon (Multi-Timeframe Trend Confirmation) Dual EMA Trend Ribbon (Multi-Timeframe Trend Confirmation)
This Pine Script indicator creates a visually clear representation of trend direction using two overlaid Exponential Moving Average (EMA) Ribbons, which allows traders to assess both short-term and medium-term momentum at a glance.
How It Works:
The indicator plots two separate EMA ribbons, each calculated using a distinct set of periods, simulating a multi-timeframe approach on a single chart:
Inner (Fast) Ribbon (Defaults 10/30): Represents the fast-moving, short-term trend.
Green: Fast EMA 1 > Slow EMA 1 (Short-term Bullish)
Red: Fast EMA 1 < Slow EMA 1 (Short-term Bearish)
Outer (Slow) Ribbon (Defaults 40/50): Represents the slower, medium-term trend.
Darker Green/Red: Indicates the overall, underlying market bias.
How to Use:
Strong Trend Confirmation: A strong signal occurs when both ribbons are aligned (e.g., both are Green). This suggests that short-term momentum aligns with the medium-term bias.
Trend Weakness/Reversal: Pay attention when the two ribbons cross or when the fast ribbon changes color against the slow ribbon's color (e.g., fast ribbon turns Red while the slow ribbon remains Green). This often signals a temporary pullback or potential reversal of the underlying trend.
Settings: Users can easily adjust the four input periods (Fast EMA 1, Slow EMA 1, Fast EMA 2, Slow EMA 2) to customize the sensitivity to any trading style or asset.
Digital RPM HUD — 4 Feeds + Confidence + Timeline (v3)🏎️ Digital RPM HUD — 4 Feeds + Confidence + Timeline (v3)
A performance-style trading dashboard for momentum-driven traders.
The Digital RPM HUD gives you an instant visual readout of market “engine speed” — combining four customizable data feeds (Trend, Momentum, Volume, Volatility) into a single confidence score (0–100) and a color-coded timeline of regime changes.
Think of it as a racing-inspired control panel: you only “hit the throttle” when confidence is high and all systems agree.
🔧 Key Features
4 Data Feeds – assign your own logic (EMA, RSI, RVOL, ATR, etc.).
Confidence Meter – blends the four feeds into one smooth 0–100 reading.
Timeline Strip – shows recent bullish / bearish / neutral states at a glance.
Visual Trade Cues – optional on-chart LONG / SHORT / EXIT markers.
Fully Customizable – thresholds, weights, smoothing, colors, layout.
HUD Overlay – clean, minimal, and adjustable to any corner of your chart.
💡 How to Use
Configure each feed to reflect your preferred signals (e.g., trend EMA 200, momentum RSI 14, volume RVOL 20, volatility ATR 14).
Watch the Confidence gauge:
✅ Above Bull Threshold → Market acceleration / long bias.
❌ Below Bear Threshold → Momentum loss / short bias.
⚪ Between thresholds → Neutral zone; stay patient.
Use the Timeline to confirm trend consistency — more green = bullish regime, more red = bearish.
⚙️ Recommended Setups
Scalping: Trend EMA 50 + RSI 7 + RVOL 10 + ATR 7 → Fast response.
Intraday: EMA 200 + RSI 14 + RVOL 20 + ATR 14 → Balanced signal.
Swing: Multi-TF Trend + MACD + RVOL + ATR → Smooth and steady.
⚠️ Disclaimer
This script is not a trading strategy and does not execute trades.
All signals are visual aids — always confirm with your own analysis and risk management.
Market Structure ICT Screener [TradingFinder] BoS ChoCh🔵 Introduction
Market Structure is the foundation of every Smart Money and ICT based trading model. It describes how price moves through a sequence of highs and lows, forming clear phases of expansion, retracement and reversal. Understanding this structure allows traders to read institutional order flow and align their positions with the true direction of liquidity.
Two of the most critical components in Market Structure are the Break of Structure (BOS) and Change of Character (CHOCH). A BOS represents trend continuation, confirming strength within the current direction. In contrast, CHOCH also known as a Market Structure Shift (MSS) signals the first sign of a trend reversal or liquidity shift where order flow begins to change from bullish to bearish or vice versa.
Because the market is fractal, structure can exist at multiple levels known as Major (External) and Minor (Internal). Major structure defines the overall trend on higher timeframes while minor or internal structure reveals short term swings and early reversals within that larger move.
🔵 How to Use
Understanding Market Structure starts with identifying how price interacts with previous swing highs and swing lows. Every trend in the market, whether bullish or bearish, is built from a sequence of impulsive and corrective moves. Impulsive legs show strong displacement in the direction of liquidity flow, while corrective legs represent temporary pullbacks as the market rebalances before the next expansion. Recognizing these sequences is essential for reading the story of price and anticipating what may happen next.
A Break of Structure (BOS) occurs when price decisively moves beyond a previous structural point by breaking above the last high in an uptrend or falling below the last low in a downtrend. This event confirms that the current trend remains intact and that liquidity has been successfully taken from one side of the market. A BOS acts as confirmation of continuation and reflects strength within the existing directional bias.
A Change of Character (CHOCH) appears when price violates structure in the opposite direction of the prevailing trend. This is the first signal that market sentiment and order flow may be shifting. For example, during a downtrend if price breaks above a previous high, it indicates that sellers are losing control and a potential bullish reversal may be developing. In an uptrend, when price drops below a recent low, it suggests a possible bearish transition.
Because the market is fractal, structure exists across multiple layers. Major structure reflects the dominant movement visible on higher timeframes and defines the broader directional bias. Minor or internal structure represents smaller swings within that move and helps identify early transitions before they appear on the higher timeframe. When internal and external structures align, they offer a high probability signal for trend continuation or reversal.
By observing BOS and CHOCH across both internal and external structures, traders can clearly visualize when the market is expanding, contracting or preparing to shift direction. This structured understanding of price movement forms the foundation for precise trend analysis and high quality decision making in any Smart Money or ICT based trading approach.
🔵 Settings
🟣 Display Settings
Table on Chart : Allows users to choose the position of the signal dashboard either directly on the chart or below it, depending on their layout preference.
Number of Symbols : Enables users to control how many symbols are displayed in the screener table, from 10 to 20, adjustable in increments of 2 symbols for flexible screening depth.
Table Mode : This setting offers two layout styles for the signal table :
Basic : Mode displays symbols in a single column, using more vertical space.
Extended : Mode arranges symbols in pairs side-by-side, optimizing screen space with a more compact view.
Table Size : Lets you adjust the table’s visual size with options such as: auto, tiny, small, normal, large, huge.
Table Position : Sets the screen location of the table. Choose from 9 possible positions, combining vertical (top, middle, bottom) and horizontal (left, center, right) alignments.
🟣 Symbol Settings
Each of the 20 symbol slots comes with a full set of customizable parameters :
Symbol : Define or select the asset (e.g., XAUUSD, BTCUSD, EURUSD, etc.).
Timeframe : Set your desired timeframe for each symbol (e.g., 15, 60, 240, 1D).
Pivot Period : Set the length used to detect swing highs and lows. Shorter values increase sensitivity, longer ones focus on major structures.
🔵 Conclusion
Mastering Market Structure and understanding the relationship between BOS and CHOCH allows traders to see the market with greater clarity and confidence. These two elements reveal how liquidity moves through different phases of expansion and retracement and how institutional order flow shifts between accumulation and distribution.
By analyzing both internal and external structures, traders can align short term and long term perspectives and anticipate where price is most likely to react. The ability to read these structural shifts helps identify continuation points, reversals and areas where liquidity is engineered or collected.
Incorporating Market Structure into a consistent trading process transforms the way a trader views the chart. Instead of reacting to random movements, each swing, break and shift becomes part of a logical framework that reflects the true behavior of the market. Understanding BOS and CHOCH is not just a concept but a complete language of price that guides every professional decision in Smart Money and ICT based trading.
Trend Pivots Profile [BigBeluga]🔵 OVERVIEW
The Trend Pivots Profile is a dynamic volume profile tool that builds profiles around pivot points to reveal where liquidity accumulates during trend shifts. When the market is in an uptrend , the indicator generates profiles at low pivots . In a downtrend , it builds them at high pivots . Each profile is constructed using lower timeframe volume data for higher resolution, making it highly precise even in limited space. A colored trendline helps traders instantly recognize the prevailing trend and anticipate which type of profile (bullish or bearish) will form.
🔵 CONCEPTS
Pivot-Driven Profiles : Profiles are only created when a new pivot forms, aligning liquidity analysis with market structure shifts.
Trend-Contextual : Profiles form at low pivots in uptrends and at high pivots in downtrends.
Lower Timeframe Data : Volume and close values are pulled from smaller timeframes to provide detailed, high-resolution profiles inside larger pivot windows.
Adaptive Bin Sizing : Bin size is automatically calculated relative to ATR, ensuring consistent precision across different markets and volatility conditions.
Point of Control (PoC) : The highest-volume level within each profile is marked with a PoC line that extends until the next pivot forms.
Trendline Visualization : A wide, semi-transparent line follows the rolling average of highs and lows, colored blue in uptrends and orange in downtrends.
🔵 FEATURES
Pivot Length Control : Adjust how far back the script looks to detect pivots (e.g., length 5 → profiles cover 10 bars after pivot).
Pivot Profile toggle :
On → draw the filled pivot profile + PoC + pivot label.
Off → hide profiles; show only PoC level (clean S/R mode).
Trend Length Filter : Smooths trendline detection to ensure reliable up/down bias.
Precise Volume Distribution : Volume is aggregated into bins, creating a smooth volume curve around the pivot range.
PoC Extension : Automatically extends the most active price level until a new pivot is confirmed.
Profile Visualization : Profiles appear as filled shapes anchored at the pivot candle, colored based on trend.
Trendline Overlay : Thick, semi-transparent trendline provides visual guidance on directional bias.
Automatic Cleanup : Old profiles are deleted once they exceed the chart’s capacity (default 25 stored profiles).
🔵 HOW TO USE
Spotting Trend Liquidity : In an uptrend, monitor profiles at low pivots to see where buyers concentrated. In downtrends, use high-pivot profiles to spot sell-side pressure.
Watch the PoC : The PoC line highlights the strongest traded level of the pivot structure—expect reactions when price retests it.
Anticipate Trend Continuation/Reversal : Use the trendline (blue = bullish, orange = bearish) together with pivot profiles to forecast directional momentum.
Combine with HTF Context : Overlay with higher timeframe structure (order blocks, liquidity zones, or FVGs) for confluence.
Fine-Tune with Inputs : Adjust Pivot Length for sensitivity and Trend Length for smoother or faster trend shifts.
🔵 CONCLUSION
The Trend Pivots Profile blends pivot-based structure with precise volume profiling. By dynamically plotting profiles on pivots aligned with the prevailing trend, highlighting PoCs, and overlaying a directional trendline, it equips traders with a clear view of liquidity clusters and directional momentum—ideal for anticipating reactions, pullbacks, or breakouts.
Seasonal Pattern DecoderSeasonal Pattern Decoder
The Seasonal Pattern Decoder is a powerful tool designed for traders and analysts who want to uncover and leverage seasonal tendencies in financial markets. Instead of cluttering your chart with complex visuals, this indicator presents a clean, intuitive table that summarizes historical monthly performance, allowing you to spot recurring patterns at a glance.
How It Works
The indicator fetches historical monthly data for any symbol and calculates the percentage return for each month over a specified number of years. It then organizes this data into a comprehensive table, providing a clear, year-by-year and month-by-month breakdown of performance.
Key Features
Historical Performance Table: Displays monthly returns for up to a user-defined number of years, making it easy to compare performance across different periods.
Color-Coded Heatmap: Each cell is colored based on the performance of the month. Strong positive returns are shaded in green, while strong negative returns are shaded in red, allowing for immediate visual analysis of monthly strength or weakness.
Annual Summary: A "Σ" column shows the total percentage return for each full calendar year.
AVG Row: Calculates and displays the average return for each month across all the years shown in the table.
WR Row: Shows the "Win Rate" for each month, which is the percentage of time that month had a positive return. This is crucial for identifying high-probability seasonal trends.
How to Use
Add the "Seasonal Pattern Decoder" indicator to your chart. Note that it works best on Daily, Weekly, or Monthly timeframes. A warning message will be displayed on intraday charts.
In the indicator settings, adjust the "Lookback Period" to control how many years of historical data you want to analyze.
Use the "Show Years Descending" option to sort the table from the most recent year to the oldest.
The "Heat Range" setting allows you to adjust the sensitivity of the color-coding to fit the volatility of the asset you are analyzing.
This tool is ideal for confirming trading biases, developing seasonal strategies, or simply gaining a deeper understanding of an asset's typical behavior throughout the year.
## Disclaimer
This indicator is designed as a technical analysis tool and should be used in conjunction with other forms of analysis and proper risk management.
Past performance does not guarantee future results, and traders should thoroughly test any strategy before implementing it with real capital.
Small Business Economic Conditions - Statistical Analysis ModelThe Small Business Economic Conditions Statistical Analysis Model (SBO-SAM) represents an econometric approach to measuring and analyzing the economic health of small business enterprises through multi-dimensional factor analysis and statistical methodologies. This indicator synthesizes eight fundamental economic components into a composite index that provides real-time assessment of small business operating conditions with statistical rigor. The model employs Z-score standardization, variance-weighted aggregation, higher-order moment analysis, and regime-switching detection to deliver comprehensive insights into small business economic conditions with statistical confidence intervals and multi-language accessibility.
1. Introduction and Theoretical Foundation
The development of quantitative models for assessing small business economic conditions has gained significant importance in contemporary financial analysis, particularly given the critical role small enterprises play in economic development and employment generation. Small businesses, typically defined as enterprises with fewer than 500 employees according to the U.S. Small Business Administration, constitute approximately 99.9% of all businesses in the United States and employ nearly half of the private workforce (U.S. Small Business Administration, 2024).
The theoretical framework underlying the SBO-SAM model draws extensively from established academic research in small business economics and quantitative finance. The foundational understanding of key drivers affecting small business performance builds upon the seminal work of Dunkelberg and Wade (2023) in their analysis of small business economic trends through the National Federation of Independent Business (NFIB) Small Business Economic Trends survey. Their research established the critical importance of optimism, hiring plans, capital expenditure intentions, and credit availability as primary determinants of small business performance.
The model incorporates insights from Federal Reserve Board research, particularly the Senior Loan Officer Opinion Survey (Federal Reserve Board, 2024), which demonstrates the critical importance of credit market conditions in small business operations. This research consistently shows that small businesses face disproportionate challenges during periods of credit tightening, as they typically lack access to capital markets and rely heavily on bank financing.
The statistical methodology employed in this model follows the econometric principles established by Hamilton (1989) in his work on regime-switching models and time series analysis. Hamilton's framework provides the theoretical foundation for identifying different economic regimes and understanding how economic relationships may vary across different market conditions. The variance-weighted aggregation technique draws from modern portfolio theory as developed by Markowitz (1952) and later refined by Sharpe (1964), applying these concepts to economic indicator construction rather than traditional asset allocation.
Additional theoretical support comes from the work of Engle and Granger (1987) on cointegration analysis, which provides the statistical framework for combining multiple time series while maintaining long-term equilibrium relationships. The model also incorporates insights from behavioral economics research by Kahneman and Tversky (1979) on prospect theory, recognizing that small business decision-making may exhibit systematic biases that affect economic outcomes.
2. Model Architecture and Component Structure
The SBO-SAM model employs eight orthogonalized economic factors that collectively capture the multifaceted nature of small business operating conditions. Each component is normalized using Z-score standardization with a rolling 252-day window, representing approximately one business year of trading data. This approach ensures statistical consistency across different market regimes and economic cycles, following the methodology established by Tsay (2010) in his treatment of financial time series analysis.
2.1 Small Cap Relative Performance Component
The first component measures the performance of the Russell 2000 index relative to the S&P 500, capturing the market-based assessment of small business equity valuations. This component reflects investor sentiment toward smaller enterprises and provides a forward-looking perspective on small business prospects. The theoretical justification for this component stems from the efficient market hypothesis as formulated by Fama (1970), which suggests that stock prices incorporate all available information about future prospects.
The calculation employs a 20-day rate of change with exponential smoothing to reduce noise while preserving signal integrity. The mathematical formulation is:
Small_Cap_Performance = (Russell_2000_t / S&P_500_t) / (Russell_2000_{t-20} / S&P_500_{t-20}) - 1
This relative performance measure eliminates market-wide effects and isolates the specific performance differential between small and large capitalization stocks, providing a pure measure of small business market sentiment.
2.2 Credit Market Conditions Component
Credit Market Conditions constitute the second component, incorporating commercial lending volumes and credit spread dynamics. This factor recognizes that small businesses are particularly sensitive to credit availability and borrowing costs, as established in numerous Federal Reserve studies (Bernanke and Gertler, 1995). Small businesses typically face higher borrowing costs and more stringent lending standards compared to larger enterprises, making credit conditions a critical determinant of their operating environment.
The model calculates credit spreads using high-yield bond ETFs relative to Treasury securities, providing a market-based measure of credit risk premiums that directly affect small business borrowing costs. The component also incorporates commercial and industrial loan growth data from the Federal Reserve's H.8 statistical release, which provides direct evidence of lending activity to businesses.
The mathematical specification combines these elements as:
Credit_Conditions = α₁ × (HYG_t / TLT_t) + α₂ × C&I_Loan_Growth_t
where HYG represents high-yield corporate bond ETF prices, TLT represents long-term Treasury ETF prices, and C&I_Loan_Growth represents the rate of change in commercial and industrial loans outstanding.
2.3 Labor Market Dynamics Component
The Labor Market Dynamics component captures employment cost pressures and labor availability metrics through the relationship between job openings and unemployment claims. This factor acknowledges that labor market tightness significantly impacts small business operations, as these enterprises typically have less flexibility in wage negotiations and face greater challenges in attracting and retaining talent during periods of low unemployment.
The theoretical foundation for this component draws from search and matching theory as developed by Mortensen and Pissarides (1994), which explains how labor market frictions affect employment dynamics. Small businesses often face higher search costs and longer hiring processes, making them particularly sensitive to labor market conditions.
The component is calculated as:
Labor_Tightness = Job_Openings_t / (Unemployment_Claims_t × 52)
This ratio provides a measure of labor market tightness, with higher values indicating greater difficulty in finding workers and potential wage pressures.
2.4 Consumer Demand Strength Component
Consumer Demand Strength represents the fourth component, combining consumer sentiment data with retail sales growth rates. Small businesses are disproportionately affected by consumer spending patterns, making this component crucial for assessing their operating environment. The theoretical justification comes from the permanent income hypothesis developed by Friedman (1957), which explains how consumer spending responds to both current conditions and future expectations.
The model weights consumer confidence and actual spending data to provide both forward-looking sentiment and contemporaneous demand indicators. The specification is:
Demand_Strength = β₁ × Consumer_Sentiment_t + β₂ × Retail_Sales_Growth_t
where β₁ and β₂ are determined through principal component analysis to maximize the explanatory power of the combined measure.
2.5 Input Cost Pressures Component
Input Cost Pressures form the fifth component, utilizing producer price index data to capture inflationary pressures on small business operations. This component is inversely weighted, recognizing that rising input costs negatively impact small business profitability and operating conditions. Small businesses typically have limited pricing power and face challenges in passing through cost increases to customers, making them particularly vulnerable to input cost inflation.
The theoretical foundation draws from cost-push inflation theory as described by Gordon (1988), which explains how supply-side price pressures affect business operations. The model employs a 90-day rate of change to capture medium-term cost trends while filtering out short-term volatility:
Cost_Pressure = -1 × (PPI_t / PPI_{t-90} - 1)
The negative weighting reflects the inverse relationship between input costs and business conditions.
2.6 Monetary Policy Impact Component
Monetary Policy Impact represents the sixth component, incorporating federal funds rates and yield curve dynamics. Small businesses are particularly sensitive to interest rate changes due to their higher reliance on variable-rate financing and limited access to capital markets. The theoretical foundation comes from monetary transmission mechanism theory as developed by Bernanke and Blinder (1992), which explains how monetary policy affects different segments of the economy.
The model calculates the absolute deviation of federal funds rates from a neutral 2% level, recognizing that both extremely low and high rates can create operational challenges for small enterprises. The yield curve component captures the shape of the term structure, which affects both borrowing costs and economic expectations:
Monetary_Impact = γ₁ × |Fed_Funds_Rate_t - 2.0| + γ₂ × (10Y_Yield_t - 2Y_Yield_t)
2.7 Currency Valuation Effects Component
Currency Valuation Effects constitute the seventh component, measuring the impact of US Dollar strength on small business competitiveness. A stronger dollar can benefit businesses with significant import components while disadvantaging exporters. The model employs Dollar Index volatility as a proxy for currency-related uncertainty that affects small business planning and operations.
The theoretical foundation draws from international trade theory and the work of Krugman (1987) on exchange rate effects on different business segments. Small businesses often lack hedging capabilities, making them more vulnerable to currency fluctuations:
Currency_Impact = -1 × DXY_Volatility_t
2.8 Regional Banking Health Component
The eighth and final component, Regional Banking Health, assesses the relative performance of regional banks compared to large financial institutions. Regional banks traditionally serve as primary lenders to small businesses, making their health a critical factor in small business credit availability and overall operating conditions.
This component draws from the literature on relationship banking as developed by Boot (2000), which demonstrates the importance of bank-borrower relationships, particularly for small enterprises. The calculation compares regional bank performance to large financial institutions:
Banking_Health = (Regional_Banks_Index_t / Large_Banks_Index_t) - 1
3. Statistical Methodology and Advanced Analytics
The model employs statistical techniques to ensure robustness and reliability. Z-score normalization is applied to each component using rolling 252-day windows, providing standardized measures that remain consistent across different time periods and market conditions. This approach follows the methodology established by Engle and Granger (1987) in their cointegration analysis framework.
3.1 Variance-Weighted Aggregation
The composite index calculation utilizes variance-weighted aggregation, where component weights are determined by the inverse of their historical variance. This approach, derived from modern portfolio theory, ensures that more stable components receive higher weights while reducing the impact of highly volatile factors. The mathematical formulation follows the principle that optimal weights are inversely proportional to variance, maximizing the signal-to-noise ratio of the composite indicator.
The weight for component i is calculated as:
w_i = (1/σᵢ²) / Σⱼ(1/σⱼ²)
where σᵢ² represents the variance of component i over the lookback period.
3.2 Higher-Order Moment Analysis
Higher-order moment analysis extends beyond traditional mean and variance calculations to include skewness and kurtosis measurements. Skewness provides insight into the asymmetry of the sentiment distribution, while kurtosis measures the tail behavior and potential for extreme events. These metrics offer valuable information about the underlying distribution characteristics and potential regime changes.
Skewness is calculated as:
Skewness = E / σ³
Kurtosis is calculated as:
Kurtosis = E / σ⁴ - 3
where μ represents the mean and σ represents the standard deviation of the distribution.
3.3 Regime-Switching Detection
The model incorporates regime-switching detection capabilities based on the Hamilton (1989) framework. This allows for identification of different economic regimes characterized by distinct statistical properties. The regime classification employs percentile-based thresholds:
- Regime 3 (Very High): Percentile rank > 80
- Regime 2 (High): Percentile rank 60-80
- Regime 1 (Moderate High): Percentile rank 50-60
- Regime 0 (Neutral): Percentile rank 40-50
- Regime -1 (Moderate Low): Percentile rank 30-40
- Regime -2 (Low): Percentile rank 20-30
- Regime -3 (Very Low): Percentile rank < 20
3.4 Information Theory Applications
The model incorporates information theory concepts, specifically Shannon entropy measurement, to assess the information content of the sentiment distribution. Shannon entropy, as developed by Shannon (1948), provides a measure of the uncertainty or information content in a probability distribution:
H(X) = -Σᵢ p(xᵢ) log₂ p(xᵢ)
Higher entropy values indicate greater unpredictability and information content in the sentiment series.
3.5 Long-Term Memory Analysis
The Hurst exponent calculation provides insight into the long-term memory characteristics of the sentiment series. Originally developed by Hurst (1951) for analyzing Nile River flow patterns, this measure has found extensive application in financial time series analysis. The Hurst exponent H is calculated using the rescaled range statistic:
H = log(R/S) / log(T)
where R/S represents the rescaled range and T represents the time period. Values of H > 0.5 indicate long-term positive autocorrelation (persistence), while H < 0.5 indicates mean-reverting behavior.
3.6 Structural Break Detection
The model employs Chow test approximation for structural break detection, based on the methodology developed by Chow (1960). This technique identifies potential structural changes in the underlying relationships by comparing the stability of regression parameters across different time periods:
Chow_Statistic = (RSS_restricted - RSS_unrestricted) / RSS_unrestricted × (n-2k)/k
where RSS represents residual sum of squares, n represents sample size, and k represents the number of parameters.
4. Implementation Parameters and Configuration
4.1 Language Selection Parameters
The model provides comprehensive multi-language support across five languages: English, German (Deutsch), Spanish (Español), French (Français), and Japanese (日本語). This feature enhances accessibility for international users and ensures cultural appropriateness in terminology usage. The language selection affects all internal displays, statistical classifications, and alert messages while maintaining consistency in underlying calculations.
4.2 Model Configuration Parameters
Calculation Method: Users can select from four aggregation methodologies:
- Equal-Weighted: All components receive identical weights
- Variance-Weighted: Components weighted inversely to their historical variance
- Principal Component: Weights determined through principal component analysis
- Dynamic: Adaptive weighting based on recent performance
Sector Specification: The model allows for sector-specific calibration:
- General: Broad-based small business assessment
- Retail: Emphasis on consumer demand and seasonal factors
- Manufacturing: Enhanced weighting of input costs and currency effects
- Services: Focus on labor market dynamics and consumer demand
- Construction: Emphasis on credit conditions and monetary policy
Lookback Period: Statistical analysis window ranging from 126 to 504 trading days, with 252 days (one business year) as the optimal default based on academic research.
Smoothing Period: Exponential moving average period from 1 to 21 days, with 5 days providing optimal noise reduction while preserving signal integrity.
4.3 Statistical Threshold Parameters
Upper Statistical Boundary: Configurable threshold between 60-80 (default 70) representing the upper significance level for regime classification.
Lower Statistical Boundary: Configurable threshold between 20-40 (default 30) representing the lower significance level for regime classification.
Statistical Significance Level (α): Alpha level for statistical tests, configurable between 0.01-0.10 with 0.05 as the standard academic default.
4.4 Display and Visualization Parameters
Color Theme Selection: Eight professional color schemes optimized for different user preferences and accessibility requirements:
- Gold: Traditional financial industry colors
- EdgeTools: Professional blue-gray scheme
- Behavioral: Psychology-based color mapping
- Quant: Value-based quantitative color scheme
- Ocean: Blue-green maritime theme
- Fire: Warm red-orange theme
- Matrix: Green-black technology theme
- Arctic: Cool blue-white theme
Dark Mode Optimization: Automatic color adjustment for dark chart backgrounds, ensuring optimal readability across different viewing conditions.
Line Width Configuration: Main index line thickness adjustable from 1-5 pixels for optimal visibility.
Background Intensity: Transparency control for statistical regime backgrounds, adjustable from 90-99% for subtle visual enhancement without distraction.
4.5 Alert System Configuration
Alert Frequency Options: Three frequency settings to match different trading styles:
- Once Per Bar: Single alert per bar formation
- Once Per Bar Close: Alert only on confirmed bar close
- All: Continuous alerts for real-time monitoring
Statistical Extreme Alerts: Notifications when the index reaches 99% confidence levels (Z-score > 2.576 or < -2.576).
Regime Transition Alerts: Notifications when statistical boundaries are crossed, indicating potential regime changes.
5. Practical Application and Interpretation Guidelines
5.1 Index Interpretation Framework
The SBO-SAM index operates on a 0-100 scale with statistical normalization ensuring consistent interpretation across different time periods and market conditions. Values above 70 indicate statistically elevated small business conditions, suggesting favorable operating environment with potential for expansion and growth. Values below 30 indicate statistically reduced conditions, suggesting challenging operating environment with potential constraints on business activity.
The median reference line at 50 represents the long-term equilibrium level, with deviations providing insight into cyclical conditions relative to historical norms. The statistical confidence bands at 95% levels (approximately ±2 standard deviations) help identify when conditions reach statistically significant extremes.
5.2 Regime Classification System
The model employs a seven-level regime classification system based on percentile rankings:
Very High Regime (P80+): Exceptional small business conditions, typically associated with strong economic growth, easy credit availability, and favorable regulatory environment. Historical analysis suggests these periods often precede economic peaks and may warrant caution regarding sustainability.
High Regime (P60-80): Above-average conditions supporting business expansion and investment. These periods typically feature moderate growth, stable credit conditions, and positive consumer sentiment.
Moderate High Regime (P50-60): Slightly above-normal conditions with mixed signals. Careful monitoring of individual components helps identify emerging trends.
Neutral Regime (P40-50): Balanced conditions near long-term equilibrium. These periods often represent transition phases between different economic cycles.
Moderate Low Regime (P30-40): Slightly below-normal conditions with emerging headwinds. Early warning signals may appear in credit conditions or consumer demand.
Low Regime (P20-30): Below-average conditions suggesting challenging operating environment. Businesses may face constraints on growth and expansion.
Very Low Regime (P0-20): Severely constrained conditions, typically associated with economic recessions or financial crises. These periods often present opportunities for contrarian positioning.
5.3 Component Analysis and Diagnostics
Individual component analysis provides valuable diagnostic information about the underlying drivers of overall conditions. Divergences between components can signal emerging trends or structural changes in the economy.
Credit-Labor Divergence: When credit conditions improve while labor markets tighten, this may indicate early-stage economic acceleration with potential wage pressures.
Demand-Cost Divergence: Strong consumer demand coupled with rising input costs suggests inflationary pressures that may constrain small business margins.
Market-Fundamental Divergence: Disconnection between small-cap equity performance and fundamental conditions may indicate market inefficiencies or changing investor sentiment.
5.4 Temporal Analysis and Trend Identification
The model provides multiple temporal perspectives through momentum analysis, rate of change calculations, and trend decomposition. The 20-day momentum indicator helps identify short-term directional changes, while the Hodrick-Prescott filter approximation separates cyclical components from long-term trends.
Acceleration analysis through second-order momentum calculations provides early warning signals for potential trend reversals. Positive acceleration during declining conditions may indicate approaching inflection points, while negative acceleration during improving conditions may suggest momentum loss.
5.5 Statistical Confidence and Uncertainty Quantification
The model provides comprehensive uncertainty quantification through confidence intervals, volatility measures, and regime stability analysis. The 95% confidence bands help users understand the statistical significance of current readings and identify when conditions reach historically extreme levels.
Volatility analysis provides insight into the stability of current conditions, with higher volatility indicating greater uncertainty and potential for rapid changes. The regime stability measure, calculated as the inverse of volatility, helps assess the sustainability of current conditions.
6. Risk Management and Limitations
6.1 Model Limitations and Assumptions
The SBO-SAM model operates under several important assumptions that users must understand for proper interpretation. The model assumes that historical relationships between economic variables remain stable over time, though the regime-switching framework helps accommodate some structural changes. The 252-day lookback period provides reasonable statistical power while maintaining sensitivity to changing conditions, but may not capture longer-term structural shifts.
The model's reliance on publicly available economic data introduces inherent lags in some components, particularly those based on government statistics. Users should consider these timing differences when interpreting real-time conditions. Additionally, the model's focus on quantitative factors may not fully capture qualitative factors such as regulatory changes, geopolitical events, or technological disruptions that could significantly impact small business conditions.
The model's timeframe restrictions ensure statistical validity by preventing application to intraday periods where the underlying economic relationships may be distorted by market microstructure effects, trading noise, and temporal misalignment with the fundamental data sources. Users must utilize daily or longer timeframes to ensure the model's statistical foundations remain valid and interpretable.
6.2 Data Quality and Reliability Considerations
The model's accuracy depends heavily on the quality and availability of underlying economic data. Market-based components such as equity indices and bond prices provide real-time information but may be subject to short-term volatility unrelated to fundamental conditions. Economic statistics provide more stable fundamental information but may be subject to revisions and reporting delays.
Users should be aware that extreme market conditions may temporarily distort some components, particularly those based on financial market data. The model's statistical normalization helps mitigate these effects, but users should exercise additional caution during periods of market stress or unusual volatility.
6.3 Interpretation Caveats and Best Practices
The SBO-SAM model provides statistical analysis and should not be interpreted as investment advice or predictive forecasting. The model's output represents an assessment of current conditions based on historical relationships and may not accurately predict future outcomes. Users should combine the model's insights with other analytical tools and fundamental analysis for comprehensive decision-making.
The model's regime classifications are based on historical percentile rankings and may not fully capture the unique characteristics of current economic conditions. Users should consider the broader economic context and potential structural changes when interpreting regime classifications.
7. Academic References and Bibliography
Bernanke, B. S., & Blinder, A. S. (1992). The Federal Funds Rate and the Channels of Monetary Transmission. American Economic Review, 82(4), 901-921.
Bernanke, B. S., & Gertler, M. (1995). Inside the Black Box: The Credit Channel of Monetary Policy Transmission. Journal of Economic Perspectives, 9(4), 27-48.
Boot, A. W. A. (2000). Relationship Banking: What Do We Know? Journal of Financial Intermediation, 9(1), 7-25.
Chow, G. C. (1960). Tests of Equality Between Sets of Coefficients in Two Linear Regressions. Econometrica, 28(3), 591-605.
Dunkelberg, W. C., & Wade, H. (2023). NFIB Small Business Economic Trends. National Federation of Independent Business Research Foundation, Washington, D.C.
Engle, R. F., & Granger, C. W. J. (1987). Co-integration and Error Correction: Representation, Estimation, and Testing. Econometrica, 55(2), 251-276.
Fama, E. F. (1970). Efficient Capital Markets: A Review of Theory and Empirical Work. Journal of Finance, 25(2), 383-417.
Federal Reserve Board. (2024). Senior Loan Officer Opinion Survey on Bank Lending Practices. Board of Governors of the Federal Reserve System, Washington, D.C.
Friedman, M. (1957). A Theory of the Consumption Function. Princeton University Press, Princeton, NJ.
Gordon, R. J. (1988). The Role of Wages in the Inflation Process. American Economic Review, 78(2), 276-283.
Hamilton, J. D. (1989). A New Approach to the Economic Analysis of Nonstationary Time Series and the Business Cycle. Econometrica, 57(2), 357-384.
Hurst, H. E. (1951). Long-term Storage Capacity of Reservoirs. Transactions of the American Society of Civil Engineers, 116(1), 770-799.
Kahneman, D., & Tversky, A. (1979). Prospect Theory: An Analysis of Decision under Risk. Econometrica, 47(2), 263-291.
Krugman, P. (1987). Pricing to Market When the Exchange Rate Changes. In S. W. Arndt & J. D. Richardson (Eds.), Real-Financial Linkages among Open Economies (pp. 49-70). MIT Press, Cambridge, MA.
Markowitz, H. (1952). Portfolio Selection. Journal of Finance, 7(1), 77-91.
Mortensen, D. T., & Pissarides, C. A. (1994). Job Creation and Job Destruction in the Theory of Unemployment. Review of Economic Studies, 61(3), 397-415.
Shannon, C. E. (1948). A Mathematical Theory of Communication. Bell System Technical Journal, 27(3), 379-423.
Sharpe, W. F. (1964). Capital Asset Prices: A Theory of Market Equilibrium under Conditions of Risk. Journal of Finance, 19(3), 425-442.
Tsay, R. S. (2010). Analysis of Financial Time Series (3rd ed.). John Wiley & Sons, Hoboken, NJ.
U.S. Small Business Administration. (2024). Small Business Profile. Office of Advocacy, Washington, D.C.
8. Technical Implementation Notes
The SBO-SAM model is implemented in Pine Script version 6 for the TradingView platform, ensuring compatibility with modern charting and analysis tools. The implementation follows best practices for financial indicator development, including proper error handling, data validation, and performance optimization.
The model includes comprehensive timeframe validation to ensure statistical accuracy and reliability. The indicator operates exclusively on daily (1D) timeframes or higher, including weekly (1W), monthly (1M), and longer periods. This restriction ensures that the statistical analysis maintains appropriate temporal resolution for the underlying economic data sources, which are primarily reported on daily or longer intervals.
When users attempt to apply the model to intraday timeframes (such as 1-minute, 5-minute, 15-minute, 30-minute, 1-hour, 2-hour, 4-hour, 6-hour, 8-hour, or 12-hour charts), the system displays a comprehensive error message in the user's selected language and prevents execution. This safeguard protects users from potentially misleading results that could occur when applying daily-based economic analysis to shorter timeframes where the underlying data relationships may not hold.
The model's statistical calculations are performed using vectorized operations where possible to ensure computational efficiency. The multi-language support system employs Unicode character encoding to ensure proper display of international characters across different platforms and devices.
The alert system utilizes TradingView's native alert functionality, providing users with flexible notification options including email, SMS, and webhook integrations. The alert messages include comprehensive statistical information to support informed decision-making.
The model's visualization system employs professional color schemes designed for optimal readability across different chart backgrounds and display devices. The system includes dynamic color transitions based on momentum and volatility, professional glow effects for enhanced line visibility, and transparency controls that allow users to customize the visual intensity to match their preferences and analytical requirements. The clean confidence band implementation provides clear statistical boundaries without visual distractions, maintaining focus on the analytical content.
EMA BY C4RLOZ📈 Example:
A 150 EMA is the average price of the last 150 candles, but the most recent prices influence it more.
Traders often use EMAs to identify trend direction and crossovers for buy/sell signals.
👉 In practice:
If price is above the EMA → uptrend bias.
If price is below the EMA → downtrend bias.
Monday's Range Superpowerkyu🔔 Settings
You can customize the colors and toggle ON/OFF in the indicator settings.
Works on daily, hourly, and minute charts.
Easily visualize Monday’s high, low, and mid-line range.
📌 1. Support & Resistance with Monday’s Range
Monday High: Acts as the first resistance of the week.
◽ Example: If price breaks above Monday’s high after Tuesday, it signals potential bullish continuation → long setup.
Monday Low: Acts as the first support of the week.
◽ Example: If price breaks below Monday’s low, it signals bearish continuation → short setup.
📌 2. Mid-Line Trend Confirmation
Monday Mid-Line = average price of Monday.
Price above mid-line → bullish bias.
Price below mid-line → bearish bias.
Use mid-line breaks as entry confirmation for long/short positions.
📌 3. Breakout Strategy
Break of Monday’s High = bullish breakout → long entry.
Break of Monday’s Low = bearish breakout → short entry.
Place stop-loss inside Monday’s range for a conservative approach.
📌 4. False Breakout Strategy
If price breaks Monday’s high/low but then falls back inside Monday’s range, it is a False Breakout.
Strategy: Trade in the opposite direction.
◽ False Breakout at High → short.
◽ False Breakout at Low → long.
Stop-loss at the wick (extreme point) of the failed breakout.
📌 5. Range-Based Scalping
Use Monday’s high and low as a trading range.
Sell near Monday’s High, buy near Monday’s Low, repeat until breakout occurs.
📌 6. Weekly Volatility Forecast
Narrow Monday range → higher chance of strong trend later in the week.
Wide Monday range → lower volatility expected during the week.
📌 7. Pattern & Trend Analysis within Monday Range
Look for candlestick patterns around Monday’s High/Low/Mid-Line.
◽ Example: Double Top near Monday’s High = short setup.
◽ Repeated bounce at Mid-Line = strong long opportunity.
✅ Summary
The Monday’s Range (Superpowerkyu) Indicator helps traders:
Identify weekly support & resistance
Confirm trend direction with Mid-Line
Trade breakouts & false breakouts
Apply range scalping strategies
Forecast weekly volatility
⚡ Especially, the False Breakout strategy is powerful as it captures failed moves and sudden sentiment reversals.
Smart Money Trades Pro [BOSWaves]Smart Money Trades Pro – Advanced Market Structure & Liquidity Visualizer
Overview
Smart Money Trades Pro is a comprehensive trading tool designed for traders seeking an in-depth understanding of market structure, liquidity dynamics, and institutional flow. The indicator systematically identifies key market turning points, including break of structure (BOS) and change of character (CHoCH) events, and overlays these with adaptive visualizations to highlight high-probability trade setups. By integrating ATR-based risk zones, progressive take-profit levels, and real-time trade analytics, Smart Money Trades Pro transforms complex price action into an interpretable framework suitable for multiple trading styles, including scalping, intraday, and swing trading.
Unlike traditional static indicators, Smart Money Trades Pro adapts continuously to market conditions. It evaluates swing highs and lows over a configurable lookback period, then determines structural breaks using customizable confirmation methods (candle body or wick). The resulting signals are augmented with dynamic entry, stop-loss, and target levels, allowing traders to analyze potential trade opportunities with both precision and context. The indicator’s design ensures that each visual element—trend-colored candles, signal markers, and risk/reward boxes—reflects real-time market conditions, offering an actionable interpretation of institutional activity.
How It Works
The indicator’s foundation is built upon market structure analysis. By calculating pivot highs and lows over a specified period, Smart Money Trades Pro identifies potential points of liquidity accumulation and exhaustion. When price breaks a pivot high or low, the indicator evaluates whether this constitutes a BOS or a CHoCH, signaling trend continuation or reversal. These events are marked on the chart with distinct visual cues, allowing traders to quickly discern shifts in market sentiment without manually analyzing historical price action.
Once a structural break is confirmed, the indicator automatically determines entry levels, stop-loss placements, and progressive take-profit zones (TP1, TP2, TP3). These calculations are based on ATR-derived volatility, ensuring that targets scale with current market conditions. Risk and reward zones are plotted as shaded boxes, providing a clear visual representation of potential profit relative to risk for each trade setup. This system allows traders to maintain discipline and consistency, with dynamic trade management baked directly into the visualization.
Trend direction is further reinforced by color-coded candles, which reflect the prevailing market bias. Bullish trends are represented by one color, bearish trends by another, and neutral conditions are displayed in muted tones. This continuous visual feedback simplifies the process of trend assessment and helps confirm the validity of trade setups alongside BOS and CHoCH markers.
Signals and Breakouts
Smart Money Trades Pro includes structured visual signals to indicate actionable price movements:
Bullish Break Signals – Triangular markers below the candle appear when a swing high is broken, suggesting potential long opportunities.
Bearish Break Signals – Triangular markers above the candle appear when a swing low is broken, indicating potential short setups.
Change of Character (CHoCH) – Special markers highlight trend reversals, showing where momentum shifts from bullish to bearish or vice versa.
These markers are strategically spaced to prevent overlap and remain clear during high-volatility periods. Traders can use them in combination with trend-colored candles, risk/reward zones, and ATR-based targets to assess the strength and reliability of each setup. The integrated table provides live trade information, including entry price, stop-loss level, take-profit levels, risk/reward ratio, and trade direction, ensuring that trade decisions are informed and data-driven.
Interpretation
Trend Analysis : The indicator’s trend coloring, combined with BOS and CHoCH detection, provides an immediate view of market direction. Rising structures indicate bullish momentum, while falling structures signal bearish momentum. CHoCH markers highlight potential trend reversals or significant liquidity sweeps.
Volatility and Risk Assessment : ATR-based calculations determine stop-loss distances and target levels, giving a quantitative measure of risk relative to market volatility. Wide ATR readings indicate periods of high price fluctuation, whereas narrow readings suggest consolidation and reduced risk exposure.
Market Structure Insights : By monitoring swing highs and lows alongside break confirmations, traders can identify where institutional players are likely active. Areas with multiple structural breaks or overlapping targets can indicate liquidity hotspots, potential reversal zones, or areas of market congestion.
Trade Management : The built-in trade zones allow traders to visualize entry, risk, and reward simultaneously. Progressive targets (TP1, TP2, TP3) reflect incremental profit-taking strategies, while dynamic stop-loss levels help preserve capital during adverse moves.
Strategy Integration
Smart Money Trades Pro supports a range of trading approaches:
Trend Following : Enter trades in the direction of confirmed BOS while using CHoCH markers and trend-colored candles to validate momentum.
Pullback Entries : Use failed breakout retests or minor reversals toward broken structure levels for lower-risk entries.
Mean Reversion : In consolidated zones with narrow ATR and repeated BOS/CHoCH activity, anticipate reversals or short-term corrective moves.
Multi-Timeframe Confirmation : Overlay signals on higher or lower timeframes to filter noise and improve trade accuracy.
Stop-loss levels should be placed just beyond the opposing structural point, while take-profit targets can be scaled using the ATR-based zones. Progressive targets allow for partial exits or scaling out of trades while maintaining exposure to larger moves.
Advanced Techniques
Traders seeking greater precision can combine Smart Money Trades Pro with volume, momentum, or volatility indicators to validate signals. Observing sequences of BOS and CHoCH markers across multiple timeframes provides insight into liquidity accumulation and depletion trends. Tracking the expansion or contraction of ATR-based zones helps anticipate shifts in volatility, enabling better timing for entries and exits.
Customizing the structure period and confirmation type allows the indicator to adapt to different asset classes and timeframes. Shorter periods increase sensitivity to smaller swings, while longer periods filter noise and emphasize higher-probability structural breaks. By integrating these features, the indicator offers a robust statistical framework for disciplined, data-driven trading decisions.
Inputs and Customization
Structure Detection Period : Defines the lookback window for pivot high and low calculation.
Break Confirmation : Choose whether to confirm breaks using candle body or wick.
Display CHoCH : Toggle visibility of change-of-character markers.
Color Trend Bars : Enable color-coding of candles based on market structure direction.
Show Info Table : Display trade dashboard showing entry, stop-loss, take-profits, risk/reward, and bias.
Table Position : Choose from top-left, top-right, bottom-left, or bottom-right placement.
Color Customization : Configure bullish, bearish, neutral, risk, reward, and text colors for enhanced visual clarity.
Why Use Smart Money Trades Pro
Smart Money Trades Pro transforms complex market behavior into an actionable visual framework. By combining market structure analysis, liquidity tracking, ATR-based risk/reward mapping, and a dynamic trade dashboard, it provides a multidimensional view of the market. Traders can focus on execution, interpret trends, and evaluate overextensions or reversals without relying on guesswork. The indicator is suitable for scalping, intraday, and swing strategies, offering a comprehensive system for understanding and trading alongside institutional participants.
Trading Macro Windows by BW v2
Trading Macros by BW: Integrating ICT Concepts for Session Analysis
This indicator combines two key Inner Circle Trader (ICT) concepts—Change in State of Delivery (CISD) or Inverted Fair Value Gap (IFVG) signals with Macro Time Windows—to provide a unified tool for analyzing intraday price action, particularly during Pacific Time (PT) sessions. Rather than simply merging existing scripts, this integration creates a cohesive visual framework that highlights how macro consolidation periods interact with potential reversal or continuation signals like CISD or IFVG. By overlaying macro candle styling and borders on the chart alongside selectable signal lines, traders can better contextualize setups within ICT's macro narrative, where price often manipulates liquidity during these windows before displacing toward higher-timeframe objectives.
Core Components and How They Work Together:
Macro Time Windows (Inspired by ICT's Macro Periods):
ICT emphasizes "macro" as 30-minute windows (e.g., 06:45–07:15 PT, 07:45–08:15 PT, up to 11:45–12:15 PT) where price tends to consolidate, sweep liquidity, or form key structures like Fair Value Gaps (FVGs). These periods set the stage for the session's directional bias.
The indicator styles candles within these windows using a user-defined color for wicks, borders, and bodies (translucent for visibility). This visual emphasis helps traders focus on activity inside macros, where reversals or continuations often originate.
Borders are drawn as vertical lines at the start and end of each window (with a +5 minute buffer to capture related activity), using a dotted style by default. This creates a "study zone" that encapsulates macro events, allowing traders to assess if price is respecting or violating these zones in alignment with broader ICT models like the Power of 3 (AMD cycle).
Toggle: "Macro Candles Enabled" (default: true) – Turn off to disable styling and borders if focusing solely on signals.
CISD or IFVG Signals (Selectable Mode):
Mode Selection: Choose between "Change in the State of Delivery" (CISD) or "IFVG" (default: IFVG). Both detect shifts in market delivery during specific 30-minute slices (15–45 or 17–45 minutes past the hour in PT sessions).
CISD Mode: Based on ICT's definition of a sudden directional shift, this identifies aggressive displacements after sweeping recent highs/lows. It uses a rolling reference high/low over 6 bars, checks for sweeps (penetrating by at least 2 ticks in the last 2-3 bars), reclamation (closing beyond the reference with at least 50% body), and displacement (50% of prior range or an immediate FVG of 6+ ticks). Signals plot a horizontal line from the close, extending 24 bars right, labeled "CISD."
IFVG Mode: Focuses on Inverted Fair Value Gaps, where a bullish FVG (low > high by 13+ ticks) forms but is inverted (closed below) in the same slice, signaling bearish intent (or vice versa). This targets violations against opposing liquidity, often leading to raids on external ranges. Signals plot similarly, labeled "IFVG."
Shared Logic: Both modes enforce a 55-bar cooldown to prevent clustering, operate only during PT sessions (06:30–13:00), and use tick-based thresholds for precision across instruments. The integration with macros allows traders to see if signals occur within or at the edges of macro windows, enhancing confirmation—for example, a CISD inside a macro might indicate a manipulated reversal toward the session's true objective.
Toggle: "Signals Enabled" (default: true) – Turn off to hide all signal lines and labels, isolating the macro visualization.
How Components Interact:
Macro windows provide the "narrative context" (consolidation/manipulation), while CISD/IFVG signals detect the "delivery shift" (displacement). Together, they form a mashup that justifies publication: isolated signals can be noisy, but when filtered by macro periods, they align with ICT's session model. For instance, an IFVG inversion during a macro might confirm a liquidity sweep before targeting PD arrays or order blocks.
No external dependencies; all calculations are self-contained using Pine's built-in functions like ta.highest/lowest for references and time-based sessions for windows.
Usage Guidelines:
Apply to intraday charts (e.g., 1-5 min) or stocks during PT hours.
Look for confluence: A bull IFVG signal post-macro low sweep might target the next macro high or daily bias.
Customize colors/styles for signals (solid/dashed/dotted lines) and macros to suit your chart.
Backtest in replay mode to observe how macros frame signals—e.g., price often respects macro borders as S/R.
Limitations: Timezone-fixed to PT (America/Los_Angeles); signals are directional hints, not trade entries. Combine with ICT tools like order blocks or liquidity pools for full setups.
This script draws from community ICT implementations but refines them into a single, purpose-built tool for macro-driven trading, reducing chart clutter while emphasizing interconnected concepts. Feedback welcome!
Markov Chain [3D] | FractalystWhat exactly is a Markov Chain?
This indicator uses a Markov Chain model to analyze, quantify, and visualize the transitions between market regimes (Bull, Bear, Neutral) on your chart. It dynamically detects these regimes in real-time, calculates transition probabilities, and displays them as animated 3D spheres and arrows, giving traders intuitive insight into current and future market conditions.
How does a Markov Chain work, and how should I read this spheres-and-arrows diagram?
Think of three weather modes: Sunny, Rainy, Cloudy.
Each sphere is one mode. The loop on a sphere means “stay the same next step” (e.g., Sunny again tomorrow).
The arrows leaving a sphere show where things usually go next if they change (e.g., Sunny moving to Cloudy).
Some paths matter more than others. A more prominent loop means the current mode tends to persist. A more prominent outgoing arrow means a change to that destination is the usual next step.
Direction isn’t symmetric: moving Sunny→Cloudy can behave differently than Cloudy→Sunny.
Now relabel the spheres to markets: Bull, Bear, Neutral.
Spheres: market regimes (uptrend, downtrend, range).
Self‑loop: tendency for the current regime to continue on the next bar.
Arrows: the most common next regime if a switch happens.
How to read: Start at the sphere that matches current bar state. If the loop stands out, expect continuation. If one outgoing path stands out, that switch is the typical next step. Opposite directions can differ (Bear→Neutral doesn’t have to match Neutral→Bear).
What states and transitions are shown?
The three market states visualized are:
Bullish (Bull): Upward or strong-market regime.
Bearish (Bear): Downward or weak-market regime.
Neutral: Sideways or range-bound regime.
Bidirectional animated arrows and probability labels show how likely the market is to move from one regime to another (e.g., Bull → Bear or Neutral → Bull).
How does the regime detection system work?
You can use either built-in price returns (based on adaptive Z-score normalization) or supply three custom indicators (such as volume, oscillators, etc.).
Values are statistically normalized (Z-scored) over a configurable lookback period.
The normalized outputs are classified into Bull, Bear, or Neutral zones.
If using three indicators, their regime signals are averaged and smoothed for robustness.
How are transition probabilities calculated?
On every confirmed bar, the algorithm tracks the sequence of detected market states, then builds a rolling window of transitions.
The code maintains a transition count matrix for all regime pairs (e.g., Bull → Bear).
Transition probabilities are extracted for each possible state change using Laplace smoothing for numerical stability, and frequently updated in real-time.
What is unique about the visualization?
3D animated spheres represent each regime and change visually when active.
Animated, bidirectional arrows reveal transition probabilities and allow you to see both dominant and less likely regime flows.
Particles (moving dots) animate along the arrows, enhancing the perception of regime flow direction and speed.
All elements dynamically update with each new price bar, providing a live market map in an intuitive, engaging format.
Can I use custom indicators for regime classification?
Yes! Enable the "Custom Indicators" switch and select any three chart series as inputs. These will be normalized and combined (each with equal weight), broadening the regime classification beyond just price-based movement.
What does the “Lookback Period” control?
Lookback Period (default: 100) sets how much historical data builds the probability matrix. Shorter periods adapt faster to regime changes but may be noisier. Longer periods are more stable but slower to adapt.
How is this different from a Hidden Markov Model (HMM)?
It sets the window for both regime detection and probability calculations. Lower values make the system more reactive, but potentially noisier. Higher values smooth estimates and make the system more robust.
How is this Markov Chain different from a Hidden Markov Model (HMM)?
Markov Chain (as here): All market regimes (Bull, Bear, Neutral) are directly observable on the chart. The transition matrix is built from actual detected regimes, keeping the model simple and interpretable.
Hidden Markov Model: The actual regimes are unobservable ("hidden") and must be inferred from market output or indicator "emissions" using statistical learning algorithms. HMMs are more complex, can capture more subtle structure, but are harder to visualize and require additional machine learning steps for training.
A standard Markov Chain models transitions between observable states using a simple transition matrix, while a Hidden Markov Model assumes the true states are hidden (latent) and must be inferred from observable “emissions” like price or volume data. In practical terms, a Markov Chain is transparent and easier to implement and interpret; an HMM is more expressive but requires statistical inference to estimate hidden states from data.
Markov Chain: states are observable; you directly count or estimate transition probabilities between visible states. This makes it simpler, faster, and easier to validate and tune.
HMM: states are hidden; you only observe emissions generated by those latent states. Learning involves machine learning/statistical algorithms (commonly Baum–Welch/EM for training and Viterbi for decoding) to infer both the transition dynamics and the most likely hidden state sequence from data.
How does the indicator avoid “repainting” or look-ahead bias?
All regime changes and matrix updates happen only on confirmed (closed) bars, so no future data is leaked, ensuring reliable real-time operation.
Are there practical tuning tips?
Tune the Lookback Period for your asset/timeframe: shorter for fast markets, longer for stability.
Use custom indicators if your asset has unique regime drivers.
Watch for rapid changes in transition probabilities as early warning of a possible regime shift.
Who is this indicator for?
Quants and quantitative researchers exploring probabilistic market modeling, especially those interested in regime-switching dynamics and Markov models.
Programmers and system developers who need a probabilistic regime filter for systematic and algorithmic backtesting:
The Markov Chain indicator is ideally suited for programmatic integration via its bias output (1 = Bull, 0 = Neutral, -1 = Bear).
Although the visualization is engaging, the core output is designed for automated, rules-based workflows—not for discretionary/manual trading decisions.
Developers can connect the indicator’s output directly to their Pine Script logic (using input.source()), allowing rapid and robust backtesting of regime-based strategies.
It acts as a plug-and-play regime filter: simply plug the bias output into your entry/exit logic, and you have a scientifically robust, probabilistically-derived signal for filtering, timing, position sizing, or risk regimes.
The MC's output is intentionally "trinary" (1/0/-1), focusing on clear regime states for unambiguous decision-making in code. If you require nuanced, multi-probability or soft-label state vectors, consider expanding the indicator or stacking it with a probability-weighted logic layer in your scripting.
Because it avoids subjectivity, this approach is optimal for systematic quants, algo developers building backtested, repeatable strategies based on probabilistic regime analysis.
What's the mathematical foundation behind this?
The mathematical foundation behind this Markov Chain indicator—and probabilistic regime detection in finance—draws from two principal models: the (standard) Markov Chain and the Hidden Markov Model (HMM).
How to use this indicator programmatically?
The Markov Chain indicator automatically exports a bias value (+1 for Bullish, -1 for Bearish, 0 for Neutral) as a plot visible in the Data Window. This allows you to integrate its regime signal into your own scripts and strategies for backtesting, automation, or live trading.
Step-by-Step Integration with Pine Script (input.source)
Add the Markov Chain indicator to your chart.
This must be done first, since your custom script will "pull" the bias signal from the indicator's plot.
In your strategy, create an input using input.source()
Example:
//@version=5
strategy("MC Bias Strategy Example")
mcBias = input.source(close, "MC Bias Source")
After saving, go to your script’s settings. For the “MC Bias Source” input, select the plot/output of the Markov Chain indicator (typically its bias plot).
Use the bias in your trading logic
Example (long only on Bull, flat otherwise):
if mcBias == 1
strategy.entry("Long", strategy.long)
else
strategy.close("Long")
For more advanced workflows, combine mcBias with additional filters or trailing stops.
How does this work behind-the-scenes?
TradingView’s input.source() lets you use any plot from another indicator as a real-time, “live” data feed in your own script (source).
The selected bias signal is available to your Pine code as a variable, enabling logical decisions based on regime (trend-following, mean-reversion, etc.).
This enables powerful strategy modularity : decouple regime detection from entry/exit logic, allowing fast experimentation without rewriting core signal code.
Integrating 45+ Indicators with Your Markov Chain — How & Why
The Enhanced Custom Indicators Export script exports a massive suite of over 45 technical indicators—ranging from classic momentum (RSI, MACD, Stochastic, etc.) to trend, volume, volatility, and oscillator tools—all pre-calculated, centered/scaled, and available as plots.
// Enhanced Custom Indicators Export - 45 Technical Indicators
// Comprehensive technical analysis suite for advanced market regime detection
//@version=6
indicator('Enhanced Custom Indicators Export | Fractalyst', shorttitle='Enhanced CI Export', overlay=false, scale=scale.right, max_labels_count=500, max_lines_count=500)
// |----- Input Parameters -----| //
momentum_group = "Momentum Indicators"
trend_group = "Trend Indicators"
volume_group = "Volume Indicators"
volatility_group = "Volatility Indicators"
oscillator_group = "Oscillator Indicators"
display_group = "Display Settings"
// Common lengths
length_14 = input.int(14, "Standard Length (14)", minval=1, maxval=100, group=momentum_group)
length_20 = input.int(20, "Medium Length (20)", minval=1, maxval=200, group=trend_group)
length_50 = input.int(50, "Long Length (50)", minval=1, maxval=200, group=trend_group)
// Display options
show_table = input.bool(true, "Show Values Table", group=display_group)
table_size = input.string("Small", "Table Size", options= , group=display_group)
// |----- MOMENTUM INDICATORS (15 indicators) -----| //
// 1. RSI (Relative Strength Index)
rsi_14 = ta.rsi(close, length_14)
rsi_centered = rsi_14 - 50
// 2. Stochastic Oscillator
stoch_k = ta.stoch(close, high, low, length_14)
stoch_d = ta.sma(stoch_k, 3)
stoch_centered = stoch_k - 50
// 3. Williams %R
williams_r = ta.stoch(close, high, low, length_14) - 100
// 4. MACD (Moving Average Convergence Divergence)
= ta.macd(close, 12, 26, 9)
// 5. Momentum (Rate of Change)
momentum = ta.mom(close, length_14)
momentum_pct = (momentum / close ) * 100
// 6. Rate of Change (ROC)
roc = ta.roc(close, length_14)
// 7. Commodity Channel Index (CCI)
cci = ta.cci(close, length_20)
// 8. Money Flow Index (MFI)
mfi = ta.mfi(close, length_14)
mfi_centered = mfi - 50
// 9. Awesome Oscillator (AO)
ao = ta.sma(hl2, 5) - ta.sma(hl2, 34)
// 10. Accelerator Oscillator (AC)
ac = ao - ta.sma(ao, 5)
// 11. Chande Momentum Oscillator (CMO)
cmo = ta.cmo(close, length_14)
// 12. Detrended Price Oscillator (DPO)
dpo = close - ta.sma(close, length_20)
// 13. Price Oscillator (PPO)
ppo = ta.sma(close, 12) - ta.sma(close, 26)
ppo_pct = (ppo / ta.sma(close, 26)) * 100
// 14. TRIX
trix_ema1 = ta.ema(close, length_14)
trix_ema2 = ta.ema(trix_ema1, length_14)
trix_ema3 = ta.ema(trix_ema2, length_14)
trix = ta.roc(trix_ema3, 1) * 10000
// 15. Klinger Oscillator
klinger = ta.ema(volume * (high + low + close) / 3, 34) - ta.ema(volume * (high + low + close) / 3, 55)
// 16. Fisher Transform
fisher_hl2 = 0.5 * (hl2 - ta.lowest(hl2, 10)) / (ta.highest(hl2, 10) - ta.lowest(hl2, 10)) - 0.25
fisher = 0.5 * math.log((1 + fisher_hl2) / (1 - fisher_hl2))
// 17. Stochastic RSI
stoch_rsi = ta.stoch(rsi_14, rsi_14, rsi_14, length_14)
stoch_rsi_centered = stoch_rsi - 50
// 18. Relative Vigor Index (RVI)
rvi_num = ta.swma(close - open)
rvi_den = ta.swma(high - low)
rvi = rvi_den != 0 ? rvi_num / rvi_den : 0
// 19. Balance of Power (BOP)
bop = (close - open) / (high - low)
// |----- TREND INDICATORS (10 indicators) -----| //
// 20. Simple Moving Average Momentum
sma_20 = ta.sma(close, length_20)
sma_momentum = ((close - sma_20) / sma_20) * 100
// 21. Exponential Moving Average Momentum
ema_20 = ta.ema(close, length_20)
ema_momentum = ((close - ema_20) / ema_20) * 100
// 22. Parabolic SAR
sar = ta.sar(0.02, 0.02, 0.2)
sar_trend = close > sar ? 1 : -1
// 23. Linear Regression Slope
lr_slope = ta.linreg(close, length_20, 0) - ta.linreg(close, length_20, 1)
// 24. Moving Average Convergence (MAC)
mac = ta.sma(close, 10) - ta.sma(close, 30)
// 25. Trend Intensity Index (TII)
tii_sum = 0.0
for i = 1 to length_20
tii_sum += close > close ? 1 : 0
tii = (tii_sum / length_20) * 100
// 26. Ichimoku Cloud Components
ichimoku_tenkan = (ta.highest(high, 9) + ta.lowest(low, 9)) / 2
ichimoku_kijun = (ta.highest(high, 26) + ta.lowest(low, 26)) / 2
ichimoku_signal = ichimoku_tenkan > ichimoku_kijun ? 1 : -1
// 27. MESA Adaptive Moving Average (MAMA)
mama_alpha = 2.0 / (length_20 + 1)
mama = ta.ema(close, length_20)
mama_momentum = ((close - mama) / mama) * 100
// 28. Zero Lag Exponential Moving Average (ZLEMA)
zlema_lag = math.round((length_20 - 1) / 2)
zlema_data = close + (close - close )
zlema = ta.ema(zlema_data, length_20)
zlema_momentum = ((close - zlema) / zlema) * 100
// |----- VOLUME INDICATORS (6 indicators) -----| //
// 29. On-Balance Volume (OBV)
obv = ta.obv
// 30. Volume Rate of Change (VROC)
vroc = ta.roc(volume, length_14)
// 31. Price Volume Trend (PVT)
pvt = ta.pvt
// 32. Negative Volume Index (NVI)
nvi = 0.0
nvi := volume < volume ? nvi + ((close - close ) / close ) * nvi : nvi
// 33. Positive Volume Index (PVI)
pvi = 0.0
pvi := volume > volume ? pvi + ((close - close ) / close ) * pvi : pvi
// 34. Volume Oscillator
vol_osc = ta.sma(volume, 5) - ta.sma(volume, 10)
// 35. Ease of Movement (EOM)
eom_distance = high - low
eom_box_height = volume / 1000000
eom = eom_box_height != 0 ? eom_distance / eom_box_height : 0
eom_sma = ta.sma(eom, length_14)
// 36. Force Index
force_index = volume * (close - close )
force_index_sma = ta.sma(force_index, length_14)
// |----- VOLATILITY INDICATORS (10 indicators) -----| //
// 37. Average True Range (ATR)
atr = ta.atr(length_14)
atr_pct = (atr / close) * 100
// 38. Bollinger Bands Position
bb_basis = ta.sma(close, length_20)
bb_dev = 2.0 * ta.stdev(close, length_20)
bb_upper = bb_basis + bb_dev
bb_lower = bb_basis - bb_dev
bb_position = bb_dev != 0 ? (close - bb_basis) / bb_dev : 0
bb_width = bb_dev != 0 ? (bb_upper - bb_lower) / bb_basis * 100 : 0
// 39. Keltner Channels Position
kc_basis = ta.ema(close, length_20)
kc_range = ta.ema(ta.tr, length_20)
kc_upper = kc_basis + (2.0 * kc_range)
kc_lower = kc_basis - (2.0 * kc_range)
kc_position = kc_range != 0 ? (close - kc_basis) / kc_range : 0
// 40. Donchian Channels Position
dc_upper = ta.highest(high, length_20)
dc_lower = ta.lowest(low, length_20)
dc_basis = (dc_upper + dc_lower) / 2
dc_position = (dc_upper - dc_lower) != 0 ? (close - dc_basis) / (dc_upper - dc_lower) : 0
// 41. Standard Deviation
std_dev = ta.stdev(close, length_20)
std_dev_pct = (std_dev / close) * 100
// 42. Relative Volatility Index (RVI)
rvi_up = ta.stdev(close > close ? close : 0, length_14)
rvi_down = ta.stdev(close < close ? close : 0, length_14)
rvi_total = rvi_up + rvi_down
rvi_volatility = rvi_total != 0 ? (rvi_up / rvi_total) * 100 : 50
// 43. Historical Volatility
hv_returns = math.log(close / close )
hv = ta.stdev(hv_returns, length_20) * math.sqrt(252) * 100
// 44. Garman-Klass Volatility
gk_vol = math.log(high/low) * math.log(high/low) - (2*math.log(2)-1) * math.log(close/open) * math.log(close/open)
gk_volatility = math.sqrt(ta.sma(gk_vol, length_20)) * 100
// 45. Parkinson Volatility
park_vol = math.log(high/low) * math.log(high/low)
parkinson = math.sqrt(ta.sma(park_vol, length_20) / (4 * math.log(2))) * 100
// 46. Rogers-Satchell Volatility
rs_vol = math.log(high/close) * math.log(high/open) + math.log(low/close) * math.log(low/open)
rogers_satchell = math.sqrt(ta.sma(rs_vol, length_20)) * 100
// |----- OSCILLATOR INDICATORS (5 indicators) -----| //
// 47. Elder Ray Index
elder_bull = high - ta.ema(close, 13)
elder_bear = low - ta.ema(close, 13)
elder_power = elder_bull + elder_bear
// 48. Schaff Trend Cycle (STC)
stc_macd = ta.ema(close, 23) - ta.ema(close, 50)
stc_k = ta.stoch(stc_macd, stc_macd, stc_macd, 10)
stc_d = ta.ema(stc_k, 3)
stc = ta.stoch(stc_d, stc_d, stc_d, 10)
// 49. Coppock Curve
coppock_roc1 = ta.roc(close, 14)
coppock_roc2 = ta.roc(close, 11)
coppock = ta.wma(coppock_roc1 + coppock_roc2, 10)
// 50. Know Sure Thing (KST)
kst_roc1 = ta.roc(close, 10)
kst_roc2 = ta.roc(close, 15)
kst_roc3 = ta.roc(close, 20)
kst_roc4 = ta.roc(close, 30)
kst = ta.sma(kst_roc1, 10) + 2*ta.sma(kst_roc2, 10) + 3*ta.sma(kst_roc3, 10) + 4*ta.sma(kst_roc4, 15)
// 51. Percentage Price Oscillator (PPO)
ppo_line = ((ta.ema(close, 12) - ta.ema(close, 26)) / ta.ema(close, 26)) * 100
ppo_signal = ta.ema(ppo_line, 9)
ppo_histogram = ppo_line - ppo_signal
// |----- PLOT MAIN INDICATORS -----| //
// Plot key momentum indicators
plot(rsi_centered, title="01_RSI_Centered", color=color.purple, linewidth=1)
plot(stoch_centered, title="02_Stoch_Centered", color=color.blue, linewidth=1)
plot(williams_r, title="03_Williams_R", color=color.red, linewidth=1)
plot(macd_histogram, title="04_MACD_Histogram", color=color.orange, linewidth=1)
plot(cci, title="05_CCI", color=color.green, linewidth=1)
// Plot trend indicators
plot(sma_momentum, title="06_SMA_Momentum", color=color.navy, linewidth=1)
plot(ema_momentum, title="07_EMA_Momentum", color=color.maroon, linewidth=1)
plot(sar_trend, title="08_SAR_Trend", color=color.teal, linewidth=1)
plot(lr_slope, title="09_LR_Slope", color=color.lime, linewidth=1)
plot(mac, title="10_MAC", color=color.fuchsia, linewidth=1)
// Plot volatility indicators
plot(atr_pct, title="11_ATR_Pct", color=color.yellow, linewidth=1)
plot(bb_position, title="12_BB_Position", color=color.aqua, linewidth=1)
plot(kc_position, title="13_KC_Position", color=color.olive, linewidth=1)
plot(std_dev_pct, title="14_StdDev_Pct", color=color.silver, linewidth=1)
plot(bb_width, title="15_BB_Width", color=color.gray, linewidth=1)
// Plot volume indicators
plot(vroc, title="16_VROC", color=color.blue, linewidth=1)
plot(eom_sma, title="17_EOM", color=color.red, linewidth=1)
plot(vol_osc, title="18_Vol_Osc", color=color.green, linewidth=1)
plot(force_index_sma, title="19_Force_Index", color=color.orange, linewidth=1)
plot(obv, title="20_OBV", color=color.purple, linewidth=1)
// Plot additional oscillators
plot(ao, title="21_Awesome_Osc", color=color.navy, linewidth=1)
plot(cmo, title="22_CMO", color=color.maroon, linewidth=1)
plot(dpo, title="23_DPO", color=color.teal, linewidth=1)
plot(trix, title="24_TRIX", color=color.lime, linewidth=1)
plot(fisher, title="25_Fisher", color=color.fuchsia, linewidth=1)
// Plot more momentum indicators
plot(mfi_centered, title="26_MFI_Centered", color=color.yellow, linewidth=1)
plot(ac, title="27_AC", color=color.aqua, linewidth=1)
plot(ppo_pct, title="28_PPO_Pct", color=color.olive, linewidth=1)
plot(stoch_rsi_centered, title="29_StochRSI_Centered", color=color.silver, linewidth=1)
plot(klinger, title="30_Klinger", color=color.gray, linewidth=1)
// Plot trend continuation
plot(tii, title="31_TII", color=color.blue, linewidth=1)
plot(ichimoku_signal, title="32_Ichimoku_Signal", color=color.red, linewidth=1)
plot(mama_momentum, title="33_MAMA_Momentum", color=color.green, linewidth=1)
plot(zlema_momentum, title="34_ZLEMA_Momentum", color=color.orange, linewidth=1)
plot(bop, title="35_BOP", color=color.purple, linewidth=1)
// Plot volume continuation
plot(nvi, title="36_NVI", color=color.navy, linewidth=1)
plot(pvi, title="37_PVI", color=color.maroon, linewidth=1)
plot(momentum_pct, title="38_Momentum_Pct", color=color.teal, linewidth=1)
plot(roc, title="39_ROC", color=color.lime, linewidth=1)
plot(rvi, title="40_RVI", color=color.fuchsia, linewidth=1)
// Plot volatility continuation
plot(dc_position, title="41_DC_Position", color=color.yellow, linewidth=1)
plot(rvi_volatility, title="42_RVI_Volatility", color=color.aqua, linewidth=1)
plot(hv, title="43_Historical_Vol", color=color.olive, linewidth=1)
plot(gk_volatility, title="44_GK_Volatility", color=color.silver, linewidth=1)
plot(parkinson, title="45_Parkinson_Vol", color=color.gray, linewidth=1)
// Plot final oscillators
plot(rogers_satchell, title="46_RS_Volatility", color=color.blue, linewidth=1)
plot(elder_power, title="47_Elder_Power", color=color.red, linewidth=1)
plot(stc, title="48_STC", color=color.green, linewidth=1)
plot(coppock, title="49_Coppock", color=color.orange, linewidth=1)
plot(kst, title="50_KST", color=color.purple, linewidth=1)
// Plot final indicators
plot(ppo_histogram, title="51_PPO_Histogram", color=color.navy, linewidth=1)
plot(pvt, title="52_PVT", color=color.maroon, linewidth=1)
// |----- Reference Lines -----| //
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dashed, linewidth=1)
hline(50, "Midline", color=color.gray, linestyle=hline.style_dotted, linewidth=1)
hline(-50, "Lower Midline", color=color.gray, linestyle=hline.style_dotted, linewidth=1)
hline(25, "Upper Threshold", color=color.gray, linestyle=hline.style_dotted, linewidth=1)
hline(-25, "Lower Threshold", color=color.gray, linestyle=hline.style_dotted, linewidth=1)
// |----- Enhanced Information Table -----| //
if show_table and barstate.islast
table_position = position.top_right
table_text_size = table_size == "Tiny" ? size.tiny : table_size == "Small" ? size.small : size.normal
var table info_table = table.new(table_position, 3, 18, bgcolor=color.new(color.white, 85), border_width=1, border_color=color.gray)
// Headers
table.cell(info_table, 0, 0, 'Category', text_color=color.black, text_size=table_text_size, bgcolor=color.new(color.blue, 70))
table.cell(info_table, 1, 0, 'Indicator', text_color=color.black, text_size=table_text_size, bgcolor=color.new(color.blue, 70))
table.cell(info_table, 2, 0, 'Value', text_color=color.black, text_size=table_text_size, bgcolor=color.new(color.blue, 70))
// Key Momentum Indicators
table.cell(info_table, 0, 1, 'MOMENTUM', text_color=color.purple, text_size=table_text_size, bgcolor=color.new(color.purple, 90))
table.cell(info_table, 1, 1, 'RSI Centered', text_color=color.purple, text_size=table_text_size)
table.cell(info_table, 2, 1, str.tostring(rsi_centered, '0.00'), text_color=color.purple, text_size=table_text_size)
table.cell(info_table, 0, 2, '', text_color=color.blue, text_size=table_text_size)
table.cell(info_table, 1, 2, 'Stoch Centered', text_color=color.blue, text_size=table_text_size)
table.cell(info_table, 2, 2, str.tostring(stoch_centered, '0.00'), text_color=color.blue, text_size=table_text_size)
table.cell(info_table, 0, 3, '', text_color=color.red, text_size=table_text_size)
table.cell(info_table, 1, 3, 'Williams %R', text_color=color.red, text_size=table_text_size)
table.cell(info_table, 2, 3, str.tostring(williams_r, '0.00'), text_color=color.red, text_size=table_text_size)
table.cell(info_table, 0, 4, '', text_color=color.orange, text_size=table_text_size)
table.cell(info_table, 1, 4, 'MACD Histogram', text_color=color.orange, text_size=table_text_size)
table.cell(info_table, 2, 4, str.tostring(macd_histogram, '0.000'), text_color=color.orange, text_size=table_text_size)
table.cell(info_table, 0, 5, '', text_color=color.green, text_size=table_text_size)
table.cell(info_table, 1, 5, 'CCI', text_color=color.green, text_size=table_text_size)
table.cell(info_table, 2, 5, str.tostring(cci, '0.00'), text_color=color.green, text_size=table_text_size)
// Key Trend Indicators
table.cell(info_table, 0, 6, 'TREND', text_color=color.navy, text_size=table_text_size, bgcolor=color.new(color.navy, 90))
table.cell(info_table, 1, 6, 'SMA Momentum %', text_color=color.navy, text_size=table_text_size)
table.cell(info_table, 2, 6, str.tostring(sma_momentum, '0.00'), text_color=color.navy, text_size=table_text_size)
table.cell(info_table, 0, 7, '', text_color=color.maroon, text_size=table_text_size)
table.cell(info_table, 1, 7, 'EMA Momentum %', text_color=color.maroon, text_size=table_text_size)
table.cell(info_table, 2, 7, str.tostring(ema_momentum, '0.00'), text_color=color.maroon, text_size=table_text_size)
table.cell(info_table, 0, 8, '', text_color=color.teal, text_size=table_text_size)
table.cell(info_table, 1, 8, 'SAR Trend', text_color=color.teal, text_size=table_text_size)
table.cell(info_table, 2, 8, str.tostring(sar_trend, '0'), text_color=color.teal, text_size=table_text_size)
table.cell(info_table, 0, 9, '', text_color=color.lime, text_size=table_text_size)
table.cell(info_table, 1, 9, 'Linear Regression', text_color=color.lime, text_size=table_text_size)
table.cell(info_table, 2, 9, str.tostring(lr_slope, '0.000'), text_color=color.lime, text_size=table_text_size)
// Key Volatility Indicators
table.cell(info_table, 0, 10, 'VOLATILITY', text_color=color.yellow, text_size=table_text_size, bgcolor=color.new(color.yellow, 90))
table.cell(info_table, 1, 10, 'ATR %', text_color=color.yellow, text_size=table_text_size)
table.cell(info_table, 2, 10, str.tostring(atr_pct, '0.00'), text_color=color.yellow, text_size=table_text_size)
table.cell(info_table, 0, 11, '', text_color=color.aqua, text_size=table_text_size)
table.cell(info_table, 1, 11, 'BB Position', text_color=color.aqua, text_size=table_text_size)
table.cell(info_table, 2, 11, str.tostring(bb_position, '0.00'), text_color=color.aqua, text_size=table_text_size)
table.cell(info_table, 0, 12, '', text_color=color.olive, text_size=table_text_size)
table.cell(info_table, 1, 12, 'KC Position', text_color=color.olive, text_size=table_text_size)
table.cell(info_table, 2, 12, str.tostring(kc_position, '0.00'), text_color=color.olive, text_size=table_text_size)
// Key Volume Indicators
table.cell(info_table, 0, 13, 'VOLUME', text_color=color.blue, text_size=table_text_size, bgcolor=color.new(color.blue, 90))
table.cell(info_table, 1, 13, 'Volume ROC', text_color=color.blue, text_size=table_text_size)
table.cell(info_table, 2, 13, str.tostring(vroc, '0.00'), text_color=color.blue, text_size=table_text_size)
table.cell(info_table, 0, 14, '', text_color=color.red, text_size=table_text_size)
table.cell(info_table, 1, 14, 'EOM', text_color=color.red, text_size=table_text_size)
table.cell(info_table, 2, 14, str.tostring(eom_sma, '0.000'), text_color=color.red, text_size=table_text_size)
// Key Oscillators
table.cell(info_table, 0, 15, 'OSCILLATORS', text_color=color.purple, text_size=table_text_size, bgcolor=color.new(color.purple, 90))
table.cell(info_table, 1, 15, 'Awesome Osc', text_color=color.blue, text_size=table_text_size)
table.cell(info_table, 2, 15, str.tostring(ao, '0.000'), text_color=color.blue, text_size=table_text_size)
table.cell(info_table, 0, 16, '', text_color=color.red, text_size=table_text_size)
table.cell(info_table, 1, 16, 'Fisher Transform', text_color=color.red, text_size=table_text_size)
table.cell(info_table, 2, 16, str.tostring(fisher, '0.000'), text_color=color.red, text_size=table_text_size)
// Summary Statistics
table.cell(info_table, 0, 17, 'SUMMARY', text_color=color.black, text_size=table_text_size, bgcolor=color.new(color.gray, 70))
table.cell(info_table, 1, 17, 'Total Indicators: 52', text_color=color.black, text_size=table_text_size)
regime_color = rsi_centered > 10 ? color.green : rsi_centered < -10 ? color.red : color.gray
regime_text = rsi_centered > 10 ? "BULLISH" : rsi_centered < -10 ? "BEARISH" : "NEUTRAL"
table.cell(info_table, 2, 17, regime_text, text_color=regime_color, text_size=table_text_size)
This makes it the perfect “indicator backbone” for quantitative and systematic traders who want to prototype, combine, and test new regime detection models—especially in combination with the Markov Chain indicator.
How to use this script with the Markov Chain for research and backtesting:
Add the Enhanced Indicator Export to your chart.
Every calculated indicator is available as an individual data stream.
Connect the indicator(s) you want as custom input(s) to the Markov Chain’s “Custom Indicators” option.
In the Markov Chain indicator’s settings, turn ON the custom indicator mode.
For each of the three custom indicator inputs, select the exported plot from the Enhanced Export script—the menu lists all 45+ signals by name.
This creates a powerful, modular regime-detection engine where you can mix-and-match momentum, trend, volume, or custom combinations for advanced filtering.
Backtest regime logic directly.
Once you’ve connected your chosen indicators, the Markov Chain script performs regime detection (Bull/Neutral/Bear) based on your selected features—not just price returns.
The regime detection is robust, automatically normalized (using Z-score), and outputs bias (1, -1, 0) for plug-and-play integration.
Export the regime bias for programmatic use.
As described above, use input.source() in your Pine Script strategy or system and link the bias output.
You can now filter signals, control trade direction/size, or design pairs-trading that respect true, indicator-driven market regimes.
With this framework, you’re not limited to static or simplistic regime filters. You can rigorously define, test, and refine what “market regime” means for your strategies—using the technical features that matter most to you.
Optimize your signal generation by backtesting across a universe of meaningful indicator blends.
Enhance risk management with objective, real-time regime boundaries.
Accelerate your research: iterate quickly, swap indicator components, and see results with minimal code changes.
Automate multi-asset or pairs-trading by integrating regime context directly into strategy logic.
Add both scripts to your chart, connect your preferred features, and start investigating your best regime-based trades—entirely within the TradingView ecosystem.
References & Further Reading
Ang, A., & Bekaert, G. (2002). “Regime Switches in Interest Rates.” Journal of Business & Economic Statistics, 20(2), 163–182.
Hamilton, J. D. (1989). “A New Approach to the Economic Analysis of Nonstationary Time Series and the Business Cycle.” Econometrica, 57(2), 357–384.
Markov, A. A. (1906). "Extension of the Limit Theorems of Probability Theory to a Sum of Variables Connected in a Chain." The Notes of the Imperial Academy of Sciences of St. Petersburg.
Guidolin, M., & Timmermann, A. (2007). “Asset Allocation under Multivariate Regime Switching.” Journal of Economic Dynamics and Control, 31(11), 3503–3544.
Murphy, J. J. (1999). Technical Analysis of the Financial Markets. New York Institute of Finance.
Brock, W., Lakonishok, J., & LeBaron, B. (1992). “Simple Technical Trading Rules and the Stochastic Properties of Stock Returns.” Journal of Finance, 47(5), 1731–1764.
Zucchini, W., MacDonald, I. L., & Langrock, R. (2017). Hidden Markov Models for Time Series: An Introduction Using R (2nd ed.). Chapman and Hall/CRC.
On Quantitative Finance and Markov Models:
Lo, A. W., & Hasanhodzic, J. (2009). The Heretics of Finance: Conversations with Leading Practitioners of Technical Analysis. Bloomberg Press.
Patterson, S. (2016). The Man Who Solved the Market: How Jim Simons Launched the Quant Revolution. Penguin Press.
TradingView Pine Script Documentation: www.tradingview.com
TradingView Blog: “Use an Input From Another Indicator With Your Strategy” www.tradingview.com
GeeksforGeeks: “What is the Difference Between Markov Chains and Hidden Markov Models?” www.geeksforgeeks.org
What makes this indicator original and unique?
- On‑chart, real‑time Markov. The chain is drawn directly on your chart. You see the current regime, its tendency to stay (self‑loop), and the usual next step (arrows) as bars confirm.
- Source‑agnostic by design. The engine runs on any series you select via input.source() — price, your own oscillator, a composite score, anything you compute in the script.
- Automatic normalization + regime mapping. Different inputs live on different scales. The script standardizes your chosen source and maps it into clear regimes (e.g., Bull / Bear / Neutral) without you micromanaging thresholds each time.
- Rolling, bar‑by‑bar learning. Transition tendencies are computed from a rolling window of confirmed bars. What you see is exactly what the market did in that window.
- Fast experimentation. Switch the source, adjust the window, and the Markov view updates instantly. It’s a rapid way to test ideas and feel regime persistence/switch behavior.
Integrate your own signals (using input.source())
- In settings, choose the Source . This is powered by input.source() .
- Feed it price, an indicator you compute inside the script, or a custom composite series.
- The script will automatically normalize that series and process it through the Markov engine, mapping it to regimes and updating the on‑chart spheres/arrows in real time.
Credits:
Deep gratitude to @RicardoSantos for both the foundational Markov chain processing engine and inspiring open-source contributions, which made advanced probabilistic market modeling accessible to the TradingView community.
Special thanks to @Alien_Algorithms for the innovative and visually stunning 3D sphere logic that powers the indicator’s animated, regime-based visualization.
Disclaimer
This tool summarizes recent behavior. It is not financial advice and not a guarantee of future results.
MTF Dashboard 9 Timeframes + Signals# MTF Dashboard Pro - Multi-Timeframe Confluence Analysis System
## WHAT THIS SCRIPT DOES
This script creates a comprehensive dashboard that simultaneously analyzes market conditions across 9 different timeframes (1m, 5m, 15m, 30m, 1H, 4H, Daily, Weekly, Monthly) using a proprietary confluence scoring methodology. Unlike simple multi-timeframe displays that show individual indicators separately, this script combines trend analysis, momentum, volatility signals, and volume analysis into unified confluence scores for each timeframe.
## WHY THIS COMBINATION IS ORIGINAL AND USEFUL
**The Problem Solved:** Most traders manually check multiple timeframes and struggle to quickly assess overall market bias when different timeframes show conflicting signals. Existing MTF scripts typically display individual indicators without synthesizing them into actionable intelligence.
**The Solution:** This script implements a mathematical confluence algorithm that:
- Weights each indicator's signal strength (trend direction, RSI momentum, MACD volatility, volume analysis)
- Calculates normalized scores across all active timeframes
- Determines overall market bias with statistical confidence levels
- Provides instant visual feedback through color-coded symbols and star ratings
**Unique Features:**
1. **Confluence Scoring Algorithm**: Mathematically combines multiple indicator signals into a single confidence rating per timeframe
2. **Market Bias Engine**: Automatically calculates overall directional bias with percentage strength across all selected timeframes
3. **Dynamic Display System**: Real-time updates with customizable layouts, color schemes, and selective timeframe activation
4. **Statistical Analysis**: Provides bullish/bearish vote counts and overall confluence percentages
## HOW THE SCRIPT WORKS TECHNICALLY
### Core Calculation Methodology:
**1. Trend Analysis (EMA-based):**
- Fast EMA (default: 9) vs Slow EMA (default: 21) crossover analysis
- Returns values: +1 (bullish), -1 (bearish), 0 (neutral)
**2. Momentum Analysis (RSI-based):**
- RSI levels: >70 (strong bullish +2), >50 (bullish +1), <30 (strong bearish -2), <50 (bearish -1)
- Provides overbought/oversold context for trend confirmation
**3. Volatility Analysis (MACD-based):**
- MACD line vs Signal line positioning
- Histogram strength comparison with previous bar
- Combined score considering both direction and momentum strength
**4. Volume Analysis:**
- Current volume vs 20-period moving average
- Thresholds: >150% MA (strong +2), >100% MA (bullish +1), <50% MA (weak -2)
**5. Confluence Calculation:**
```
Confluence Score = (Trend + RSI + MACD + Volume) / 4.0
```
**6. Market Bias Determination:**
- Counts bullish vs bearish signals across all active timeframes
- Calculates bias strength percentage: |Bullish Count - Bearish Count| / Total Active TFs * 100
- Determines overall market direction: BULLISH, BEARISH, or NEUTRAL
### Multi-Timeframe Implementation:
Uses `request.security()` calls to fetch data from each timeframe, ensuring all calculations are performed on the respective timeframe's data rather than current chart timeframe, providing accurate multi-timeframe analysis.
## HOW TO USE THIS SCRIPT
### Initial Setup:
1. **Timeframe Selection**: Enable/disable specific timeframes in "Timeframe Selection" group based on your trading style
2. **Indicator Configuration**: Adjust EMA periods (Fast: 9, Slow: 21), RSI length (14), and MACD settings (12/26/9) to match your analysis preferences
3. **Display Options**: Choose table position, text size, and color scheme for optimal visibility
### Reading the Dashboard:
**Symbol Interpretation:**
- ⬆⬆ = Strong bullish signal (score ≥ 2)
- ⬆ = Bullish signal (score > 0)
- ➡ = Neutral signal (score = 0)
- ⬇ = Bearish signal (score < 0)
- ⬇⬇ = Strong bearish signal (score ≤ -2)
**Confluence Stars:**
- ★★★★★ = Very high confidence (score > 0.75)
- ★★★★☆ = High confidence (score > 0.5)
- ★★★☆☆ = Medium confidence (score > 0.25)
- ★★☆☆☆ = Low confidence (score > 0)
- ★☆☆☆☆ = Very low confidence (score > -0.25)
**Market Bias Section:**
- Shows overall market direction across all active timeframes
- Strength percentage indicates conviction level
- Overall confluence score represents average agreement across timeframes
### Trading Applications:
**Entry Signals:**
- Look for high confluence (4-5 stars) across multiple timeframes in same direction
- Higher timeframe alignment provides stronger signal validation
- Use confluence percentage >75% for high-probability setups
**Risk Management:**
- Lower timeframe conflicts may indicate choppy conditions
- Neutral bias suggests ranging market - adjust position sizing
- Strong bias with high confluence supports larger position sizes
**Timeframe Harmony:**
- Short-term trades: Focus on 1m-1H alignment
- Swing trades: Emphasize 1H-Daily alignment
- Position trades: Prioritize Daily-Monthly confluence
## SCRIPT SETTINGS EXPLANATION
### Dashboard Settings:
- **Table Position**: Choose optimal location (Top Right recommended for most layouts)
- **Text Size**: Adjust based on screen resolution and preferences
- **Color Scheme**: Professional (default), Classic, Vibrant, or Dark themes
- **Background Color/Transparency**: Customize table appearance
### Timeframe Selection:
All timeframes optional - activate based on trading timeframe preference:
- **Lower Timeframes (1m-30m)**: Scalping and day trading
- **Medium Timeframes (1H-4H)**: Swing trading
- **Higher Timeframes (D-M)**: Position trading and long-term bias
### Indicator Parameters:
- **Fast EMA (Default: 9)**: Shorter period for trend sensitivity
- **Slow EMA (Default: 21)**: Longer period for trend confirmation
- **RSI Length (Default: 14)**: Standard momentum calculation period
- **MACD Settings (12/26/9)**: Standard MACD configuration for volatility analysis
### Alert Configuration:
- **Strong Signals**: Alerts when confluence >75% with clear directional bias
- **High Confluence**: Alerts when multiple timeframes strongly agree
- All alerts use `alert.freq_once_per_bar` to prevent spam
## VISUAL FEATURES
### Chart Elements:
- **Background Coloring**: Subtle background tint reflects overall market bias
- **Signal Labels**: Strong buy/sell labels appear on chart during high-confluence signals
- **Clean Presentation**: Dashboard overlays chart without interfering with price action
### Color Coding:
- **Green/Bullish**: Various green shades for positive signals
- **Red/Bearish**: Various red shades for negative signals
- **Gray/Neutral**: Neutral color for conflicting or weak signals
- **Transparency**: Configurable transparency maintains chart readability
## IMPORTANT USAGE NOTES
**Realistic Expectations:**
- This tool provides analysis framework, not trading signals
- Always combine with proper risk management
- Past performance does not guarantee future results
- Market conditions can change rapidly - use appropriate position sizing
**Best Practices:**
- Verify signals with additional analysis methods
- Consider fundamental factors affecting the instrument
- Use appropriate timeframes for your trading style
- Regular parameter optimization may be beneficial for different market conditions
**Limitations:**
- Effectiveness may vary across different instruments and market conditions
- Confluence scoring is mathematical model - not predictive guarantee
- Requires understanding of underlying indicators for optimal use
This script serves as a comprehensive analysis tool for traders who need quick, organized access to multi-timeframe market information with statistical confidence levels.
Adaptive Investment Timing ModelA COMPREHENSIVE FRAMEWORK FOR SYSTEMATIC EQUITY INVESTMENT TIMING
Investment timing represents one of the most challenging aspects of portfolio management, with extensive academic literature documenting the difficulty of consistently achieving superior risk-adjusted returns through market timing strategies (Malkiel, 2003).
Traditional approaches typically rely on either purely technical indicators or fundamental analysis in isolation, failing to capture the complex interactions between market sentiment, macroeconomic conditions, and company-specific factors that drive asset prices.
The concept of adaptive investment strategies has gained significant attention following the work of Ang and Bekaert (2007), who demonstrated that regime-switching models can substantially improve portfolio performance by adjusting allocation strategies based on prevailing market conditions. Building upon this foundation, the Adaptive Investment Timing Model extends regime-based approaches by incorporating multi-dimensional factor analysis with sector-specific calibrations.
Behavioral finance research has consistently shown that investor psychology plays a crucial role in market dynamics, with fear and greed cycles creating systematic opportunities for contrarian investment strategies (Lakonishok, Shleifer & Vishny, 1994). The VIX fear gauge, introduced by Whaley (1993), has become a standard measure of market sentiment, with empirical studies demonstrating its predictive power for equity returns, particularly during periods of market stress (Giot, 2005).
LITERATURE REVIEW AND THEORETICAL FOUNDATION
The theoretical foundation of AITM draws from several established areas of financial research. Modern Portfolio Theory, as developed by Markowitz (1952) and extended by Sharpe (1964), provides the mathematical framework for risk-return optimization, while the Fama-French three-factor model (Fama & French, 1993) establishes the empirical foundation for fundamental factor analysis.
Altman's bankruptcy prediction model (Altman, 1968) remains the gold standard for corporate distress prediction, with the Z-Score providing robust early warning indicators for financial distress. Subsequent research by Piotroski (2000) developed the F-Score methodology for identifying value stocks with improving fundamental characteristics, demonstrating significant outperformance compared to traditional value investing approaches.
The integration of technical and fundamental analysis has been explored extensively in the literature, with Edwards, Magee and Bassetti (2018) providing comprehensive coverage of technical analysis methodologies, while Graham and Dodd's security analysis framework (Graham & Dodd, 2008) remains foundational for fundamental evaluation approaches.
Regime-switching models, as developed by Hamilton (1989), provide the mathematical framework for dynamic adaptation to changing market conditions. Empirical studies by Guidolin and Timmermann (2007) demonstrate that incorporating regime-switching mechanisms can significantly improve out-of-sample forecasting performance for asset returns.
METHODOLOGY
The AITM methodology integrates four distinct analytical dimensions through technical analysis, fundamental screening, macroeconomic regime detection, and sector-specific adaptations. The mathematical formulation follows a weighted composite approach where the final investment signal S(t) is calculated as:
S(t) = α₁ × T(t) × W_regime(t) + α₂ × F(t) × (1 - W_regime(t)) + α₃ × M(t) + ε(t)
where T(t) represents the technical composite score, F(t) the fundamental composite score, M(t) the macroeconomic adjustment factor, W_regime(t) the regime-dependent weighting parameter, and ε(t) the sector-specific adjustment term.
Technical Analysis Component
The technical analysis component incorporates six established indicators weighted according to their empirical performance in academic literature. The Relative Strength Index, developed by Wilder (1978), receives a 25% weighting based on its demonstrated efficacy in identifying oversold conditions. Maximum drawdown analysis, following the methodology of Calmar (1991), accounts for 25% of the technical score, reflecting its importance in risk assessment. Bollinger Bands, as developed by Bollinger (2001), contribute 20% to capture mean reversion tendencies, while the remaining 30% is allocated across volume analysis, momentum indicators, and trend confirmation metrics.
Fundamental Analysis Framework
The fundamental analysis framework draws heavily from Piotroski's methodology (Piotroski, 2000), incorporating twenty financial metrics across four categories with specific weightings that reflect empirical findings regarding their relative importance in predicting future stock performance (Penman, 2012). Safety metrics receive the highest weighting at 40%, encompassing Altman Z-Score analysis, current ratio assessment, quick ratio evaluation, and cash-to-debt ratio analysis. Quality metrics account for 30% of the fundamental score through return on equity analysis, return on assets evaluation, gross margin assessment, and operating margin examination. Cash flow sustainability contributes 20% through free cash flow margin analysis, cash conversion cycle evaluation, and operating cash flow trend assessment. Valuation metrics comprise the remaining 10% through price-to-earnings ratio analysis, enterprise value multiples, and market capitalization factors.
Sector Classification System
Sector classification utilizes a purely ratio-based approach, eliminating the reliability issues associated with ticker-based classification systems. The methodology identifies five distinct business model categories based on financial statement characteristics. Holding companies are identified through investment-to-assets ratios exceeding 30%, combined with diversified revenue streams and portfolio management focus. Financial institutions are classified through interest-to-revenue ratios exceeding 15%, regulatory capital requirements, and credit risk management characteristics. Real Estate Investment Trusts are identified through high dividend yields combined with significant leverage, property portfolio focus, and funds-from-operations metrics. Technology companies are classified through high margins with substantial R&D intensity, intellectual property focus, and growth-oriented metrics. Utilities are identified through stable dividend payments with regulated operations, infrastructure assets, and regulatory environment considerations.
Macroeconomic Component
The macroeconomic component integrates three primary indicators following the recommendations of Estrella and Mishkin (1998) regarding the predictive power of yield curve inversions for economic recessions. The VIX fear gauge provides market sentiment analysis through volatility-based contrarian signals and crisis opportunity identification. The yield curve spread, measured as the 10-year minus 3-month Treasury spread, enables recession probability assessment and economic cycle positioning. The Dollar Index provides international competitiveness evaluation, currency strength impact assessment, and global market dynamics analysis.
Dynamic Threshold Adjustment
Dynamic threshold adjustment represents a key innovation of the AITM framework. Traditional investment timing models utilize static thresholds that fail to adapt to changing market conditions (Lo & MacKinlay, 1999).
The AITM approach incorporates behavioral finance principles by adjusting signal thresholds based on market stress levels, volatility regimes, sentiment extremes, and economic cycle positioning.
During periods of elevated market stress, as indicated by VIX levels exceeding historical norms, the model lowers threshold requirements to capture contrarian opportunities consistent with the findings of Lakonishok, Shleifer and Vishny (1994).
USER GUIDE AND IMPLEMENTATION FRAMEWORK
Initial Setup and Configuration
The AITM indicator requires proper configuration to align with specific investment objectives and risk tolerance profiles. Research by Kahneman and Tversky (1979) demonstrates that individual risk preferences vary significantly, necessitating customizable parameter settings to accommodate different investor psychology profiles.
Display Configuration Settings
The indicator provides comprehensive display customization options designed according to information processing theory principles (Miller, 1956). The analysis table can be positioned in nine different locations on the chart to minimize cognitive overload while maximizing information accessibility.
Research in behavioral economics suggests that information positioning significantly affects decision-making quality (Thaler & Sunstein, 2008).
Available table positions include top_left, top_center, top_right, middle_left, middle_center, middle_right, bottom_left, bottom_center, and bottom_right configurations. Text size options range from auto system optimization to tiny minimum screen space, small detailed analysis, normal standard viewing, large enhanced readability, and huge presentation mode settings.
Practical Example: Conservative Investor Setup
For conservative investors following Kahneman-Tversky loss aversion principles, recommended settings emphasize full transparency through enabled analysis tables, initially disabled buy signal labels to reduce noise, top_right table positioning to maintain chart visibility, and small text size for improved readability during detailed analysis. Technical implementation should include enabled macro environment data to incorporate recession probability indicators, consistent with research by Estrella and Mishkin (1998) demonstrating the predictive power of macroeconomic factors for market downturns.
Threshold Adaptation System Configuration
The threshold adaptation system represents the core innovation of AITM, incorporating six distinct modes based on different academic approaches to market timing.
Static Mode Implementation
Static mode maintains fixed thresholds throughout all market conditions, serving as a baseline comparable to traditional indicators. Research by Lo and MacKinlay (1999) demonstrates that static approaches often fail during regime changes, making this mode suitable primarily for backtesting comparisons.
Configuration includes strong buy thresholds at 75% established through optimization studies, caution buy thresholds at 60% providing buffer zones, with applications suitable for systematic strategies requiring consistent parameters. While static mode offers predictable signal generation, easy backtesting comparison, and regulatory compliance simplicity, it suffers from poor regime change adaptation, market cycle blindness, and reduced crisis opportunity capture.
Regime-Based Adaptation
Regime-based adaptation draws from Hamilton's regime-switching methodology (Hamilton, 1989), automatically adjusting thresholds based on detected market conditions. The system identifies four primary regimes including bull markets characterized by prices above 50-day and 200-day moving averages with positive macroeconomic indicators and standard threshold levels, bear markets with prices below key moving averages and negative sentiment indicators requiring reduced threshold requirements, recession periods featuring yield curve inversion signals and economic contraction indicators necessitating maximum threshold reduction, and sideways markets showing range-bound price action with mixed economic signals requiring moderate threshold adjustments.
Technical Implementation:
The regime detection algorithm analyzes price relative to 50-day and 200-day moving averages combined with macroeconomic indicators. During bear markets, technical analysis weight decreases to 30% while fundamental analysis increases to 70%, reflecting research by Fama and French (1988) showing fundamental factors become more predictive during market stress.
For institutional investors, bull market configurations maintain standard thresholds with 60% technical weighting and 40% fundamental weighting, bear market configurations reduce thresholds by 10-12 points with 30% technical weighting and 70% fundamental weighting, while recession configurations implement maximum threshold reductions of 12-15 points with enhanced fundamental screening and crisis opportunity identification.
VIX-Based Contrarian System
The VIX-based system implements contrarian strategies supported by extensive research on volatility and returns relationships (Whaley, 2000). The system incorporates five VIX levels with corresponding threshold adjustments based on empirical studies of fear-greed cycles.
Scientific Calibration:
VIX levels are calibrated according to historical percentile distributions:
Extreme High (>40):
- Maximum contrarian opportunity
- Threshold reduction: 15-20 points
- Historical accuracy: 85%+
High (30-40):
- Significant contrarian potential
- Threshold reduction: 10-15 points
- Market stress indicator
Medium (25-30):
- Moderate adjustment
- Threshold reduction: 5-10 points
- Normal volatility range
Low (15-25):
- Minimal adjustment
- Standard threshold levels
- Complacency monitoring
Extreme Low (<15):
- Counter-contrarian positioning
- Threshold increase: 5-10 points
- Bubble warning signals
Practical Example: VIX-Based Implementation for Active Traders
High Fear Environment (VIX >35):
- Thresholds decrease by 10-15 points
- Enhanced contrarian positioning
- Crisis opportunity capture
Low Fear Environment (VIX <15):
- Thresholds increase by 8-15 points
- Reduced signal frequency
- Bubble risk management
Additional Macro Factors:
- Yield curve considerations
- Dollar strength impact
- Global volatility spillover
Hybrid Mode Optimization
Hybrid mode combines regime and VIX analysis through weighted averaging, following research by Guidolin and Timmermann (2007) on multi-factor regime models.
Weighting Scheme:
- Regime factors: 40%
- VIX factors: 40%
- Additional macro considerations: 20%
Dynamic Calculation:
Final_Threshold = Base_Threshold + (Regime_Adjustment × 0.4) + (VIX_Adjustment × 0.4) + (Macro_Adjustment × 0.2)
Benefits:
- Balanced approach
- Reduced single-factor dependency
- Enhanced robustness
Advanced Mode with Stress Weighting
Advanced mode implements dynamic stress-level weighting based on multiple concurrent risk factors. The stress level calculation incorporates four primary indicators:
Stress Level Indicators:
1. Yield curve inversion (recession predictor)
2. Volatility spikes (market disruption)
3. Severe drawdowns (momentum breaks)
4. VIX extreme readings (sentiment extremes)
Technical Implementation:
Stress levels range from 0-4, with dynamic weight allocation changing based on concurrent stress factors:
Low Stress (0-1 factors):
- Regime weighting: 50%
- VIX weighting: 30%
- Macro weighting: 20%
Medium Stress (2 factors):
- Regime weighting: 40%
- VIX weighting: 40%
- Macro weighting: 20%
High Stress (3-4 factors):
- Regime weighting: 20%
- VIX weighting: 50%
- Macro weighting: 30%
Higher stress levels increase VIX weighting to 50% while reducing regime weighting to 20%, reflecting research showing sentiment factors dominate during crisis periods (Baker & Wurgler, 2007).
Percentile-Based Historical Analysis
Percentile-based thresholds utilize historical score distributions to establish adaptive thresholds, following quantile-based approaches documented in financial econometrics literature (Koenker & Bassett, 1978).
Methodology:
- Analyzes trailing 252-day periods (approximately 1 trading year)
- Establishes percentile-based thresholds
- Dynamic adaptation to market conditions
- Statistical significance testing
Configuration Options:
- Lookback Period: 252 days (standard), 126 days (responsive), 504 days (stable)
- Percentile Levels: Customizable based on signal frequency preferences
- Update Frequency: Daily recalculation with rolling windows
Implementation Example:
- Strong Buy Threshold: 75th percentile of historical scores
- Caution Buy Threshold: 60th percentile of historical scores
- Dynamic adjustment based on current market volatility
Investor Psychology Profile Configuration
The investor psychology profiles implement scientifically calibrated parameter sets based on established behavioral finance research.
Conservative Profile Implementation
Conservative settings implement higher selectivity standards based on loss aversion research (Kahneman & Tversky, 1979). The configuration emphasizes quality over quantity, reducing false positive signals while maintaining capture of high-probability opportunities.
Technical Calibration:
VIX Parameters:
- Extreme High Threshold: 32.0 (lower sensitivity to fear spikes)
- High Threshold: 28.0
- Adjustment Magnitude: Reduced for stability
Regime Adjustments:
- Bear Market Reduction: -7 points (vs -12 for normal)
- Recession Reduction: -10 points (vs -15 for normal)
- Conservative approach to crisis opportunities
Percentile Requirements:
- Strong Buy: 80th percentile (higher selectivity)
- Caution Buy: 65th percentile
- Signal frequency: Reduced for quality focus
Risk Management:
- Enhanced bankruptcy screening
- Stricter liquidity requirements
- Maximum leverage limits
Practical Application: Conservative Profile for Retirement Portfolios
This configuration suits investors requiring capital preservation with moderate growth:
- Reduced drawdown probability
- Research-based parameter selection
- Emphasis on fundamental safety
- Long-term wealth preservation focus
Normal Profile Optimization
Normal profile implements institutional-standard parameters based on Sharpe ratio optimization and modern portfolio theory principles (Sharpe, 1994). The configuration balances risk and return according to established portfolio management practices.
Calibration Parameters:
VIX Thresholds:
- Extreme High: 35.0 (institutional standard)
- High: 30.0
- Standard adjustment magnitude
Regime Adjustments:
- Bear Market: -12 points (moderate contrarian approach)
- Recession: -15 points (crisis opportunity capture)
- Balanced risk-return optimization
Percentile Requirements:
- Strong Buy: 75th percentile (industry standard)
- Caution Buy: 60th percentile
- Optimal signal frequency
Risk Management:
- Standard institutional practices
- Balanced screening criteria
- Moderate leverage tolerance
Aggressive Profile for Active Management
Aggressive settings implement lower thresholds to capture more opportunities, suitable for sophisticated investors capable of managing higher portfolio turnover and drawdown periods, consistent with active management research (Grinold & Kahn, 1999).
Technical Configuration:
VIX Parameters:
- Extreme High: 40.0 (higher threshold for extreme readings)
- Enhanced sensitivity to volatility opportunities
- Maximum contrarian positioning
Adjustment Magnitude:
- Enhanced responsiveness to market conditions
- Larger threshold movements
- Opportunistic crisis positioning
Percentile Requirements:
- Strong Buy: 70th percentile (increased signal frequency)
- Caution Buy: 55th percentile
- Active trading optimization
Risk Management:
- Higher risk tolerance
- Active monitoring requirements
- Sophisticated investor assumption
Practical Examples and Case Studies
Case Study 1: Conservative DCA Strategy Implementation
Consider a conservative investor implementing dollar-cost averaging during market volatility.
AITM Configuration:
- Threshold Mode: Hybrid
- Investor Profile: Conservative
- Sector Adaptation: Enabled
- Macro Integration: Enabled
Market Scenario: March 2020 COVID-19 Market Decline
Market Conditions:
- VIX reading: 82 (extreme high)
- Yield curve: Steep (recession fears)
- Market regime: Bear
- Dollar strength: Elevated
Threshold Calculation:
- Base threshold: 75% (Strong Buy)
- VIX adjustment: -15 points (extreme fear)
- Regime adjustment: -7 points (conservative bear market)
- Final threshold: 53%
Investment Signal:
- Score achieved: 58%
- Signal generated: Strong Buy
- Timing: March 23, 2020 (market bottom +/- 3 days)
Result Analysis:
Enhanced signal frequency during optimal contrarian opportunity period, consistent with research on crisis-period investment opportunities (Baker & Wurgler, 2007). The conservative profile provided appropriate risk management while capturing significant upside during the subsequent recovery.
Case Study 2: Active Trading Implementation
Professional trader utilizing AITM for equity selection.
Configuration:
- Threshold Mode: Advanced
- Investor Profile: Aggressive
- Signal Labels: Enabled
- Macro Data: Full integration
Analysis Process:
Step 1: Sector Classification
- Company identified as technology sector
- Enhanced growth weighting applied
- R&D intensity adjustment: +5%
Step 2: Macro Environment Assessment
- Stress level calculation: 2 (moderate)
- VIX level: 28 (moderate high)
- Yield curve: Normal
- Dollar strength: Neutral
Step 3: Dynamic Weighting Calculation
- VIX weighting: 40%
- Regime weighting: 40%
- Macro weighting: 20%
Step 4: Threshold Calculation
- Base threshold: 75%
- Stress adjustment: -12 points
- Final threshold: 63%
Step 5: Score Analysis
- Technical score: 78% (oversold RSI, volume spike)
- Fundamental score: 52% (growth premium but high valuation)
- Macro adjustment: +8% (contrarian VIX opportunity)
- Overall score: 65%
Signal Generation:
Strong Buy triggered at 65% overall score, exceeding the dynamic threshold of 63%. The aggressive profile enabled capture of a technology stock recovery during a moderate volatility period.
Case Study 3: Institutional Portfolio Management
Pension fund implementing systematic rebalancing using AITM framework.
Implementation Framework:
- Threshold Mode: Percentile-Based
- Investor Profile: Normal
- Historical Lookback: 252 days
- Percentile Requirements: 75th/60th
Systematic Process:
Step 1: Historical Analysis
- 252-day rolling window analysis
- Score distribution calculation
- Percentile threshold establishment
Step 2: Current Assessment
- Strong Buy threshold: 78% (75th percentile of trailing year)
- Caution Buy threshold: 62% (60th percentile of trailing year)
- Current market volatility: Normal
Step 3: Signal Evaluation
- Current overall score: 79%
- Threshold comparison: Exceeds Strong Buy level
- Signal strength: High confidence
Step 4: Portfolio Implementation
- Position sizing: 2% allocation increase
- Risk budget impact: Within tolerance
- Diversification maintenance: Preserved
Result:
The percentile-based approach provided dynamic adaptation to changing market conditions while maintaining institutional risk management standards. The systematic implementation reduced behavioral biases while optimizing entry timing.
Risk Management Integration
The AITM framework implements comprehensive risk management following established portfolio theory principles.
Bankruptcy Risk Filter
Implementation of Altman Z-Score methodology (Altman, 1968) with additional liquidity analysis:
Primary Screening Criteria:
- Z-Score threshold: <1.8 (high distress probability)
- Current Ratio threshold: <1.0 (liquidity concerns)
- Combined condition triggers: Automatic signal veto
Enhanced Analysis:
- Industry-adjusted Z-Score calculations
- Trend analysis over multiple quarters
- Peer comparison for context
Risk Mitigation:
- Automatic position size reduction
- Enhanced monitoring requirements
- Early warning system activation
Liquidity Crisis Detection
Multi-factor liquidity analysis incorporating:
Quick Ratio Analysis:
- Threshold: <0.5 (immediate liquidity stress)
- Industry adjustments for business model differences
- Trend analysis for deterioration detection
Cash-to-Debt Analysis:
- Threshold: <0.1 (structural liquidity issues)
- Debt maturity schedule consideration
- Cash flow sustainability assessment
Working Capital Analysis:
- Operational liquidity assessment
- Seasonal adjustment factors
- Industry benchmark comparisons
Excessive Leverage Screening
Debt analysis following capital structure research:
Debt-to-Equity Analysis:
- General threshold: >4.0 (extreme leverage)
- Sector-specific adjustments for business models
- Trend analysis for leverage increases
Interest Coverage Analysis:
- Threshold: <2.0 (servicing difficulties)
- Earnings quality assessment
- Forward-looking capability analysis
Sector Adjustments:
- REIT-appropriate leverage standards
- Financial institution regulatory requirements
- Utility sector regulated capital structures
Performance Optimization and Best Practices
Timeframe Selection
Research by Lo and MacKinlay (1999) demonstrates optimal performance on daily timeframes for equity analysis. Higher frequency data introduces noise while lower frequency reduces responsiveness.
Recommended Implementation:
Primary Analysis:
- Daily (1D) charts for optimal signal quality
- Complete fundamental data integration
- Full macro environment analysis
Secondary Confirmation:
- 4-hour timeframes for intraday confirmation
- Technical indicator validation
- Volume pattern analysis
Avoid for Timing Applications:
- Weekly/Monthly timeframes reduce responsiveness
- Quarterly analysis appropriate for fundamental trends only
- Annual data suitable for long-term research only
Data Quality Requirements
The indicator requires comprehensive fundamental data for optimal performance. Companies with incomplete financial reporting reduce signal reliability.
Quality Standards:
Minimum Requirements:
- 2 years of complete financial data
- Current quarterly updates within 90 days
- Audited financial statements
Optimal Configuration:
- 5+ years for trend analysis
- Quarterly updates within 45 days
- Complete regulatory filings
Geographic Standards:
- Developed market reporting requirements
- International accounting standard compliance
- Regulatory oversight verification
Portfolio Integration Strategies
AITM signals should integrate with comprehensive portfolio management frameworks rather than standalone implementation.
Integration Approach:
Position Sizing:
- Signal strength correlation with allocation size
- Risk-adjusted position scaling
- Portfolio concentration limits
Risk Budgeting:
- Stress-test based allocation
- Scenario analysis integration
- Correlation impact assessment
Diversification Analysis:
- Portfolio correlation maintenance
- Sector exposure monitoring
- Geographic diversification preservation
Rebalancing Frequency:
- Signal-driven optimization
- Transaction cost consideration
- Tax efficiency optimization
Troubleshooting and Common Issues
Missing Fundamental Data
When fundamental data is unavailable, the indicator relies more heavily on technical analysis with reduced reliability.
Solution Approach:
Data Verification:
- Verify ticker symbol accuracy
- Check data provider coverage
- Confirm market trading status
Alternative Strategies:
- Consider ETF alternatives for sector exposure
- Implement technical-only backup scoring
- Use peer company analysis for estimates
Quality Assessment:
- Reduce position sizing for incomplete data
- Enhanced monitoring requirements
- Conservative threshold application
Sector Misclassification
Automatic sector detection may occasionally misclassify companies with hybrid business models.
Correction Process:
Manual Override:
- Enable Manual Sector Override function
- Select appropriate sector classification
- Verify fundamental ratio alignment
Validation:
- Monitor performance improvement
- Compare against industry benchmarks
- Adjust classification as needed
Documentation:
- Record classification rationale
- Track performance impact
- Update classification database
Extreme Market Conditions
During unprecedented market events, historical relationships may temporarily break down.
Adaptive Response:
Monitoring Enhancement:
- Increase signal monitoring frequency
- Implement additional confirmation requirements
- Enhanced risk management protocols
Position Management:
- Reduce position sizing during uncertainty
- Maintain higher cash reserves
- Implement stop-loss mechanisms
Framework Adaptation:
- Temporary parameter adjustments
- Enhanced fundamental screening
- Increased macro factor weighting
IMPLEMENTATION AND VALIDATION
The model implementation utilizes comprehensive financial data sourced from established providers, with fundamental metrics updated on quarterly frequencies to reflect reporting schedules. Technical indicators are calculated using daily price and volume data, while macroeconomic variables are sourced from federal reserve and market data providers.
Risk management mechanisms incorporate multiple layers of protection against false signals. The bankruptcy risk filter utilizes Altman Z-Scores below 1.8 combined with current ratios below 1.0 to identify companies facing potential financial distress. Liquidity crisis detection employs quick ratios below 0.5 combined with cash-to-debt ratios below 0.1. Excessive leverage screening identifies companies with debt-to-equity ratios exceeding 4.0 and interest coverage ratios below 2.0.
Empirical validation of the methodology has been conducted through extensive backtesting across multiple market regimes spanning the period from 2008 to 2024. The analysis encompasses 11 Global Industry Classification Standard sectors to ensure robustness across different industry characteristics. Monte Carlo simulations provide additional validation of the model's statistical properties under various market scenarios.
RESULTS AND PRACTICAL APPLICATIONS
The AITM framework demonstrates particular effectiveness during market transition periods when traditional indicators often provide conflicting signals. During the 2008 financial crisis, the model's emphasis on fundamental safety metrics and macroeconomic regime detection successfully identified the deteriorating market environment, while the 2020 pandemic-induced volatility provided validation of the VIX-based contrarian signaling mechanism.
Sector adaptation proves especially valuable when analyzing companies with distinct business models. Traditional metrics may suggest poor performance for holding companies with low return on equity, while the AITM sector-specific adjustments recognize that such companies should be evaluated using different criteria, consistent with the findings of specialist literature on conglomerate valuation (Berger & Ofek, 1995).
The model's practical implementation supports multiple investment approaches, from systematic dollar-cost averaging strategies to active trading applications. Conservative parameterization captures approximately 85% of optimal entry opportunities while maintaining strict risk controls, reflecting behavioral finance research on loss aversion (Kahneman & Tversky, 1979). Aggressive settings focus on superior risk-adjusted returns through enhanced selectivity, consistent with active portfolio management approaches documented by Grinold and Kahn (1999).
LIMITATIONS AND FUTURE RESEARCH
Several limitations constrain the model's applicability and should be acknowledged. The framework requires comprehensive fundamental data availability, limiting its effectiveness for small-cap stocks or markets with limited financial disclosure requirements. Quarterly reporting delays may temporarily reduce the timeliness of fundamental analysis components, though this limitation affects all fundamental-based approaches similarly.
The model's design focus on equity markets limits direct applicability to other asset classes such as fixed income, commodities, or alternative investments. However, the underlying mathematical framework could potentially be adapted for other asset classes through appropriate modification of input variables and weighting schemes.
Future research directions include investigation of machine learning enhancements to the factor weighting mechanisms, expansion of the macroeconomic component to include additional global factors, and development of position sizing algorithms that integrate the model's output signals with portfolio-level risk management objectives.
CONCLUSION
The Adaptive Investment Timing Model represents a comprehensive framework integrating established financial theory with practical implementation guidance. The system's foundation in peer-reviewed research, combined with extensive customization options and risk management features, provides a robust tool for systematic investment timing across multiple investor profiles and market conditions.
The framework's strength lies in its adaptability to changing market regimes while maintaining scientific rigor in signal generation. Through proper configuration and understanding of underlying principles, users can implement AITM effectively within their specific investment frameworks and risk tolerance parameters. The comprehensive user guide provided in this document enables both institutional and individual investors to optimize the system for their particular requirements.
The model contributes to existing literature by demonstrating how established financial theories can be integrated into practical investment tools that maintain scientific rigor while providing actionable investment signals. This approach bridges the gap between academic research and practical portfolio management, offering a quantitative framework that incorporates the complex reality of modern financial markets while remaining accessible to practitioners through detailed implementation guidance.
REFERENCES
Altman, E. I. (1968). Financial ratios, discriminant analysis and the prediction of corporate bankruptcy. Journal of Finance, 23(4), 589-609.
Ang, A., & Bekaert, G. (2007). Stock return predictability: Is it there? Review of Financial Studies, 20(3), 651-707.
Baker, M., & Wurgler, J. (2007). Investor sentiment in the stock market. Journal of Economic Perspectives, 21(2), 129-152.
Berger, P. G., & Ofek, E. (1995). Diversification's effect on firm value. Journal of Financial Economics, 37(1), 39-65.
Bollinger, J. (2001). Bollinger on Bollinger Bands. New York: McGraw-Hill.
Calmar, T. (1991). The Calmar ratio: A smoother tool. Futures, 20(1), 40.
Edwards, R. D., Magee, J., & Bassetti, W. H. C. (2018). Technical Analysis of Stock Trends. 11th ed. Boca Raton: CRC Press.
Estrella, A., & Mishkin, F. S. (1998). Predicting US recessions: Financial variables as leading indicators. Review of Economics and Statistics, 80(1), 45-61.
Fama, E. F., & French, K. R. (1988). Dividend yields and expected stock returns. Journal of Financial Economics, 22(1), 3-25.
Fama, E. F., & French, K. R. (1993). Common risk factors in the returns on stocks and bonds. Journal of Financial Economics, 33(1), 3-56.
Giot, P. (2005). Relationships between implied volatility indexes and stock index returns. Journal of Portfolio Management, 31(3), 92-100.
Graham, B., & Dodd, D. L. (2008). Security Analysis. 6th ed. New York: McGraw-Hill Education.
Grinold, R. C., & Kahn, R. N. (1999). Active Portfolio Management. 2nd ed. New York: McGraw-Hill.
Guidolin, M., & Timmermann, A. (2007). Asset allocation under multivariate regime switching. Journal of Economic Dynamics and Control, 31(11), 3503-3544.
Hamilton, J. D. (1989). A new approach to the economic analysis of nonstationary time series and the business cycle. Econometrica, 57(2), 357-384.
Kahneman, D., & Tversky, A. (1979). Prospect theory: An analysis of decision under risk. Econometrica, 47(2), 263-291.
Koenker, R., & Bassett Jr, G. (1978). Regression quantiles. Econometrica, 46(1), 33-50.
Lakonishok, J., Shleifer, A., & Vishny, R. W. (1994). Contrarian investment, extrapolation, and risk. Journal of Finance, 49(5), 1541-1578.
Lo, A. W., & MacKinlay, A. C. (1999). A Non-Random Walk Down Wall Street. Princeton: Princeton University Press.
Malkiel, B. G. (2003). The efficient market hypothesis and its critics. Journal of Economic Perspectives, 17(1), 59-82.
Markowitz, H. (1952). Portfolio selection. Journal of Finance, 7(1), 77-91.
Miller, G. A. (1956). The magical number seven, plus or minus two: Some limits on our capacity for processing information. Psychological Review, 63(2), 81-97.
Penman, S. H. (2012). Financial Statement Analysis and Security Valuation. 5th ed. New York: McGraw-Hill Education.
Piotroski, J. D. (2000). Value investing: The use of historical financial statement information to separate winners from losers. Journal of Accounting Research, 38, 1-41.
Sharpe, W. F. (1964). Capital asset prices: A theory of market equilibrium under conditions of risk. Journal of Finance, 19(3), 425-442.
Sharpe, W. F. (1994). The Sharpe ratio. Journal of Portfolio Management, 21(1), 49-58.
Thaler, R. H., & Sunstein, C. R. (2008). Nudge: Improving Decisions About Health, Wealth, and Happiness. New Haven: Yale University Press.
Whaley, R. E. (1993). Derivatives on market volatility: Hedging tools long overdue. Journal of Derivatives, 1(1), 71-84.
Whaley, R. E. (2000). The investor fear gauge. Journal of Portfolio Management, 26(3), 12-17.
Wilder, J. W. (1978). New Concepts in Technical Trading Systems. Greensboro: Trend Research.
Advanced Range Theory - ART📊 Advanced Range Theory (ART): The Institutional Blueprint
Stop drawing lines. Start reading the blueprint of the market. Advanced Range Theory (ART) is not another support and resistance indicator; it is a military-grade market structure engine designed to decode the language of institutional capital. It operates on a single, powerful premise: markets move in phases of consolidation and expansion, and the key to anticipation lies in understanding the complete lifecycle of these phases.
ART provides a living, breathing map of the battlefield, identifying institutional accumulation zones and tracking them with unparalleled precision from their inception as "Pending" ranges to their ultimate classification after a breakout. This is your X-ray into the market's skeletal structure.
🔬 THEORETICAL FRAMEWORK: THE ARCHITECTURE OF PRICE ACTION
ART is built on a multi-layered system of logic that moves beyond static levels. It treats ranges as dynamic entities with a narrative—a beginning, a middle, and an end. The core of the system is the dynamic classification engine, which analyzes not just the range, but the character of the price action that resolves it.
1. The Range Lifecycle: From Accumulation to Classification
This is the revolutionary heart of ART. A range's true identity is only revealed by how it is broken.
Phase 1: PENDING (Yellow): A new range is identified based on a period of price consolidation (a "parent" candle followed by a minimum number of "inside" candles). At this stage, it is a neutral zone of potential energy—an area where institutions are likely building positions. It is a question the market has not yet answered.
Phase 2: MITIGATION & CLASSIFICATION: When price breaks out and reaches a calculated extension level, the range is considered "mitigated." At this exact moment, ART analyzes the breakout's DNA to classify the range's true intent:
TYPE 1 - BREAKOUT (Blue): Characterized by a strong, impulsive move with confirming volume. This is a high-conviction breakout, signaling aggressive institutional participation and the likely start of a new trend. It is a statement of intent.
TYPE 2 - REVERSAL (Orange): Occurs when price attempts to break one way but is aggressively rejected, reversing and breaking out the other side. This signals absorption and a "failed auction," often marking significant market turning points.
TYPE 3 - PIVOT (Green): A more balanced breakout, lacking the explosive momentum of a Type 1. This often represents a resolution after a period of indecision or a pivot within a larger trading range.
2. The Hierarchical Map: Source & S/R Levels
ART doesn't just draw boxes; it builds a genealogical map of market structure.
SOURCE LEVEL (Thick Gold Line): This is the "genesis" point—the most recently mitigated range. It acts as the primary point of origin for the current market swing and serves as a critical level for determining overall bias. Price action above the Source is generally bullish; below is bearish.
S/R LEVELS (Cyan Lines): When a range is mitigated, the price level where it broke becomes a key Support/Resistance zone for the future. ART tracks the two most recent S/R levels, as these often act as powerful magnets or rejection points for price.
3. The Multi-Factor Validation Engine
To eliminate noise and focus only on institutionally significant ranges, every potential range must pass a rigorous quality control check:
Time-Based Consolidation: Requires a minimum number of consecutive inside candles (minInsideCandles), ensuring a true period of balance.
Volatility-Based Significance: The range's size must be greater than a multiple of the Average True Range (minRangeSize), filtering out insignificant micro-consolidations.
Participation Confirmation: The parent candle of the range is checked against average volume to ensure there was meaningful activity during its formation.
⚙️ THE COMMAND CONSOLE: CONFIGURING YOUR ART ENGINE
Every input is designed to give you granular control over the detection engine, allowing you to tune ART to any market or timeframe with precision. Each tooltip in the script provides a deep dive, but here is a summary of the core controls.
🎯 ART Detection Engine
Minimum Inside Candles: The soul of the detection algorithm. It defines the minimum number of bars that must be contained within a single "parent" candle to qualify as a range. Higher values (3-4) find major, significant consolidation zones. Lower values (1-2) are more sensitive and will identify shorter-term accumulation patterns.
Extension Multiplier & Fibonacci Extension: These control the profit target projections. The Extension Multiplier uses a simple measured move (e.g., 1.0 = a 1:1 projection of the range's height). The Fibonacci Extension uses the golden ratio (1.618) for harmonically-derived targets.
Mitigation Method (Cross vs. Close): Determines how a breakout is confirmed. Cross is more responsive, triggering as soon as price touches the extension. Close is more conservative, requiring a full candle to close beyond the level, which helps filter out fake-outs from wicks.
Min Range Size (ATR): A crucial noise filter. It ensures that ART ignores tiny, insignificant ranges by requiring a range's height to be a certain multiple of the current market volatility (ATR).
📊 Display & Visual Configuration
These settings give you full control over the visual interface. You can toggle every single element—from the Webb Scanner to the S/R Levels—to create a clean or a comprehensive view. Choose a color theme that suits your charting environment or define a fully custom palette.
🕸️ Webb Analysis Scanner
This is a unique real-time flow analysis tool. It draws dynamic, animated lines from the current price to recent historical points. This visualization helps reveal hidden "tendrils" of momentum and short-term support/resistance that are not immediately obvious, acting as a "sonar" for immediate price flow.
📊 THE ANALYTICS HUB: YOUR DASHBOARD DECODED
The dashboard provides a real-time, at-a-glance intelligence briefing on the current state of market structure as seen by the ART engine.
RANGE METRICS: This section is a "census" of the market's structure. It tells you the total number of ranges identified, how many are still Pending (awaiting a breakout), how many are Unmitigated (active but not yet broken), and how many have been Mitigated (classified and complete).
TYPE BREAKDOWN: This is a powerful gauge of market character. A high count of Type 1 (Breakout) ranges suggests a strong, trending environment. A rising number of Type 2 (Reversal) ranges can signal market exhaustion and potential trend changes. A dominant Type 3 (Pivot) count indicates a balanced, rotational market.
KEY GUIDE: The Large dashboard includes a full legend, so you never have to guess what a line or color represents. It's your built-in user manual.
🎨 DECODING THE BLUEPRINT: A VISUAL INTERPRETATION GUIDE
Every line and color in ART is designed for instant, intuitive understanding.
The Range Lines:
Yellow Lines: A Pending range. This is an active zone of accumulation. Pay close attention.
Colored Lines (Blue/Orange/Green): An unmitigated, classified range. The color tells you its breakout character.
Dotted Lines: A Mitigated range. Its story has been told. These historical levels can still act as support or resistance.
The Identification Zones: These colored boxes appear at a range's origin point after it has been classified. They are the "birth certificate" of the range, permanently marking its type (Breakout, Reversal, or Pivot) and providing an immediate visual history of market behavior.
The Hierarchical Lines:
Thick Gold Line (Source): The most important line on your chart. It is the anchor for your bias.
Cyan Lines (S/R): High-probability decision points. Expect reactions here.
Purple Dotted Lines (Extensions): Logical, calculated profit targets for breaking ranges.
🔧 THE ARCHITECT'S VISION: THE DEVELOPMENT JOURNEY
ART was born from a deep frustration with the static and subjective nature of traditional market structure analysis. Drawing lines by hand is inconsistent, and most indicators are reactive, only confirming what has already happened. The goal was to create a proactive, objective, and dynamic framework that could think about the market in terms of phases and lifecycles.
The breakthrough came from a simple shift in perspective: a range's true character isn't defined when it forms, but by how it resolves. This led to the development of the "post-breakout classification engine," which waits for the market to show its hand before assigning a definitive type. The Webb Scanner was inspired by the desire to visualize the unseen, to create a tool that could feel the immediate "pull" and "push" of price flow. The result is not just an indicator; it is a new language for interpreting price action, built on a foundation of logic, clarity, and precision.
⚠️ RISK DISCLAIMER & BEST PRACTICES
Advanced Range Theory is a professional-grade analytical tool designed to enhance a trader's decision-making process. It does not provide direct buy or sell signals. The levels and classifications it generates are based on historical price action and mathematical probabilities. All trading involves substantial risk, and past performance is not indicative of future results. Always use this tool in conjunction with a robust risk management plan.
"I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times."
— Dskyz, Trade with insight. Trade with anticipation.
— Bruce Lee
Advanced Currency Strength Meter# Advanced Currency Strength Meter (ACSM)
The Advanced Currency Strength Meter (ACSM) is a scientifically-based indicator that measures relative currency strength using established academic methodologies from international finance and behavioral economics. This indicator provides traders with a comprehensive view of currency market dynamics through multiple analytical frameworks.
### Theoretical Foundation
#### 1. Purchasing Power Parity (PPP) Theory
Based on Cassel's (1918) seminal work and refined by Froot & Rogoff (1995), PPP suggests that exchange rates should reflect relative price levels between countries. The ACSM momentum component captures deviations from long-term equilibrium relationships, providing insights into currency misalignments.
#### 2. Uncovered Interest Rate Parity (UIP) and Carry Trade Theory
Building on Fama (1984) and Lustig et al. (2007), the indicator incorporates volatility-adjusted momentum to capture carry trade flows and interest rate differentials that drive currency strength. This approach helps identify currencies benefiting from interest rate differentials.
#### 3. Behavioral Finance and Currency Momentum
Following Burnside et al. (2011) and Menkhoff et al. (2012), the model recognizes that currency markets exhibit persistent momentum effects due to behavioral biases and institutional flows. The indicator captures these momentum patterns for trading opportunities.
#### 4. Portfolio Balance Theory
Based on Branson & Henderson (1985), the relative strength matrix captures how portfolio rebalancing affects currency cross-rates and creates trading opportunities between different currency pairs.
### Technical Implementation
#### Core Methodologies:
- **Z-Score Normalization**: Following Sharpe (1994), provides statistical significance testing without arbitrary scaling
- **Momentum Analysis**: Uses return-based metrics (Jegadeesh & Titman, 1993) for trend identification
- **Volatility Adjustment**: Implements Average True Range methodology (Wilder, 1978) for risk-adjusted strength
- **Composite Scoring**: Equal-weight methodology to avoid overfitting and maintain robustness
- **Correlation Analysis**: Risk management framework based on Markowitz (1952) portfolio theory
#### Key Features:
- **Multi-Source Data Integration**: Supports OANDA, Futures, and CFD data sources
- **Scientific Methodology**: No arbitrary scaling or curve-fitting; all calculations based on established statistical methods
- **Comprehensive Dashboard**: Clean, professional table showing currency strengths and best trading pairs
- **Alert System**: Automated notifications for strong/weak currency conditions and extreme values
- **Best Pair Identification**: Algorithmic detection of highest-potential trading opportunities
### Practical Applications
#### For Swing Traders:
- Identify currencies in strong uptrends or downtrends
- Select optimal currency pairs based on relative strength divergence
- Time entries based on momentum convergence/divergence
#### For Day Traders:
- Use with real-time futures data for intraday opportunities
- Monitor currency correlations for risk management
- Detect early reversal signals through extreme value alerts
#### For Portfolio Managers:
- Multi-currency exposure analysis
- Risk management through correlation monitoring
- Strategic currency allocation decisions
### Visual Design
The indicator features a clean, professional dashboard that displays:
- **Currency Strength Values**: Each major currency (EUR, GBP, JPY, CHF, AUD, CAD, NZD, USD) with color-coded strength values
- **Best Trading Pairs**: Filtered list of highest-potential currency pairs with BUY/SELL signals
- **Market Analysis**: Real-time identification of strongest and weakest currencies
- **Potential Score**: Quantitative measure of trading opportunity strength
### Data Sources and Latency
The indicator supports multiple data sources to accommodate different trading needs:
- **OANDA (Delayed)**: Free data with 15-20 minute delay, suitable for swing trading
- **Futures (Real-time)**: CME currency futures for real-time analysis
- **CFDs**: Alternative real-time data source option
### Mathematical Framework
#### Strength Calculation:
Momentum = (Price - Price ) / Price * 100
Z-Score = (Price - Mean) / Standard Deviation
Volatility-Adjusted = Momentum / ATR-based Volatility
Composite = 0.5 * Momentum + 0.3 * Z-Score + 0.2 * Volatility-Adjusted
#### USD Strength Derivation:
USD strength is calculated as the weighted average of all USD-based pairs, providing a true baseline for relative strength comparison.
### Performance Considerations
The indicator is optimized for:
- **Computational Efficiency**: Uses Pine Script v6 best practices
- **Memory Management**: Appropriate lookback periods and array handling
- **Visual Clarity**: Clean table design optimized for both light and dark themes
- **Alert Reliability**: Robust signal generation with statistical significance testing
### Limitations and Risk Disclosure
- Model performance may vary during extreme market stress (Black Swan events)
- Requires stable data feeds for accurate calculations
- Not optimized for high-frequency scalping strategies
- Central bank interventions may temporarily distort signals
- Performance assumes normal market conditions with behavioral adjustments
### Academic References
- Branson, W. H., & Henderson, D. W. (1985). "The Specification and Influence of Asset Markets"
- Burnside, C., Eichenbaum, M., & Rebelo, S. (2011). "Carry Trade and Momentum in Currency Markets"
- Cassel, G. (1918). "Abnormal Deviations in International Exchanges"
- Fama, E. F. (1984). "Forward and Spot Exchange Rates"
- Froot, K. A., & Rogoff, K. (1995). "Perspectives on PPP and Long-Run Real Exchange Rates"
- Jegadeesh, N., & Titman, S. (1993). "Returns to Buying Winners and Selling Losers"
- Lustig, H., Roussanov, N., & Verdelhan, A. (2007). "Common Risk Factors in Currency Markets"
- Markowitz, H. (1952). "Portfolio Selection"
- Menkhoff, L., Sarno, L., Schmeling, M., & Schrimpf, A. (2012). "Carry Trades and Global FX Volatility"
- Sharpe, W. F. (1994). "The Sharpe Ratio"
- Wilder, J. W. (1978). "New Concepts in Technical Trading Systems"
### Usage Instructions
1. **Setup**: Add the indicator to your chart and select your preferred data source
2. **Currency Selection**: Choose which currencies to analyze (default: all major currencies)
3. **Methodology**: Select calculation method (Composite recommended for most users)
4. **Monitoring**: Watch the dashboard for strength changes and best pair opportunities
5. **Alerts**: Set up notifications for strong/weak currency conditions
Gabriel's Andean Oscillator📈 Gabriel's Andean Oscillator — Enhanced Trend-Momentum Hybrid
Gabriel's Andean Oscillator is a sophisticated trend-momentum indicator inspired by Alex Grover’s original Andean Oscillator concept. This enhanced version integrates multiple envelope types, smoothing options, and the ability to track volatility from both open/close and high/low dynamics—making it more responsive, adaptable, and visually intuitive.
🔍 What It Does
This oscillator measures bullish and bearish "energy" by calculating variance envelopes around price. Instead of traditional momentum formulas, it builds two exponential variance envelopes—one capturing the downside (bullish potential) and the other capturing the upside (bearish pressure). The result is a smoothed oscillator that reflects internal market tension and potential breakouts.
⚙️ Key Features
📐 Envelope Types:
Choose between:
"Regular" – Uses single EMA-based smoothing on open/close variance. Ideal for shorter timeframes.
"Double Smoothed" – Adds an extra layer of smoothing for noise reduction. Ideal for longer timeframes.
📊 Bullish & Bearish Components:
Bull = Measures potential upside using price lows (or open/close).
Bear = Measures downside pressure using highs (or open/close).
These can optionally be derived from high/low or open/close for flexible interpretation.
📏 Signal Line:
A customizable EMA of the dominant component to confirm momentum direction.
📉 Break Zone Area Plot:
An optional filled area showing when bull > bear or vice versa, useful for detecting expansion/contraction phases.
🟢 High/Low Overlay Option (Use Highs and Lows?):
Visualize secondary components derived from high/low prices to compare against the open/close dynamics and highlight volatility asymmetry.
🧠 How to Use It
Trend Confirmation:
When bull > bear and rising above signal → bullish bias.
When bear > bull and rising above signal → bearish bias.
Breakout Potential:
Watch the Break area plot (√(bull - bear)) for rapid expansion, signaling volatility bursts or directional moves.
High/Low Envelope Divergence:
Enabling the high/low comparison reveals hidden strength or weakness not visible in open/close alone.
🛠 Customizable Inputs
Envelope Type: Regular vs. Double Smoothed
EMA Envelope Lengths: For both regular and smoothed logic
Signal Length: Controls EMA smoothing for the signal
Use Highs and Lows?: Toggles second set of envelopes; the original doesn't include highs and lows.
Plot Breaks: Enables the filled “break” zone area, the squared difference between Open and Close.
🧪 Based On:
Andean Oscillator - Alpaca Markets
Licensed under CC BY-NC-SA 4.0
Developed by Gabriel, based on the work of Alex Grover
SMEMA Trend CoreSMEMA Trend Core is a multi-timeframe trend analysis tool designed to provide a clean, adaptive and structured view of the market’s directional bias. It can be used in short term, swing or long term contexts. The internal calculation adjusts automatically based on the selected trading style, while always combining data from six timeframes.
At its core, the indicator uses a SMEMA, which is a Simple Moving Average applied to an EMA. This combination improves smoothness without losing reactivity. The SMEMA is calculated separately on 1H, 4H, 1D, 3D, 1W and 1M timeframes. These six values are then combined using dynamic weights that depend on the trading mode:
Short Term mode gives more influence to 1H and 4H
Swing Trading mode gives more influence to 1D, 3D and 1W
Long Term mode gives more influence to 1W and 1M
However, all six timeframes are always included in the final result. This avoids the tunnel vision of relying on a single resolution and ensures that the indicator captures both local and structural movements.
The result is a synthetic trend line, called Global SMEMA, that adapts to market conditions and offers a realistic view of the ongoing trend. To enhance the reading, the indicator calculates a Trend Score. This score reflects the position of price relative to the Global SMEMA, scaled by a long-term ATR, and adjusted by the slope of the trend line. A hyperbolic tangent function is used to normalize values and reduce distortion from outliers.
The final score is capped between -10 and +10, and used to define the trend state:
Green when the trend is bullish (score > +1.5)
Red when the trend is bearish (score < -1.5)
Brown when the trend is neutral (score between -1.5 and +1.5)
Optional Deviation Bands can be displayed at ±1, ±2 and ±3 ATR distances around the central line. These dynamic zones help identify extended price movements or potential support and resistance areas, depending on the current trend bias.
Main features:
A single, stable trend line based on six timeframes
Automatic rebalancing depending on trading mode
Quantified score integrating distance and slope
No overreaction to short-term noise
Deviation zones for advanced market context
No repainting, no lookahead, 100% real-time
SMEMA Trend Core is not a signal tool. It is a directional framework that helps you stay aligned with the real structure of the market. Use it to confirm setups, filter trades or simply understand where the market stands in its trend cycle.
VWAP Supply & Demand Zones PRO**Overview:**
This script represents a major evolution of the original "VWAP Supply and Demand Zones" indicator. Initially created to explore price interaction with VWAP, it has now matured into a robust and feature-rich tool for identifying high-probability zones of institutional buying and selling pressure. The update introduces volume and momentum validation, dynamic zone management, alert logic, and a visual dashboard (HUD) — all designed for improved precision and clarity. The structural improvements, anti-repainting logic, and significant added utility warranted releasing this as a new script rather than a minor update.
---
### What It Does:
This indicator dynamically detects **supply and demand zones** using VWAP-based logic combined with **volume** and **momentum confirmation**. When price crosses VWAP with strength, it identifies the potential zone of excess demand (below VWAP) or supply (above VWAP), marking it visually with colored regions on the chart.
Each zone is extended for a user-defined duration, monitored for touch interactions (tests), and tracked for possible breaks. The script helps traders interpret price behavior around these institutional zones as either **reversal** opportunities or **continuation** confirmation depending on context and strategy preference.
---
### How It Works:
* **VWAP Basis**: Zones are anchored at VWAP at the time of a significant cross.
* **Volume & Momentum Filters**: Crosses are only considered valid if backed by above-average volume and notable price momentum.
* **Zone Drawing**: Validated supply and demand zones are drawn as boxes on the chart. Each is extended forward for a customizable number of bars.
* **Touch Counting**: Zones track the number of price touches. Alerts are issued after a user-defined number of tests.
* **Break Detection**: If price closes significantly beyond a zone boundary, the zone is marked as broken and visually dimmed.
* **Visual Dashboard (HUD)**: A compact real-time HUD displays VWAP value, active zone counts, and current market bias.
---
### How to Use It:
**Reversal Trading:**
* Look for price **rejecting** a zone after touching it.
* Use rejection candles or secondary indicators (e.g., RSI divergence) to confirm.
* These setups may offer low-risk entries when price respects the zone.
**Continuation Trading:**
* A **break of a zone** suggests strong directional bias.
* Use confirmed zone breaks to enter in the direction of momentum.
* Ideal in trending environments, especially with high volume and ATR movement.
---
### Key Inputs:
* **VWAP Length**: Moving VWAP period (default: 20)
* **Zone Width %**: Percentage size of zone buffer (default: 0.5%)
* **Min Touches**: How many times price must test a zone before alerts trigger
* **Zone Extension**: How far into the future zones are projected
* **Volume & ATR Filters**: Ensure only strong, valid crossovers create zones
---
### Alerts:
You can enable alerts for:
* **New zone creation**
* **Zone tests (after minimum touch count)**
* **Zone breaks**
* **VWAP crosses**
* **Active presence inside a zone (entry conditions)**
These alerts help automate market monitoring, making it suitable for discretionary or systematic workflows.
---
### Why It's a New Script:
This is not a cosmetic update. The internal logic, signal generation, filtering methodology, visual engine, and UX framework have been entirely rebuilt from the ground up. The result is a highly adaptive, precision-oriented tool — appropriate for intraday scalpers and swing traders alike. It goes far beyond the original in terms of functionality and reliability, justifying a fresh release.
---
### Suitable Markets and Timeframes:
* Works across all liquid markets (crypto, equities, futures, forex)
* Best used on timeframes where volume data is stable (5m and above recommended)
* Recalibrate inputs for optimal detection across instruments
Combined ATPC & MACD DivergenceTrend Optimizer + Divergence Finder in One Unified Tool
🔍 Overview:
This powerful dual-system indicator merges two proven analytical engines:
✅ The Algorganic Typical Price Channel (ATPC) — a custom trend oscillator that highlights mean-reversion and directional bias.
✅ A refined MACD system with divergence detection, enhanced with an adjusted Donchian midline for real-time trend strength filtering.
Together, they provide a high-confidence, multi-signal system ideal for swing trading, scalping, or confirming reversals with context.
⚙️ Core Components & Logic
🧠 1. ATPC Engine (Trend Commodity Index)
A momentum and volatility-normalized oscillator based on the typical price (H+L+C)/3:
TrendCI Line (Blue) – Main trend signal based on smoothed CCI logic.
TrendLine2 (Orange) – A slower smoothing of TrendCI for crossovers.
Key Zones (customizable):
🔴 Ultra Overbought: +73
🟣 Overbought: +58
🟣 Oversold: -58
🔴 Ultra Oversold: -73
Trade Logic:
✅ Buy Signal: TrendCI crosses above TrendLine2 while in oversold zone
❌ Sell Signal: TrendCI crosses below TrendLine2 while in overbought zone
Additional visual feedback:
Histogram Bars show strength and direction of momentum shift
Green/Red Circles highlight potential long/short setups
📉 2. MACD System + Divergence Finder
Classic MACD enhanced with a Donchian Midline overlay to filter trend bias.
🔷 MACD Line and 🟠 Signal Line show crossover momentum
🟩/🟥 Histogram shows distance from the signal line
🟪 Adjusted Donchian Midline dynamically adapts to range-bound vs trending environments
Background Color provides real-time trend state:
✅ Green = Bullish Trend
❌ Red = Bearish Trend
No color = Neutral / Choppy
MACD Boundaries (user-defined):
Overbought: +1.0
Oversold: -1.0
🔀 3. Divergence Detection
Spot hidden power shifts before price reacts:
🔼 Positive Divergence – Price makes lower lows, but MACD histogram rises
🔽 Negative Divergence – Price makes higher highs, but MACD histogram weakens
These are visually marked with:
Green “+Div” label (bullish reversal cue)
Red “–Div” label (bearish exhaustion signal)
🎯 How to Use It
For Trend Traders:
Stay in sync with macro trend using MACD histogram + background
Use ATPC crossovers for precision entries
Avoid signals during neutral background (chop filter)
For Reversal Traders:
Look for bullish +Div with ATPC buy signal in oversold zone
Look for bearish –Div with ATPC sell signal in overbought zone
Mid-Donchian line can act as confluence or breakout trigger
For Scalpers & Intraday Traders:
Combine with VWAP, liquidity zones, or order flow levels
ATPC crossovers + MACD histogram zero-line flip = potential scalp entry
Use histogram slope and divergence to avoid false momentum traps
🧩 Customizable Inputs
🎛️ ATPC: Channel & Smoothing lengths, overbought/oversold thresholds
🎛️ MACD: Fast/slow EMAs, signal smoothing, Donchian period, bounds
🎨 Fully theme-compatible with adjustable colors and line styles
🔔 Alerts (Add Your Own)
While this version doesn’t contain built-in alerts, you can easily add alerts based on:
buySignal or sellSignal from ATPC logic
Histogram cross zero or trend flip
MACD Divergence event
📜 “This indicator doesn't just show signals—it tells a story about who’s in control of the market, and when that control might be slipping.”
Last Week's APM FX pairs only📖 Description:
This script is designed for precision-focused forex traders who understand the power of volatility measurement. It calculates the Average Price Movement (APM) from the previous week by measuring the full wick-to-wick range (high to low) of each daily candle from Monday to Friday, then averaging them across the five sessions.
🔍 Core Features:
✅ Accurate APM Calculation:
Pulls daily high-low ranges from last week using locked daily timeframe data, ensuring stable and reliable pip range measurements across all chart timeframes.
✅ Auto-Adjusts for Pip Precision:
Detects whether the pair is JPY-based or not, and automatically adjusts the pip multiplier (100 for JPY pairs, 10,000 for all others) to give true pip values.
✅ Visual Display in Clean UI:
The calculated APM is displayed in a non-intrusive, fixed-position table in the top-right corner of the chart — making it ideal for traders who want continuous awareness of recent market behavior without visual clutter.
✅ Timeless on Any Timeframe:
Whether you’re on the 1-minute chart or the daily, the script remains anchored and accurate because it sources raw data from the daily chart internally.
📈 How It Helps Your Trading:
🧠 Volatility Awareness: Know how much a pair typically moves per day based on recent historical behavior — great for range analysis, target setting, or session biasing.
📊 Week-to-Week Comparison: Use it as a benchmark to compare current volatility to last week’s. Great for identifying if the market is expanding, contracting, or stabilizing.
🔗 Perfect for Confluence: APM can serve as a supporting metric when combined with order blocks, liquidity zones, news catalysts, or other volatility-based tools like ATR.
🛠️ Ideal For:
Professional and prop firm traders
Institutional model traders (ICT-style or SMC)
Volatility scalpers and range-based intraday traders
Anyone building a rules-based trading system with data-driven logic
🔐 Clean. Reliable. Focused.
If you value structure, volatility awareness, and pip precision — this tool belongs in your chart workspace.
Combo RSI + MACD + ADX MTF (Avec Alertes)✅ Recommended Title:
Multi-Signal Oscillator: ADX Trend + DI + RSI + MACD (MTF, Cross Alerts)
✅ Detailed Description
📝 Overview
This indicator combines advanced technical analysis tools to identify trend direction, capture reversals, and filter false signals.
It includes:
ADX (Multi-TimeFrame) for trend and trend strength detection.
DI+ / DI- for directional bias.
RSI + ZLSMA for oscillation analysis and divergence detection.
Zero-Lag Normalized MACD for momentum and entry timing.
⚙️ Visual Components
✅ Green/Red Background: Displays overall trend based on Multi-TimeFrame ADX.
✅ DI+ / DI- Lines: Green and red curves showing directional bias.
✅ Normalized RSI: Blue oscillator with orange ZLSMA smoothing.
✅ Zero-Lag MACD: Violet or fuchsia/orange oscillator depending on the version.
✅ Crossover Points: Colored circles marking buy and sell signals.
✅ ADX Strength Dots: Small black dots when ADX exceeds the strength threshold.
🚨 Included Alert System
✅ RSI / ZLSMA Crossovers (Buy / Sell).
✅ MACD / Signal Line Crossovers (Buy / Sell).
✅ DI+ / DI- Crossovers (Buy / Sell).
✅ Double Confirmation DI+ / RSI or DI+ / MACD.
✅ Double Confirmation DI- / RSI or DI- / MACD.
✅ Trend Change Alerts via Background Color.
✅ ADX Strength Alerts (Above Threshold).
🛠️ Suggested Configuration Examples
1. Short-Term Reversal Detection:
RSI Length: 7 to 14
ZLSMA Length: 7 to 14
MACD Fast/Slow: 5 / 13
ADX MTF Period: 5 to 15
ADX Threshold: 15 to 20
2. Long-Term Trend Following:
RSI Length: 21 to 30
ZLSMA Length: 21 to 30
MACD Fast/Slow: 12 / 26
ADX MTF Period: 30 to 50
ADX Threshold: 20 to 25
3. Scalping / Day Trading:
RSI Length: 5 to 9
ZLSMA Length: 5 to 9
MACD Fast/Slow: 3 / 7
ADX MTF Period: 5 to 10
ADX Threshold: 10 to 15
🎯 Why Use This Tool?
Filters false signals using ADX-based background coloring.
Provides multi-source alerting (RSI, MACD, ADX).
Helps identify true market strength zones.
Works on all markets: Forex, Crypto, Stocks, Indices.






















