PST Bread Checklist v4Uses 50/200 EMA for higher-timeframe trend
Uses RSI zones + cross for entry
Adds volatility filter (ATR vs its own average)
Optional session filter (RTH 09:30–16:00)
Has a cooldown so you don’t get 10 labels in a row
Shows a checklist box + last signal
Grafik Desenleri
ICT/SMC Final-Touch v2.0
** Free trial until the end of 2025 ~ Just send your TV username > t.me
ICT/SMC Final-Touch – Professional Market Visualization
ICT/SMC Final-Touch is a cutting-edge trading indicator designed for serious traders who want to see the market as it truly moves, without relying on guesswork or cluttered charts. Operating intensively behind the scenes, the indicator continuously analyzes market dynamics to produce fully structured, visually clear trade setups that highlight entry points, risk zones, and potential rewards. It is built to provide a professional-level view of the market, turning complex price behavior into organized, actionable visuals.
🔹 Why ICT/SMC Final-Touch Stands Out:
🔍 Intensive Behind-the-Scenes Analysis: The indicator works silently in the background, monitoring market movements and key patterns without overwhelming the chart, allowing traders to focus on clean and clear trade opportunities.
📊 Complete Trade Visualization: Every detected setup is displayed visually with clear entry points, stop-loss levels, and take-profit zones, creating a full, actionable trade framework.
⏱️ Multi-Timeframe Awareness: The indicator supports multiple timeframes, providing a broader perspective on market conditions while maintaining clarity in execution.
🎨 Professional-Grade Visuals: Each trade setup is presented in a clean, uncluttered format, making it easy to interpret and act upon in real-time.
💡 Trade Insight and Context: Beyond simple signals, ICT/SMC Final-Touch shows the risk/reward relationship and trade structure, helping traders make informed decisions with confidence.
⚡ Streamlined Trading Experience: By condensing complex market dynamics into a single visual framework, traders can instantly identify opportunities without unnecessary noise or confusion.
⚠️ Disclaimer:
ICT/SMC Final-Touch is an analytical tool and does not guarantee any results or profits.
All trading decisions should be made based on personal analysis, experience, and risk management.
Trading carries inherent risks and can lead to capital loss.
ICT/SMC Final-Touch is not just a charting indicator—it is a strategic companion that works intensively behind the scenes so that traders can see a complete, clean, and actionable trade setup at a glance. Its professional visualization and structured approach are designed to enhance trading clarity, discipline, and decision-making, offering a level of insight typically reserved for institutional traders.
Pristine Adaptive Alpha ScreenerThe Pristine Adaptive Alpha Screener allows users to screen for all of the trading signals embedded in our premium suite of TradingView tools🏆
▪ Pristine Value Areas & MGI - enables users to perform comprehensive technical analysis through the lens of the market profile in a fraction of the time!
▪ Pristine Fundamental Analysis - enables users to perform comprehensive fundamental stock analysis in a fraction of the time!
▪ Pristine Volume Analysis - organizes volume, liquidity, and share structure data, allowing users to quickly gauge the relative volume a security is trading on, and whether it is liquid enough to trade
💠 How is this Screener Original?
▪ The screener allows users to screen for breakouts, breakdowns, bullish and bearish trend reversals, and allows users to narrow a universe of stocks based purely on fundamentals, or purely on technicals. One screening tool to support an entire technofundamental workflow!
💠 Signals Overview
Each of the below signals serves one of two purposes:
1) A pivot point to be used as a long or short entry
2) A tool for narrowing a universe of stocks to a shorter list of stocks that have a higher potential for superperformance
▪ HVY(highest volume in a year) -> Featured in Pristine Volume Analysis -> Entry signal
▪ Trend Template -> Inspired by Mark Minervini's famous trend filters -> Tool for narrowing a universe of stocks to a shorter list with a higher potential for superperformance
▪ Rule of 100 -> Metrics from Pristine Fundamental Analysis -> Tool for narrowing a universe of stocks to a shorter list with a higher potential for superperformance
▪ Bullish 80% Rule -> Featured in Pristine Value Areas & MGI -> Long entry signal -> Trend Reversal
▪ Bearish 80% Rule -> Featured in Pristine Value Areas & MGI -> Short entry signal -> Trend Reversal
▪ Break Above VAH -> Featured in Pristine Value Areas & MGI -> Long entry signal -> Trend Continuation
▪ Break Below VAL -> Featured in Pristine Value Areas & MGI -> Short entry signal -> Trend Continuation
💠 Signals Decoded
▪ HVY(highest volume in a year)
Volume is an important metric to track when trading, because abnormally high volume tends to occur when a new trend is kicking off, or when an established trend is hitting a climax. Screen for HVY to quickly curate every stock that meets this condition.
▪ Trend Template
Mark Minervini's gift to the trading world. Via his book "Think and Trade Like a Stock Market Wizard". Stocks tend to make their biggest moves when they are already in uptrends, and the Minervini Trend template provides criteria to assess whether a stock is in a clearly defined uptrend. Filter for trend template stocks using our tool.
▪ Rule of 100
Pristine Capital's gift to the trading world. The rule of 100 filters for stocks that meet the following condition: YoY EPS Growth + YoY Sales Growth >= 100%. Stocks that meet this criteria tend to attract institutional investors, making them strong candidates for swing trading to the long side.
💠 Market Profile Introduction
A Market Profile is a charting technique devised by J. Peter Steidlmayer, a trader at the Chicago Board of Trade (CBOT), in the 1980's. He created it to gain a deeper understanding of market behavior and to analyze the auction process in financial markets. A market profile is used to analyze an auction using price, volume, and time to create a distribution-based view of trading activity. It organizes market data into a bell-curve-like structure, which reveals areas of value, balance, and imbalance.
💠 How is a Value Area Calculated?
A value area is a distribution of 68%-70% of the trading volume over a specific time interval, which represents one standard deviation above and below the point of control, which is the most highly traded level over that period.
The key reference points are as follows:
Value area low (VAL) - The lower boundary of a value area
Value area high (VAH) - The upper boundary of a value area
Point of Control (POC) - The price level at which the highest amount of a trading period's volume occurred
If we take the probability distribution of trading activity and flip it 90 degrees, the result is our Pristine Value Area!
Market Profile is our preferred method of technical analysis at Pristine Capital because it provides an objective and repeatable assessment of whether an asset is being accumulated or distributed by institutional investors. Market Profile levels work remarkably well for identifying areas of interest, because so many institutional trading algorithms have been programmed to use these levels since the 1980's!
The benefits of using Market Profile include better trade location, improved risk management, and enhanced market context. It helps traders differentiate between trending and consolidating markets, identify high-probability trade setups, and adjust their strategies based on whether the market is in balance (consolidation) or imbalance (trending). Unlike traditional indicators that rely on past price movements, Market Profile provides real-time insights into trader behavior, giving an edge to those who can interpret its nuances effectively.
▪ Bullish 80% Rule
If a security opens a period below the value area low , and subsequently closes above it, the bullish 80% rule triggers, turning the value area green. One can trade for a move to the top of the value area, using a close below the value area low as a potential stop!
In the below example, HOOD triggered the bullish 80% rule after it reclaimed the monthly value area!
HOOD proceeded to rally through the monthly value area and beyond in subsequent trading sessions. Finding the first stocks to trigger the bullish 80% rule after a market correction is key for spotting the next market leaders!
▪ Bearish 80% Rule
If a security opens a period above the value area high , and subsequently closes below it, the bearish 80% rule triggers, turning the value area red. One can trade for a move to the bottom of the value area, using a close above the value area high as a potential stop!
ES proceeded to follow through and test the value area low before trending below the weekly value area
▪ Break Above VAH
When a security is inside value, the auction is in balance. When it breaks above a value area, it could be entering a period of upward price discovery. One can trade these breakouts with tight risk control by setting a stop inside the value area! These breakouts can be traded on all chart timeframes depending on the style of the individual trader. Combining multiple timeframes can result in even more effective trading setups.
RBLX broke out from the monthly value area on 4/22/25👇
RBLX proceeded to rally +62.78% in 39 trading sessions following the monthly VAH breakout!
▪ Break Below VAL
When a security is inside value, the auction is in balance. When it breaks below a value area, it could be entering a period of downward price discovery. One can trade these breakdowns with tight risk control by setting a stop inside the value area! These breakouts can be traded on all chart timeframes depending on the style of the individual trader. Combining multiple timeframes can result in even more effective trading setups.
CHWY broke below the monthly value area on 7/20/23👇
CHWY proceeded to decline -53.11% in the following 64 trading sessions following the monthly VAL breakdown!
💠 Metric Columns
▪ %𝚫 - 1-day percent change in price
▪ YTD %𝚫 - Year-to-date percent change in price
▪ MTD %𝚫 - Month-to-date percent change in price
▪ MAx Moving average extension - ATR % multiple from the 50D SMA -Inspired by Jeff Sun
▪ 52WR - Measures where a security is trading in relation to it’s 52wk high and 52wk low. Readings near 100% indicate close proximity to a 52wk high and readings near 0% indicate close proximity to a 52wk low
▪ Avg $Vol - Average volume (50 candles) * Price
▪ Vol RR - Candle volume/ Avg candle volume
💠 Best Practices
Monday -> Friday Post-market Analysis
1) Begin with a universe of stocks. I use the following linked universe screen as a starting point: www.tradingview.com
2) Screen for the HVY signal -> Add those stocks to a separate flagged (colored) watchlist
3) Screen for the Bullish 80% Rule signal -> Add those stocks to a separate flagged (colored) watchlist
4) Screen for the Break Above VAH Signal -> Add those stocks to a separate flagged (colored) watchlist
5) Screen for the Break Below VAL Signal -> Add those stocks to a separate flagged (colored) watchlist
6) Screen for the Bearish 80% Rule Signal -> Add those stocks to a separate flagged (colored) watchlist
7) Screen for the Bearish 80% Rule Signal -> Add those stocks to a separate flagged (colored) watchlist
8) Screen for the Trend Template Signal -> Add those stocks to a separate flagged (colored) watchlist
9) Toggle through each list and analyze each stock chart using the Supercharts tool in TradingView
10)Record the number of stocks in each list as a way of analyzing market conditions
Weekend Analysis
1) Begin with a universe of stocks. I use the following linked universe screen as a starting point: www.tradingview.com
2) Screen for the Rule of 100 Signal. Use this as a starting point for deeper fundamental and/or thematic and/or technical research
3) Screen for stocks that meet specific performance thresholds, such as YTD %𝚫 > 100% etc
💠 Get Creative
▪Users have the ability to layer signals on top of each other when screening. To do so, filter for a signal, and then filter your new list by another signal! Play around with the screener, and find what works best for you!
Crypto Alert Swing Master A comprehensive all-in-one indicator that combines the most powerful professional trading tools in a single system. It provides:
Volume Profile to identify high-volume areas and market activity zones.
Order Blocks & Breaker Blocks with clear distinction between Supply and Demand zones.
Market Structure tools (MSB – BOS – CHOCH) to detect trend shifts and structural breaks.
Support & Resistance automatically detected from higher timeframes.
Range Detection with 0.25 / 0.50 / 0.75 mid-range levels.
A complete TP System with 4 automated Take-Profit levels.
Trend Filter + GG Shot to identify accurate LONG and SHORT entry conditions.
This indicator gives you a full market map:
trend direction, reversal zones, volume strength, market structure, and smart entry/exit points.
Trend Flip Exhaustion SignalsThis Pine Script is designed to generate buy and short trading signals based on a combination of technical indicators. It calculates fast and slow EMAs, RSI, a linear regression channel, and a simplified TTM squeeze histogram to measure momentum.
- Short signals trigger when price is above both EMAs, near the upper regression channel, momentum is weakening, volume is fading, and RSI is overbought.
- Buy signals trigger when price is below both EMAs, near the lower regression channel, momentum is strengthening, volume is surging, and RSI is oversold.
- Signals are displayed as labels anchored to price bars (with optional plotshape arrows for backup).
- The script also plots the EMAs and regression channel for visual context.
In short - it’s a trend‑following entry tool that highlights potential exhaustion points for shorts and potential reversals for buys, with clear on‑chart markers to guide decision‑making.
Simple GapsSimple gaps indicator that shows gap downs or gap up.
It contains two filter
atr filter
To filter out small gaps from bigger gaps.
This is an extra option and is best left false.
Session filter
To remove gaps from lower time frames (outside of regular hours).
BETradez HTF Order Blocks BETradez HTF Order Blocks identifies and displays order blocks from higher timeframes on your chart. It detects Break of Structure (BOS) events, when price breaks above the highest high or below the lowest low—then scans back up to 200 bars to find the last opposing candle, which becomes the order block zone. The indicator displays up to 5 active order blocks per side (bullish in green, bearish in red), automatically extends them forward in time, and can hide invalidated blocks when price violates them. You can customize the timeframe (use chart or a custom higher timeframe), adjust forward extension, show optional wick lines and center lines, and control label text size. Order blocks often act as support/resistance zones where institutional activity occurred, making them useful for identifying potential entry areas, support/resistance levels, and risk management points in multi-timeframe analysis.
Aroon + Chaiki OscillatorThis is an Chaiki Oscillator that facilitates more straightforward trendline analysis utilizing the Aroon setup for bars.
This is a simple Pinescript designed for incorporation into your charting analysis.
As always, none of this is investment or financial advice. Please do your own due diligence and research.
Weekly Open + Monday High/Low (After Monday Close)b]Description
This indicator marks key weekly reference levels based on Monday’s price behavior.
It automatically detects each trading week and tracks:
• Weekly Open – the first traded price of the new week
• Monday High – the highest price reached on Monday
• Monday Low – the lowest price reached on Monday
Logic
The Monday range is fully captured only after Monday has closed .
No levels are plotted during Monday.
Starting from Tuesday, the indicator displays thin dots showing the completed Monday High, Monday Low, and Weekly Open for the remainder of the week.
When a new week begins, the indicator resets automatically and begins tracking the new week’s Monday.
Customization
The user can choose colors for:
• Monday High/Low
• Weekly Open
Purpose
This indicator helps traders visualize weekly structure, monitor weekly opening levels, and quickly identify Monday’s range for weekly bias analysis or strategy development.
It can also be used to manually backtest Monday range strategies .
NQ × ES SMT Panel — Ace v3.5NQ × ES SMT Panel — Ace v3.5 (6-Year Model)
This panel reads the 10:45 → 11:00 ET window on NQ and checks for sweeps of the 10:45 candle with SMT confirmation from ES.
It then shows you direction, quality of the signal, and 6-year follow-through stats.
🕒 Recommended Use
Chart: NQ / MNQ
Timeframe: 15-minute
Session: New York (focus on 10:45 and 11:00 ET)
ES symbol input: default ES1! (can be changed in settings)
The script only “makes decisions” on the 11:00 candle close.
🔍 What the Model Looks For
1. NQ Sweep of 10:45 Candle
Bull Sweep (Long bias)
11:00 low < 10:45 low
11:00 close > 10:45 low
Bear Sweep (Short bias)
11:00 high > 10:45 high
11:00 close < 10:45 high
This means: price took liquidity beyond 10:45, then closed back inside.
2. ES SMT Filter (Confirmation)
Bullish SMT
NQ does a bull sweep (takes the low)
ES does NOT make a lower low vs its own 10:45 low
Bearish SMT
NQ does a bear sweep (takes the high)
ES does NOT make a higher high vs its own 10:45 high
If NQ sweeps but ES doesn’t follow, you have SMT and a stronger signal.
📋 Panel Fields (What You See)
The panel is 4 rows, 1 column:
Header
NQ × ES SMT — Ace v3.5 | | Score:
Status can be:
BULLISH SMT
BEARISH SMT
Bull Sweep
Bear Sweep
No Signal
Sweep Direction
Sweep Direction: LONG ↑
Sweep Direction: SHORT ↓
- when no signal
Follow-Through Text
For SMT:
Bullish → High Odds 60-100 Handle Move
Bearish → High Odds 40-80 Handle Move
For pure sweeps:
Normal Follow-through
For no signal: blank
6-Year Stats Line
Shows how often the move reached 40/60/80 handles in the modeled direction:
Example (Bullish SMT):
SMT Stats (6y): 40h=64%, 60h=51%, 80h=41%
Example (Bearish SMT):
SMT Stats (6y): 40h=58%, 60h=42%, 80h=29%
Sweeps without SMT show Sweep Stats (6y): …
No signal: Stats: n/a
⭐ Score Meaning
5★ → SMT present (A+ setup)
3★ → Clean sweep, no SMT (B setup)
0★ → No valid sweep (NO-GO)
Use the score + stats line to decide if the idea deserves risk today.
📈 How to Trade It (Conceptual)
Wait for 11:00 candle to close.
Check panel:
If BULLISH SMT, 5★ → bias long.
If BEARISH SMT, 5★ → bias short.
If Bull/Bear Sweep, 3★ → optional, lower priority.
If No Signal, 0★ → stand aside.
Use your own execution model for entries:
Look for FVG/OB setups in the direction the panel confirms.
Targets can be based on your handle objectives (e.g., 40–80 handles) and intraday structure.
⚠️ Important Notes
Panel is a bias and stats tool, not an auto-entry system.
Works best on regular trading days (avoid major news spikes if you choose).
All stats are based on a 6-year historical lookback on NQ vs ES in this exact 10:45→11:00 structure.
9:30 Range Break Entry SystemThis strategy identifies the opening range from 9:30-9:35 AM and enters a trade when price breaks above or below that range with confirmation (bullish/bearish candle, engulfing pattern, or no confirmation). You can choose "On Break" mode to enter immediately on the breakout, or "On Pullback" mode to wait for price to pullback into the range and then re-break for a better entry. The strategy takes only one trade per direction per day and provides visual markers showing when the range breaks and when entry conditions are met.
Combined EMA (5, 9, 21)A single code to combine the 5 9 and 21 EMA's. This script colour codes the different EMAs, yellow orage and red. This is editable if you prefer a different combination. The tie frae is "as chart"
BAY_PIVOT S/R(4 Full Lines + ALL Labels)//@version=5
indicator("BAY_PIVOT S/R(4 Full Lines + ALL Labels)", overlay=true, max_labels_count=500, max_lines_count=500)
// ────────────────────── TOGGLES ──────────────────────
showPivot = input.bool(true, "Show Pivot (Full Line + Label)")
showTarget = input.bool(true, "Show Target (Full Line + Label)")
showLast = input.bool(true, "Show Last Close (Full Line + Label)")
showPrevClose = input.bool(true, "Show Previous Close (Full Line + Label)")
useBarchartLast = input.bool(true, "Use Barchart 'Last' (Settlement Price)")
showR1R2R3 = input.bool(true, "Show R1 • R2 • R3")
showS1S2S3 = input.bool(true, "Show S1 • S2 • S3")
showStdDev = input.bool(true, "Show ±1σ ±2σ ±3σ")
showFib4W = input.bool(true, "Show 4-Week Fibs")
showFib13W = input.bool(true, "Show 13-Week Fibs")
showMonthHL = input.bool(true, "Show 1M High / Low")
showEntry1 = input.bool(false, "Show Manual Entry 1")
showEntry2 = input.bool(false, "Show Manual Entry 2")
entry1 = input.float(0.0, "Manual Entry 1", step=0.25)
entry2 = input.float(0.0, "Manual Entry 2", step=0.25)
stdLen = input.int(20, "StdDev Length", minval=1)
fib4wBars = input.int(20, "4W Fib Lookback")
fib13wBars = input.int(65, "13W Fib Lookback")
// ────────────────────── DAILY CALCULATIONS ──────────────────────
high_y = request.security(syminfo.tickerid, "D", high , lookahead=barmerge.lookahead_on)
low_y = request.security(syminfo.tickerid, "D", low , lookahead=barmerge.lookahead_on)
close_y = request.security(syminfo.tickerid, "D", close , lookahead=barmerge.lookahead_on)
pivot = (high_y + low_y + close_y) / 3
r1 = pivot + 0.382 * (high_y - low_y)
r2 = pivot + 0.618 * (high_y - low_y)
r3 = pivot + (high_y - low_y)
s1 = pivot - 0.382 * (high_y - low_y)
s2 = pivot - 0.618 * (high_y - low_y)
s3 = pivot - (high_y - low_y)
prevClose = close_y
last = useBarchartLast ? request.security(syminfo.tickerid, "D", close , lookahead=barmerge.lookahead_off) : close
target = pivot + (pivot - prevClose)
// StdDev + Fibs + Monthly (unchanged)
basis = ta.sma(close, stdLen)
dev = ta.stdev(close, stdLen)
stdRes1 = basis + dev
stdRes2 = basis + dev*2
stdRes3 = basis + dev*3
stdSup1 = basis - dev
stdSup2 = basis - dev*2
stdSup3 = basis - dev*3
high4w = ta.highest(high, fib4wBars)
low4w = ta.lowest(low, fib4wBars)
fib382_4w = high4w - (high4w - low4w) * 0.382
fib50_4w = high4w - (high4w - low4w) * 0.500
high13w = ta.highest(high, fib13wBars)
low13w = ta.lowest(low, fib13wBars)
fib382_13w_high = high13w - (high13w - low13w) * 0.382
fib50_13w = high13w - (high13w - low13w) * 0.500
fib382_13w_low = low13w + (high13w - low13w) * 0.382
monthHigh = ta.highest(high, 30)
monthLow = ta.lowest(low, 30)
// ────────────────────── COLORS ──────────────────────
colRed = color.rgb(255,0,0)
colLime = color.rgb(0,255,0)
colYellow = color.rgb(255,255,0)
colOrange = color.rgb(255,165,0)
colWhite = color.rgb(255,255,255)
colGray = color.rgb(128,128,128)
colMagenta = color.rgb(255,0,255)
colPink = color.rgb(233,30,99)
colCyan = color.rgb(0,188,212)
colBlue = color.rgb(0,122,255)
colPurple = color.rgb(128,0,128)
colRed50 = color.new(colRed,50)
colGreen50 = color.new(colLime,50)
// ────────────────────── 4 KEY FULL LINES ──────────────────────
plot(showPivot ? pivot : na, title="PIVOT", color=colYellow, linewidth=3, style=plot.style_linebr)
plot(showTarget ? target : na, title="TARGET", color=colOrange, linewidth=2, style=plot.style_linebr)
plot(showLast ? last : na, title="LAST", color=colWhite, linewidth=2, style=plot.style_linebr)
plot(showPrevClose ? prevClose : na, title="PREV CLOSE",color=colGray, linewidth=1, style=plot.style_linebr)
// ────────────────────── LABELS FOR ALL 4 KEY LEVELS (SAME STYLE AS OTHERS) ──────────────────────
f_label(price, txt, bgColor, txtColor) =>
if barstate.islast and not na(price)
label.new(bar_index, price, txt, style=label.style_label_left, color=bgColor, textcolor=txtColor, size=size.small)
if barstate.islast
showPivot ? f_label(pivot, "PIVOT " + str.tostring(pivot, "#.##"), colYellow, color.black) : na
showTarget ? f_label(target, "TARGET " + str.tostring(target, "#.##"), colOrange, color.white) : na
showLast ? f_label(last, "LAST " + str.tostring(last, "#.##"), colWhite, color.black) : na
showPrevClose ? f_label(prevClose, "PREV CLOSE "+ str.tostring(prevClose, "#.##"), colGray, color.white) : na
// ────────────────────── OTHER LEVELS – line stops at label ──────────────────────
f_level(p, txt, tc, lc, w=1) =>
if barstate.islast and not na(p)
lbl = label.new(bar_index, p, txt, style=label.style_label_left, color=lc, textcolor=tc, size=size.small)
line.new(bar_index-400, p, label.get_x(lbl), p, extend=extend.none, color=lc, width=w)
if barstate.islast
if showR1R2R3
f_level(r1, "R1 " + str.tostring(r1, "#.##"), color.white, colRed)
f_level(r2, "R2 " + str.tostring(r2, "#.##"), color.white, colRed)
f_level(r3, "R3 " + str.tostring(r3, "#.##"), color.white, colRed, 2)
if showS1S2S3
f_level(s1, "S1 " + str.tostring(s1, "#.##"), color.black, colLime)
f_level(s2, "S2 " + str.tostring(s2, "#.##"), color.black, colLime)
f_level(s3, "S3 " + str.tostring(s3, "#.##"), color.black, colLime, 2)
if showStdDev
f_level(stdRes1, "+1σ " + str.tostring(stdRes1, "#.##"), color.white, colPink)
f_level(stdRes2, "+2σ " + str.tostring(stdRes2, "#.##"), color.white, colPink)
f_level(stdRes3, "+3σ " + str.tostring(stdRes3, "#.##"), color.white, colPink, 2)
f_level(stdSup1, "-1σ " + str.tostring(stdSup1, "#.##"), color.white, colCyan)
f_level(stdSup2, "-2σ " + str.tostring(stdSup2, "#.##"), color.white, colCyan)
f_level(stdSup3, "-3σ " + str.tostring(stdSup3, "#.##"), color.white, colCyan, 2)
if showFib4W
f_level(fib382_4w, "38.2% 4W " + str.tostring(fib382_4w, "#.##"), color.white, colMagenta)
f_level(fib50_4w, "50% 4W " + str.tostring(fib50_4w, "#.##"), color.white, colMagenta)
if showFib13W
f_level(fib382_13w_high, "38.2% 13W High " + str.tostring(fib382_13w_high, "#.##"), color.white, colMagenta)
f_level(fib50_13w, "50% 13W " + str.tostring(fib50_13w, "#.##"), color.white, colMagenta)
f_level(fib382_13w_low, "38.2% 13W Low " + str.tostring(fib382_13w_low, "#.##"), color.white, colMagenta)
if showMonthHL
f_level(monthHigh, "1M HIGH " + str.tostring(monthHigh, "#.##"), color.white, colRed50, 2)
f_level(monthLow, "1M LOW " + str.tostring(monthLow, "#.##"), color.white, colGreen50, 2)
// Manual entries
plot(showEntry1 and entry1 > 0 ? entry1 : na, "Entry 1", color=colBlue, linewidth=2, style=plot.style_linebr)
plot(showEntry2 and entry2 > 0 ? entry2 : na, "Entry 2", color=colPurple, linewidth=2, style=plot.style_linebr)
// Background
bgcolor(close > pivot ? color.new(color.blue, 95) : color.new(color.red, 95))
M&B — Fixed Buy/Sell (v6) - confirmed bars“This indicator highlights potential chart patterns based on mother–child candle structure. It is meant only for visual analysis and does NOT provide buy or sell signals.”
Smart Money Concepts Pro Smart Money Concepts Pro
A professional-grade framework for visualizing institutional price behavior through key Smart Money Concepts. It automatically maps structure shifts, imbalances, and liquidity events so traders can study how price develops around supply and demand.
Core Components
Market Structure (BOS / CHoCH) — Detects continuation and reversal breaks using pivot-based logic with a close-beyond threshold and configurable cooldown.
Order Blocks — Highlights institutional footprints validated by volume and distance filters; zones extend until mitigation.
Fair Value Gaps — Marks three-bar inefficiencies that meet a minimum gap size and optionally auto-remove once filled by a user-defined percentage.
Liquidity Sweeps — Identifies stop-hunt wicks exceeding a configurable extension beyond recent highs or lows.
Premium / Discount Zones — Defines equilibrium and price positioning within recent swing ranges.
Confluence Entries (optional) — Generates neutral BUY / SELL markers only when structure, zone, and directional context align.
Dashboard — Summarizes current structure bias, recent events, zone counts, and directional alignment in real time.
Why it’s distinct
All detections are governed by explicit thresholds—volume multipliers, minimum distances, and fill-percent logic—so each signal results from quantifiable structure rather than heuristic pattern matching. Automatic cleanup ensures charts remain clear as zones are mitigated or gaps filled.
Best use
Applicable across Forex, indices, crypto, and equities. Designed for study on 15 m – 1 D timeframes.
For optimal alignment, pin plots to the Right Scale after adding the script.
Disclaimer: This script is provided for educational and analytical purposes only. It does not constitute financial or investment advice.
Gold Share Converter Levels🟡 Gold Share Converter Levels – Map GLD/ETF Prices to Spot & Futures
Gold Share Converter Levels is a utility tool for traders who follow gold shares / ETFs (like GLD) but trade on XAUUSD spot or gold futures.
It converts your share or ETF prices (for example GLD option strikes, gap levels, or key closes) into equivalent XAUUSD or gold futures prices and plots them as horizontal lines on your gold chart. Each level has its own color and label so you can clearly see where a given share price sits in the spot or futures market.
This is useful if you:
Watch GLD options, gamma levels, or ETF orderflow,
But execute trades on XAUUSD or GC futures,
And want a clean way to see “GLD 390”, “GLD 400”, etc. directly on your gold chart.
🔍 How the conversion works (concept)
The script first calculates a conversion ratio between your share/ETF and the gold market you’re looking at:
In Spot mode (XAUUSD):
Ratio = XAUUSD price ÷ Share price
In Futures mode (Gold futures):
Ratio = Gold futures price ÷ Share price
It then takes each share price you enter (for example 380, 385, 390, 400) and multiplies it by that ratio to get the corresponding gold price.
Result:
Share 390 → Spot 4230.01 (example)
You can choose between two behaviors:
Dynamic mode
Uses live 5-minute prices for the share, XAUUSD, and futures.
The ratio updates as the relationship between GLD and gold changes, so the converted levels move with the market (useful intraday when ETF/spot/futures drift).
Static mode
You type in a fixed ratio (for example, 10.87 if XAUUSD is roughly 10.87 × GLD).
All levels are calculated with that constant ratio.
This is helpful if you want timeframe-independent levels (e.g., higher-TF analysis, screenshots, or backtests) without the ratio changing on every bar.
If data for the share symbol isn’t available, or if the ratio can’t be computed, the script shows a clear warning instead of plotting misleading lines.
⚙️ What the indicator does on the chart
When applied to an XAUUSD or gold futures chart, the indicator:
Converts up to 10 share/ETF prices into equivalent spot or futures levels.
Draws a horizontal line at each converted level, with:
user-selected color,
configurable width and line style (solid/dashed/dotted),
extension across the whole chart.
Optionally adds a label on each line showing both values, e.g.:
S: 390 → Spot: 4230.01 or S: 390 → Fut: 4315.50.
Updates lines only on the last bar to keep the chart clean and efficient.
Shows warnings when:
the chart is not XAUUSD or gold futures,
or when the share symbol data is missing,
or when Static mode is selected but no valid ratio is entered.
The script does not generate trade signals. It’s a mapping/visualization tool that links your ETF/share analysis to the gold market you actually trade.
🛠 Inputs (what you can customize)
Conversion Mode
Spot (XAUUSD) – convert share prices to XAUUSD levels.
Futures (Gold Futures) – convert share prices to gold futures levels.
Share Symbol
The ETF or share you are tracking (default GLD).
You can change this to another gold-related ETF if you wish.
Gold Futures Symbol
Futures contract used in Futures mode (default GC1!).
Line Mode
Dynamic – uses live prices to compute the ratio.
Static – uses your manual ratio for stable, timeframe-independent levels.
Static Spot Ratio
Manual conversion ratio used only in Static mode (e.g. 10.87).
If 0 or not set, the script warns you instead of plotting.
Share Price 1–10 + Color 1–10
Up to 10 share/ETF prices you want to project into gold.
Each level has its own color so you can group or tag different strikes/zones.
Show Labels, Label Position, Label Size
Turn labels on/off and choose where they appear (far left, center, far right) and how large they are.
Line Width & Line Style
Global styling for all converted levels.
📈 How to use it in practice
Example – Using GLD strikes to trade XAUUSD
On your options/ETF platform, identify important GLD levels:
e.g. large open interest or gamma at GLD 380, 385, 390, 400.
In the indicator settings:
Set Share Symbol to GLD.
Choose Spot (XAUUSD) mode.
Use Dynamic mode if you want the mapping to follow the live GLD/XAUUSD relationship, or Static mode with a fixed ratio if you prefer stable lines.
Enter 380, 385, 390, 400 into the share price inputs and assign colors (for example, red for call walls, green for put walls).
On your XAUUSD chart, you’ll now see horizontal lines at the equivalent spot prices for those GLD levels.
You can use them as support/resistance, target zones, or areas where you expect stronger reactions because ETF/option flow is concentrated there.
Example – Mapping GLD levels to gold futures
Switch Conversion Mode to Futures (Gold Futures) and select your preferred GC contract.
The script will then project GLD prices onto the gold futures chart instead of spot.
HL/LH Confirmation Strategy (Clean Market Structure)🚦 HL/LH Confirmation Strategy (Clean Market Structure)
This indicator is specifically designed to help traders identify a clean market structure by tracking the formation of Higher Lows (HL) and Lower Highs (LH). Rather than chasing new price extremes (new Highs or new Lows), the focus is on waiting for trend strength confirmation before considering an entry.
Key Strategy: Waiting for Trend Confirmation 💡
The core advantage of this indicator lies in its confirmation strategy:
For Uptrends (Bullish): The indicator doesn't signal just any low, but only when it detects a Higher Low (HL)—a low that is higher than the previous low. This is a crucial sign that the market has defended a level and is ready to continue moving up. This approach helps avoid chasing new lows and encourages entering trades after confirmation.
For Downtrends (Bearish): Similarly, the indicator looks for the formation of a Lower High (LH)—a high that is lower than the previous high. This suggests that buyers failed to breach the last resistance, signaling a potential continuation of the downside movement.
The indicator alternates between looking for an HL, then an LH, then an HL, visually mapping the Pivot swings and highlighting the moment of trend confirmation for potential trade entries.
Indicator Features ✨
Clear Structure Display: By drawing connecting lines between valid HL and LH points, the indicator visually maps the current market structure.
Pivot Detection: It uses an effective method for Pivot detection, with the sensitivity adjustable via the "Pivot Left" and "Pivot Right" parameters.
Custom Label Placement (Crucial Detail):
HL Label: Placed below the candle for better visual clarity of the bullish support area.
LH Label: Placed above the candle for better visual clarity of the bearish resistance area.
Customizable Colors: Full control over the background and text colors for HL and LH signals, as well as the thickness and color of the connecting lines between Pivot points.
⚙️ Input Parameters
Pivot Settings
Pivot Left / Pivot Right: Determine the number of bars to the left and right that must have lower/higher prices for a point to be declared a valid Pivot (Pivot High or Pivot Low). Increase these values to detect more significant, longer-term swings.
Signal Colors
HL Background/Text Color: Colors for the background and text of the Higher Low (HL) labels.
LH Background/Text Color: Colors for the background and text of the Lower High (LH) labels.
Line Settings
Line Color / Line Width: Allows customization of the appearance of the line connecting the detected HL and LH points.
Recommended Use
This indicator is ideal for traders practicing Price Action and strategies based on Market Structure. Use the HL signals as potential zones for long entries (buying) in an uptrend, and LH signals as zones for short entries (selling) in a downtrend, always after the point formation is confirmed.
S&P 500 Scalper Pro [Trend + MACD] 5 minfor scalping 5 min S&P on 5 min chart put SL on 20 min ma and take 2:1 risk
Gold Futures to Spot Converter Levels🟡 Futures to Spot Converter Levels – Map Futures Liquidity to Spot Charts
Futures to Spot Converter Levels is a utility tool for traders who watch gold futures orderflow but execute their trades on spot gold (XAUUSD).
The idea is simple: you see important prices on the futures ladder / DOM / footprint (icebergs, large resting liquidity, volume nodes, option strikes, etc.). This script converts those futures prices into their equivalent spot prices and draws them as horizontal levels on your spot chart.
It lets you trade XAUUSD while still respecting the liquidity and key levels that exist on the futures market.
🔍 Core Concept – Dynamic Futures → Spot Conversion
The script keeps a live ratio between your selected futures contract and the spot symbol:
Ratio = Spot price ÷ Futures price
On each update it:
Reads the current price of:
your chosen gold futures symbol (e.g. COMEX:GC1!),
the spot symbol (usually FX:XAUUSD).
Calculates the conversion ratio from futures to spot.
For every Futures Price you type in (4300, 4310, 4335, 4245, etc.), it multiplies that value by the ratio and finds the corresponding spot level.
Draws a horizontal line on the spot chart at that converted price, with your chosen color and style.
(Optional) Adds a label like:
GC 4300 → Spot 4148.20
As the relationship between futures and spot moves, the ratio – and therefore the projected levels – adjusts automatically.
🧠 Why this is useful for orderflow traders
Many orderflow tools (Bookmap, DOM ladders, footprint charts) are built around futures, while a lot of brokers and CFD platforms quote spot gold.
With this script you can:
Identify liquidity or absorption levels on the futures (e.g. big resting orders at GC 4300 / 4310 / 4335).
Enter those prices into the Futures Price fields.
See the equivalent XAUUSD levels drawn directly on your spot chart.
Use those projected levels as:
support / resistance zones,
targets or stop areas,
areas to look for reversals or continuation on XAUUSD.
The script itself does not read orderflow; it simply converts the prices you care about from the futures market into the spot market.
⚙️ Inputs
Gold Futures Symbol
Choose the futures contract you are tracking (default COMEX:GC1!).
Spot Symbol
The spot instrument where you want levels drawn (default FX:XAUUSD).
Show Labels
Toggle on/off labels that display both futures and converted spot prices.
Label Position
Far Left / Center / Far Right – where labels appear horizontally on the chart.
Label Size
Tiny, Small, Normal, Large, Huge.
Line Width & Line Style
Visual settings for all levels (solid / dashed / dotted).
Futures Price 1–10 + Colors
Up to 10 futures prices you want to project into spot.
Each one has its own color so you can group levels (for example: red for sell liquidity, green for buy liquidity, different colors for different sessions, etc.).
If a value is 0, that level is ignored.
📈 How to Use It in Practice
On your futures orderflow tool
Mark important prices: large liquidity, iceberg orders, VWAP bands, previous session high/low, option strikes, etc.
Example: GC has big liquidity at 4300, 4310, 4335, 4245, 4230.
In the indicator settings
Set Gold Futures Symbol = COMEX:GC1!
Set Spot Symbol = FX:XAUUSD
Enter those futures levels into Futures Price 1–5.
Pick colors to separate buy/sell zones or strength.
On the XAUUSD chart
The script draws horizontal lines at the spot-equivalent prices of your futures levels.
You can now trade spot while visually anchored to futures liquidity.
Combine with your strategy
Use these converted levels together with your own structure, orderflow, or indicator rules.
The script is not a buy/sell signal; it’s a mapping tool that keeps your spot trading aligned with the futures market.
MAX TRADE ZONA)A simple session level indicator for XAUUSD on the M5 timeframe. It takes the high and low of the 00:45 candle (Asia/Tashkent time), draws infinite horizontal lines from that candle, and keeps only the most recent 7 days. Useful for intraday support and resistance levels.
Kịch bản của tôi//@version=6
indicator(title="Relative Strength Index", shorttitle="Gấu Trọc RSI", format=format.price, precision=2, timeframe="", timeframe_gaps=true)
rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
calculateDivergence = input.bool(false, title="Calculate Divergence", group="RSI Settings", display = display.data_window, tooltip = "Calculating divergences is needed in order for divergence alerts to fire.")
change = ta.change(rsiSourceInput)
up = ta.rma(math.max(change, 0), rsiLengthInput)
down = ta.rma(-math.min(change, 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiPlot = plot(rsi, "RSI", color=#7E57C2)
rsiUpperBand1 = hline(98, "RSI Upper Band1", color=#787B86)
rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86)
midline = hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86)
rsiLowerBand2 = hline(14, "RSI Lower Band2", color=#787B86)
fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")
midLinePlot = plot(50, color = na, editable = false, display = display.none)
fill(rsiPlot, midLinePlot, 100, 70, top_color = color.new(color.green, 0), bottom_color = color.new(color.green, 100), title = "Overbought Gradient Fill")
fill(rsiPlot, midLinePlot, 30, 0, top_color = color.new(color.red, 100), bottom_color = color.new(color.red, 0), title = "Oversold Gradient Fill")
// Smoothing MA inputs
GRP = "Smoothing"
TT_BB = "Only applies when 'SMA + Bollinger Bands' is selected. Determines the distance between the SMA and the bands."
maTypeInput = input.string("SMA", "Type", options = , group = GRP, display = display.data_window)
var isBB = maTypeInput == "SMA + Bollinger Bands"
maLengthInput = input.int(14, "Length", group = GRP, display = display.data_window, active = maTypeInput != "None")
bbMultInput = input.float(2.0, "BB StdDev", minval = 0.001, maxval = 50, step = 0.5, tooltip = TT_BB, group = GRP, display = display.data_window, active = isBB)
var enableMA = maTypeInput != "None"
// Smoothing MA Calculation
ma(source, length, MAtype) =>
switch MAtype
"SMA" => ta.sma(source, length)
"SMA + Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
// Smoothing MA plots
smoothingMA = enableMA ? ma(rsi, maLengthInput, maTypeInput) : na
smoothingStDev = isBB ? ta.stdev(rsi, maLengthInput) * bbMultInput : na
plot(smoothingMA, "RSI-based MA", color=color.yellow, display = enableMA ? display.all : display.none, editable = enableMA)
bbUpperBand = plot(smoothingMA + smoothingStDev, title = "Upper Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
bbLowerBand = plot(smoothingMA - smoothingStDev, title = "Lower Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display = isBB ? display.all : display.none, editable = isBB)
// Divergence
lookbackRight = 5
lookbackLeft = 5
rangeUpper = 60
rangeLower = 5
bearColor = color.red
bullColor = color.green
textColor = color.white
noneColor = color.new(color.white, 100)
_inRange(bool cond) =>
bars = ta.barssince(cond)
rangeLower <= bars and bars <= rangeUpper
plFound = false
phFound = false
bullCond = false
bearCond = false
rsiLBR = rsi
if calculateDivergence
//------------------------------------------------------------------------------
// Regular Bullish
// rsi: Higher Low
plFound := not na(ta.pivotlow(rsi, lookbackLeft, lookbackRight))
rsiHL = rsiLBR > ta.valuewhen(plFound, rsiLBR, 1) and _inRange(plFound )
// Price: Lower Low
lowLBR = low
priceLL = lowLBR < ta.valuewhen(plFound, lowLBR, 1)
bullCond := priceLL and rsiHL and plFound
//------------------------------------------------------------------------------
// Regular Bearish
// rsi: Lower High
phFound := not na(ta.pivothigh(rsi, lookbackLeft, lookbackRight))
rsiLH = rsiLBR < ta.valuewhen(phFound, rsiLBR, 1) and _inRange(phFound )
// Price: Higher High
highLBR = high
priceHH = highLBR > ta.valuewhen(phFound, highLBR, 1)
bearCond := priceHH and rsiLH and phFound
plot(
plFound ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bullish",
linewidth = 2,
color = (bullCond ? bullColor : noneColor),
display = display.pane,
editable = calculateDivergence)
plotshape(
bullCond ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bullish Label",
text = " Bull ",
style = shape.labelup,
location = location.absolute,
color = bullColor,
textcolor = textColor,
display = display.pane,
editable = calculateDivergence)
plot(
phFound ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bearish",
linewidth = 2,
color = (bearCond ? bearColor : noneColor),
display = display.pane,
editable = calculateDivergence)
plotshape(
bearCond ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bearish Label",
text = " Bear ",
style = shape.labeldown,
location = location.absolute,
color = bearColor,
textcolor = textColor,
display = display.pane,
editable = calculateDivergence)
alertcondition(bullCond, title='Regular Bullish Divergence', message="Found a new Regular Bullish Divergence, `Pivot Lookback Right` number of bars to the left of the current bar.")
alertcondition(bearCond, title='Regular Bearish Divergence', message='Found a new Regular Bearish Divergence, `Pivot Lookback Right` number of bars to the left of the current bar.')
FIB 21/8 EMA Logic HyperTrend w/ ATR Bands & Buy/Sell IndicatorsEMA LOGIC SUPERTREND
────────────────────────────────────────────
EMA Logic SuperTrend is a SuperTrend-style overlay that replaces traditional
price/ATR trend logic with a stateful, debounced EMA momentum engine.
It preserves the classic SuperTrend visuals:
- Trend bands
- Buy/Sell markers
- Background shading
But ALL trend direction is determined strictly by EMA behavior.
────────────────────────────────────────────
CORE TREND LOGIC
────────────────────────────────────────────
• Uses two EMAs (default: 8 & 21)
• GREEN (Buy Trend):
- Both EMAs rising for 2 consecutive candles
• RED (Sell Trend):
- Fast EMA falling for 2 consecutive candles
• Includes a 2-bar debounce filter to reduce whipsaw
• Uses a state machine for clean flips:
- Buy only on RED → GREEN
- Sell only on GREEN → RED
────────────────────────────────────────────
ATR BANDS (VISUAL ONLY)
────────────────────────────────────────────
• ATR is NOT used for entries or exits
• ATR ONLY controls how far the bands sit from price
• High volatility → wider bands
• Low volatility → tighter bands
• Green band = visual support guide
• Red band = visual resistance guide
────────────────────────────────────────────
VISUAL FEATURES
────────────────────────────────────────────
• SuperTrend-style trend bands
• Translucent background shading
• Buy/Sell labels shifted back one candle
• Adjustable band opacity
• Optional signal labels
• Optional background highlighting
────────────────────────────────────────────
ADJUSTABLE INPUTS
────────────────────────────────────────────
• Fast EMA Length (default: 8)
• Slow EMA Length (default: 21)
• ATR Period
• ATR Multiplier
• Band Opacity
• Show/Hide Buy & Sell Labels
• Show/Hide Background Highlighting
────────────────────────────────────────────
BEST USED FOR
────────────────────────────────────────────
• EMA-based trend following
• Momentum regime confirmation
• Clean directional bias
• Trend continuation trading
• Visual volatility-aware support/resistance
────────────────────────────────────────────
IMPORTANT NOTES
────────────────────────────────────────────
• This indicator does NOT use standard SuperTrend logic
• Price crossing the bands does NOT trigger signals
• ATR does NOT affect trade direction
• All trend changes are EMA-driven
────────────────────────────────────────────
Nexural Regime MatrixNexural Regime Matrix
A regime detection indicator that tells you not just where price is going, but whether smart money is confirming the move.
WHY I BUILT THIS
I got tired of staring at oscillators that just wiggle up and down without telling me anything useful. RSI is overbought. Great. Now what? MACD crossed. Cool. Is anyone actually buying?
I wanted an indicator that answers the questions I actually care about when I am trading. What regime is the market in right now? Is smart money confirming this move or fading it? Is this trend accelerating or running out of steam?
That is what this indicator does. It combines trend detection with delta analysis to map the market onto a visual regime matrix. You look at the dot, you see where you are, you know what is happening. No interpretation required.
Instead of giving you a single oscillator line and leaving you to figure out what it means, it maps your current position onto a visual matrix and tells you exactly what regime you are in. The indicator also tracks how fast you are moving through the matrix. A dot racing toward the Markup corner is very different from one that is stalling in the middle. This velocity component helps you understand momentum quality, not just direction.
THE FOUR REGIMES
This indicator classifies the market into four states based on Wyckoff methodology. Understanding these four regimes is the foundation of how this indicator works.
Markup is when trend is up and buying pressure confirms it. This is the easy money environment. Trend followers thrive here. Price is rising and the money flow confirms that buyers are in control. When you see the dot deep in the Markup quadrant with strong velocity, you are in a trending bull market with conviction behind it.
Markdown is the opposite. Trend is down and selling pressure confirms it. Shorts work. Longs get destroyed. Price is falling and sellers are clearly in control. This is where trend followers short and buy the dip traders get wrecked.
Accumulation is where it gets interesting. Price trend is still negative but buying pressure is emerging underneath. Smart money is loading while retail is still bearish. This often precedes reversals to the upside. When you see the dot move from Markdown into Accumulation, someone with deep pockets is buying the weakness. Pay attention.
Distribution is the mirror image. Price trend is still positive but selling pressure is building. Smart money is unloading into strength while retail chases the move. This often precedes reversals to the downside. When you see the dot move from Markup into Distribution, the smart money is heading for the exits while everyone else is still bullish.
The matrix shows these four quadrants with color gradients. The deeper into a corner you go, the stronger that regime. A dot in the far corner of Markup with high velocity is a completely different situation than a dot barely in Markup and stalling. The gradient intensity tells you conviction at a glance.
Accumulation and Distribution are the regimes that matter most for anticipating reversals. They signal potential turning points before price confirms them. This is where the real edge lives.
WHAT MAKES THIS DIFFERENT
Three things separate this from typical regime indicators.
Zero-Lag Engine
Most indicators use moving averages that lag significantly. By the time they confirm a trend, half the move is over. This indicator uses Ehlers Instantaneous Trendline as the default smoothing method. It responds faster without adding noise.
The Ehlers algorithm was developed by John Ehlers, an electrical engineer who applied signal processing theory to financial markets. It filters out market noise while preserving the actual trend signal. The result is earlier detection without the false signals that come from overly sensitive indicators.
You also have ZLEMA and Kalman Filter options if you prefer those. ZLEMA is a zero-lag exponential moving average that compensates for inherent lag. Kalman Filter is an adaptive algorithm that adjusts its smoothing based on price behavior. Each has its own characteristics and you can experiment to find what works best for your trading style.
Smart Delta Calculation
Instead of just using volume, the indicator estimates actual buying versus selling pressure from each candle. This is not a simple calculation.
It analyzes where price closes within the bar. A close near the high suggests buyers won. A close near the low suggests sellers won. But it goes deeper than that.
It factors in the candle body direction and size. A large bullish body carries more weight than a small one.
It analyzes upper and lower wick lengths. A long lower wick means buyers stepped in and rejected lower prices. A long upper wick means sellers stepped in and rejected higher prices. These wicks tell you about intrabar rejection and intent.
It weights the result by bar size relative to ATR. A large range bar that moves significantly compared to average volatility carries more conviction than a tiny bar. Big moves matter more.
It amplifies the signal when volume is expanding. Increasing volume on a move suggests real participation. Declining volume suggests the move lacks commitment.
The final delta value combines all of these factors into a single reading that approximates order flow from standard OHLCV data.
I want to be clear about something. This is not true Level 2 order flow. It is not reading the tape or analyzing actual bid and ask volume. That data is not available in TradingView. What this does is extract the maximum possible information from candlestick structure and volume to approximate what order flow might look like. On liquid instruments during active sessions, it works well. On illiquid instruments or during thin trading, it is less reliable. That is a fundamental limitation of working with OHLCV data.
Regime Velocity
The indicator tracks not just where you are in the matrix but how fast you are moving. This is the velocity component.
A dot racing toward Markup is very different from a dot sitting in Markup but stalling. The first suggests momentum is building and the trend has legs. The second suggests the trend might be exhausted.
Velocity tells you if momentum is building or fading. It answers the question of whether you are accelerating into a regime or decelerating out of it.
The display shows momentum quality in plain terms. Surge means you are moving fast and accelerating. Fast means you are moving quickly. Steady means moderate movement. Slow means you are barely moving. Stall means you have stopped or are moving so slowly it does not matter.
Along with momentum quality, you see a direction arrow showing where you are heading. If you see Surge with an arrow pointing toward MKUP, you know momentum is strong and building toward the bullish corner. If you see Stall with no clear direction, you know the market is indecisive.
This velocity component adds a dimension that static regime classification misses. Two traders might both see Markup on their indicator. But if one sees Surge velocity and the other sees Stall, they are looking at completely different situations.
THE VOLATILITY FILTER
This might be the most underrated feature of the entire indicator.
The indicator uses ADX and ATR percentile to detect ranging conditions. When the market is choppy and directionless, it shows a Ranging state instead of forcing a regime classification.
Why does this matter? Because most losses come from trading in chop. You get long, it drops. You get short, it rips. You get chopped to pieces taking small loss after small loss while the market goes nowhere.
The volatility filter tells you when conditions are not favorable for directional trades. When you see Ranging, step aside or reduce size. This alone eliminates a significant number of bad trades.
The filter works on two dimensions. ADX measures trend strength. When ADX is below the threshold, the market lacks directional conviction. ATR percentile measures volatility expansion. When ATR is in the bottom percentile of recent readings, the market is quiet and range-bound.
Both conditions contribute to the ranging detection. You can adjust the thresholds to be more or less strict depending on your preferences.
When the indicator shows Ranging, the candles turn gray and the regime state displays Ranging instead of one of the four quadrants. This is a visual reminder to be patient. The best trade is often no trade at all.
THE CONFLUENCE SCORING SYSTEM
Behind the scenes, the indicator calculates a confluence score from zero to one hundred percent. This score combines multiple factors to gauge overall conviction.
Trend strength contributes up to thirty points. The stronger the trend value, the more points.
Delta confirmation contributes up to twenty-five points. When trend and delta agree in direction, you get confirmation points. When they disagree, you get nothing.
Volatility contributes up to twenty-five points. When ADX and ATR indicate trending conditions, you get volatility points. When the market is ranging, this component goes to zero.
RSI alignment contributes up to twenty points. When RSI confirms the trend direction, you get alignment points. When RSI diverges from trend, this component is reduced.
The final confluence percentage tells you how many factors are aligned. High confluence means multiple indicators agree. Low confluence means mixed signals.
When the market is ranging, the entire confluence score gets cut in half. This penalizes signals that come during unfavorable conditions.
The confluence score is displayed in the matrix panel. Use it as a quick gauge of conviction. A regime change with ninety percent confluence is more meaningful than one with thirty percent.
HOW TO READ THE MATRIX
The matrix overlay on your chart shows a colored dot representing your current position in regime space.
Bottom right green is Markup. This is bullish trend with bullish flow. Everything aligns to the upside.
Top right orange is Distribution. This is bullish trend but bearish flow. Price is still up but selling pressure is emerging. Smart money may be exiting.
Bottom left purple is Accumulation. This is bearish trend but bullish flow. Price is still down but buying pressure is emerging. Smart money may be entering.
Top left red is Markdown. This is bearish trend with bearish flow. Everything aligns to the downside.
The dot position within each quadrant tells you intensity. A dot in the far corner indicates strong conviction in that regime. A dot near the center indicates weak or transitioning conditions.
The color gradient in each quadrant reinforces this. Deeper color means stronger regime. Lighter color means weaker.
The trail behind the dot shows your recent path through the matrix. You can see where you have been and how you got to where you are. This context helps you understand if you are entering a regime fresh or have been in it for a while.
The axis labels show the scale. Trend runs from negative on the left to positive on the right. Delta runs from negative at the top to positive at the bottom. The plus and minus signs at the edges remind you of the orientation.
The quadrant labels at the corners show MKDN for Markdown, DIST for Distribution, ACCM for Accumulation, and MKUP for Markup. These abbreviations let you quickly identify each zone.
HOW TO READ THE INFO ROWS
Below the matrix grid you see several rows of information.
The first row shows NEXURAL branding, the current regime state in text, and the confluence percentage.
The second row shows velocity information. You see the momentum quality label, the direction arrow showing where you are heading, and the speed percentile.
The third row shows the raw values. TRD shows trend value with an arrow indicating direction. DLT shows delta value with an arrow. The final cell shows TREND or RANGE status.
The fourth row shows the engine settings. You see which zero-lag method is active and the lookback length, plus the current ADX value.
All of this information is available at a glance. You do not need to hover over anything or check multiple places. Everything you need is in one consolidated display.
HOW TO READ THE OSCILLATOR
The oscillator pane below your chart shows two lines.
The main line is the trend value. It oscillates roughly between negative ten and positive ten. Above zero is bullish. Below zero is bearish. The color shifts based on value and ranging status.
The secondary line is the delta value. It also oscillates between negative ten and positive ten. Above zero means net buying pressure. Below zero means net selling pressure.
When both lines are above zero and moving together, you have confirmation. Trend is up and buyers are in control.
When both lines are below zero and moving together, you also have confirmation. Trend is down and sellers are in control.
When the lines diverge, pay attention. If trend is positive but delta is negative, you have Distribution conditions. If trend is negative but delta is positive, you have Accumulation conditions. These divergences often precede reversals.
The end labels on the right side of the oscillator show the exact current values. Trend and Delta with their numerical readings. This gives you precision when you need it.
The fill between the trend line and zero creates a visual gradient. Green fill above zero, red fill below zero. The intensity of the fill corresponds to the strength of the move.
Dotted horizontal lines mark the threshold levels. These correspond to the Neutral Zone Width setting. Values between the thresholds are considered neutral.
When the market is ranging, the background of the oscillator pane turns slightly gray. This visual cue reinforces the ranging state.
HOW I USE THIS INDICATOR
I use this as a context filter, not as an entry signal. Let me explain what that means.
Before I take any trade, I check the regime. The regime tells me if conditions favor my trade idea or not.
If I want to go long but the matrix shows Distribution, I either skip the trade entirely or reduce size significantly. The indicator is telling me that smart money might be selling into this strength. Going long against that flow is fighting an uphill battle.
If I want to go long and the matrix shows Markup with Fast or Surge velocity, I have more confidence. Trend is up, buyers are in control, and momentum is building. Conditions favor my trade.
If I want to go long but the matrix shows Ranging, I wait. There is no edge in choppy markets. Let conditions clarify before committing capital.
I pay special attention to regime transitions. These are the moments when opportunity emerges.
When the dot moves from Markdown into Accumulation, I start looking for long setups. Smart money is buying the weakness. I want to be on the same side.
When the dot moves from Markup into Distribution, I start looking for exits on my longs or potential short setups. Smart money is selling the strength. I do not want to be the one holding when they are done.
When the dot moves from Accumulation into Markup, I know the reversal is confirming. Buyers took control and now price is following.
When the dot moves from Distribution into Markdown, I know the reversal is confirming. Sellers took control and price is following.
The velocity component helps me gauge conviction. If I see a regime change but velocity is Stall, I wait for acceleration before committing. The regime changed but there is no momentum behind it yet. That could be a false move.
If velocity is Surge and pointing toward a corner, I act with more urgency. The move has conviction and I do not want to miss it.
The Ranging state keeps me patient. When I see it, I know this is not the time to force trades. I wait for conditions to improve. The market will eventually break out of the range and when it does, the indicator will show me which direction and with what conviction.
I combine this indicator with my own price action analysis. I look for support and resistance levels. I look for candlestick patterns. I look for volume confirmation. The Nexural Regime Matrix tells me the context. My other analysis tells me the specific entry.
I never take a trade based solely on this indicator. It is one input among several. But it is an important input that shapes how aggressive or defensive I am with my positioning.
SETTINGS THAT MATTER
Let me walk through each setting and explain what it does and how to think about adjusting it.
Lookback Length
This is the main sensitivity control for trend detection. It determines how many bars the indicator uses to calculate trend values.
Default of fourteen works well across most timeframes. This is a good starting point.
Lower values respond faster but show more noise. If you set this to seven, you will see regime changes more quickly but you will also see more false signals and whipsaws. This might suit scalpers who need fast response.
Higher values are smoother but slower. If you set this to twenty or twenty-five, you will see cleaner signals but you will be later to regime changes. This might suit swing traders who can afford to wait for confirmation.
I recommend starting with the default and only adjusting if you find it too slow or too noisy for your specific trading style and timeframe.
Zero-Lag Method
This lets you choose between three different smoothing algorithms.
Ehlers is the default and what I recommend. It provides excellent noise filtering while responding quickly to real trend changes. John Ehlers developed this algorithm specifically for financial markets and it shows.
ZLEMA is a zero-lag exponential moving average. It compensates for the inherent lag in traditional EMAs by projecting price forward. It is slightly more responsive than Ehlers but also slightly more prone to noise.
Kalman is an adaptive filter that adjusts its smoothing based on price behavior. It is the smoothest of the three but also the slowest to respond to changes. If you find Ehlers too noisy, try Kalman.
Each method has its own character. I encourage you to switch between them and see which one feels right for how you trade.
Kalman Gain
This only applies if you select Kalman as your zero-lag method. It controls how responsive the Kalman filter is.
Higher values respond faster but are more sensitive to noise. Lower values are smoother but slower.
Default of 0.7 is a good balance. Adjust if needed.
Delta Smoothing
This controls noise in the delta calculation. The raw delta from each bar can be noisy, so we apply smoothing.
Default of five means the delta is smoothed with a five-period exponential moving average.
Lower values are more responsive. You see delta changes more quickly but with more noise.
Higher values are smoother. Delta changes are cleaner but slower to appear.
If you find the delta line too jumpy, increase this value. If you find it too slow, decrease it.
ADX Length
This sets the period for the ADX calculation used in ranging detection.
Default of fourteen is standard. Most traders use fourteen-period ADX.
You can adjust this but I recommend leaving it at fourteen unless you have a specific reason to change it.
ADX Threshold
This sets the level below which the market is considered ranging.
Default of twenty is standard. ADX below twenty generally indicates a trendless market.
If you want stricter trend requirements, raise this to twenty-five or thirty. The indicator will show Ranging more often.
If you want looser requirements, lower it to fifteen. The indicator will show trending regimes more often, even in weaker trends.
ATR Percentile Filter
This adds a second ranging check based on volatility expansion.
Default of thirty means if current ATR is in the bottom thirty percent of the last one hundred readings, it contributes to ranging detection.
This catches situations where ADX might be above threshold but volatility is still compressed. Low volatility often means range-bound conditions even if there is a slight directional bias.
Raise this value if you want more aggressive ranging detection. Lower it if you want less.
Confirmation Bars
This sets how many bars a new regime must persist before the indicator confirms the change.
Default of two means a regime must hold for two bars before it is displayed. This prevents single-bar whipsaws.
Set to zero for fastest response. You will see regime changes immediately but you will also see more false signals that reverse on the next bar.
Set higher for more confirmation. Three or four bars provides more confidence that the regime change is real, but you will be later to the move.
This is a classic tradeoff between responsiveness and reliability. There is no right answer. It depends on your risk tolerance and trading style.
Neutral Zone Width
This controls the dead zone around zero where the indicator shows neutral rather than bullish or bearish.
Default of 0.3 means trend or delta values between negative 0.9 and positive 0.9 are considered neutral.
This prevents tiny fluctuations around zero from causing constant regime flipping. A small buffer creates stability.
Raise this value if you want a wider neutral zone. Lower it if you want the indicator to classify regimes more aggressively.
WHAT THIS INDICATOR DOES WELL
Let me be specific about where this indicator excels.
Regime classification is fast and accurate. You know immediately whether you are in a trending or ranging environment and what type of trend it is. There is no ambiguity. The matrix shows you exactly where you stand.
Delta adds information that pure price indicators miss. Seeing buying pressure build while price is still weak is genuinely useful. This is information you cannot get from looking at price alone. It gives you a window into participation and intent.
Velocity tells you about momentum quality. You know if a move has legs or is running out of steam. Two identical regime states can have completely different implications depending on velocity.
The volatility filter keeps you out of chop. This prevents a lot of frustration and losses. Knowing when to sit on your hands is just as valuable as knowing when to trade.
The visual matrix makes everything instant. No squinting at oscillator values trying to figure out what they mean. You glance at the dot position and you know. This speed of interpretation matters when markets are moving fast.
It works across instruments and timeframes. I use it primarily on index futures but it works on crypto, forex, stocks, commodities, whatever you trade. The underlying logic is universal.
The consolidated display puts everything in one place. You do not need to check multiple indicators or panels. Regime, velocity, confluence, values, and status are all visible at a glance.
WHAT THIS INDICATOR DOES NOT DO WELL
Let me be equally specific about the limitations. Every indicator has them and pretending otherwise would be dishonest.
The delta is an approximation. It is not true order flow from Level 2 or tick data. On illiquid instruments or during thin trading sessions, it can give misleading readings. If there is no volume, the delta calculation has nothing to work with. If the market is illiquid, the candle structure may not reflect actual order flow dynamics. This is a fundamental limitation of working with OHLCV data and no indicator can overcome it.
The confirmation filter adds lag. You will not catch exact tops and bottoms. The indicator waits for persistence before confirming a regime change. This reduces whipsaws but means you sacrifice some timeliness. If you set confirmation bars to zero, you will be faster but you will also get more false signals. There is no way to have both speed and reliability. It is always a tradeoff.
Ranging detection is not perfect. Sometimes choppy markets slip through and the indicator shows a trending regime when conditions are actually range-bound. Sometimes trending markets get flagged as ranging when volatility is low but direction is clear. No volatility filter catches every condition.
Sharp V-reversals are hard to catch. By the time the regime flips from one extreme to the other, you have missed the first part of the move. The indicator needs a few bars to recognize that conditions have changed. This is the cost of filtering noise. A more responsive indicator would catch reversals faster but would also give many more false signals.
The matrix takes up screen space. If you are running multiple indicators on a small screen, it can feel crowded. You can disable it and just use the oscillator pane if needed. But then you lose the visual regime mapping which is one of the main features.
This indicator does not tell you when to enter or exit. It tells you the regime, the momentum quality, and the confluence. It does not draw arrows or give buy and sell signals. If that is what you want, this indicator is not for you.
WHAT THIS INDICATOR IS NOT
Let me be clear about what you should not expect.
This is not a signal service. There are no buy and sell arrows. I do not believe in indicators that try to tell you exactly when to enter and exit. Markets are too complex for that. Anyone who claims their indicator can reliably tell you exactly when to buy and sell is either lying or deluded.
This is not a magic solution. It will have periods where it underperforms. It will miss moves. It will occasionally be wrong about regime classification. Every indicator does. Markets are driven by human behavior and geopolitics and randomness. No mathematical formula captures all of that perfectly.
This is not a replacement for learning how to trade. It is a tool that helps you see the market more clearly. You still need to understand market structure. You still need to develop your own setups. You still need to practice proper risk management. You still need screen time and experience. The indicator helps. It does not replace the work.
This is not holy grail. There is no holy grail. If someone tells you otherwise, they are selling something.
COMMON QUESTIONS
What timeframe works best?
The indicator works on all timeframes. I primarily use it on five-minute and fifteen-minute charts for intraday futures trading. Others use it on hourly or daily charts for swing trading. The logic adapts to whatever timeframe you apply it to. Lower timeframes will show more regime changes. Higher timeframes will show fewer but larger ones.
What instruments work best?
Liquid instruments with good volume work best. Index futures, major forex pairs, large cap stocks, Bitcoin and Ethereum. The delta calculation relies on meaningful volume data. On illiquid instruments where volume is thin or unreliable, the delta component loses accuracy.
Can I use this for entries?
You can but I do not recommend it as your sole entry trigger. Use it for context. Know what regime you are in and what the velocity is. Then use your own price action analysis or other tools for specific entry timing. The indicator tells you if conditions are favorable. You decide when to pull the trigger.
Why does delta sometimes disagree with price?
That is the entire point. When price is going up but delta shows selling pressure, that is Distribution. Smart money is exiting. When price is going down but delta shows buying pressure, that is Accumulation. Smart money is entering. These divergences are the most valuable signals the indicator provides.
Why is it showing Ranging when the market is clearly trending?
Check the ADX value displayed in the panel. If it is below your threshold, the indicator classifies conditions as ranging. You can lower the ADX threshold or ATR percentile filter if you want stricter trending requirements. Sometimes a slow steady trend will register as ranging because volatility is low even though direction is clear.
Can I turn off the matrix and just use the oscillator?
Yes. In the settings under Display, you can disable Show Regime Matrix. You will still have the oscillator with trend and delta lines and the end labels. Some traders prefer the cleaner look. You lose the visual regime mapping but the core calculations remain.
FINAL WORDS
I built this indicator because I was frustrated with oscillators that just showed values without context. I wanted to know what regime the market was in. I wanted to know whether smart money was confirming the move. I wanted to know whether momentum was building or fading.
This indicator answers those questions. It is not perfect. Nothing is. But it gives me information I find useful every single session.
The regime classification helps me avoid fighting the trend. When the market is in Markdown with strong velocity, I am not looking for longs no matter how oversold price looks.
The delta component helps me see when moves have real participation behind them. A rally with positive delta is different from a rally with negative delta. The first has buyers behind it. The second might be a short squeeze or exhaustion move.
The velocity tracking helps me gauge conviction. A regime change with Surge velocity demands attention. A regime change with Stall velocity might be noise.
The volatility filter keeps me patient. When conditions are ranging, I wait. The market will eventually move and when it does, I will be ready.
Use this indicator as context, not as a crutch. Combine it with your own analysis and your own rules. Let it inform your decisions, not make them for you.
Good trading.






















