Fair Value Gap Signals [Kodexius]Fair Value Gap Signals is an advanced market structure tool that automatically detects and tracks Fair Value Gaps (FVGs), evaluates the quality of each gap, and highlights high value reaction zones with visual metrics and signal markers.
The script is designed for traders who focus on liquidity concepts, order flow and mean reversion. It goes beyond basic FVG plotting by continuously monitoring how price interacts with each gap and by quantifying three key aspects of each zone:
-Entry velocity inside the gap
-Volume absorption during tests
-Structural integrity and depth of penetration
The result is a dynamic, information rich visualization of which gaps are being respected, which are being absorbed, and where potential reversals or continuations are most likely to occur.
All visual elements are configurable, including the maximum number of visible gaps per direction, mitigation method (close or wick) and an ATR based filter to ignore insignificant gaps in low volatility environments.
🔹 Features
🔸 Automated Fair Value Gap Detection
The script detects both bullish and bearish FVGs based on classic three candle logic:
Bullish FVG: current low is strictly above the high from two bars ago
Bearish FVG: current high is strictly below the low from two bars ago
🔸 ATR Based Gap Filter
To avoid clutter and low quality signals, the script can ignore very small gaps using an ATR based filter.
🔸Per Gap State Machine and Lifecycle
Each gap is tracked with an internal status:
Fresh: gap has just formed and has not been tested
Testing: price is currently trading inside the gap
Tested: gap was tested and left, waiting for a potential new test
Rejected: price entered the gap and then rejected away from it
Filled: gap is considered fully mitigated and no longer active
This state machine allows the script to distinguish between simple touches, multiple tests and meaningful reversals, and to trigger different alerts accordingly.
🔸 Visual Ranking of Gaps by Metrics
For each active gap, three additional horizontal rank bars are drawn on top of the gap area:
Rank 1 (Vel): maximum entry velocity inside the gap
Rank 2 (Vol): relative test volume compared to average volume
Rank 3 (Dpt): remaining safety of the gap based on maximum penetration depth
These rank bars extend horizontally from the creation bar, and their length is a visual score between 0 and 1, scaled to the age of the gap. Longer bars represent stronger or more favorable conditions.
🔸Signals and Rejection Markers
When a gap shows signs of rejection (price enters the gap and then closes away from it with sufficient activity), the script can print a signal label at the reaction point. These markers summarize the internal metrics of the gap using a tooltip:
-Velocity percentage
-Volume percentage
-Safety score
-Number of tests
🔸 Flexible Mitigation Logic (Close or Wick)
You can choose how mitigation is defined via the Mitigation Method input:
Close: the gap is considered filled only when the closing price crosses the gap boundary
Wick: a full fill is detected as soon as any wick crosses the gap boundary
🔸 Alert Conditions
-New FVG formed
-Price entering a gap (testing)
-Gap fully filled and invalidated
-Rejection signal generated
🔹Calculations
This section summarizes the main calculations used under the hood. Only the core logic is covered.
1. ATR Filter and Gap Size
The script uses a configurable ATR length to filter out small gaps. First the ATR is computed:
float atrVal = ta.atr(atrLength)
Gap size for both directions is then measured:
float gapSizeBull = low - high
float gapSizeBear = low - high
If useAtrFilter is enabled, gaps smaller than atrVal are ignored. This ties the minimum gap size to the current volatility regime.
2. Fair Value Gap Detection
The basic FVG conditions use a three bar structure:
bool fvgBull = low > high
bool fvgBear = high < low
For bullish gaps the script stores:
-top as low of the current bar
-bottom as high
For bearish gaps:
-top as high of the current bar
-bottom as low
This defines the price range that is considered the imbalance area.
3. Depth and Safety Score
Depth measures how far price has penetrated into the gap since its creation. For each bar, the script computes a currentDepth and updates the maximum depth:
float currentDepth = 0.0
if g.isBullish
if l < g.top
currentDepth := g.top - l
else
if h > g.bottom
currentDepth := h - g.bottom
if currentDepth > g.maxDepth
g.maxDepth := currentDepth
The safety score expresses how much of the gap remains intact:
float depthRatio = g.maxDepth / gapSize
float safetyScore = math.max(0.0, 1.0 - depthRatio)
safetyScore near 1: gap is mostly untouched
safetyScore near 0: gap is mostly or fully filled
4. Velocity Metric
Velocity captures how aggressively price moves inside the gap. It is based on the body to range ratio of each bar that trades within the gap and rewards bars that move in the same direction as the gap:
float barRange = h - l
float bodyRatio = math.abs(close - open) / barRange
float directionBonus = 0.0
if g.isBullish and close > open
directionBonus := 0.2
else if not g.isBullish and close < open
directionBonus := 0.2
float currentVelocity = math.min(bodyRatio + directionBonus, 1.0)
The gap keeps track of the strongest observed value:
if currentVelocity > g.maxVelocity
g.maxVelocity := currentVelocity
This maximum is later used as velScore when building the velocity rank bar.
5. Volume Accumulation and Volume Score
While price is trading inside a gap, the script accumulates the traded volume:
if isInside
g.testVolume += volume
It also keeps track of the number of tests and the volume at the start of the first test:
if g.status == "Fresh"
g.status := "Testing"
g.testCount := 1
g.testStartVolume := volume
An average volume is computed using a 20 period SMA:
float volAvg = ta.sma(volume, 20)
The expected volume is approximated as:
float expectedVol = volAvg * math.max(1, (bar_index - g.index) / 2)
The volume score is then:
float volScore = math.min(g.testVolume / expectedVol, 1.0)
This produces a normalized 0 to 1 metric that shows whether the gap has attracted more or less volume than expected over its lifetime.
6. Rank Bar Scaling
All three scores are projected visually along the time axis as horizontal bars. The script uses the age of the gap in bars as the maximum width:
float maxWidth = math.max(bar_index - g.index, 1)
Then each metric is mapped to a bar length:
int len1 = int(math.max(1, maxWidth * velScore))
g.rankBox1.set_right(g.index + len1)
int len2 = int(math.max(1, maxWidth * volScore))
g.rankBox2.set_right(g.index + len2)
int len3 = int(math.max(1, maxWidth * safetyScore))
g.rankBox3.set_right(g.index + len3)
This creates an intuitive visual representation where stronger metrics produce longer rank bars, making it easy to quickly compare the relative quality of multiple FVGs on the chart.
Pattern grafici
Linechart + Wicks - by SupersonicFXThis is a simple indicator that shows the highs and lows (wicks) on the linechart.
You can vary the colors.
Nothing more to say.
Hope some of you find it useful.
Stage 2 Pullback Swing indicatorThis scanner is built for swing traders who want high-probability pullbacks inside strong, established uptrends. It targets names in a confirmed Stage 2 bull phase (Weinstein model) that have pulled back 10–30% from a recent swing high on light selling volume, while still respecting fast EMAs.
Goal: find powerful uptrending stocks during controlled dips before the next leg higher.
What it looks for
Strong prior uptrend: price above the 50 and 200 SMAs, momentum positive over multiple timeframes
Confirmed Stage 2: price above a rising 30-week MA on the weekly chart
Pullback depth: 10–30% off recent swing highs—not too shallow, not broken
Pullback quality: range contained, no panic selling, trend structure intact
EMA behavior: price near EMA10 or EMA20 at signal time
Volume contraction: sellers fading throughout the pullback
Bullish shift: green candle back in trend direction
Why this matters
This setup hints at institutions defending positions during a temporary dip. Strong stocks pull back cleanly with declining volume, then resume the primary trend. This script alerts you when those conditions align.
Best way to use
Filter a strong universe before applying—quality tickers only
Pair with clear trade plans: risk defined by prior swing low or ATR
Trigger alerts instead of hunting charts manually
Intended for
Swing traders who want momentum continuation setups
Traders who prefer entering on controlled retracements
Anyone tired of chasing extended breakouts
IDLP – Intraday Daily Levels Pro [FXSMARTLAB]🔥 IDLP – Intraday Daily Levels Pro
IDLP – Intraday Daily Levels Pro is a precision toolkit for intraday traders who rely on objective daily structure instead of repainting indicators and noisy signals.
Every level plotted by IDLP is derived from one simple rule:
Today’s trading decisions must be based on completed market data only.
That means:
✅ No use of the current day’s unfinished data for levels
✅ No lookahead
✅ No hidden repaint behavior
IDLP reconstructs the previous trading day from the intraday chart and then projects that structure forward onto the current session, giving you a stable, institutional-style intraday map.
🧱 1. Previous Daily Levels (Core Structure)
IDLP extracts and displays the full previous daily structure, which you can toggle on/off individually via the inputs:
Previous Daily High (PDH)
Previous Daily Low (PDL)
Previous Daily Open
Previous Daily Close,
Previous Daily Mid (50% of the range)
Previous Daily Q1 (25% of the range)
Previous Daily Q3 (75% of the range)
All of these come from the day that just closed and are then locked for the entire current session.
What these levels tell you:
PDH / PDL – true extremes of yesterday’s price action (liquidity zones, breakout/reversal points).
Previous Daily Open / Close – how the market positioned itself between session start and end
Mid (50%) – equilibrium level of the previous day’s auction.
Q1 / Q3 (25% / 75%) internal structure of the previous day’s range, dividing it into four equal zones and helping you see if price is trading in the lower, middle, or upper quarter of yesterday’s range.
All these levels are non-repaint: once the day is completed, they are fixed and never change when you scroll, replay, or backtest.
🎯 2. Previous Day Pivot System (P, S1, S2, R1, R2)
IDLP includes a classic floor-trader pivot grid, but critically:
It is calculated only from the previous day’s high, low, and close.
So for the current session, the following are fixed:
Pivot P – central reference level of the previous day.
Support 1 (S1) and Support 2 (S2)
Resistance 1 (R1) and Resistance 2 (R2)
These levels are widely used by institutional desks and algos to structure:
mean-reversion plays, breakout zones, intraday targets, and risk placement.
Everything in this section is non-repaint because it only uses the previous day’s fully closed OHLC.
📏 3. 1-Day ADR Bands Around Previous Daily Open
Instead of a multi-day ADR, IDLP uses a pure 1-Day ADR logic:
ADR = Range of the previous day
ADR = PDH − PDL
From that, IDLP builds two clean bands centered around the previous daily Open:
ADR Upper Band = Previous Day Open + (ADR × Multiplier)
ADR Lower Band = Previous Day Open − (ADR × Multiplier)
The multiplier is user-controlled in the inputs:
ADR Multiplier (default: 0.8)
This lets you choose how “tight” or “wide” you want the ADR envelope to be around the previous day’s open.
Typical use cases:
Identify realistic intraday extension targets, Spot exhaustion moves beyond ADR bands, Frame reversals after reaching volatility extremes, Align trades with or against volatility expansion
Again, since ADR is calculated only from the completed previous day, these bands are totally non-repaint during the current session.
🔒 4. True Non-Repaint Architecture
The internal logic of IDLP is built to guarantee non-repaint behavior:
It reconstructs each day using time("D") and tracks:
dayOpen, dayHigh, dayLow, dayClose for the current day
prevDayOpen, prevDayHigh, prevDayLow, prevDayClose for the previous day
At the moment a new day starts:
The “current day” gets “frozen” into prevDay*
These prevDay* values then drive: Previous Daily Levels, Pivots, ADR.
During the current day:
All these “previous day” values stay fixed, no matter what happens.
They do not move in real time, they do not shift in replay.
This means:
What you see in the past is exactly what you would have seen live.
No fake backtests.
No illusion of perfection from repainting behavior.
🎯 5. Designed For Intraday Traders
IDLP – Intraday Daily Levels Pro is made for:
- Day traders and scalpers
- Index and FX traders
- Prop firm challenge trading
- Traders using ICT/SMC-style levels, liquidity, and range logic
- Anyone who wants a clean, institutional-style daily framework without noise
You get:
Previous Day OHLC
Mid / Q1 / Q3 of the previous range
Previous-Day Pivots (P, S1, S2, R1, R2)
1-Day ADR Bands around Previous Day Open
All calculated only from closed data, updated once per day, and then locked.
NoProcess Prior Month/Week/Day High/Low/EQ Prior Period Levels
Plots key support/resistance levels from previous timeframes: Day, Week, and Month.
Levels Displayed:
PDH/PDL/PDE — Prior Day High, Low, and Equilibrium (midpoint)
PWH/PWL/PWE — Prior Week High, Low, and Equilibrium
PMH/PML/PME — Prior Month High, Low, and Equilibrium
Features:
Toggle each timeframe independently
Single color control for clean chart aesthetics
Configurable right extension (1-50 bars)
Dotted line style with labels positioned at line endpoints
Use Case:
Reference levels for institutional order flow concepts. Prior period highs/lows act as liquidity pools; equilibriums mark fair value zones where price often rebalances. Works on any instrument and timeframe.
VWAP + EMA9 With SignalsThis script is for scalping on the 5 minute timeframe. It contains signals that indicate intersection of VWAP by the EMA9. It contains Buy signals when a candle closes above both lines indicating a quick continuation of a long position (quick scalp) as well as Sell signals when a candle closes below both lines indicating a quick continuation of a short position (quick scalp). Please note that i do not recommend entries at Buy and Sell signals during Accumulation/Consolidation. Positions should be taken with volume.
Volume vs Body Alert.Vsa
"This VSA-based indicator identifies potential anomalies in price action by detecting candles that show a larger body size than the previous candle while simultaneously having lower volume. This 'more result with less effort' pattern can signal weakness, manipulation, or potential trend exhaustion. Visual signals and customizable alerts notify traders when these conditions occur."
Reversal ConfirmationReversal Confirmation (RC)
This indicator identifies potential price reversals using a simple but effective two-candle pattern. It detects when a trend exhausts and confirms the reversal when the next candle eclipses the close of the reversal candle.
How It Works
The indicator uses a two-step process to confirm reversals:
Reversal Candle (R) - The first candle that closes in the opposite direction after a sustained trend. This signals potential exhaustion of the current move.
Confirmation Candle (C) - The candle that eclipses (closes beyond) the close of the reversal candle. This confirms the reversal is underway.
For a bullish reversal, the confirmation candle must close above the close of the reversal candle. For a bearish reversal, the confirmation candle must close below the close of the reversal candle.
Key Features
Requires a significant prior trend before looking for reversals, filtering out choppy sideways markets
Uses ATR to measure move significance, adapting to current volatility
Clean two-candle pattern that's easy to understand and trade
Visual dashed line showing the reversal candle close level that must be eclipsed
Built-in alerts for all signal types
Settings
Trend Lookback - Number of candles to analyze for prior trend detection (default: 7)
Trend Strength - Percentage of lookback candles required in trend direction (default: 0.7 = 70%)
Minimum Move (ATR multiple) - How large the prior move must be before signaling (default: 2.0)
Show Bullish/Bearish - Toggle each signal type on or off
Mark Reversal Candles - Toggle visibility of the reversal candle markers
Visual Signals
"R" with small circle - Marks the reversal candle where the pattern begins
"C" with triangle - Marks the confirmation candle (your entry signal)
Dashed line - Shows the close level of the reversal candle that must be eclipsed
Alerts
Three alert options are available:
Bullish Confirmation
Bearish Confirmation
Any Confirmation
How To Set Up Alerts
Add the indicator to your chart
Right-click on the chart and select "Add Alert" (or press Alt+A)
In the Condition dropdown, select "Reversal Confirmation"
Choose your preferred alert type
Set notification preferences (popup, email, sound, webhook)
Click "Create"
Tips For Best Results
Signals appearing at key support/resistance levels tend to be more reliable
Combine with VWAP, moving averages, or prior day high/low for confluence
Use higher timeframe trend direction as a filter
Increase Minimum Move ATR in volatile conditions to reduce false signals
Adjust Trend Lookback based on your timeframe (higher values for longer timeframes)
The Logic Behind It
After a sustained move in one direction, the first candle to close in the opposite direction signals potential exhaustion. However, one candle alone isn't enough. When the next candle eclipses the close of that reversal candle, it confirms that buyers (or sellers) have truly taken control and the reversal is underway.
Note: This indicator is for informational purposes only and should not be used as the sole basis for trading decisions. Always use proper risk management and consider combining with other forms of analysis.
Vib ORB Range (Free)Vib ORB Range (Free) plots the Opening Range High and Low for the session based on a user-defined start time and duration.
This tool is designed for traders who want a clean, no-noise display of the ORB zone without extra indicators or automation.
Features:
Customizable Opening Range start time
Customizable Opening Range duration
Automatically resets daily
Plots ORB High, ORB Low, and optional ORB Midline
Shaded range zone for improved clarity
Works on all timeframes and markets
How to Use:
Set the ORB start time (default 9:30 New York)
Set the ORB duration (default 15 minutes)
The indicator will draw the ORB zone once the range completes
Use the outlines or shaded zone to visually identify potential breakout areas
This free tool is intended as a simple, reliable ORB visualizer without alerts, filters, or strategy logic.
Multi-Candle Reversal ConfirmationMulti-Candle Reversal Confirmation (MCRC)
This indicator identifies potential price reversals using a 3-candle confirmation pattern. It filters out noise by requiring a significant prior trend before signaling, helping you catch turning points rather than getting trapped in choppy price action.
How It Works
The indicator uses a three-step process to confirm reversals:
Candle 1 (Rejection) - Detects a rejection candle after a sustained move. This includes hammer/shooting star patterns with long wicks, doji candles showing indecision, or stall candles with unusually small bodies.
Candle 2 (Reversal) - Confirms the candle closes in the opposite direction of the prior trend.
Candle 3 (Confirmation) - Validates the reversal by either continuing in the new direction or breaking the high/low of the previous candle.
Key Features
Requires a significant prior trend before looking for reversals (no signals in choppy, sideways markets)
Uses ATR to measure move significance, adapting to current volatility
Marks rejection candles with small circles for early awareness
Confirmed signals shown as triangles with Bull/Bear labels
Built-in alerts for all signal types
Settings
Wick to Body Ratio - How pronounced the rejection wick must be compared to the candle body (default: 2.0)
Doji Threshold - Maximum body size relative to total range to qualify as a doji (default: 0.1)
Trend Lookback - Number of candles to analyze for prior trend detection (default: 5)
Trend Strength - Percentage of lookback candles required in trend direction (default: 0.6 = 60%)
Minimum Move (ATR multiple) - How large the prior move must be before signaling (default: 1.5)
Show Bullish/Bearish - Toggle each signal type on or off
Visual Signals
Small Circle - Marks potential rejection candles (first candle in the pattern)
Green Triangle (Bull) - Confirmed bullish reversal signal
Red Triangle (Bear) - Confirmed bearish reversal signal
Alerts
Three alert options are available:
Bullish Reversal Confirmed
Bearish Reversal Confirmed
Any Reversal Confirmed
How To Set Up Alerts
Add the indicator to your chart
Right-click on the chart and select "Add Alert" (or press Alt+A)
In the Condition dropdown, select "Multi-Candle Reversal Confirmation"
Choose your preferred alert type
Set notification preferences (popup, email, sound, webhook)
Click "Create"
Tips For Best Results
Combine with key support/resistance levels for higher probability trades
Use higher timeframe trend direction as a filter
Adjust Trend Lookback based on your timeframe (higher for longer timeframes)
Increase Minimum Move ATR in volatile conditions to reduce false signals
Signals appearing near VWAP, moving averages, or prior day levels tend to be more reliable
Note: This indicator is for informational purposes only and should not be used as the sole basis for trading decisions. Always use proper risk management and consider combining with other forms of analysis.
PRICE ACTION TRAKKERThis indicator isolates the core price-phase engine from the full Price Action Tracker (PAT) system.
It identifies and visualises structural phases of price, including:
Upper phase boundary (dynamic resistance)
Lower phase boundary (dynamic support)
Phase average (mean-reversion anchor)
Pivot markers (LPH, LPL, oLPH, oLPL)
The phase engine dynamically adapts to evolving market structure using pivot behaviour and structural breaks. This creates a real-time visual map of how price is organising itself — independent of time-based indicators and without the lag associated with classical moving averages.
This version focuses exclusively on price action structure, making it clean, fast, and ideal as a core tool on its own.
However, it is also designed as a foundation for more advanced analysis and will expand over time as additional modules are released.
This phase engine works exceptionally well in combination with my other indicators, such as moving-average structure tools, volume-weighted frameworks, and trend-strength models. Together, they provide a layered view of market behaviour:
phase structure → trend bias → volume confirmation → entry logic.
This makes the indicator valuable for:
Intra-day and swing traders
Wyckoff and liquidity-based traders
Mean-reversion and range-trading strategies
Understanding where accumulation/distribution behaviour is forming
Identifying when a phase is likely ending or breaking
Future updates will add modular expansion paths (trend scoring, VWAP phase weighting, multi-phase confluence, and signal logic), while maintaining the simplicity and reliability of this core engine.
Works Best With:
This indicator is part of a broader toolkit designed to analyse structure, trend, and behaviour.
When used alongside my other published tools — such as trend-strength MAs, VWMA frameworks, and higher-timeframe bias indicators — it provides a complete, multi-layered view of market conditions.
SMC N-Gram Probability Matrix [PhenLabs]📊 SMC N-Gram Probability Matrix
Version: PineScript™ v6
📌 Description
The SMC N-Gram Probability Matrix applies computational linguistics methodology to Smart Money Concepts trading. By treating SMC patterns as a discrete “alphabet” and analyzing their sequential relationships through N-gram modeling, this indicator calculates the statistical probability of which pattern will appear next based on historical transitions.
Traditional SMC analysis is reactive—traders identify patterns after they form and then anticipate the next move. This indicator inverts that approach by building a transition probability matrix from up to 5,000 bars of pattern history, enabling traders to see which SMC formations most frequently follow their current market sequence.
The indicator detects and classifies 11 distinct SMC patterns including Fair Value Gaps, Order Blocks, Liquidity Sweeps, Break of Structure, and Change of Character in both bullish and bearish variants, then tracks how these patterns transition from one to another over time.
🚀 Points of Innovation
First indicator to apply N-gram sequence modeling from computational linguistics to SMC pattern analysis
Dynamic transition matrix rebuilds every 50 bars for adaptive probability calculations
Supports bigram (2), trigram (3), and quadgram (4) sequence lengths for varying analysis depth
Priority-based pattern classification ensures higher-significance patterns (CHoCH, BOS) take precedence
Configurable minimum occurrence threshold filters out statistically insignificant predictions
Real-time probability visualization with graphical confidence bars
🔧 Core Components
Pattern Alphabet System: 11 discrete SMC patterns encoded as integers for efficient matrix indexing and transition tracking
Swing Point Detection: Uses ta.pivothigh/pivotlow with configurable sensitivity for non-repainting structure identification
Transition Count Matrix: Flattened array storing occurrence counts for all possible pattern sequence transitions
Context Encoder: Converts N-gram pattern sequences into unique integer IDs for matrix lookup
Probability Calculator: Transforms raw transition counts into percentage probabilities for each possible next pattern
🔥 Key Features
Multi-Pattern SMC Detection: Simultaneously identifies FVGs, Order Blocks, Liquidity Sweeps, BOS, and CHoCH formations
Adjustable N-Gram Length: Choose between 2-4 pattern sequences to balance specificity against sample size
Flexible Lookback Range: Analyze anywhere from 100 to 5,000 historical bars for matrix construction
Pattern Toggle Controls: Enable or disable individual SMC pattern types to customize analysis focus
Probability Threshold Filtering: Set minimum occurrence requirements to ensure prediction reliability
Alert Integration: Built-in alert conditions trigger when high-probability predictions emerge
🎨 Visualization
Probability Table: Displays current pattern, recent sequence, sample count, and top N predicted patterns with percentage probabilities
Graphical Probability Bars: Visual bar representation (█░) showing relative probability strength at a glance
Chart Pattern Markers: Color-coded labels placed directly on price bars identifying detected SMC formations
Pattern Short Codes: Compact notation (F+, F-, O+, O-, L↑, L↓, B+, B-, C+, C-) for quick pattern identification
Customizable Table Position: Place probability display in any corner of your chart
📖 Usage Guidelines
N-Gram Configuration
N-Gram Length: Default 2, Range 2-4. Lower values provide more samples but less specificity. Higher values capture complex sequences but require more historical data.
Matrix Lookback Bars: Default 500, Range 100-5000. More bars increase statistical significance but may include outdated market behavior.
Min Occurrences for Prediction: Default 2, Range 1-10. Higher values filter noise but may reduce prediction availability.
SMC Detection Settings
Swing Detection Length: Default 5, Range 2-20. Controls pivot sensitivity for structure analysis.
FVG Minimum Size: Default 0.1%, Range 0.01-2.0%. Filters insignificant gaps.
Order Block Lookback: Default 10, Range 3-30. Bars to search for OB formations.
Liquidity Sweep Threshold: Default 0.3%, Range 0.05-1.0%. Minimum wick extension beyond swing points.
Display Settings
Show Probability Table: Toggle the probability matrix display on/off.
Show Top N Probabilities: Default 5, Range 3-10. Number of predicted patterns to display.
Show SMC Markers: Toggle on-chart pattern labels.
✅ Best Use Cases
Anticipating continuation or reversal patterns after liquidity sweeps
Identifying high-probability BOS/CHoCH sequences for trend trading
Filtering FVG and Order Block signals based on historical follow-through rates
Building confluence by comparing predicted patterns with other technical analysis
Studying how SMC patterns typically sequence on specific instruments or timeframes
⚠️ Limitations
Predictions are based solely on historical pattern frequency and do not account for fundamental factors
Low sample counts produce unreliable probabilities—always check the Samples display
Market regime changes can invalidate historical transition patterns
The indicator requires sufficient historical data to build meaningful probability matrices
Pattern detection uses standardized parameters that may not capture all institutional activity
💡 What Makes This Unique
Linguistic Modeling Applied to Markets: Treats SMC patterns like words in a language, analyzing how they “flow” together
Quantified Pattern Relationships: Transforms subjective SMC analysis into objective probability percentages
Adaptive Learning: Matrix rebuilds periodically to incorporate recent pattern behavior
Comprehensive SMC Coverage: Tracks all major Smart Money Concepts in a unified probability framework
🔬 How It Works
1. Pattern Detection Phase
Each bar is analyzed for SMC formations using configurable detection parameters
A priority hierarchy assigns the most significant pattern when multiple detections occur
2. Sequence Encoding Phase
Detected patterns are stored in a rolling history buffer of recent classifications
The current N-gram context is encoded into a unique integer identifier
3. Matrix Construction Phase
Historical pattern sequences are iterated to count transition occurrences
Each context-to-next-pattern transition increments the appropriate matrix cell
4. Probability Calculation Phase
Current context ID retrieves corresponding transition counts from the matrix
Raw counts are converted to percentages based on total context occurrences
5. Visualization Phase
Probabilities are sorted and the top N predictions are displayed in the table
Chart markers identify the current detected pattern for visual reference
💡 Note:
This indicator performs best when used as a confluence tool alongside traditional SMC analysis. The probability predictions highlight statistically common pattern sequences but should not be used as standalone trading signals. Always verify predictions against price action context, higher timeframe structure, and your overall trading plan. Monitor the sample count to ensure predictions are based on adequate historical data.
Zero Lag EMA_BhavatThis is a test script for zelma. This is intended to cut down the lag from traditional ema indicators.
Effort per 1% Move (Normalized Columns)This indicator Shows a Normalized "effort" needed to move a certain assets price by 1 percent.
Used correctly, this can help in visualizing manipulation and shows a certain chance of a candle turning to a swing point.
Koushik_BBEMAJust a combination of BB and EMA. An easy way to immediately add bollinger band and multiple ema to your chart.
ATR + BJ Signal(GOLD)This script visualizes a price-based counting pattern that highlights potential market exhaustion and reversal areas.
When a series of candles continues in one direction, the indicator measures price momentum loss and marks possible turning points.
Features
Counts consecutive upward or downward price movement
Highlights possible exhaustion or reversal areas
Optional alerts, take-profit and stop-loss visual levels
Fully customizable colors and display settings
Useful as a confirmation tool with trend or volume indicators
This indicator is designed to assist decision-making, not to generate mechanical buy/sell signals.
Best used together with other trend or volatility tools.
📎 Short Description (for compact field)
Counts consecutive price movement to highlight potential market exhaustion and reversal zones.
Helps identify when strong trends may be weakening.
30-Minute High and Low30-Minute High and Low Levels
This indicator plots the previous 30-minute candle’s high and low on any intraday chart.
These levels are widely used by intraday traders to identify key breakout zones, liquidity pools, micro-range boundaries, and early trend direction.
Features:
• Automatically pulls the previous 30-minute candle using higher-timeframe HTF requests
• Displays the HTF High (blue) and HTF Low (red) on lower-timeframe charts
• Works on all intraday timeframes (1m, 3m, 5m, 10m, etc.)
• Levels stay fixed until the next 30-minute bar completes
• Ideal for ORB strategies, scalping, liquidity sweeps, and reversal traps
Use Cases:
• Watch for breakouts above the 30-minute high
• Monitor for liquidity sweeps and fakeouts around the high/low
• Treat the mid-range as a magnet during consolidation
• Combine with VWAP or EMA trend structure for high-precision intraday setups
This indicator is simple, fast, and designed for traders who rely on HTF micro-structure to guide intraday execution.
Cold Brew Ranges🧭 Core Logic and Calculation
The fundamental logic for each range (OR and CR) is identical:
Time Definition: Each range is defined by a specific Start Time and a fixed 30-second duration. The timestamp function, using the "America/New_York" time zone, is used to calculate the exact start time in Unix milliseconds for the current day.
Example: t0200 = timestamp(TZ, yC, mC, dC, 2, 0, 0) sets the start time for the 02:00 OR to 2:00:00 AM NY time.
Range Data Collection: The indicator uses the request.security_lower_tf() function to collect the High (hArr) and Low (lArr) prices of all bars that fall within the defined 30-second window, using a user-specified, sub-chart-timeframe (openrangetime, defaulted to "1" second, "30S", or "5" minutes). This ensures high precision in capturing the exact high and low during the 30-second window.
High/Low Determination: It iteratively finds the absolute highest price (OR_high) and the absolute lowest price (OR_low) recorded by the bars during that 30-second window.
Range Locking: Once the current chart bar's time (lastTs) passes the 30-second End Time (tEnd), the High and Low are locked (OR_locked = true), meaning the range calculation is complete for the day.
Drawing: Upon locking, the range is drawn on the chart using line.new for the High, Low, and Equilibrium, and box.new for the shaded fill. The lines are extended to a subsequent time anchor point (e.g., the 02:00 OR is extended to 08:20, the 09:30 OR is extended to 16:00).
Equilibrium (EQ): This is calculated as the simple average (midpoint) of the High and Low of the range.
EQ=
2
OR_High+OR_Low
⏰ Defined Trading Ranges
The indicator defines and tracks the following specific 30-second ranges:
Range Name Type Start Time (NY) Line Extension End Time (NY) Common Market Context
02:00 OR Opening 02:00:00 08:20:00 Asian/European Market Overlap
08:20 OR Opening 08:20:00 16:00:00 Pre-New York Open
09:30 OR Opening 09:30:00 16:00:00 New York Stock Exchange Open (Most significant OR)
18:00 OR Opening 18:00:00 20:00:00 Futures Market Open (Sunday/Monday)
20:00 OR Opening 20:00:00 Next Day's session start Asian Session Start
15:50 CR Closing 15:50:00 20:00:00 New York Close Range
⚙️ Key User Inputs and Customization
The script offers extensive control over which ranges are displayed and how they are visualized:
Range Time & History
openrangetime: Sets the sub-timeframe (e.g., "1" for 1 second) used to calculate the precise High/Low of the 30-second range. Crucial for accuracy.
showHistory: A toggle to show the ranges from previous days (up to a histCap of 50 days).
Range Toggles and Styling
On/Off Toggles: Independent input.bool (e.g., OR_0200_on) to enable or disable the display of each individual range.
Colors & Width: Separate color and width inputs for the High/Low lines (hlC), the Equilibrium line (eqC), and the background fill (fillC) for each range.
Line Styles: Global inputs for the line styles of High/Low (lineStyleInput) and Equilibrium (eqLineStyleInput) lines (Solid, Dotted, or Dashed).
showFill: Global toggle to enable the shaded background box that highlights the area between the High and Low.
Extensions
The script calculates and plots extensions (multiples of the initial range) above the High and below the Low.
showExt: Toggles the visibility of the extension lines.
useRangeMultiples: If true, the step size for each extension level is equal to the initial range size:
Step=Range=OR_High−OR_Low
If false, the step size is a fixed value defined by stepPts (e.g., 60.0 points, which is a common value for NQ futures).
stepCnt: Determines how many extension levels (multiples) are drawn above and below the range (default is 10).
📈 Trading Strategy Implications
The Cold Brew Ranges indicator is a tool for session-based support and resistance and range breakout/reversal strategies.
Key Support/Resistance: The High and Low of these defined opening ranges often act as strong, predefined price levels. Traders look for price rejection off these boundaries or a breakout with conviction.
Equilibrium (Midpoint): The EQ often represents a fair value for that specific session's opening. Movements away from it are seen as opportunities, and a return to it is common.
Extensions: The range extensions serve as potential profit targets or stronger, layered support/resistance levels if the market trends aggressively after the opening range is set.
The core idea is that the activity in the first 30 seconds of a significant trading session (like the NYSE or a market session open) sets a bias and initial boundary for the trading period that follows.
ATR ZigZag - Volatility-Filtered Market StructureDescription
This indicator draws ZigZags using an ATR based threshold for direction switching to identify major swing highs and lows. Instead of relying on fractals or fixed bar-count swings, pivots are confirmed only when price moves beyond the prior extreme by:
threshold = ATR(length) × ATR_mult
This filters noise, enforces valid swing structure (high → low → high), and adapts automatically to volatility. The ATR ZigZag is ideal for traders who want a clean, objective view of swing structure without noise. This has many uses, including mapping swing structure, drawing chart patterns, and trading around extremes.
Lag and Repainting
Pivots are confirmed only after price moves sufficiently in the opposite direction. This creates necessary lag. The ZigZag is drawn when this occurs, and will anchor to the high/low in the past. Optional detection dot plots show exactly when confirmation occurred.
What You See
ZigZag: dashed gray line, repainted to anchor at the confirmed highs and lows
Latest Pivot Levels: Dashed horizontal lines at the most recent confirmed high/low.
Optional Live Swing Leg: A real-time line from the last confirmed pivot to the current swing extreme, updating until a new pivot forms.
Optional ATR Boxes: 1×ATR shaded zones around the latest pivot for structural context.
Optional Pivot Confirmation Dots: Markers show the bar where the threshold is crossed and a swing is officially confirmed. This is to understand the lag and see when the ZigZag repainted.
Green Day or Red Day?What it is:
This simple indicator provides immediate visual context by tinting the background of your chart Green or Red based on the asset's daily performance.
Who's it for?
It is designed for day traders and scalpers who operate on lower timeframes (1m, 5m, 15m) but need to remain aware of the overall daily direction without switching charts. It can be used in combination with the ORB strategy as a helpful tool to "feel" the trend when you're way out of the ORB range. But this indicator can be used by anyone regardless of trading style.
How it works:
This script pulls data from the daily timeframe regardless of the chart interval you are currently viewing. It compares the current price to a user-selectable reference point (either Yesterday's Close or Today's Open) to determine the background color.
Good Luck. May you make good trades!
FOR CRT SMT – 4 CANDLEFOR CRT SMT – 4 CANDLE Indicator
This indicator detects SMT (Smart Money Technique) divergence by comparing the last 4 candle highs and lows of two different assets.
Originally designed for BTC–ETH comparison, but it works on any market, including Forex pairs.
You can open EURUSD on the chart and select GBPUSD from the settings, and the indicator will detect SMT divergence between EUR and GBP the same way it does between BTC and ETH. This makes it useful for analyzing correlated markets across crypto, forex, and more.
🔴 Upper SMT (Bearish Divergence – Red)
Occurs when:
The main chart asset makes a higher high,
The comparison asset makes a lower high.
This may signal a liquidity grab and potential reversal.
🟢 Lower SMT (Bullish Divergence – Green)
Occurs when:
The main chart asset makes a lower low,
The comparison asset makes a higher low.
This may indicate the market is sweeping liquidity before reversing upward.
📌 Features
Uses the last 4 candles of both assets.
Automatically draws divergence lines.
Shows clear “SMT ↑” or “SMT ↓” labels.
Works on Crypto, Forex, and all correlated assets.






















