libSchedulerTLDR: This is a lightweight, easy-to-use way to throttle sections of Pinescript v6 scripts, the same as you'd use barstate.isconfirmed or barstate.islast. You can use this for enormous efficiency gains, provided you design your script to handle updates on differing intervals rather than computing everything on each cycle. Usage is easy:
```
import showmethegrail/libScheduler/1 as libScheduler
i_tf_fetch = input.enum(libScheduler.Timeframes.C, "Fetch Interval",
tooltip="Do things just once every interval, default=once per chart timeframe.")
var scheduler = libScheduler.Scheduler.new().init()
if scheduler.every(i_tf_fetch)
// Do stuff
```
That's it. If you need to know more, the code is well-commented.
Combine this with sensible caching, and you can right-size the compute-heavy sections of your script, for better stability and managed use of Pinescript compute quotas. You'll need to know the proper use of var and varip to make the most of this, but I found this effectively replaced a lot of boilerplate in throttling my own scripts.
Sound software engineering, made Pinescript-level easy. That's all.
Indicatori e strategie
DeeptestDeeptest: Quantitative Backtesting Library for Pine Script
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ OVERVIEW
Deeptest is a Pine Script library that provides quantitative analysis tools for strategy backtesting. It calculates over 100 statistical metrics including risk-adjusted return ratios (Sharpe, Sortino, Calmar), drawdown analysis, Value at Risk (VaR), Conditional VaR, and performs Monte Carlo simulation and Walk-Forward Analysis.
█ WHY THIS LIBRARY MATTERS
Pine Script is a simple yet effective coding language for algorithmic and quantitative trading. Its accessibility enables traders to quickly prototype and test ideas directly within TradingView. However, the built-in strategy tester provides only basic metrics (net profit, win rate, drawdown), which is often insufficient for serious strategy evaluation.
Due to this limitation, many traders migrate to alternative backtesting platforms that offer comprehensive analytics. These platforms require other language programming knowledge, environment setup, and significant time investment—often just to test a simple trading idea.
Deeptest bridges this gap by bringing institutional-level quantitative analytics directly to Pine Script. Traders can now perform sophisticated analysis without leaving TradingView or learning complex external platforms. All calculations are derived from strategy.closedtrades.* , ensuring compatibility with any existing Pine Script strategy.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ ORIGINALITY AND USEFULNESS
This library is original work that adds value to the TradingView community in the following ways:
1. Comprehensive Metric Suite: Implements 112+ statistical calculations in a single library, including advanced metrics not available in TradingView's built-in tester (p-value, Z-score, Skewness, Kurtosis, Risk of Ruin).
2. Monte Carlo Simulation: Implements trade-sequence randomization to stress-test strategy robustness by simulating 1000+ alternative equity curves.
3. Walk-Forward Analysis: Divides historical data into rolling in-sample and out-of-sample windows to detect overfitting by comparing training vs. testing performance.
4. Rolling Window Statistics: Calculates time-varying Sharpe, Sortino, and Expectancy to analyze metric consistency throughout the backtest period.
5. Interactive Table Display: Renders professional-grade tables with color-coded thresholds, tooltips explaining each metric, and period analysis cards for drawdowns/trades.
6. Benchmark Comparison: Automatically fetches S&P 500 data to calculate Alpha, Beta, and R-squared, enabling objective assessment of strategy skill vs. passive investing.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ KEY FEATURES
Performance Metrics
Net Profit, CAGR, Monthly Return, Expectancy
Profit Factor, Payoff Ratio, Sample Size
Compounding Effect Analysis
Risk Metrics
Sharpe Ratio, Sortino Ratio, Calmar Ratio (MAR)
Martin Ratio, Ulcer Index
Max Drawdown, Average Drawdown, Drawdown Duration
Risk of Ruin, R-squared (equity curve linearity)
Statistical Distribution
Value at Risk (VaR 95%), Conditional VaR
Skewness (return asymmetry)
Kurtosis (tail fatness)
Z-Score, p-value (statistical significance testing)
Trade Analysis
Win Rate, Breakeven Rate, Loss Rate
Average Trade Duration, Time in Market
Consecutive Win/Loss Streaks with Expected values
Top/Worst Trades with R-multiple tracking
Advanced Analytics
Monte Carlo Simulation (1000+ iterations)
Walk-Forward Analysis (rolling windows)
Rolling Statistics (time-varying metrics)
Out-of-Sample Testing
Benchmark Comparison
Alpha (excess return vs. benchmark)
Beta (systematic risk correlation)
Buy & Hold comparison
R-squared vs. benchmark
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ QUICK START
Basic Usage
//@version=6
strategy("My Strategy", overlay=true)
// Import the library
import Fractalyst/Deeptest/1 as *
// Your strategy logic
fastMA = ta.sma(close, 10)
slowMA = ta.sma(close, 30)
if ta.crossover(fastMA, slowMA)
strategy.entry("Long", strategy.long)
if ta.crossunder(fastMA, slowMA)
strategy.close("Long")
// Run the analysis
DT.runDeeptest()
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ METRIC EXPLANATIONS
The Deeptest table displays 23 metrics across the main row, with 23 additional metrics in the complementary row. Each metric includes detailed tooltips accessible by hovering over the value.
Main Row — Performance Metrics (Columns 0-6)
Net Profit — (Final Equity - Initial Capital) / Initial Capital × 100
— >20%: Excellent, >0%: Profitable, <0%: Loss
— Total return percentage over entire backtest period
Payoff Ratio — Average Win / Average Loss
— >1.5: Excellent, >1.0: Good, <1.0: Losses exceed wins
— Average winning trade size relative to average losing trade. Breakeven win rate = 100% / (1 + Payoff)
Sample Size — Count of closed trades
— >=30: Statistically valid, <30: Insufficient data
— Number of completed trades. Includes 95% confidence interval for win rate in tooltip
Profit Factor — Gross Profit / Gross Loss
— >=1.5: Excellent, >1.0: Profitable, <1.0: Losing
— Ratio of total winnings to total losses. Uses absolute values unlike payoff ratio
CAGR — (Final / Initial)^(365.25 / Days) - 1
— >=10%: Excellent, >0%: Positive growth
— Compound Annual Growth Rate - annualized return accounting for compounding
Expectancy — Sum of all returns / Trade count
— >0.20%: Excellent, >0%: Positive edge
— Average return per trade as percentage. Positive expectancy indicates profitable edge
Monthly Return — Net Profit / (Months in test)
— >0%: Profitable month average
— Average monthly return. Geometric monthly also shown in tooltip
Main Row — Trade Statistics (Columns 7-14)
Avg Duration — Average time in position per trade
— Mean holding period from entry to exit. Influenced by timeframe and trading style
Max CW — Longest consecutive winning streak
— Maximum consecutive wins. Expected value = ln(trades) / ln(1/winRate)
Max CL — Longest consecutive losing streak
— Maximum consecutive losses. Important for psychological risk tolerance
Win Rate — Wins / Total Trades
— Higher is better
— Percentage of profitable trades. Breakeven win rate shown in tooltip
BE Rate — Breakeven Trades / Total Trades
— Lower is better
— Percentage of trades that broke even (neither profit nor loss)
Loss Rate — Losses / Total Trades
— Lower is better
— Percentage of unprofitable trades. Together with win rate and BE rate, sums to 100%
Frequency — Trades per month
— Trading activity level. Displays intelligently (e.g., "12/mo", "1.5/wk", "3/day")
Exposure — Time in market / Total time × 100
— Lower = less risk
— Percentage of time the strategy had open positions
Main Row — Risk Metrics (Columns 15-22)
Sharpe Ratio — (Return - Rf) / StdDev × sqrt(Periods)
— >=3: Excellent, >=2: Good, >=1: Fair, <1: Poor
— Measures risk-adjusted return using total volatility. Annualized using sqrt(252) for daily
Sortino Ratio — (Return - Rf) / DownsideDev × sqrt(Periods)
— >=2: Excellent, >=1: Good, <1: Needs improvement
— Similar to Sharpe but only penalizes downside volatility. Can be higher than Sharpe
Max DD — (Peak - Trough) / Peak × 100
— <5%: Excellent, 5-15%: Moderate, 15-30%: High, >30%: Severe
— Largest peak-to-trough decline in equity. Critical for risk tolerance and position sizing
RoR — Risk of Ruin probability
— <1%: Excellent, 1-5%: Acceptable, 5-10%: Elevated, >10%: Dangerous
— Probability of losing entire trading account based on win rate and payoff ratio
R² — R-squared of equity curve vs. time
— >=0.95: Excellent, 0.90-0.95: Good, 0.80-0.90: Moderate, <0.80: Erratic
— Coefficient of determination measuring linearity of equity growth
MAR — CAGR / |Max Drawdown|
— Higher is better, negative = bad
— Calmar Ratio. Reward relative to worst-case loss. Negative if max DD exceeds CAGR
CVaR — Average of returns below VaR threshold
— Lower absolute is better
— Conditional Value at Risk (Expected Shortfall). Average loss in worst 5% of outcomes
p-value — Binomial test probability
— <0.05: Significant, 0.05-0.10: Marginal, >0.10: Likely random
— Probability that observed results are due to chance. Low p-value means statistically significant edge
Complementary Row — Extended Metrics
Compounding — (Compounded Return / Total Return) × 100
— Percentage of total profit attributable to compounding (position sizing)
Avg Win — Sum of wins / Win count
— Average profitable trade return in percentage
Avg Trade — Sum of all returns / Total trades
— Same as Expectancy (Column 5). Displayed here for convenience
Avg Loss — Sum of losses / Loss count
— Average unprofitable trade return in percentage (negative value)
Martin Ratio — CAGR / Ulcer Index
— Similar to Calmar but uses Ulcer Index instead of Max DD
Rolling Expectancy — Mean of rolling window expectancies
— Average expectancy calculated across rolling windows. Shows consistency of edge
Avg W Dur — Avg duration of winning trades
— Average time from entry to exit for winning trades only
Max Eq — Highest equity value reached
— Peak equity achieved during backtest
Min Eq — Lowest equity value reached
— Trough equity point. Important for understanding worst-case absolute loss
Buy & Hold — (Close_last / Close_first - 1) × 100
— >0%: Passive profit
— Return of simply buying and holding the asset from backtest start to end
Alpha — Strategy CAGR - Benchmark CAGR
— >0: Has skill (beats benchmark)
— Excess return above passive benchmark. Positive alpha indicates genuine value-added skill
Beta — Covariance(Strategy, Benchmark) / Variance(Benchmark)
— <1: Less volatile than market, >1: More volatile
— Systematic risk correlation with benchmark
Avg L Dur — Avg duration of losing trades
— Average time from entry to exit for losing trades only
Rolling Sharpe/Sortino — Dynamic based on win rate
— >2: Good consistency
— Rolling metric across sliding windows. Shows Sharpe if win rate >50%, Sortino if <=50%
Curr DD — Current drawdown from peak
— Lower is better
— Present drawdown percentage. Zero means at new equity high
DAR — CAGR adjusted for target DD
— Higher is better
— Drawdown-Adjusted Return. DAR^5 = CAGR if max DD = 5%
Kurtosis — Fourth moment / StdDev^4 - 3
— ~0: Normal, >0: Fat tails, <0: Thin tails
— Measures "tailedness" of return distribution (excess kurtosis)
Skewness — Third moment / StdDev^3
— >0: Positive skew (big wins), <0: Negative skew (big losses)
— Return distribution asymmetry
VaR — 5th percentile of returns
— Lower absolute is better
— Value at Risk at 95% confidence. Maximum expected loss in worst 5% of outcomes
Ulcer — sqrt(mean(drawdown^2))
— Lower is better
— Ulcer Index - root mean square of drawdowns. Penalizes both depth AND duration
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ MONTE CARLO SIMULATION
Purpose
Monte Carlo simulation tests strategy robustness by randomizing the order of trades while keeping trade returns unchanged. This simulates alternative equity curves to assess outcome variability.
Method
Extract all historical trade returns
Randomly shuffle the sequence (1000+ iterations)
Calculate cumulative equity for each shuffle
Build distribution of final outcomes
Output
The stress test table shows:
Median Outcome: 50th percentile result
5th Percentile: Worst 5% of outcomes
95th Percentile: Best 95% of outcomes
Success Rate: Percentage of simulations that were profitable
Interpretation
If 95% of simulations are profitable: Strategy is robust
If median is far from actual result: High variance/unreliability
If 5th percentile shows large loss: High tail risk
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ WALK-FORWARD ANALYSIS
Purpose
Walk-Forward Analysis (WFA) is the gold standard for detecting strategy overfitting. It simulates real-world trading by dividing historical data into rolling "training" (in-sample) and "validation" (out-of-sample) periods. A strategy that performs well on unseen data is more likely to succeed in live trading.
Method
The implementation uses a non-overlapping window approach following AmiBroker's gold standard methodology:
Segment Calculation: Total trades divided into N windows (default: 12), IS = ~75%, OOS = ~25%, Step = OOS length
Window Structure: Each window has IS (training) followed by OOS (validation). Each OOS becomes the next window's IS (rolling forward)
Metrics Calculated: CAGR, Sharpe, Sortino, MaxDD, Win Rate, Expectancy, Profit Factor, Payoff
Aggregation: IS metrics averaged across all IS periods, OOS metrics averaged across all OOS periods
Output
IS CAGR: In-sample annualized return
OOS CAGR: Out-of-sample annualized return ( THE key metric )
IS/OOS Sharpe: In/out-of-sample risk-adjusted return
Success Rate: % of OOS windows that were profitable
Interpretation
Robust: IS/OOS CAGR gap <20%, OOS Success Rate >80%
Some Overfitting: CAGR gap 20-50%, Success Rate 50-80%
Severe Overfitting: CAGR gap >50%, Success Rate <50%
Key Principles:
OOS is what matters — Only OOS predicts live performance
Consistency > Magnitude — 10% IS / 9% OOS beats 30% IS / 5% OOS
Window count — More windows = more reliable validation
Non-overlapping OOS — Prevents data leakage
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ TABLE DISPLAY
Main Table — Organized into three sections:
Performance Metrics (Cols 0-6): Net Profit, Payoff, Sample Size, Profit Factor, CAGR, Expectancy, Monthly
Trade Statistics (Cols 7-14): Avg Duration, Max CW, Max CL, Win, BE, Loss, Frequency, Exposure
Risk Metrics (Cols 15-22): Sharpe, Sortino, Max DD, RoR, R², MAR, CVaR, p-value
Color Coding
🟢 Green: Excellent performance
🟠 Orange: Acceptable performance
⚪ Gray: Neutral / Fair
🔴 Red: Poor performance
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ IMPLEMENTATION NOTES
Data Source: All metrics calculated from strategy.closedtrades , ensuring compatibility with any Pine Script strategy
Calculation Timing: All calculations occur on barstate.islastconfirmedhistory to optimize performance
Limitations: Requires at least 1 closed trade for basic metrics, 30+ trades for reliable statistical analysis
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ QUICK NOTES
➙ This library has been developed and refined over two years of real-world strategy testing. Every calculation has been validated against industry-standard quantitative finance references.
➙ The entire codebase is thoroughly documented inline. If you are curious about how a metric is calculated or want to understand the implementation details, dive into the source code -- it is written to be read and learned from.
➙ This description focuses on usage and concepts rather than exhaustively listing every exported type and function. The library source code is thoroughly documented inline -- explore it to understand implementation details and internal logic.
➙ All calculations execute on barstate.islastconfirmedhistory to minimize runtime overhead. The library is designed for efficiency without sacrificing accuracy.
➙ Beyond analysis, this library serves as a learning resource. Study the source code to understand quantitative finance concepts, Pine Script advanced techniques, and proper statistical methodology.
➙ Metrics are their own not binary good/bad indicators. A high Sharpe ratio with low sample size is misleading. A deep drawdown during a market crash may be acceptable. Study each function and metric individually -- evaluate your strategy contextually, not by threshold alone.
➙ All strategies face alpha decay over time. Instead of over-optimizing a single strategy on one timeframe and market, build a diversified portfolio across multiple markets and timeframes. Deeptest helps you validate each component so you can combine robust strategies into a trading portfolio.
➙ Screenshots shown in the documentation are solely for visual representation to demonstrate how the tables and metrics will be displayed. Please do not compare your strategy's performance with the metrics shown in these screenshots -- they are illustrative examples only, not performance targets or benchmarks.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ HOW-TO
Using Deeptest is intentionally straightforward. Just import the library and call DT.runDeeptest() at the end of your strategy code in main scope. .
//@version=6
strategy("My Strategy", overlay=true)
// Import the library
import Fractalyst/Deeptest/1 as DT
// Your strategy logic
fastMA = ta.sma(close, 10)
slowMA = ta.sma(close, 30)
if ta.crossover(fastMA, slowMA)
strategy.entry("Long", strategy.long)
if ta.crossunder(fastMA, slowMA)
strategy.close("Long")
// Run the analysis
DT.runDeeptest()
And yes... it's compatible with any TradingView Strategy! 🪄
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ CREDITS
Author: @Fractalyst
Font Library: by @fikira - @kaigouthro - @Duyck
Community: Inspired by the @PineCoders community initiative, encouraging developers to contribute open-source libraries and continuously enhance the Pine Script ecosystem for all traders.
if you find Deeptest valuable in your trading journey, feel free to use it in your strategies and give a shoutout to @Fractalyst -- Your recognition directly supports ongoing development and open-source contributions to Pine Script.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ DISCLAIMER
This library is provided for educational and research purposes. Past performance does not guarantee future results. Always test thoroughly and use proper risk management. The author is not responsible for any trading losses incurred through the use of this code.
CVD Flow Labels for Sessions Ranges [AMT Edition]CVD Flow Labels for Session Ranges
Description:
This script provides a session-aware Cumulative Volume Delta (CVD) analysis designed to enhance the “Session Ranges ” framework by combining price extremes with detailed volume flow dynamics. Unlike generic trend or scalping indicators, this tool focuses on identifying aggressive buying and selling pressure, distinguishing between absorption (failed auctions where aggressive flows are rejected) and acceptance (confirmed continuation of flows).
How it works:
CVD Calculation: The script calculates delta for each bar using a choice of Total, Periodic, or EMA-based cumulative methods. Delta represents the net difference between estimated buying and selling volume per bar.
Normalization: By normalizing delta relative to recent volatility, it highlights extreme flows that are statistically significant, making large shifts in market sentiment easier to spot.
Session-Specific Analysis: The indicator separates Asia, London, and New York sessions to allow context-sensitive interpretation of price and volume interactions. Each session’s extremes are monitored, and flow labels are plotted relative to these extremes.
Flow Labels: Bullish and bearish absorption (“ABS”) and acceptance (“ACC WEAK/STRONG”) labels provide immediate visual cues about whether aggressive flows are being absorbed or accepted at key price levels.
Alerts: Configurable alerts trigger when absorption or acceptance occurs, supporting active trading or strategy automation.
Originality & Usefulness:
This script is original because it integrates volume-based auction theory with session-specific market structure, rather than simply showing trend or scalping signals. By combining CVD dynamics with session extreme levels from the “Session Ranges ” script, traders can:
Identify where price is likely to be accepted or rejected.
Confirm aggressive buying or selling flows before entering trades.
Time entries near session extremes with higher probability setups.
How to use:
Apply the “Session Ranges ” to see session highs, lows, and interaction lines.
Use this CVD Flow Labels script to visualize absorption and acceptance at these session levels.
Enter trades based on alignment of session extremes and flow signals:
Absorption at a session extreme may indicate a potential reversal.
Acceptance suggests continuation in the direction of the flow.
Alerts can help manage trades without constant screen monitoring.
This tool is designed to give traders a structured, session-based view of market auctions, providing actionable insights that go beyond typical trend-following or scalping methods. It emphasizes flow analysis and statistical extremes, enabling traders to make more informed decisions grounded in market microstructure.
Cosmic Volume Analyzer [JOAT]
Cosmic Volume Analyzer - Astrophysics Edition
Overview
Cosmic Volume Analyzer is an open-source oscillator indicator that applies astrophysics-inspired concepts to volume analysis. It classifies volume into buy/sell categories, calculates volume flow, detects accumulation/distribution phases, identifies climax volume events, and uses gravitational and stellar mass analogies to visualize volume dynamics.
What This Indicator Does
The indicator calculates and displays:
Volume Classification - Categorizes each bar as CLIMAX_BUY, CLIMAX_SELL, HIGH_BUY, HIGH_SELL, NORMAL_BUY, or NORMAL_SELL
Volume Flow - Percentage showing buy vs sell pressure over a lookback period
Buy/Sell Volume - Separated volume based on candle direction
Accumulation/Distribution - Phase detection using Money Flow Multiplier
Volume Oscillator - Fast vs slow volume EMA comparison
Gravitational Pull - Volume-weighted price attraction metric
Stellar Mass Index - Volume ratio combined with price momentum
Black Hole Detection - Identifies extremely low volume periods (liquidity voids)
Supernova Events - Detects extreme volume with extreme price movement
Orbital Cycles - Sine-wave based cyclical visualization
How It Works
Volume classification uses volume ratio and candle direction:
classifyVolume(series float vol, series float close, series float open) =>
float avgVol = ta.sma(vol, 20)
float volRatio = avgVol > 0 ? vol / avgVol : 1.0
if volRatio > 1.5
if close > open
classification := "CLIMAX_BUY"
else
classification := "CLIMAX_SELL"
else if volRatio > 1.2
// HIGH_BUY or HIGH_SELL
else
// NORMAL_BUY or NORMAL_SELL
Volume flow separates buy and sell volume over a period:
calculateVolumeFlow(series float vol, series float close, simple int period) =>
float currentBuyVol = close > open ? vol : 0.0
float currentSellVol = close < open ? vol : 0.0
// Accumulate in buffers
float flow = (buyVolume - sellVolume) / totalVol * 100
Accumulation/Distribution uses the Money Flow Multiplier:
float mfm = ((close - low) - (high - close)) / (high - low)
float mfv = mfm * vol
float adLine = ta.cum(mfv)
if adLine > adEMA and ta.rising(adLine, 3)
phase := "ACCUMULATION"
else if adLine < adEMA and ta.falling(adLine, 3)
phase := "DISTRIBUTION"
Gravitational pull uses volume-weighted price distance:
gravitationalPull(series float vol, series float price, simple int period) =>
float massCenter = ta.vwma(price, period)
float distance = math.abs(price - massCenter)
float mass = vol / ta.sma(vol, period)
float gravity = distance > 0 ? mass / (distance * distance) : 0.0
Signal Generation
Signals are generated based on volume conditions:
Buy Climax: Volume exceeds 2 standard deviations above average on bullish candle
Sell Climax: Volume exceeds 2 standard deviations above average on bearish candle
Strong Buy Flow: Volume flow exceeds positive threshold (default 45%)
Strong Sell Flow: Volume flow exceeds negative threshold (default -45%)
Supernova: Volume 3x average AND price change 3x average
Black Hole: Volume 2 standard deviations below average
Dashboard Panel (Top-Right)
Volume Class - Current volume classification
Volume Flow - Buy/sell flow percentage
Buy Volume - Accumulated buy volume
Sell Volume - Accumulated sell volume
A/D Phase - ACCUMULATION/DISTRIBUTION/NEUTRAL
Volume Strength - Normalized volume strength
Gravity Pull - Current gravitational metric
Stellar Mass - Current stellar mass index
Cosmic Field - Combined cosmic field strength
Black Hole - Detection status and void strength
Signal - Current actionable status
Visual Elements
Volume Ratio Columns - Colored bars showing normalized volume
Volume Flow Line - Main oscillator showing flow direction
Flow EMA - Smoothed flow for trend reference
Volume Oscillator - Area plot showing fast/slow comparison
Gravity Field - Area plot showing gravitational pull
Orbital Cycle - Circle plots showing cyclical pattern
Stellar Mass Line - Line showing mass index
Climax Markers - Fire emoji for buy climax, snowflake for sell climax
Supernova Markers - Diamond shapes for extreme events
Black Hole Markers - X-cross for liquidity voids
A/D Phase Background - Subtle background color based on phase
Input Parameters
Volume Period (default: 20) - Period for volume calculations
Distribution Levels (default: 5) - Granularity of distribution analysis
Flow Threshold (default: 1.5) - Multiplier for flow significance
Accumulation Period (default: 14) - Period for A/D calculation
Gravitational Analysis (default: true) - Enable gravity metrics
Black Hole Detection (default: true) - Enable void detection
Stellar Mass Calculation (default: true) - Enable mass index
Orbital Cycles (default: true) - Enable cyclical visualization
Supernova Detection (default: true) - Enable extreme event detection
Suggested Use Cases
Identify accumulation phases for potential long entries
Watch for distribution phases as potential exit signals
Use climax volume as potential exhaustion indicators
Monitor volume flow for directional bias
Avoid trading during black hole (low liquidity) periods
Watch for supernova events as potential trend acceleration
Timeframe Recommendations
Best on 15m to Daily charts. Volume analysis requires sufficient trading activity for meaningful readings.
Limitations
Volume data quality varies by exchange and instrument
Buy/sell separation is based on candle direction, not actual order flow
Astrophysics concepts are analogies, not literal physics
A/D phase detection may lag during rapid transitions
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always use proper risk management.
- Made with passion by officialjackofalltrades
Session Anchored OIWAP [Arjo]The Session Anchored OIWAP (Open Interest Weighted Average Price) indicator shows you a weighted average price that uses Open Interest (OI) changes during different trading sessions . It divides the day into four clear sessions: Opening Hour , Morning Session , Mid-Day Session , and Closing Session .
For each session , it calculates a weighted average price using both market price and open interest data from futures . This line updates as the session progresses and resets when a new session starts .
You can also see optional deviation bands that you visually compare to how far the market price is moving away from the session’s weighted average. This indicator also helps you watch how Open Interest changes connect with price movements during specific market hours.
Concepts
This tool works on a few simple ideas:
Session anchoring
Each session starts fresh. The indicator resets and begins a new calculation when a new time block begins. This allows users to visually study each session independently.
Open-interest weighting
Instead of treating all price moves equally, price changes linked to higher open-interest activity have more influence on the OIWAP. This gives a weighted reflection of where the market has been trading during the session.
Averaging and smoothing
The OIWAP line blends many price data points into one smooth curve, making it easier to follow than raw price movement.
Volatility display with bands
The upper and lower bands are placed at ±0.5 standard deviation from the OIWAP line. These bands simply help you see when price stretches further away than usual from the session average.
Features
Four Independent Session Calculations: Shows separate OIWAP lines for Opening Hour (default: 09:15-10:15), Morning (10:15-11:30), Mid-Day (11:30-14:00), and Closing (14:00-15:30) sessions
Open Interest Weighting: Uses absolute OI change as the weight instead of traditional volume
Customizable Session Times: You can change the time ranges for each session to match your market or what you need
Optional Deviation Bands: You can turn ±0.5 standard deviation bands on or off around each OIWAP line
Color-Coded Sessions: Each session has its own color so you can tell them apart easily
Selective Display: You can turn individual sessions and bands on or off
Data Availability Check: Shows you a notification when Open Interest data isn't available for your symbol
Adjustable Position Timeframe: You can calculate OI changes on different timeframes (Chart, Daily, 15min, 30min, 60min, 120min)
How to use
Add this indicator to a chart of any symbol that has Open Interest data ( from futures or derivatives contracts). Once you add it, you'll see colored lines showing the OIWAP for each session you enable, along with optional deviation bands.
Adjusting Settings:
Turn individual sessions on or off using the checkboxes in the " Sessions " section
Change session colors to match your chart or what looks good to you
Turn deviation bands on or off using the " Show Bands " option in the Display settings
Change session time ranges in the " Session Times " section to match your market hours or what you want to analyze
Change the Position Timeframe if you want to see OI changes calculated on a different time period
Visual Interpretation:
Each OIWAP line shows you the OI-weighted average price for that session
The deviation bands show you how much prices spread out, weighted by OI changes
You can watch how price interacts with these levels to see where significant OI activity happened
Different sessions may show different OIWAP levels, showing you how the OI-price relationship changes throughout the trading day
Note:
This indicator needs Open Interest data to work. If OI data isn't available for your symbol, you'll see a message in the center of your chart. This indicator works only with derivatives markets like futures and options in the Indian Market where OI data is publicly available.
Conclusion
The Session Anchored OIWAP indicator is designed to support structured market observation by combining price, open interest, and session anchoring into a clear visual format. It helps users study market behavior during different parts of the day without generating trading instructions or outcomes.
Disclaimer
This indicator is for educational and visual-analysis purposes only. It does not provide trading signals , financial advice, or guaranteed outcomes . You should perform your own research and consult a licensed financial professional when needed. All trading decisions are solely the responsibility of the user.
Happy Trading
Zero Lag Moving Average Convergence Divergence (ZLMACD) [EVAI]Zero Lag Moving Average Convergence Divergence (ZLMACD)
ZLMACD is a MACD-style momentum oscillator that keeps the standard MACD structure while adding a practical “zero-lag” option through ZLEMA. It is intended for traders who like the familiar MACD workflow but want an oscillator that can respond earlier during transitions without turning into an overly noisy trigger.
The indicator plots the MACD line, the signal line, and the histogram around a zero baseline. If you already understand MACD, you already understand how to read this. The difference is that you can choose whether the oscillator and signal are driven by EMA, SMA, or ZLEMA, which changes the responsiveness and smoothness of the indicator.
Default behavior
This script defaults to the preset mode “ZLEMA osc + EMA signal.” In this configuration, the fast and slow oscillator averages are computed using ZLEMA, while the signal line remains an EMA of the MACD line. The reason for this mix is simple: ZLEMA tends to reduce lag in the oscillator, while EMA on the signal line helps keep crossovers readable and avoids excessive micro-signals.
In practice, this default preset often behaves like a “faster MACD” that still feels like MACD. It can highlight momentum turns earlier than a traditional EMA MACD while keeping the signal line stable enough to use for timing and confirmation.
Custom mode and MA selection
If you switch Mode to “Custom,” the indicator will use your selected moving average types for both the oscillator and the signal line. In Custom mode, the oscillator type applies to both fast and slow averages, and the signal type applies to the smoothing of the MACD line.
If you are in the default preset mode, the custom MA dropdowns will not change the calculations. This is intentional: the preset locks the MA types so the default behavior remains consistent and reproducible across charts and users.
Reading the indicator
The histogram reflects the distance between the MACD line and the signal line. When the histogram is above zero, the MACD line is above the signal line and momentum is biased upward; when it is below zero, the MACD line is below the signal line and momentum is biased downward. Changes in histogram height help visualize strengthening versus weakening momentum, while the zero baseline provides regime context by indicating whether the fast average is above or below the slow average.
Crossovers between MACD and signal behave exactly as they do in standard MACD, but the timing and “feel” will vary depending on the MA choices. ZLEMA on the oscillator typically makes turns appear earlier; SMA typically smooths more but can be slower; EMA tends to be the balanced baseline.
Alerts
Two alert conditions are included to detect histogram polarity shifts. One triggers when the histogram switches from non-negative to negative, and the other triggers when it switches from non-positive to positive. These are useful if you want simple notifications for momentum regime flips without staring at the chart continuously.
Notes
This indicator is provided for informational and educational purposes only and is not financial advice. Always test settings per instrument and timeframe and use risk management.
Power Hour Trendlines [LuxAlgo]The Power Hour Trendlines indicator is based on Power Hours detection, and includes up to three displayed trendlines derived from the closing prices of all the bars within the last user-selected Power Hours.
Users can edit the time of Power Hours, choose how many sessions to take into account, enable or disable any trendlines, and change their colors.
🔶 USAGE
The Power Hour is defined as the last hour of the trading session and is set by default from 3:00 p.m. to 4:00 p.m. New York time. During this period, volume and volatility enter the market. Traders using higher timeframes may use this period to enter or exit positions by placing MOC (Market on Close) orders.
This tool works under the hypothesis that prices made during power hours (periods with high trading activity) are more relevant when used for the construction of trendlines.
An initial trendline is fit using linear regression; prices from power hours located above this initial fit are used for the upper trendline, while the ones below the fit are used for the lower one.
As with any trendline, traders can analyze the slope to determine the market's direction:
Positive slope: The market is trending up.
Negative slope: The market is trending down.
No slope: The market is trending sideways.
As we can see in the image, Nasdaq and Bitcoin are clearly in downtrends, gold is clearly in an uptrend, and the euro/U.S. dollar is in a sideways market over the last visible sessions.
As you can see, the trend lines may or may not be parallel to each other. The wider the area, the more volatile the data. The narrower the area, the less volatile the data. Let's look at an example.
In the image, the Dow30 and the euro/U.S. dollar have opposite behaviors. The volatility above the middle trendline is growing in the first case but shrinking in the second. In both cases, the volatility in the bottom area seems steady, so there are no big surprises there.
Traders can adjust the number of sessions for calculations, making the tool ideal for analyzing price behavior over different time frames.
As the image shows, we can clearly see how the market behaves over different time periods. XLY has been moving down over the last 10, 20, and 40 sessions, with a steeper decline over shorter periods. However, it has been moving sideways over the last 70 sessions.
One of the main uses of trendlines is to provide key support and resistance. In the image, SPY is shown with trendlines over the last 20 sessions. These lines provide excellent reference points for trading and observing price behavior in those areas, such as whether prices are accepted or rejected, which may trigger a response from other traders.
🔹 Not Allowed Timeframes
For obvious reasons, timeframes larger than 1H are not allowed. The Power Hour is defined as the last hour of the trading session. The tool will display a warning message if the timeframe is longer than 60 minutes.
🔶 SETTINGS
Power Hour (NY Time): Choose a custom Power Hour in New York time
Sessions Memory: Select how many Power Hours to take into account for calculations.
🔹 Style
Top: Enable or disable the top line and choose the line and background colors.
Middle: Enable or disable the middle line and choose the line color.
Bottom: Enable or disable the bottom line and choose the line and background colors.
Background: Enable or disable the background color for top and bottom lines.
FX Rate Bias US vs EU 2YFX Rate Bias – US vs EU (2Y)
This indicator provides a macro bias framework for FX markets by tracking the 2-year government bond yield differential between the United States and Germany.
Rather than displaying the spread as a raw calculation, the script translates interest-rate expectations into a clear directional bias, helping traders understand which currency currently holds a rate advantage.
The 2Y segment of the yield curve is highly sensitive to:
Central bank expectations
Forward guidance
Shifts in short-term monetary policy outlook
How to use
Positive spread → USD rate advantage
Negative spread → EUR rate advantage
Designed to be used as a contextual macro tool, this indicator helps align technical setups with broader monetary conditions.
It is not intended as a standalone entry or signal generator.
CME Gap Tracker [captainua]CME Gap Tracker - Advanced Gap Detection & Tracking System
Overview
This indicator provides comprehensive gap detection and tracking capabilities for both consecutive bar gaps and weekly CME trading session gaps. It automatically detects gaps, tracks their fill progress in real-time, provides detailed statistics, and includes backtesting features to validate gap trading strategies. The script is optimized for CME futures trading but works with any instrument, automatically handling ticker conversion between CME futures and spot markets.
Gap Detection Types
Consecutive Bar Gaps:
Detects gaps between any two consecutive bars on the current timeframe. Two detection modes are available:
- High/Low Mode: Detects gaps when current bar's low > previous bar's high (gap up) or current bar's high < previous bar's low (gap down). This is more sensitive and detects more gaps.
- Close/Open Mode: Detects gaps when current bar's open > previous bar's close (gap up) or current bar's open < previous bar's close (gap down). This is more conservative.
Weekly CME Gaps:
Detects gaps between weekly trading sessions, specifically designed for CME futures markets. The script automatically detects the first bar of each new week and compares the current week's open with the previous week's close/high/low. This is particularly useful for tracking weekend gaps in CME futures markets where price can gap significantly between Friday close and Monday open.
Smart Ticker Detection
The script automatically converts between CME futures tickers (e.g., BTC1!, ETH1!) and spot tickers (e.g., BTCUSDT, ETHUSDT). When viewing a CME futures chart, it can automatically detect and use the corresponding spot ticker for gap analysis, and vice versa. This allows traders to:
- View CME futures but track spot market gaps
- View spot markets but track CME futures gaps
- Manually override with custom ticker specification
The ticker validation system uses caching to prevent race conditions during initial script load, ensuring reliable ticker resolution.
Gap Filtering & Tolerance
Static Tolerance:
Set minimum and maximum gap sizes as percentages (default: show only gaps > 0.333% and < 100%). This filters out noise and focuses on significant gaps.
Dynamic Tolerance:
When enabled, tolerance is calculated dynamically based on ATR (Average True Range). The formula: Dynamic Tolerance = (ATR × ATR Multiplier / Close Price) × 100%. This adapts to market volatility - in volatile markets, only larger gaps are shown; in calm markets, smaller gaps are displayed. This is particularly useful for instruments with varying volatility.
Absolute Size Filtering:
In addition to percentage filtering, gaps can be filtered by absolute price size (e.g., show only gaps > $100). This is useful for instruments where percentage alone doesn't capture significance (e.g., high-priced stocks).
Fill Confirmation System
To reduce false gap closure signals, the script requires multiple consecutive bars to confirm gap closure. The default is 2 bars, but can be adjusted from 1-10 bars. Lower values (1) confirm faster but may produce false signals from temporary wicks. Higher values (3-5) reduce false fill signals but delay confirmation. This prevents temporary price spikes from triggering false gap closure alerts.
Gap Fill Tracking
The script tracks gap fill progress in real-time:
- Fill Percentage: How much of the gap has been filled (0-100%)
- Fill Speed: Whether fill is accelerating, decelerating, or constant
- Time to Fill: For closed gaps, how many bars it took to fill
- Fill Status: Unfilled, partially filled, or fully filled
Visual Features
Heatmap Colors:
Gap colors can be adjusted based on gap size, with larger gaps appearing more intense and smaller gaps more faded.
Adaptive Line Width:
Line thickness automatically adjusts based on gap size, making larger gaps more prominent.
Age-Based Coloring:
Gaps can be color-coded by age, with newer gaps appearing brighter and older gaps more faded.
Confluence Zones:
Areas where multiple gaps overlap are highlighted with enhanced visuals, indicating stronger support/resistance zones.
Gap Statistics
A comprehensive statistics table provides:
- Total gaps created, open, and closed
- Fill rates by direction (up vs down) and size category (small, medium, large)
- Average fill time, fastest fill, slowest fill
- Oldest gap and oldest unfilled gap
- Backtesting results: success rate, reversal rate, average move after fill
- CME gap expiration statistics: Gaps expired unfilled (for Weekly CME gaps only)
Statistics can be filtered by period (All Time, Last 100/500/1000/5000 bars) and can be reset via toggle button.
Backtesting
When enabled, the script tracks price movement after gap fills:
- Price after fill: Captures price when gap closes
- Move after fill: Percentage price movement after closure
- Success/Reversal tracking: Determines if price continued in fill direction or reversed
- Success rate: Percentage of gaps where price continued in fill direction
This data helps validate gap trading strategies and understand gap fill behavior.
Gap Re-opening Detection
When enabled, the script detects when a previously filled gap reopens (price gaps back through the filled gap zone). This is useful for identifying when support/resistance levels break and can signal trend reversals.
CME-Specific Features
Monday Opening Volume Analysis:
For Weekly CME gaps detected on Monday openings, the script tracks Monday opening volume relative to average volume. Higher Monday volume ratios indicate stronger gap significance. This ratio is integrated into gap strength calculations and can be displayed in gap labels. Gaps with Monday volume > 1.5x average receive priority score boosts.
CME Gap Expiration Tracking:
Weekly CME gaps that remain unfilled beyond a configurable threshold (default 1000 bars) are automatically marked as "expired" and tracked separately in statistics. This helps identify gaps that act as strong support/resistance levels and never fill. Expired gaps are displayed with special labeling and counted in the "Gaps Expired (CME)" statistic.
CME Gap Priority Scoring Enhancement:
The priority scoring system includes special boosts for CME gaps:
- Monday gaps: +10 points (gaps detected on Monday openings)
- High Monday volume gaps: +15 points (Monday volume ratio > 1.5x average)
- Gaps at key weekly levels: +10 points (gaps aligning with previous week's high, low, or close within 0.5% tolerance)
These enhancements help prioritize the most significant CME gaps for trading decisions.
Custom Gap Zones
Traders can manually mark custom gap zones by specifying top and bottom levels. These zones are tracked like automatically detected gaps, allowing traders to:
- Mark historical gaps that weren't detected
- Create support/resistance zones based on other analysis
- Track specific price levels of interest
Multi-Timeframe Support
The script can detect gaps on higher timeframes simultaneously. For example, when viewing a 1-hour chart, it can also detect and display gaps from the weekly timeframe. This provides multi-timeframe context for gap analysis.
Alert System
Comprehensive alert system with multiple trigger types:
- Gap Creation: Alert when new gaps are detected
- Gap Closure: Alert when gaps are fully filled
- Partial Fill: Alert when gaps reach specific fill percentages (e.g., 25%, 50%, 75%, 90%)
- Approaching Closure: Alert when gaps reach high fill levels (e.g., 90%, 95%) before closing
- Gap Re-opening: Alert when previously filled gaps reopen
Alerts can be filtered to trigger only on Mondays (useful for CME weekly gaps) or any day.
Filtering Options
Gaps can be filtered by:
- Fill Status: Show all, unfilled only, partially filled only, or fully filled only
- Fill Percentage Range: Show gaps within specific fill percentage ranges
- Gap Age: Show only gaps within specific age ranges (bars)
- Gap Expiration: Automatically remove gaps older than specified number of bars (for Weekly CME gaps, uses separate CME expiration threshold)
Performance & Safety
The script includes several safety features:
- Safe array operations to prevent index out-of-bounds errors
- Memory leak prevention through proper visual object cleanup
- Ticker validation caching to prevent race conditions
- Week boundary detection for accurate CME gap identification
- Fill confirmation system to reduce false signals
- Monday opening volume analysis for CME gap strength assessment
- CME gap expiration tracking with configurable thresholds
- Priority scoring enhancement for Monday gaps, high Monday volume, and key weekly levels
Usage Recommendations
For CME Weekly Gaps:
1. Set "Gap Detection Type" to "Weekly CME"
2. View a CME futures chart (e.g., BTC1!) or enable auto-detect spot ticker
3. Set tolerance to filter gap size (default 0.333%)
4. Enable statistics to track fill rates
5. Configure alerts for gap creation/closure
For Consecutive Bar Gaps:
1. Set "Gap Detection Type" to "Consecutive Bars"
2. Choose "High/Low" for more gaps or "Close/Open" for fewer gaps
3. Adjust tolerance based on instrument volatility
4. Enable fill confirmation (2-3 bars) for more reliable signals
5. Use filtering to focus on specific gap types
For Gap Trading Strategies:
1. Enable backtesting to validate strategy performance
2. Review statistics to understand gap fill patterns
3. Use confluence zones to identify strong support/resistance
4. Configure alerts for gap events matching your strategy
5. Use custom zones to mark important levels
Technical Details:
• Pine Script v6 | Overlay indicator
• Safe array operations with index validation
• Memory leak prevention through proper object cleanup
• Ticker validation caching for reliable ticker resolution
• Works on all timeframes and instruments
• Comprehensive edge case handling
• Week boundary detection using ta.change(weekofyear)
• Fill confirmation system with configurable bars
For detailed documentation and usage instructions, see the script comments.
[PickMyTrade] Trend strategy for LongThis strategy detects descending trend resistance using pivot-based trendlines and enters long positions when price confirms a breakout above a validated trendline. It is designed to capture bullish trend reversals with strict risk control and flexible exit management.
The system focuses on structural market behavior rather than indicators, making it suitable for traders who prefer price-action-based decision making.
USAGE
This strategy automatically builds trendlines from confirmed pivot highs. A trendline is considered valid only when price has interacted with it a user-defined number of times, ensuring that trades are taken only from well-formed market structures.
A trade is triggered when price closes above a validated descending trendline while optional session and position limits are respected.
All risk and position sizing are calculated automatically based on the selected risk amount and stop-loss distance.
HOW IT WORKS
The strategy identifies swing highs using pivot logic and connects them into descending trendlines. Each trendline must meet a minimum number of touch confirmations before becoming eligible for trading.
When price closes above a valid trendline, the strategy calculates:
Stop-loss placement below the most recent pivot low
Position size based on fixed monetary risk
Profit targets based on the selected exit method
EXIT METHODS
Three exit models are supported:
Risk–Reward Ratio
Uses a fixed multiple of the defined risk distance to set the take-profit level.
Lookback Candle Exit
Exits trades when price shows structural reversal behavior based on recent candles.
Fibonacci Targets
Uses Fibonacci extensions derived from recent swing structure to trail profits dynamically.
An optional trailing stop can also be enabled to protect open profits.
FEATURES
Automatic pivot-based trendline detection
Multi-trendline or single-trendline operation
Dynamic position sizing based on monetary risk
Pivot-based stop-loss placement
Multiple exit methodologies
Optional trailing stop
Optional trading session filter
Fully visualized trendlines, stop levels, and profit targets
SETTINGS
Trend Detection
Pivot Length for Trend
Touch Number
Validation Percentage
Optional Pivot-to-Pivot Confirmation
Risk Management
Fixed Risk Amount
Default Contract Size Option
Stop-Loss Buffer
Trailing Stop Toggle
Take-Profit
Exit Method Selection
Risk-Reward Ratio
Lookback Candle Length
Fibonacci Extension Levels
Session Filter
Enable/Disable Session Trading
Trading Session Time Window
Supertrend BUY Only - Optimized for Gold M15 TimeframeOverview
The Supertrend BUY Only - Production Optimized is a high-performance trend-following indicator specifically tuned for XAUUSD (Gold) on the 15-minute timeframe. Unlike standard Supertrend scripts, this version focuses exclusively on bullish cycles to align with long-term upward bias and uses parameters discovered through deep data analysis of over 20,000 bars of historical market data.
Key Features
Data-Optimized Parameters: Defaults are set to ATR Period 7 and Multiplier 2.1, which backtesting has shown to provide a superior balance between sensitivity and noise reduction for Gold.
Production-Ready Alerts: Includes built-in alertcondition triggers for both BUY (Trend Flip) and STOP BUY (Trend Exit), complete with dynamic messages that include price and interval.
Trailing Support Band: Uses a trailing logic that locks in support levels during upward moves, preventing the band from dropping until the trend officially reverses.
Clean Visuals: Focuses on chart clarity by only plotting the support line during active uptrends and utilizing clean shape labels for entries and exits.
How to Use
Entry (BUY): When the Supertrend line flips from Red to Green and a "BUY" label appears. This indicates bullish momentum has overcome recent volatility.
Exit (STOP BUY): When the price closes below the Green support line. The indicator will plot a red "X" and clear the green background.
Setting Alerts: * Click the Alerts icon in TradingView.
Select this indicator under "Condition."
Choose "BUY Signal" for entries and "STOP BUY / EXIT" for managing your trade or taking profit.
Technical Details
The script allows users to toggle between the TradingView (RMA) ATR calculation and the Standard (SMA) method. For production and live trading, the RMA method is recommended as it provides a smoother response to volatility spikes common in the Gold market.
Planetary Retrograde Periods█ PLANETARY RETROGRADE PERIODS
Visualize when planets appear to move backward through the zodiac. This indicator detects and displays retrograde motion for all 8 planets that exhibit apparent retrograde motion from Earth's perspective: Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto.
Powered by the BlueprintResearch lib_ephemeris library.
█ FEATURES
• 8 Planets Supported — Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto
• Two-Phase Visualization — Distinguishes first half (speed increasing in retrograde direction) from second half (speed decreasing toward direct motion) with different transparency levels
• Future Projections — Projects upcoming retrograde periods up to 500 bars ahead on any timeframe
• Station Markers — Clear labels for Station Retrograde (℞), Midpoint (½), and Station Direct (D)
• Timezone-Aware Labels — Future date/time labels display in your selected timezone
• Alert Conditions — Set alerts for station retrograde, station direct, or any station point
• Per-Planet Colors — Customize colors for each planet individually
• Speed-Based Detection — More accurate than longitude-based methods
█ HOW TO USE
1. Select a Planet — Choose which planet to track from the dropdown (Mercury through Pluto)
2. Enable Two-Phase Display — Toggle "Show Retrograde Halves" to see first half vs. second half shading
3. Configure Future Projections — Set how many bars ahead to scan (1-500) and enable/disable date labels
4. Set Your Timezone — Choose your timezone for accurate future date/time display
5. Customize Colors — Adjust planet colors, transparency levels, and label text color to match your chart theme
6. Create Alerts — Use TradingView's alert system with the built-in conditions for station points
█ UNDERSTANDING THE DISPLAY
Background Colors:
• First Half of the Planet’s retrograde (lighter shade)
• Second Half of the Planet’s retrograde period (darker shade)
Future Projection Lines:
• ℞ (Station Retrograde) — Yellow dotted line marking when the planet will station retrograde
• ½ (Midpoint) — Shorter line in planet color marking the halfway point of the retrograde period
• D (Station Direct) — Green dotted line marking when the planet will station direct
Labels:
• Top label shows planet symbol and station type
• Bottom label shows projected date and time (optional)
█ ACCURACY
This indicator uses speed-based detection
Timing Accuracy:
• All planets (Mercury through Pluto): Within hours to ±1 day
• Future projections maintain accuracy up to 500 bars on any timeframe
• Spot tested on Daily and Weekly charts with excellent results
For Critical Applications:
Cross-reference with professional ephemeris tools such as JPL Horizons or Swiss Ephemeris for mission-critical timing.
█ TECHNICAL DETAILS
Theory: VSOP87 (Mercury through Neptune), Meeus algorithms (Pluto)
█ REFERENCES
• Meeus, Jean. "Astronomical Algorithms" (2nd Edition, 1998)
• Bretagnon & Francou. "VSOP87 Solutions" — Astronomy and Astrophysics 202 (1988)
MADZ - Moving Average Deviation Z-ScoreMADZ - Moving Average Deviation Z-Score
MADZ is a powerful valuation oscillator that measures how far the current price has deviated from a user-selected moving average, expressed in statistical terms as a Z-Score. This normalization makes it easier to identify overvalued and undervalued conditions across different assets, timeframes, and market environments.
Overview
The indicator works by:
Calculating the percentage deviation of price from a customizable moving average (SMA, EMA, WMA, VWMA, HMA, or RMA).
Applying a Z-Score transformation to this deviation over a chosen lookback period — showing how many standard deviations the current deviation is from its historical average. Smoothing the result for a clean, responsive oscillator centered around zero.
Positive values indicate price is trading above the moving average (potentially overvalued), while negative values suggest price is below (potentially undervalued). The further from zero, the greater the relative valuation extreme.
Key Features
Customizable base moving average (type and length)
Z-Score normalization for statistically meaningful readings
Final smoothing for reduced noise
Static overbought/oversold levels (default ±1.5) — line changes color when crossed (red above, green below)
Dynamic extreme bands (±3σ) — optional display of bands calculated from the oscillator’s own volatility over a user-defined period
Extreme zone highlighting — background shading activates only during truly rare valuation events
Extreme Zone Highlighting Explained
The highlighted extreme zones (background shading) are not based on the fixed static levels. Instead, they signal statistically significant outliers using dynamic bands:
Overbought extreme zone (red background): Triggered when MADZ rises above the upper dynamic band (+3 standard deviations of the MADZ line itself over the dynamic length period).
Oversold extreme zone (green background): Triggered when MADZ falls below the lower dynamic band (-3 standard deviations).
These ±3σ bands adapt to the recent behavior of the oscillator. Because they represent three standard deviations from the mean of MADZ, crossings are rare and often precede major reversals or trend accelerations — making them valuable for spotting potential turning points in valuation extremes.
How to Use
Use zero-line crosses for trend changes or mean-reversion setups.
Watch static level crossings (±1.5 default) for early overbought/oversold warnings.
Pay special attention to extreme zone shading — these highlight high-conviction valuation dislocations that may offer superior risk/reward opportunities.
Designed on the BTC chart, but can be used on other assets.
Settings
Moving Average Settings: Type, length, source
Z-Score & Smoothing: Lookback period and smoothing length
Threshold Levels: Static overbought/oversold thresholds
Display Options: Toggle dynamic bands and extreme background highlighting
This is an educational tool designed to aid in valuation analysis. The information provided is not financial advice. Always conduct your own research and consider multiple factors before making trading decisions. Trade at your own risk.
Box BO signals v1Box Breakout Direction Flip Signals is a smart price‐action tool designed to identify clean directional shifts using consolidation boxes and breakout logic.
The indicator draws dynamic high–low range boxes and generates Buy (B) and Sell (S) signals only when direction flips, avoiding repeated noise signals during trending moves.
✔ First breakout after box marks direction (Buy or Sell)
✔ Signals alternate: S → B → S → B, never repeating
✔ No signals while price simply continues in same direction
✔ Labels are spaced away from candles for clean visibility
✔ Works best on lower timeframes (1m, 3m, 5m) for scalping / intraday
🎯 How It Works
1️⃣ A consolidation zone forms automatically using candle high–low
2️⃣ Breakout above the box → Buy label → new box begins
3️⃣ Breakout below the box → Sell label → new box begins
4️⃣ Signals print only on actual directional change (flip)
5️⃣ Boxes extend dynamically until breakout occurs
ORB W/ Custom time FramesRelease Notes: Simplified ORB (Opening Range Breakout)
This indicator is a streamlined, high-performance tool designed to identify the Opening Range—one of the most widely used concepts by professional floor traders and institutional scalpers. It marks the high, low, and midpoint of the initial balance of the market, providing you with a "map" for the rest of the trading session.
Key Features
Customizable Timeframes: Define your opening range window (e.g., the first 5, 15, or 30 minutes) regardless of what timeframe you are currently viewing.
Custom Session Support: Choose between standard market hours (09:30–16:00) or define your own custom window (e.g., the London Open or the first hour of "Power Hour").
Real-Time Midpoint Calculation: Automatically plots the 50% Equilibrium level between the high and low, serving as a pivot point for intraday bias.
Dynamic Updating: During the ORB window, the lines adjust in real-time as new highs or lows are set. Once the window expires, the levels lock in place to act as support and resistance.
Clean Visuals: Utilizes a lightweight line drawing system that is easy on your GPU and keeps the chart clutter-free.
Why This is Essential for Scalping
Scalpers rely on volatility and clear "lines in the sand." The Opening Range Breakout (ORB) provides exactly that:
The "Opening Drive": If price breaks the ORB High with high volume, scalpers look for quick "long" momentum plays. Conversely, a break below the ORB Low signals a bearish trend.
The Midpoint Pivot: The 50% level (Mid) is often treated as the "Fair Value" of the morning. If price is above the mid, the bias is bullish; if below, the bias is bearish.
Stop Loss / Take Profit Anchor: The ORB High and Low act as natural areas for placing stops or targets. A failed breakout that returns inside the range often targets the opposite side of the box.
Institutional Intermarket Score PRO V3.3 (Presets)This indicator is built on an unusual, non-traditional intermarket concept and is designed to provide market context rather than trading signals.
Institutional Intermarket Score – Indicator Description
Overview
The Institutional Intermarket Score is a contextual market indicator designed to provide a macro and intermarket perspective on the current market environment.
It aggregates information from multiple user-selected correlated and inversely correlated assets to determine whether the broader market context favors risk-on, risk-off, or neutral conditions.
This indicator is not a buy or sell signal.
It does not attempt to predict short-term price movements, entries, or exits.
Its sole purpose is to help the trader understand the broader market context before making any trading decisions.
Core Concept
Markets do not move in isolation.
Institutional participants continuously monitor multiple related markets to assess risk, liquidity, and conviction before deploying capital.
This indicator replicates that process by:
Monitoring several correlated assets (assets that tend to move in the same direction)
Monitoring several inversely correlated assets (assets that typically move in the opposite direction)
Combining their behavior into a single, normalized intermarket score
The result is a context filter, not a trading system.
Asset Groups
The indicator supports up to:
5 correlated assets
5 inversely correlated assets
All assets are fully configurable by the user and can be enabled or disabled individually.
Only active assets are included in all calculations.
Market State Evaluation
Each asset is evaluated using a Price vs VWAP relationship:
Price above VWAP → bullish state
Price below VWAP → bearish state
This binary state is used consistently across all assets to maintain clarity and robustness.
Intermarket Score
----------------------
The Intermarket Score represents the average directional alignment of all active assets and is normalized between -1 and +1.
Positive values indicate a risk-on environment
Negative values indicate a risk-off environment
Values near zero indicate balance, rotation, or uncertainty
The score is smoothed to reduce noise and highlight regime persistence rather than short-term fluctuations.
Confirmation Metric (X / Y)
----------------------------------
In addition to the score, the indicator calculates a confirmation ratio:
Y = total number of active assets
X = number of assets aligned with the current regime
Alignment is evaluated relative to the current regime:
In bullish regimes, assets above VWAP confirm
In bearish regimes, assets below VWAP confirm
This metric reflects the quality and conviction of the intermarket consensus.
High confirmation indicates broad agreement across markets.
Low confirmation indicates divergence, uncertainty, or fragile conditions.
Heatmap
-----------
A compact heatmap visually displays the state of each individual asset:
Green indicates alignment with the regime
Red indicates opposition
Neutral indicates inactive assets
This allows immediate identification of:
Which markets are confirming
Which markets are diverging
Whether consensus is broad or fragmented
Intended Use
----------------
This indicator is designed to be used:
Before evaluating trade setups
As a filter, not a trigger
In combination with price action, structure, and risk management
Typical applications include:
Avoiding trades against the broader market context
Distinguishing strong trends from fragile moves
Identifying periods of institutional alignment or hesitation
What This Indicator Is Not
It is not a buy or sell indicator
It does not provide entry or exit signals
It does not predict price direction on its own
It does not guarantee profitable trades
Any trading decisions remain entirely the responsibility of the user.
Summary
The Institutional Intermarket Score provides a high-level market image based on assets selected by the user.
It reflects context, alignment, and conviction, not timing.
Used correctly, it helps traders avoid low-quality trades, understand when markets are aligned or fragmented, and make decisions with greater awareness of the broader environment.
It is a decision support tool, not a trading system.
This indicator, is still evolving and its structure will continue to develop as new insights are tested...
NY Opening Range [LuckyAlgo]
This custom ORM (Opening Range Move) indicator is designed as a tool for traders who focus not just on where a range is, but on the magnitude of the expansion following the initial morning volatility.
Here is a summary of the indicator and how it differentiates itself from standard Opening Range Breakout (ORB) tools.
Indicator Summary
The script captures the high and low of the market during the first 30 minutes of the NY session (09:30–10:00 AM EST). Once this range is set, it tracks the "Expansion Move" - the point distance from the range's boundary to the current session's high or low. It visualizes this through color-coded zones, dynamic labels at the session extremes, and a statistical table that benchmarks today's volatility against the recent past.
What specific questions does this indicator answer?
While most indicators tell you "the range is broken," this indicator answers quantitative questions vital for trade management:
1. "How far has the market stretched relative to the breakout?"
The indicator provides the exact point distance (+/-) from the range high/low. This helps you determine if the move is just beginning or if it has already extended significantly.
2. "Is the current move 'normal' or an outlier?"
By using the Stats Table, you can see if the current 40-point move on NQ is typical or if the average move over the last 10 days is actually 80 points. This prevents you from "fading" a move that still has average room to grow, or taking a "pro-trend" trade when the market is already exhausted.
3. "Where is the session extreme located?"
The inclusion of the dashed High of Day (HOD) and Low of Day (LOD) lines with attached labels tells you exactly where the "Move" calculation is peaking. If the HOD line hasn't moved for two hours, you know the bullish expansion has stalled.
4. "When is the data no longer relevant?"
Because of the 17:00 EST reset logic, the indicator answers the "end of day" question for futures traders. It stops measuring at the settlement/close of the electronic session, ensuring your charts are clean for the overnight (Globex) session or ready for the next morning.
Technical Advantage
Most scripts use a single "point in time" to reset. This script uses a Trading Window logic, which is much more robust. If a bar is missing at exactly 17:00 due to low volume or a data glitch, the indicator won't "break" or keep drawing old lines - it understands the entire window of time it is allowed to exist in.
Credit to @LuxAlgo for his initial Opening Range Breakout indicator used as a base to develop this version.
Stochastic Extreme Oscillator [MatrixQuantLabs]Stochastic Extreme Oscillator is an enhanced stochastic-based oscillator designed to highlight market extremes, momentum shifts, and potential reversal zones with improved visual clarity and signal filtering.
This indicator builds upon the classic Stochastic Oscillator by focusing on extreme zone behavior, peak & trough signals, and optional divergence detection, making it suitable for both discretionary and systematic traders.
Key Features
Extreme Zone Visualization
• Multi-level overbought (80–100) and oversold (0–20) zones with adaptive color intensity help assess the strength and risk level of market extremes at a glance.
Momentum-Aware Coloring
• The %D line dynamically changes color based on its position relative to the zero line, providing an intuitive view of bullish, neutral, and bearish momentum states.
Peak & Trough Signals
• Optional bullish and bearish signals are triggered only when %K / %D cross occurs inside extreme zones, helping filter out low-quality signals in mid-range conditions.
Regular Divergence Detection
• Built-in bullish and bearish divergence detection based on pivot structure, allowing early identification of potential trend reversals.
Clean & Focused Design
• The indicator emphasizes the %D line as the primary signal source, while %K is used internally for logic, keeping the chart uncluttered and easy to read.
Customization
• Adjustable %K / %D lengths and smoothing
• Toggle peak & trough signals on/off
• Optional divergence detection with configurable pivot sensitivity
• Designed to work across different markets and timeframes
Usage Notes
• Best used as a momentum and extreme-condition oscillator, not as a standalone trading system
• Signals are most effective when combined with trend context, price structure, or higher-timeframe analysis
• Divergence signals may appear with delay due to pivot confirmation logic
Disclaimer
This indicator is intended for educational and analytical purposes only and does not constitute financial advice. Always apply proper risk management and confirm signals with additional analysis.
Volatility Regimes | GainzAlgo📊 OVERVIEW:
=========
This is a comprehensive ATR-based trading system designed for professional
traders who need advanced volatility analysis, precise trade management, and
intelligent market regime detection. The indicator combines multiple proven
volatility concepts into one powerful, customizable tool.
⭐ WHY THIS SYSTEM IS UNIQUE AND WORTHY OF PUBLICATION:
====================================================
This is not simply a collection of ATR-based indicators placed together.
It represents a unified volatility analysis framework where each component
is specifically designed to work in concert with the others, creating a
complete trading workflow that cannot be replicated by using multiple
separate indicators.
🔗 SYNERGISTIC INTEGRATION - How Components Work Together:
🧠 1. CONTEXT-AWARE ANALYSIS
The Volatility Regime Detection acts as the "brain" of the system,
classifying market conditions into 4 distinct phases. Every other
component then adapts its behavior based on this regime classification:
- ATR Bands expand/contract with regime changes
- Stop Loss distances automatically adjust (tighter in compression,
wider in high volatility)
- Take Profit targets scale proportionally to current regime
- Signal sensitivity filters itself based on market phase
📐 2. UNIFIED VOLATILITY FOUNDATION
All calculations share a single ATR baseline calculation, ensuring
internal consistency across the entire system. When ATR changes, every
element updates in perfect synchronization:
- Bands recalculate from the same ATR value
- Risk management levels use the same volatility measurement
- Regime classification and signals reference identical data
🛡️ 3. INTEGRATED RISK MANAGEMENT
The system doesn't just show WHERE to enter - it calculates HOW MUCH
to risk:
- Dynamic Stop Loss adapts to current ATR automatically
- Position Size Calculator uses the dynamic stop to compute exact quantities
- Take Profit levels scale proportionally, maintaining optimal risk:reward
✅ 4. TWO-STAGE SIGNAL CONFIRMATION
The alert system creates a logical progression:
Step 1: Volatility Breakout → Market energy is building
Step 2: Trend Confirmation → Direction confirmed with volatility support
This prevents false breakouts by requiring both volatility AND direction.
🏦 5. PROFESSIONAL WORKFLOW INTEGRATION
The system mirrors how institutional traders analyze markets:
Phase 1: Assess regime → What's the market doing?
Phase 2: Identify setup → Where's the opportunity?
Phase 3: Calculate risk → What's my exposure?
Phase 4: Set targets → Where do I take profit?
Phase 5: Monitor regime → When do conditions change?
❌ WHY NOT USE SEPARATE INDICATORS?
- Separate ATR Bands: Don't know about regime changes, remain static
- Separate Regime Indicator: Doesn't automatically adjust stop/targets
- Separate Position Calculator: Doesn't know your actual ATR-based stop
- Manual Integration: Requires constant mental calculation and cross-referencing
🧮 DETAILED CALCULATION METHODOLOGY:
=================================
📏 ATR (AVERAGE TRUE RANGE) CALCULATION:
- True Range = Maximum of:
1. Current High - Current Low
2. Absolute value of (Current High - Previous Close)
3. Absolute value of (Current Low - Previous Close)
- ATR = Simple Moving Average of True Range over specified period (default: 14)
📊 DYNAMIC ATR BANDS:
- Upper Band = Current Close + (ATR × Band Multiplier)
- Lower Band = Current Close - (ATR × Band Multiplier)
- Band 1: 1.0× ATR (closest support/resistance)
- Band 2: 2.0× ATR (intermediate zone)
- Band 3: 3.0× ATR (extended zone)
🌡️ VOLATILITY REGIME CLASSIFICATION:
Step 1: Calculate ATR Baseline
- Baseline ATR = SMA or EMA of ATR over long period (default: 50 bars)
- This represents "normal" volatility for the instrument
Step 2: Calculate ATR Ratio
- ATR Ratio = Current ATR ÷ Baseline ATR
- Example: If current ATR = 70 and baseline = 50, ratio = 1.40
Step 3: Classify Regime Based on Ratio
- COMPRESSION: Ratio < 0.70 (ATR is 30% below normal)
Market consolidating, volatility contracting, energy building
- EXPANSION: Ratio between 1.15 and 1.40 (ATR is 15-40% above normal)
Volatility breaking out, early phase of directional movement
- HIGH VOLATILITY: Ratio > 1.40 (ATR is 40%+ above normal)
Strong sustained trend with high participation
- EXHAUSTION: ATR declining after high volatility period
Requires: Previous high ratio + declining ATR over X bars (default: 5)
Trend maturity, potential reversal or consolidation approaching
🛑 DYNAMIC STOP LOSS CALCULATION:
- For Long Positions: Stop Loss = Entry Price - (ATR × SL Multiplier)
- For Short Positions: Stop Loss = Entry Price + (ATR × SL Multiplier)
- Default Multiplier: 2.0× ATR
- Adjusts automatically: Wider in high volatility, tighter in compression
🎯 TAKE PROFIT LEVELS:
- TP1 = Entry Price ± (ATR × TP1 Multiplier)
- TP2 = Entry Price ± (ATR × TP2 Multiplier)
- TP3 = Entry Price ± (ATR × TP3 Multiplier)
- Direction (+ or -) depends on trade direction
📦 POSITION SIZE CALCULATION:
Formula: Position Size = Account Risk Amount ÷ Stop Loss Distance
Step-by-step:
1. Risk Amount = Account Size × (Risk Percentage ÷ 100)
2. Stop Distance = |Entry Price - Stop Loss Price|
3. Position Size = Risk Amount ÷ Stop Distance
📈 ATR PERCENTILE RANKING:
- >80% = Extremely high volatility
- 20-80% = Normal volatility range
- <20% = Extremely low volatility
🌀 VOLATILITY CONTRACTION PATTERN:
Detects extended low-volatility periods indicating imminent breakout.
🧭 TREND DETECTION SIGNALS:
Bullish: Price > MA AND Current ATR > ATR MA
Bearish: Price < MA AND Current ATR > ATR MA
⚡ VOLATILITY BREAKOUT SIGNALS:
Triggered when ATR exceeds its moving average by a defined threshold.
🧩 CORE FEATURES:
==============
1. ATR BANDS (Dynamic Support/Resistance)
2. VOLATILITY REGIME DETECTION
3. DYNAMIC STOP LOSS SYSTEM
4. MULTIPLE TAKE PROFIT LEVELS
5. SUPPORT & RESISTANCE LEVELS
6. RISK MANAGEMENT CALCULATOR
7. ATR PERCENTILE RANKING
8. VOLATILITY CONTRACTION PATTERN
9. TREND DETECTION SIGNALS
10. VOLATILITY BREAKOUT SIGNALS
⚙️ RECOMMENDED SETTINGS BY TRADING STYLE:
======================================
DAY TRADING • SWING TRADING • POSITION TRADING • SCALPING
📘 HOW TO USE THIS INDICATOR:
==========================
STEP 1: Identify Market Regime
STEP 2: Wait for Entry Signal
STEP 3: Set Stop Loss
STEP 4: Set Take Profits
STEP 5: Position Sizing
STEP 6: Monitor & Manage
🔔 ALERT SYSTEM:
=============
Alerts for volatility breakouts, trend changes, regime transitions,
ATR band crossings, contraction completion, and percentile extremes.
🎨 CUSTOMIZATION:
==============
All visuals, thresholds, multipliers, colors, alerts, and risk parameters
can be fully customized.
⚠️ IMPORTANT DISCLAIMER:
=====================
This indicator is a volatility analysis tool and does NOT provide financial advice.
Past performance does not guarantee future results.
All trading involves substantial risk.
All trading decisions are the sole responsibility of the user.
Auction Session Ranges (AMT Edition) [ Alerts] Auction Session Ranges (AMT Edition)
► Overview
The Session Ranges ( AMT Edition) is a session-based market structure and auction analysis tool designed to visually reveal acceptance, rejection, imbalance, and continuation across the Asia, London, and New York CME trading sessions.
Unlike typical indicators, this script is grounded in Auction Market Theory (AMT) and session-based structure, focusing on how price behaves at session extremes rather than relying on lagging calculations, oscillators, or predictive algorithms. Its purpose is to highlight areas where the market has earned the right to be traded, providing traders with a clear, rules-based framework for high-probability directional trades.
Important for backtesting: To properly backtest session extremes, Interaction Lines, and Closest Opposite Extreme Lines, you must use TradingView’s replay mode, as real-time bar-by-bar progression is required to observe how the market interacts with session extremes over time.
► Key Innovations
This is not a conventional session high/low indicator. Its originality comes from several unique design elements:
Differentiates interaction from true acceptance: Price touching an extreme does not automatically indicate directional intent.
Separates directional confirmation from range-bound indecision: Only confirmed crossings beyond the Interaction Line signal actionable bias.
Tracks failed auctions and partial acceptance: No volume profile or order book data required.
Visual, rule-based trade permission: Signals are objective, minimizing subjective interpretation.
Interaction & Closest Opposite Extreme Lines: Together, these lines map how far an auction progresses after an extreme is tested, highlighting continuation, partial acceptance, or failed auctions.
► Core Concepts Explained
1. Session Highs & Lows (Solid Lines)
Plotted continuously for each CME session (Asia, London, New York).
Represent the current auction boundaries for that session.
2. True Interaction Lines (Thick Dotted Lines)
Drawn when price touches or breaks a session extreme:
Touching session high → dotted line at the low of that candle
Touching session low → dotted line at the high of that candle
Auction context:
Touching alone ≠ acceptance
Acceptance occurs only when price moves beyond the Interaction Line and holds
Trading principle:
Price has not crossed → no directional bias → do not trade
Price crosses and holds → directional bias established
3. Acceptance vs Rejection
Accepted direction: Price crosses and holds beyond the Interaction Line
Rejected direction: Price crosses the line but immediately reverses
Neutral / No-Trade: Price trapped between extreme and Interaction Line
Important: Acceptance is conditional and dynamic. Each time price crosses back over the Interaction Line, acceptance is lost.
4. New Extremes = Continuation
Once an Interaction Line is crossed, each new session extreme in that direction reinforces the trend.
Traders should only look for continuation setups along the established directional bias.
AMT interpretation:
Repeated new extremes → directional imbalance
Failure to make new extremes → potential balance or rotation
5. Closest Opposite Extreme Lines (Thin Dotted Lines)
After acceptance, the script tracks price progress toward the opposite session extreme.
Plotted only if price reaches a user-defined percentage of the session range.
Helps identify:
Full acceptance (price reaches opposite extreme)
Partial acceptance (price stalls)
Failed auctions (price cannot progress meaningfully)
Trading guidance once Closest Lines appear:
Partial acceptance: Price stalls near the Closest Line but does not fully reach the opposite extreme → bias remains valid, but the move may be weakening; consider scaling out or tightening stops.
Full acceptance: Price reaches the opposite extreme → directional auction fully confirmed; bias continues, but expect potential rotation or balance afterward.
Failed auction (cannot progress meaningfully): Price reverses before reaching the Closest Line → signals exhaustion; avoid chasing the move and treat as potential trend failure.
Note: Only relevant after Interaction Line is crossed; if price never crosses the Interaction Line, Closest Lines have no trading significance.
► Step-by-Step Usage
Wait for a session extreme
Let price interact with the session high or low.
Observe the Interaction Line
No cross → do not trade
Cross and hold → directional bias established
Trade in the direction of new extremes only
Ignore counter-trend trades unless the Interaction Line is lost
Manage risk using structure
Interaction Line acts as a dynamic invalidation level
Use Closest Lines for context
Partial acceptance → bias valid, watch for weakening
Full acceptance → bias strong, continuation likely
Failed attempt → potential exhaustion, do not chase
Useful for trade management, scaling, and expectation setting
► Price Retests & Pullbacks
Scenario:
Price crosses above the Interaction Line (e.g., from a low interaction).
Over the next 3–4 15-minute bars, price dips back toward the Interaction Line, with wicks touching it but no decisive close below.
Interpretation:
Initial Acceptance Confirmed: Bias remains valid while price holds above/below the line.
Temporary Pullback / Retest: Market is re-evaluating the auction; testing participant agreement.
Wicks Touching the Line: Partial probing or liquidity sweep; market still respects original acceptance.
Trading Implication:
Continuation bias remains intact.
Pullbacks near the Interaction Line offer lower-risk entries.
Decisive close below → acceptance lost, signaling trend failure or invalidation.
Market Psychology:
Healthy auction behavior: extreme tested → acceptance confirmed → boundary retested for liquidity → continuation.
Failure to hold above signals weak acceptance or exhaustion.
✅ Key Takeaways:
Holding above Interaction Line → bias intact, pullback = opportunity
Closing below Interaction Line → acceptance lost, bias invalidated
Wicks touching only → normal retest, still valid
► No-Trade Conditions
Avoid trading when:
Price never crosses the Interaction Line
Price remains trapped between the extreme and the Interaction Line
Market rotates without forming new extremes
These indicate balance, not directional opportunity.
► Alerts
Optional alerts trigger when price crosses an Interaction Line for:
Asia session
London session
New York session
Alerts signal possible acceptance, not automatic trade entries.
► Who This Script Is For
Best suited for traders who:
Trade session structure in futures, indices, or FX
Follow Auction Market Theory principles
Prefer objective, rules-based confirmation
Want fewer but higher-quality trade opportunities
Not intended for:
Indicator stacking
Predictive trading
High-frequency scalping without structure
► Final Notes
This script does not tell you when to buy or sell.
It shows where the market has earned the right to be traded.
Use it as a decision filter, not a prediction engine.
Smart Money Concept, Modern ViewSmart Money Concept, Modern View (SMCMV)
Institutional Volume Flow Analysis with VWMA Matrix
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📌 OVERVIEW
SMCMV is an advanced institutional-grade indicator that combines Volume-Weighted Moving Average (VWMA) matrix analysis with sophisticated volume decomposition to detect buyer and seller entry points. The indicator provides a comprehensive real-time dashboard displaying market structure, volume dynamics, and validated trading signals.
Key Features:
• Dual Volume Model: Geometry-based (candle range split) and Intrabar (precise LTF data)
• 10-Period VWMA Spectrum: Multi-timeframe support/resistance matrix (7, 13, 19, 23, 31, 41, 47, 67, 83, 97)
• 5-Layer Scoring System: 100-point institutional-grade signal quality assessment
• State Machine Signal Engine: Validated entry/exit signals with timer and range confirmation
• Real-time Prediction Engine: Candle-by-candle buyer/seller probability estimation
• High Volume Node Detection: Automatic identification of significant volume zones
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 DASHBOARD REFERENCE
1) NOW VECTOR (Current Market State)
This section captures the immediate market conditions:
• FLOW ANGLE: Directional angle of price movement in degrees (from VWMA-5). Positive = bullish, Negative = bearish.
• LTP: Last Traded Price - current close price.
• NET FLOW (Δ): Volume Delta - net difference between buying and selling volume. Shows ⚡+ or ⚡-.
• LIQUIDITY: Total volume on the current bar (K/M format).
• BUY VOL: Estimated buying volume based on selected model.
• SELL VOL: Estimated selling volume.
• BID PRES.: Buying volume as percentage of total volume.
• ASK PRES.: Selling volume as percentage of total volume.
• DIRECTION: Current state with hysteresis: BULL (🐂), BEAR (🐻), or NEUT (⚪).
2) DATA QUALITY / CONFIG
Configuration status and data integrity monitoring:
• VOL MODEL: INTRABAR (uses LTF data) or GEOMETRY (estimates from candle structure).
• IB LTF: Intrabar Lower Timeframe for precise volume decomposition.
• MODE: Micro (7 periods: 7-47) or Macro (10 periods: 7-97).
• IB OK: Intrabar data validity - OK or NO.
• IB STREAK: Consecutive bars with valid intrabar data.
• LATENCY: Data freshness indicator. ✓ = current, ↺ = using historical reference.
3) STRUCTURE RADAR
Market structure analysis showing price position relative to VWMA matrix:
• WIRES ▲/▼: Count of VWMAs above (resistance) and below (support).
• RES: Nearest Resistance - shows MA period, "ZN RES", or "BLUE SKY".
• SUPP: Nearest Support - shows MA period, "ZN SUPP", or "FREE FALL".
4) ACTIVE INTERACTION
Real-time analysis of price interaction with key levels:
• Header Status: "⚠ TESTING SUPPLY (ASK SIDE)" / "⚠ TESTING DEMAND (BID SIDE)" / "--- NO KEY INTERACTION ---"
• TARGET: Active level being tested (MA period or zone type).
• TEST LEVEL: Exact price level being tested.
• SCORE: Total score (0-100%) with letter grade .
• VOLUME POWER: Volume ratio vs historical average (e.g., "2.5x").
• BREAKOUT: "CONFIRMED" if attacking volume exceeds defending, "REJECTED" otherwise.
• DELTA DIR: "ALIGNED" if delta matches accumulation trend, "CONFLICT" if opposing.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 5-LAYER SCORING SYSTEM (100 Points Total)
Layer 1: Volume Quality (Max 25 pts)
• Mass (0-10): Volume ratio vs average. 0.5x=0, 1.0x=5, 2.0x=8, 3.0x+=10
• Spike (0-8): Volume Z-Score intensity
• Trend (0-7): Volume trend alignment with price direction
Layer 2: Battle Structure (Max 25 pts)
• Break (0-10): Breakout intensity ratio (attacker vs defender)
• Dom (0-8): Internal dominance ratio
• Pres (0-7): Pressure imbalance percentage
Layer 3: Flow & Energy (Max 20 pts)
• Delta (0-8): Delta alignment with accumulation trend
• Accel (0-6): Delta acceleration
• Mom (0-6): Flow momentum
Layer 4: Geometry (Max 15 pts)
• Impact (0-7): Impact angle directness
• Vec (0-5): Vector alignment
• PriceZ (0-3): Price Z-Score position
Layer 5: Army Structure (Max 15 pts)
• Stack (0-5): MA stack depth
• Conf (0-5): Confluence percentage
• Trend (0-5): Trend alignment count (7>13, 13>23, 23>97)
Grade Scale:
• A+ = 90-100 pts (Exceptional)
• A = 80-89 pts (Strong)
• B+ = 70-79 pts (Good)
• B = 60-69 pts (Moderate)
• C+ = 50-59 pts (Below average)
• C/D/F = Below 50 pts (Weak)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5) SIGNAL STATUS PANEL
Real-time signal state machine status:
• Header: "🐂 BUYERS ACTIVE" / "🐻 SELLERS ACTIVE" / "⏳ VALIDATING..." / "⏸ RANGE / FLAT"
• LOCK PRICE: Price at which signal was locked/confirmed.
• RANGE ±: Validation range percentage.
• POSITION: Price vs lock: "▲ ABOVE" / "▼ BELOW" / "● AT LOCK"
• DISTANCE: Percentage distance from lock price.
• vs RANGE: Position vs validation range: "IN_RANGE" / "ABOVE" / "BELOW"
• VAL TICKS: Validation progress (current/required ticks).
6) REALTIME PREDICTION PANEL
Candle prediction engine:
• WINNER: Predicted dominant side: "BUYERS" / "SELLERS" / "NEUTRAL"
• CONFIDENCE: Prediction confidence percentage.
• ACCURACY: Historical prediction accuracy (session-specific).
• BUY/SELL PROB: Individual probabilities for each side.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🏷️ SIGNAL LABELS REFERENCE
• 🐂 BUYER ENTRY (Green): Confirmed buyer entry signal. Validation complete.
• 🐻 SELLER ENTRY (Red): Confirmed seller entry signal. Validation complete.
• 🔻 REVERSAL BUY→SELL (Magenta): Reversal from buyer to seller position.
• 🔺 REVERSAL SELL→BUY (Cyan): Reversal from seller to buyer position.
• ⏹ EXIT → FLAT (Gray): Position exit to flat/neutral state.
• ⬆ BUYER STRONGER (Small Green): Lock price updated higher during buyer state.
• ⬇ SELLER STRONGER (Small Red): Lock price updated lower during seller state.
Display Modes:
• Minimal: Icon only (hover for tooltip details)
• Normal: Icon + Price level
• Detailed: Full information (price, score, grade)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 CHART ELEMENTS
VWMA Spectrum Lines
Colored gradient lines representing the 10-period VWMA matrix. Color progresses from light blue (fast: 7-period) through purple to orange (slow: 97-period). These act as dynamic support/resistance levels weighted by volume.
High Volume Node Lines
• Blue Lines: High Buy Volume zones - potential demand areas
• Red Lines: High Sell Volume zones - potential supply areas
• Yellow Lines: Overlapping zones (buy + sell extremes) - high conflict areas
Lock Price Line & Range Band
• Dashed Line: Locked price level (green for buyers, red for sellers)
• Dotted Lines: Upper/lower bounds of validation range
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ INPUT SETTINGS GUIDE
Volume Model
• Calculation Method: "Geometry (Candle-Range Split)" for universal compatibility or "Intrabar (Precise)" for accurate buy/sell separation.
• Intrabar LTF: Lower timeframe for Intrabar mode (e.g., "1" for 1-minute).
Direction Filter
• Direction Trigger Angle: Threshold for directional state change (default: 1.5°)
• Neutral Reset Angle: Threshold for returning to neutral (default: 0.7°)
Testing Filter
• Level Proximity (%): How close price must be to "test" a level (default: 0.25%)
• Require Wick Touch: If enabled, requires high/low to touch proximity band.
Signal Validation
• Lock Range (%): Price range for validation (default: 0.5%)
• Validation Ticks: Consecutive bars required (default: 3)
• Validation Time: Minimum seconds for real-time confirmation (default: 5)
• Minimum Hold Bars: Stay in position for at least this many bars (default: 5)
• Exit Mode: "Reversal Only" / "Signal Loss" / "Price Stop"
• Stop Loss (%): Exit threshold (default: 1.0%)
Signal Score Filter
• Score Range Minimum: Minimum score for signal generation (default: 10%)
• Score Range Maximum: Maximum score threshold (default: 100%)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 USAGE RECOMMENDATIONS
1. Start with Macro mode to see the complete VWMA spectrum, then switch to Micro for cleaner charts.
2. Use Intrabar mode when your broker provides lower timeframe data.
3. Focus on high-grade signals (B+ or better) for higher probability setups.
4. Wait for validation to complete before acting on signals.
5. Use the Lock Price line as your reference for position management.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ IMPORTANT NOTES
• This indicator is designed for educational and analytical purposes.
• Always combine with proper risk management and additional confirmation.
• Past performance and signal quality do not guarantee future results.
• The prediction accuracy is session-specific and resets on chart reload.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Volume-Based Indicator — Data Granularity & Table Guide
1) Critical warning about data granularity (read first)
Important: This indicator is built entirely on volume-derived calculations (volume, volume delta, and related flow metrics). Because of that, its precision is only as good as the granularity and history of the data you feed it.
The most granular view is a tick-based interval (e.g., 1T = one trade/tick). If tick-based intervals are not available for your symbol or your plan, the closest time-based approximation is a 1-second chart (1S).
If you enable any "high-precision / intrabar" options (anything that relies on the smallest updates), make sure you understand which TradingView plan you are using, because intrabar historical depth (how many bars you can load) varies by plan. More history generally means more stable baselines for volume statistics, regime detection, and long lookback features.
Plan-related notes (TradingView)
TradingView limits how many intrabar historical bars can be loaded, depending on your plan. The exact limits are defined by TradingView and can change over time, but as of the current documentation, the intrabar limits are:
• Basic: 5,000 bars
• Essential: 10,000 bars
• Plus: 10,000 bars
• Premium: 20,000 bars
• Expert: 25,000 bars
• Ultimate: 40,000 bars
Tick charts / tick-based intervals are currently positioned as a feature of professional-tier plans (e.g., Expert/Elite/Ultimate). Availability may also vary by symbol and data feed.
Bloomberg Mega Board [v2.5 Fixed]Transform your TradingView chart into a professional-grade command center. Designed for traders who need high-level market awareness without switching tabs, this dashboard provides deep, multi-timeframe analysis across US Sectors, Commodities, Currencies, and Crypto.
Key Features
1. Multi-Asset Paging System Pine Script has a limit of 40 security calls, which usually limits how much data you can see. This script bypasses that limitation using a smart Paging System:
Sectors Page: Tracks the top 10 US Sectors (SPY, XLK, XLF, etc.) & Indices.
Commodities Page: Gold, Silver, Oil, Gas, Copper, Corn, etc.
Currencies Page: Major Forex pairs including DXY, EURUSD, USDJPY.
Crypto Page: Top 10 Cryptocurrencies by volume.
Switch pages instantly via the Settings menu.
2. Smart "News" Headlines Since Pine Script cannot access the live internet for news, this script uses an Algorithmic Headline Generator. It analyzes price action and trend alignment to generate a "Market Status" summary:
Full Bull Trend: Intraday + Daily + Weekly trends are all positive.
Strong Rally: Asset is up significantly (>1.25%) on the day.
Heavy Sell-off: Asset is down significantly (<-1.25%) on the day.
Pullback (Buy?): Daily trend is UP, but Intraday is DOWN (potential entry).
Consolidating: Market is chopping sideways.
3. Timeframe Trend Matrix Monitor momentum across the curve with a single glance. The "Trend" columns are powered by the 5 EMA (Exponential Moving Average):
Intraday: Adapts to your current chart timeframe (e.g., switch your chart to 15m to see the 15m trend).
Daily / Weekly / Monthly: These are hard coded to always show the higher timeframe trend, regardless of what chart you are looking at. Trend is determined by price in relation to it's 5 EMA.
4. "Terminal" Aesthetic
Styled with a dark, high-contrast Bloomberg Terminal look.
Uses Amber tickers and Neon status blocks for rapid visual scanning.
Optimized for Full Screen Mode: Hide your main chart candles to turn your monitor into a dedicated data dashboard.
How to Use
Add the indicator to your chart and move it to "New Lower Indicator" Then repeat 4 times for each dashboard.
Open Settings (the gear icon) and find "Select Page".
Choose your desired market view (e.g., Sectors, Crypto, Currencies, Commodities)
Optional: To replicate the full dashboard look, go to your Chart Settings -> Symbol -> Uncheck "Body" and "Borders" to hide the candles behind the table.
2 hours ago
Release Notes
Transform your TradingView chart into a professional-grade command center. Designed for traders who need high-level market awareness without switching tabs, this dashboard provides deep, multi-timeframe analysis across US Sectors, Commodities, Currencies, and Crypto.
Key Features
1. Multi-Asset Paging System Pine Script has a limit of 40 security calls, which usually limits how much data you can see. This script bypasses that limitation using a smart Paging System:
Sectors Page: Tracks the top 10 US Sectors (SPY, XLK, XLF, etc.) & Indices.
Commodities Page: Gold, Silver, Oil, Gas, Copper, Corn, etc.
Currencies Page: Major Forex pairs including DXY, EURUSD, USDJPY.
Crypto Page: Top 10 Cryptocurrencies by volume.
Switch pages instantly via the Settings menu.
2. Smart "News" Headlines Since Pine Script cannot access the live internet for news, this script uses an Algorithmic Headline Generator. It analyzes price action and trend alignment to generate a "Market Status" summary:
Full Bull Trend: Intraday + Daily + Weekly trends are all positive.
Strong Rally: Asset is up significantly (>1.25%) on the day.
Heavy Sell-off: Asset is down significantly (<-1.25%) on the day.
Pullback (Buy?): Daily trend is UP, but Intraday is DOWN (potential entry).
Consolidating: Market is chopping sideways.
3. Timeframe Trend Matrix Monitor momentum across the curve with a single glance. The "Trend" columns are powered by the 5 EMA (Exponential Moving Average):
Intraday: Adapts to your current chart timeframe (e.g., switch your chart to 15m to see the 15m trend).
Daily / Weekly / Monthly: These are hard coded to always show the higher timeframe trend, regardless of what chart you are looking at. Trend is determined by price in relation to it's 5 EMA.
4. "Terminal" Aesthetic
Styled with a dark, high-contrast Bloomberg Terminal look.
Uses Amber tickers and Neon status blocks for rapid visual scanning.
Optimized for Full Screen Mode: Hide your main chart candles to turn your monitor into a dedicated data dashboard.
How to Use
Add the indicator to your chart and move it to "New Lower Indicator" Then repeat 4 times for each dashboard.
Open Settings (the gear icon) and find "Select Page".
Choose your desired market view (e.g., Sectors, Crypto, Currencies, Commodities)
Optional: To replicate the full dashboard look, go to your Chart Settings -> Symbol -> Uncheck "Body" and "Borders" to hide the candles behind the table.
2 hours ago
Release Notes
Transform your TradingView chart into a professional-grade command center. Designed for traders who need high-level market awareness without switching tabs, this dashboard provides deep, multi-timeframe analysis across US Sectors, Commodities, Currencies, and Crypto.
Key Features
1. Multi-Asset Paging System Pine Script has a limit of 40 security calls, which usually limits how much data you can see. This script bypasses that limitation using a smart Paging System:
Sectors Page: Tracks the top 10 US Sectors (SPY, XLK, XLF, etc.) & Indices.
Commodities Page: Gold, Silver, Oil, Gas, Copper, Corn, etc.
Currencies Page: Major Forex pairs including DXY, EURUSD, USDJPY.
Crypto Page: Top 10 Cryptocurrencies by volume.
Switch pages instantly via the Settings menu.
2. Smart "News" Headlines Since Pine Script cannot access the live internet for news, this script uses an Algorithmic Headline Generator. It analyzes price action and trend alignment to generate a "Market Status" summary:
Full Bull Trend: Intraday + Daily + Weekly trends are all positive.
Strong Rally: Asset is up significantly (>1.25%) on the day.
Heavy Sell-off: Asset is down significantly (<-1.25%) on the day.
Pullback (Buy?): Daily trend is UP, but Intraday is DOWN (potential entry).
Consolidating: Market is chopping sideways.
3. Timeframe Trend Matrix Monitor momentum across the curve with a single glance. The "Trend" columns are powered by the 5 EMA (Exponential Moving Average):
Intraday: Adapts to your current chart timeframe (e.g., switch your chart to 15m to see the 15m trend).
Daily / Weekly / Monthly: These are hard coded to always show the higher timeframe trend, regardless of what chart you are looking at. Trend is determined by price in relation to it's 5 EMA.
4. "Terminal" Aesthetic
Styled with a dark, high-contrast Bloomberg Terminal look.
Uses Amber tickers and Neon status blocks for rapid visual scanning.
Optimized for Full Screen Mode: Hide your main chart candles to turn your monitor into a dedicated data dashboard.
How to Use
Add the indicator to your chart and move it to "New Lower Indicator" Then repeat 4 times for each dashboard.
Open Settings (the gear icon) and find "Select Page".
Choose your desired market view (e.g., Sectors, Crypto, Currencies, Commodities)
Optional: To replicate the full dashboard look, go to your Chart Settings -> Symbol -> Uncheck "Body" and "Borders" to hide the candles behind the table.
2 hours ago
Release Notes
Transform your TradingView chart into a professional-grade command center. Designed for traders who need high-level market awareness without switching tabs, this dashboard provides deep, multi-timeframe analysis across US Sectors, Commodities, Currencies, and Crypto.
Key Features
1. Multi-Asset Paging System Pine Script has a limit of 40 security calls, which usually limits how much data you can see. This script bypasses that limitation using a smart Paging System:
Sectors Page: Tracks the top 10 US Sectors (SPY, XLK, XLF, etc.) & Indices.
Commodities Page: Gold, Silver, Oil, Gas, Copper, Corn, etc.
Currencies Page: Major Forex pairs including DXY, EURUSD, USDJPY.
Crypto Page: Top 10 Cryptocurrencies by volume.
Switch pages instantly via the Settings menu.
2. Smart "News" Headlines Since Pine Script cannot access the live internet for news, this script uses an Algorithmic Headline Generator. It analyzes price action and trend alignment to generate a "Market Status" summary:
Full Bull Trend: Intraday + Daily + Weekly trends are all positive.
Strong Rally: Asset is up significantly (>1.25%) on the day.
Heavy Sell-off: Asset is down significantly (<-1.25%) on the day.
Pullback (Buy?): Daily trend is UP, but Intraday is DOWN (potential entry).
Consolidating: Market is chopping sideways.
3. Timeframe Trend Matrix Monitor momentum across the curve with a single glance. The "Trend" columns are powered by the 5 EMA (Exponential Moving Average):
Intraday: Adapts to your current chart timeframe (e.g., switch your chart to 15m to see the 15m trend).
Daily / Weekly / Monthly: These are hard coded to always show the higher timeframe trend, regardless of what chart you are looking at. Trend is determined by price in relation to it's 5 EMA.
4. "Terminal" Aesthetic
Styled with a dark, high-contrast Bloomberg Terminal look.
Uses Amber tickers and Neon status blocks for rapid visual scanning.
Optimized for Full Screen Mode: Hide your main chart candles to turn your monitor into a dedicated data dashboard.
How to Use
Add the indicator to your chart and move it to "New Lower Indicator" Then repeat 4 times for each dashboard.
Open Settings (the gear icon) and find "Select Page".
Choose your desired market view (e.g., Sectors, Crypto, Currencies, Commodities)
Optional: To replicate the full dashboard look, go to your Chart Settings -> Symbol -> Uncheck "Body" and "Borders" to hide the candles behind the table.
SMC Market Structure (HH/HL/LH/LL + BOS/CHoCH/MSS)SMC Market Structure (HH/HL/LH/LL + BOS/CHoCH/MSS) is a clean price-action / Smart Money Concepts market structure tool designed to automatically identify and label key structural events on the chart:
Swing structure points: HH, HL, LH, LL
Continuation confirmations: BOS (Break of Structure)
Early reversal warnings: CHoCH (Change of Character)
Stronger reversal signals: MSS (Market Structure Shift) using a displacement filter
The script is built to remain visually tidy: it draws simple horizontal structure lines at the broken swing level and prints small abbreviations (BOS / CHoCH / MSS) directly on the chart without cluttering candles or adding heavy panels.
What the Indicator Detects
1) Swing Points (HH / HL / LH / LL)
Swings are detected using confirmed pivots (left/right “Swing length” bars).
HH (Higher High): a swing high above the previous swing high
LH (Lower High): a swing high below the previous swing high
HL (Higher Low): a swing low above the previous swing low
LL (Lower Low): a swing low below the previous swing low
These labels help define the market’s active structure:
Bullish structure: HH + HL sequence
Bearish structure: LL + LH sequence
Range / consolidation: mixed swing progression
2) BOS (Break of Structure) – Trend Continuation
A BOS prints when price breaks the most recent swing level in the direction of the current structure:
In a bullish market state → break above the most recent swing high
In a bearish market state → break below the most recent swing low
This is typically treated as confirmation that the existing trend is continuing.
3) CHoCH (Change of Character) – Early Reversal Signal
A CHoCH prints on the first break against the current structure:
In a bullish market state → break below the most recent swing low
In a bearish market state → break above the most recent swing high
CHoCH is intended as an early warning that the market may be transitioning into a new directional bias.
4) MSS (Market Structure Shift) – Stronger Reversal via Displacement
MSS is treated as a “strong CHoCH” and requires a decisive, displacement-style candle at the break.
To qualify as MSS, the script requires:
A break against structure with a CLOSE break, and
A displacement candle where:
Candle body > ATR × Displacement Multiplier
This helps filter out shallow wicks or minor liquidity grabs and highlights shifts that show stronger participation and momentum.
How the Indicator Draws on the Chart
When a BOS / CHoCH / MSS occurs:
A horizontal line is drawn from the swing point to the break bar at the broken level.
A small abbreviation label (BOS / CHoCH / MSS) is placed either:
In the middle of the line segment, or
On the break bar (selectable)
Swing labels (HH/HL/LH/LL) are optional and can be disabled for a cleaner “event-only” layout.
Inputs & Settings
Swing Length (Pivot Left/Right)
Controls how sensitive the swing detection is.
Lower values (3–5): more structure points, more signals
Higher values (8–14): fewer, cleaner swings (better for higher timeframes)
Break Confirmation (Wick vs Close)
Wick: break triggers when the candle’s wick crosses the swing level
Close: break triggers only when the candle closes beyond the swing level
Many SMC traders prefer Wick for detecting liquidity runs and early breaks, while others prefer Close to reduce false signals.
MSS Displacement Filter
ATR Length: ATR calculation period
Displacement Multiplier: Minimum body size = ATR × multiplier
Higher multiplier = fewer MSS signals, but stronger quality threshold.
Display Toggles
Show/Hide Swing Labels (HH/HL/LH/LL)
Show/Hide BOS, CHoCH, MSS
Optional EQH/EQL labeling (equal highs/lows)
Visual Controls
Bullish / bearish structure colors
Line width / style
Text offset (in ticks) to keep labels neat above/below level
Maximum structure objects to keep on screen (prevents object-limit issues)
Recommended Usage
Trend Following
Use HH/HL or LL/LH progression to define the trend.
Wait for BOS to confirm continuation.
Use BOS levels as:
Bias confirmation
Potential retest zones
Risk reference for stop placement
Reversal / Shift Detection
Identify prevailing structure (bullish or bearish).
Watch for CHoCH as the first sign of a possible reversal.
Treat MSS as a stronger “shift” event (displacement + close break), often suitable for:
Changing directional bias
Switching from pullback trading to reversal continuation setups
Multi-Timeframe Workflow (Common SMC Method)
Higher timeframe (HTF): use swings and BOS to define macro bias
Lower timeframe (LTF): use CHoCH/MSS to time entries and manage risk
Confirm entries with your preferred tools (order blocks, FVGs, liquidity pools, session timing, etc.)
Notes & Limitations
This script uses confirmed pivots, so swing labels appear only after the swing is fully formed (after Swing length bars). This avoids repainting swing points.
BOS/CHoCH/MSS events are derived from the most recent confirmed swing levels.
MSS requires a close break and displacement threshold even if “Wick” breaks are enabled for other events (by design, to keep MSS strict).
Best Settings by Timeframe (General Guide)
Scalping (1–5m): Swing length 3–5, Wick breaks, MSS multiplier 1.2–1.8
Intraday (15m–1h): Swing length 5–8, Wick or Close, MSS multiplier 1.5–2.0
Swing trading (4h–1D): Swing length 8–14, Close breaks, MSS multiplier 1.8–2.5






















