Liquidity Sentiment Profile [LuxAlgo]The Liquidity Sentiment Profile is an advanced charting tool that measures by combining PRICE and VOLUME data over specified anchored periods and highlights within a sequence of profiles the distribution of the liquidity and the market sentiment at specific price levels.
The Liquidity Sentiment Profile allows traders to reveal significant price levels, dominant market sentiment, support and resistance levels, supply and demand zones, liquidity availability levels, liquidity gaps, consolidation zones, and more based on price and volume data.
Liquidity refers to the availability of orders at specific price levels in the market, allowing transactions to occur smoothly.
🔶 USAGE
A Liquidity Sentiment Profile is a combination of a liquidity and a sentiment profile, where the right part of the profile displays the distribution of the traded activity at different price levels and the left part displays the market sentiment at those price levels.
The Liquidity Sentiment Profiles are visualized with different colors, where each color has a different meaning.
The Liquidity Sentiment Profiles aim to present Value Areas based on the significance of price levels, thus allowing users to identify value areas that can be formed more than once within the range of a single profile.
Level of Significance Line - displays the changes in the price levels with the highest traded activity (developing POC)
🔶 SETTINGS
The script takes into account user-defined parameters and plots the profiles, where detailed usage for each user-defined input parameter in indicator settings is provided with the related input's tooltip.
🔹 Liquidity Sentiment Profiles
Anchor Period: The indicator resolution is set by the input of the Anchor Period, the default option is AUTO.
🔹 Liquidity Profile Settings
Liquidity Profile: Toggles the visibility of the Liquidity Profiles
High Traded Nodes: Threshold and Color option for High Traded Nodes
Average Traded Nodes: Color option for Average Traded Nodes
Low Traded Nodes: Threshold and Color option for Low Traded Nodes
🔹 Sentiment Profile Settings
Sentiment Profile: Toggles the visibility of the Sentiment Profiles
Bullish Nodes: Color option for Bullish Nodes
Bearish Nodes: Color option for Bearish Nodes
🔹 Other Settings
Level of Significance: Toggles the visibility of the Level of Significance Line
Profile Price Levels: Toggles the visibility of the Profile Price Levels
Number of Rows: Specify how many rows each profile histogram will have. Caution, having it set to high values will quickly hit Pine Script™ drawing objects limit and fewer historical profiles will be displayed
Profile Width %: Alters the width of the rows in the histogram, relative to the profile length
Profile Range Background Fill: Toggles the visibility of the Profiles Range
🔶 LIMITATIONS
The amount of drawing objects that can be used is limited, as such using a high number of rows can display fewer historical profiles and occasionally incomplete profiles.
🔶 RELATED SCRIPTS
🔹 Buyside-Sellside-Liquidity
🔹 ICT-Concepts
🔹 Swing-Volume-Profiles
חפש סקריפטים עבור "ict"
Market Structure CHoCH/BOS (Fractal) [LuxAlgo]The Market Structure CHoCH/BOS (Fractal) indicator is an experimental take on classical market structure, whereas fractal patterns are used for their construction instead of swing points.
Compared to utilizing swing points for highlighting market structure like our Smart Money Concepts indicator , fractal-based market structure can appear as more adaptive, however, it can also be more restrictive when it comes to returning swing points which can cause the indicator to miss reversals in some cases.
If enabled from within the settings, users can see support and resistance levels returned from the detected market structure with breakouts highlighted on the chart. Alongside this feature, an additional dashboard showing the structure to fractal structure percentage is also provided.
🔶 SETTINGS
Length: Length of the fractal patterns to detect.
🔹 Style
Bullish Structures: Show bullish structures.
Bearish Structures: Show bullish structures.
Support: Show support levels.
Resistance: Show resistance levels.
🔹 Dashboard
Show Dashboard: Show structure to fractal percentage dashboard on the chart.
Location: Location of the dashboard on the chart.
Size: Dashboard size.
🔶 USAGE
Market structure is commonly used to determine trend direction by using price positions relative to prior swing points. Using fractal patterns to determine market structure can allow users to obtain shorter, more frequent structure labels.
Market structure is commonly classified as follows:
Change of Character (CHoCH), also referred to as Market Structure Shift (MSS)
Break of Structure (BOS), also referred to as Market Structure Break (MSB)
Change of Characters indicate a shift in the market trend, confirming trend reversals. Break of Structures on the other hand occur once a trend is already determined, confirming new higher highs/lower lows.
Using higher length values allow users to detect longer-term fractals, thus highlighting longer-term market structures. The image above detects fractal patterns made of 7 candles, even if the increment is only of 2 bars this significantly reduces the amount of detected market structure labels.
The result obtained by utilizing fractals and higher settings can be a more dynamic view of market structure, however, as seen in the image above this can introduce very significant delay compared to utilizing pure swing points.
🔹 Support/Resistance
The indicator also returns support/resistance levels constructed from the market structure, these levels are obtained similarly to order blocks, finding the minimum on the interval of a bullish market structure and the maximum of a bearish market structure.
Price reaching a support/resistance level can be expected to bounce from it. Once a level is broken, the support/resistance level will no longer extend, and a circle will be displayed highlighting the break.
While utilizing this script for fractal-based market structure, these levels can be useful to ensure all swing points are still considered by the user with the possibility of the indicator missing reversals due to its calculation not being based on swing points themselves.
🔹 Dashboard
The dashboard reports the structure to fractal percentage, that is the amount of bullish/bearish market structures relative to the total amount of detected bullish/bearish fractal patterns.
This allows us to see how often a detected fractal pattern is used to display a market structure.
🔶 DETAILS
🔹 Fractals
In the context of technical analysis, Fractals refer to specific patterns that exhibit self-similarity at different scales or timeframes.
The most commonly known fractal pattern consists of a consecutive sequence of candles (more commonly 5), with the central candle being the lowest (in case of a bullish fractal) or highest (in case of a bearish fractal).
A bullish fractal has candles on the right side of the central candle with increasing lows, while candles on the left side have decreasing lows.
A bearish fractal has candles on the right side of the central candle with decreasing highs, while candles on the left side have increasing highs.
🔶 RELATED SCRIPTS
🔹 Smart Money Concepts
🔹 Market Structure Trailing Stop
🔹 ICT Concepts
30MIN CYCLE█ HOW DOES IT WORK?
The known 90 min cycle is used as one killzone. But actually all 18 min are relevant to search for a trade. All 18 min when a new box starts only then is the placement of an order valid. If the entry candle isn't in a box then it will probably fail. The boxes should only be used in the M1 or M5 timeframe. The best hitrate is in the M1 timeframe. Included are the last 48 "Mini-Killzones" für intraday trading and backtesting. These "Mini-Killzones" can be used with the "Liquidity Inducement Strategy".
█ WHAT MAKES IT UNIQUE?
This is the first indicator on tradingview that shows all mini-killzones for trading and backtesting a whole tradingday. The well-known killzones of ICT are from 08:00-11:00 and 14:00 - 17:00 (UTC+1) but with this indicator there is finally a refinement of the ICT Smart Money Concept killzones.
█ HOW TO USE IT?
For a proper use of this indicator we suggest to know already at least SMC or better Liquidity Indcuement Trading. This indicator is a further confluence before placing an order. After you made your setup you will have these mini-killzones as a confluence. We don't suggest to open a trade only according to this indicator.
█ ADDITIONAL INFO
This indicator is free to use for all tradingview users.
█ DISCLAIMER
This is not financial advice.
BullTrading SwingHigh/SwingLowTraders, good afternoon... are you in a mood for an excellent Institutional Trading Course?
Best of all for FREE!! (please use this valuable information with respect, there are people selling the information contained in this course as their own).
This guy has more than 20 years of trading experience under his belt. This information is a real gem for any trader, no matter the timeframe you trade. This script is a tribute for ICT production and shows the swing highs and swing lows used on institutional trading (Use it in D and 4H timeframes resolution for analysis in order to apply manual trading in lower timeframes).
Here is the link to the ICT Sniper Institutional Trading Course. Enjoy www.dropbox.com
Smart Money Zones (FVG + OB) + MTF Trend Panel## Overview
Professional-grade institutional trading zones indicator that identifies **Fair Value Gaps (FVG)** and **Order Blocks (OB)** - key price inefficiencies where smart money operates. Includes a comprehensive **Multi-Timeframe Trend Panel** for complete market context at a glance.
## Core Features
### 🎯 Fair Value Gaps (FVG)
Fair Value Gaps occur when price moves so aggressively that it leaves an "imbalance" or "gap" in the market structure. These zones often act as magnets where price returns to find liquidity.
**Detection Logic:**
- **Bullish FVG**: When current candle's low is above the high of the candle 2 bars ago
- **Bearish FVG**: When current candle's high is below the low of the candle 2 bars ago
- Requires strong impulse candle (configurable body percentage threshold)
- Color-coded zones: Green for bullish, Red for bearish
### 📦 Order Blocks (OB)
Order Blocks represent the last opposite candle before a significant price move - the zone where institutional orders were placed before the breakout.
**Detection Logic:**
- Identifies the last bearish candle before a strong bullish breakout (Bullish OB)
- Identifies the last bullish candle before a strong bearish breakout (Bearish OB)
- Validates breakout strength using ATR multiplier (1.2x default)
- Color-coded zones: Blue for bullish, Orange for bearish
### 📊 Multi-Timeframe Trend Panel
Real-time trend analysis across **7 timeframes** displayed in an elegant dashboard:
- **1 Minute** - Ultra short-term scalping
- **5 Minutes** - Short-term momentum
- **15 Minutes** - Intraday swings
- **30 Minutes** - Session trends
- **1 Hour** - Multi-session trends
- **4 Hours** - Daily structure
- **Daily** - Long-term direction
**Visual Indicators:**
- 🟢 Green circle = Bullish trend
- 🔴 Red circle = Bearish trend
- Clean, professional table design with customizable position and size
## Intelligence Features
### 🧠 Zone Strength Rating
Every zone is automatically classified by strength based on size relative to ATR:
- **VERY STRONG** - 2.0x ATR or more (major institutional zones)
- **STRONG** - 1.5x to 2.0x ATR (significant zones)
- **MEDIUM** - 1.0x to 1.5x ATR (moderate zones)
- **WEAK** - Below 1.0x ATR (minor zones)
Strength rating helps you prioritize which zones to trade from!
### 📉 Smart Mitigation Tracking
Zones automatically track how much they've been "filled" or mitigated:
- Calculates penetration percentage as price enters the zone
- Zones turn **gray** when 50%+ mitigated or fully filled
- Option to **auto-delete** mitigated zones to keep chart clean
- Live zones extend dynamically with price action
### 🎨 Trend Filter (Optional)
When enabled, only shows zones aligned with the current trend:
- Uses customizable MA period (default 50)
- Bullish zones only appear in uptrend
- Bearish zones only appear in downtrend
- Reduces noise and false signals significantly
## Customization Options
### Display Settings
- Toggle FVGs and OBs independently
- Adjust max zones per type (5-200)
- Choose to remove or gray out mitigated zones
- Color customization for all zone types
### Detection Parameters
- **Min Impulse Body %**: Controls how strong the impulse candle must be (0.3-1.0)
- **Order Block Lookback**: How many bars to look back for OB validation (5-50)
- **ATR Length**: Period for ATR calculation (5-50)
### Trend Filter
- Enable/disable trend filtering
- Adjustable MA period for trend determination
### MTF Panel
- Show/hide the trend panel
- 4 position options: Top Right, Top Left, Bottom Right, Bottom Left
- 3 size options: Small, Normal, Large
- Customizable MA period for trend calculation across all timeframes
## Trading Applications
### 1. **Liquidity Grab Entries**
Wait for price to sweep a zone (50%+ mitigation) then enter on reversal. Smart money often "hunts" these zones before the real move begins.
### 2. **Confluence Trading**
Look for zones that align with:
- Multiple timeframe trends showing same direction
- Multiple FVGs/OBs stacking in same area
- Key support/resistance levels
### 3. **Breakout Confirmation**
Use Order Blocks to confirm the strength of breakouts. Strong OBs indicate institutional participation.
### 4. **Retracement Entries**
Enter when price returns to a fresh, unmitigated zone in the direction of the higher timeframe trend.
### 5. **Range Trading**
Identify FVG zones at range extremes - price often reverses at these inefficiencies.
## How It Works
**Fair Value Gaps** form when the middle candle creates such aggressive movement that it leaves a price gap between the high/low of surrounding candles. Institutional traders know these gaps get filled.
**Order Blocks** mark the origin of major moves. The last opposite-colored candle before a breakout is where large orders were placed. Price often returns to these zones for "retests" before continuing.
**Mitigation** happens when price returns to fill these zones. The indicator tracks this automatically, showing you which zones are still "fresh" and which have been used up.
## Best Practices
✅ **Use higher timeframe trends** - Always check the MTF panel before taking trades
✅ **Trade fresh zones** - Unmitigated zones (not gray) have the highest probability
✅ **Combine with price action** - Look for rejection wicks and engulfing candles at zones
✅ **Respect zone strength** - VERY STRONG and STRONG zones are most reliable
✅ **Use trend filter** - Especially on lower timeframes to reduce false signals
❌ **Don't overtrade** - Not every zone will react, wait for confirmation
❌ **Don't ignore context** - Check the MTF panel for conflicting trends
❌ **Don't chase** - Wait for price to come to the zone, don't enter mid-zone
## Technical Details
- **Non-repainting**: All zones are drawn on confirmed candles only
- **Performance optimized**: Uses efficient array management with per-type caps
- **Real-time updates**: Zones extend and track mitigation as price moves
- **Universal compatibility**: Works on all markets and timeframes
## Recommended Settings by Style
**Scalping (1m-5m charts):**
- Max zones: 10-15
- Use trend filter: ON
- MTF Panel: Focus on 1m-15m trends
- Remove mitigated: ON (keep chart clean)
**Day Trading (5m-1H charts):**
- Max zones: 15-20
- Use trend filter: ON
- MTF Panel: Focus on 15m-4H trends
- Remove mitigated: OFF (track zone history)
**Swing Trading (1H-D charts):**
- Max zones: 20+
- Use trend filter: Optional
- MTF Panel: Focus on 1H-1D trends
- Remove mitigated: OFF (important zones persist)
---
## Perfect For
- Smart Money Concept (SMC) traders
- ICT methodology followers
- Institutional order flow traders
- Price action traders seeking key zones
- Multi-timeframe analysis enthusiasts
**Compatible with all markets:** Forex, Crypto, Stocks, Indices, Commodities, Futures
*Trade where the institutions trade. Follow the smart money.*
Smart Money Zones (FVG + OB) + MTF Trend Panel## Overview
Professional-grade institutional trading zones indicator that identifies **Fair Value Gaps (FVG)** and **Order Blocks (OB)** - key price inefficiencies where smart money operates. Includes a comprehensive **Multi-Timeframe Trend Panel** for complete market context at a glance.
## Core Features
### 🎯 Fair Value Gaps (FVG)
Fair Value Gaps occur when price moves so aggressively that it leaves an "imbalance" or "gap" in the market structure. These zones often act as magnets where price returns to find liquidity.
**Detection Logic:**
- **Bullish FVG**: When current candle's low is above the high of the candle 2 bars ago
- **Bearish FVG**: When current candle's high is below the low of the candle 2 bars ago
- Requires strong impulse candle (configurable body percentage threshold)
- Color-coded zones: Green for bullish, Red for bearish
### 📦 Order Blocks (OB)
Order Blocks represent the last opposite candle before a significant price move - the zone where institutional orders were placed before the breakout.
**Detection Logic:**
- Identifies the last bearish candle before a strong bullish breakout (Bullish OB)
- Identifies the last bullish candle before a strong bearish breakout (Bearish OB)
- Validates breakout strength using ATR multiplier (1.2x default)
- Color-coded zones: Blue for bullish, Orange for bearish
### 📊 Multi-Timeframe Trend Panel
Real-time trend analysis across **7 timeframes** displayed in an elegant dashboard:
- **1 Minute** - Ultra short-term scalping
- **5 Minutes** - Short-term momentum
- **15 Minutes** - Intraday swings
- **30 Minutes** - Session trends
- **1 Hour** - Multi-session trends
- **4 Hours** - Daily structure
- **Daily** - Long-term direction
**Visual Indicators:**
- 🟢 Green circle = Bullish trend
- 🔴 Red circle = Bearish trend
- Clean, professional table design with customizable position and size
## Intelligence Features
### 🧠 Zone Strength Rating
Every zone is automatically classified by strength based on size relative to ATR:
- **VERY STRONG** - 2.0x ATR or more (major institutional zones)
- **STRONG** - 1.5x to 2.0x ATR (significant zones)
- **MEDIUM** - 1.0x to 1.5x ATR (moderate zones)
- **WEAK** - Below 1.0x ATR (minor zones)
Strength rating helps you prioritize which zones to trade from!
### 📉 Smart Mitigation Tracking
Zones automatically track how much they've been "filled" or mitigated:
- Calculates penetration percentage as price enters the zone
- Zones turn **gray** when 50%+ mitigated or fully filled
- Option to **auto-delete** mitigated zones to keep chart clean
- Live zones extend dynamically with price action
### 🎨 Trend Filter (Optional)
When enabled, only shows zones aligned with the current trend:
- Uses customizable MA period (default 50)
- Bullish zones only appear in uptrend
- Bearish zones only appear in downtrend
- Reduces noise and false signals significantly
## Customization Options
### Display Settings
- Toggle FVGs and OBs independently
- Adjust max zones per type (5-200)
- Choose to remove or gray out mitigated zones
- Color customization for all zone types
### Detection Parameters
- **Min Impulse Body %**: Controls how strong the impulse candle must be (0.3-1.0)
- **Order Block Lookback**: How many bars to look back for OB validation (5-50)
- **ATR Length**: Period for ATR calculation (5-50)
### Trend Filter
- Enable/disable trend filtering
- Adjustable MA period for trend determination
### MTF Panel
- Show/hide the trend panel
- 4 position options: Top Right, Top Left, Bottom Right, Bottom Left
- 3 size options: Small, Normal, Large
- Customizable MA period for trend calculation across all timeframes
## Trading Applications
### 1. **Liquidity Grab Entries**
Wait for price to sweep a zone (50%+ mitigation) then enter on reversal. Smart money often "hunts" these zones before the real move begins.
### 2. **Confluence Trading**
Look for zones that align with:
- Multiple timeframe trends showing same direction
- Multiple FVGs/OBs stacking in same area
- Key support/resistance levels
### 3. **Breakout Confirmation**
Use Order Blocks to confirm the strength of breakouts. Strong OBs indicate institutional participation.
### 4. **Retracement Entries**
Enter when price returns to a fresh, unmitigated zone in the direction of the higher timeframe trend.
### 5. **Range Trading**
Identify FVG zones at range extremes - price often reverses at these inefficiencies.
## How It Works
**Fair Value Gaps** form when the middle candle creates such aggressive movement that it leaves a price gap between the high/low of surrounding candles. Institutional traders know these gaps get filled.
**Order Blocks** mark the origin of major moves. The last opposite-colored candle before a breakout is where large orders were placed. Price often returns to these zones for "retests" before continuing.
**Mitigation** happens when price returns to fill these zones. The indicator tracks this automatically, showing you which zones are still "fresh" and which have been used up.
## Best Practices
✅ **Use higher timeframe trends** - Always check the MTF panel before taking trades
✅ **Trade fresh zones** - Unmitigated zones (not gray) have the highest probability
✅ **Combine with price action** - Look for rejection wicks and engulfing candles at zones
✅ **Respect zone strength** - VERY STRONG and STRONG zones are most reliable
✅ **Use trend filter** - Especially on lower timeframes to reduce false signals
❌ **Don't overtrade** - Not every zone will react, wait for confirmation
❌ **Don't ignore context** - Check the MTF panel for conflicting trends
❌ **Don't chase** - Wait for price to come to the zone, don't enter mid-zone
## Technical Details
- **Non-repainting**: All zones are drawn on confirmed candles only
- **Performance optimized**: Uses efficient array management with per-type caps
- **Real-time updates**: Zones extend and track mitigation as price moves
- **Universal compatibility**: Works on all markets and timeframes
## Recommended Settings by Style
**Scalping (1m-5m charts):**
- Max zones: 10-15
- Use trend filter: ON
- MTF Panel: Focus on 1m-15m trends
- Remove mitigated: ON (keep chart clean)
**Day Trading (5m-1H charts):**
- Max zones: 15-20
- Use trend filter: ON
- MTF Panel: Focus on 15m-4H trends
- Remove mitigated: OFF (track zone history)
**Swing Trading (1H-D charts):**
- Max zones: 20+
- Use trend filter: Optional
- MTF Panel: Focus on 1H-1D trends
- Remove mitigated: OFF (important zones persist)
---
## Perfect For
- Smart Money Concept (SMC) traders
- ICT methodology followers
- Institutional order flow traders
- Price action traders seeking key zones
- Multi-timeframe analysis enthusiasts
**Compatible with all markets:** Forex, Crypto, Stocks, Indices, Commodities, Futures
*Trade where the institutions trade. Follow the smart money.*
Liquidity Sweeps [Kodexius]Liquidity Sweeps is a price action indicator built to visualize and react to common “stop run” behavior around recent swing highs and swing lows. It continuously detects pivot-based liquidity levels (recent resistance and support), extends them forward in time, and then classifies the interaction when price probes beyond a level but fails to hold through it.
The script focuses on two outcomes:
Buy-Side Liquidity Sweep (BSL): price takes liquidity above a recent swing high (high breaks above the level) but closes back at or below the level.
Sell-Side Liquidity Sweep (SSL): price takes liquidity below a recent swing low (low breaks below the level) but closes back at or above the level.
To support real trading workflows, it keeps charts readable by limiting active levels, offers clean styling options, and optionally filters sweep signals using relative volume (RVOL) so you can require participation before a sweep is considered valid.
🔹 Features
🔸 Pivot-Based Liquidity Level Detection (Swing Highs and Swing Lows)
The indicator uses a user-defined Pivot Length to identify confirmed swing points:
Pivot Highs become resistance liquidity levels (buy-side liquidity above highs).
Pivot Lows become support liquidity levels (sell-side liquidity below lows).
Each detected level is drawn as a horizontal line and automatically extended to the current bar until it is swept or broken.
🔸 Automatic Level Management (De-Cluttering)
To prevent chart overload, the script stores levels in internal arrays and enforces Maximum Active Levels:
When new levels are added and the limit is exceeded, the oldest level is removed.
This keeps only the most relevant, recent liquidity zones visible.
🔸 Clear Sweep Classification (BSL and SSL)
The sweep logic is intentionally strict and practical:
- BSL Sweep triggers when the bar’s high is above resistance but the close is back below or at resistance.
- SSL Sweep triggers when the bar’s low is below support but the close is back above or at support.
This models the “probe and reject” behavior typical of liquidity grabs.
🔸 Optional Volume Confirmation Using RVOL
When Enable Volume Filter is turned on, sweeps are only valid if the current bar’s volume is strong relative to the last 20 bars:
The script computes a 20-period volume average.
You can require volume to exceed the average by a chosen Volume Multiplier (example: 1.5 means 150% of the average).
If the filter is disabled, sweeps are evaluated purely on price conditions.
🔸 Sweep Labels and Level Highlighting
On a valid sweep:
A label is printed on the sweep bar:
- ▼ BSL for buy-side liquidity sweeps (yellow)
- ▲ SSL for sell-side liquidity sweeps (blue)
The swept level is highlighted by drawing an additional colored line over the swept range.
The script also prints the bar’s RVOL percentage near the midpoint of the swept line segment:
- BSL volume text is placed above the line midpoint
- SSL volume text is placed below the line midpoint
This makes it easy to see whether a sweep was low-effort or supported by strong participation.
🔸 Styling Controls
You can fully tailor the visual output:
Resistance and support line colors
Line style selection: Solid, Dotted, Dashed
Toggle sweep labels on or off
🔸 Alerts
The indicator exposes alert conditions for both sweep types and also fires explicit alert messages once per bar close when a sweep is confirmed:
- Buy Liquidity Sweep (BSL)
- Sell Liquidity Sweep (SSL)
🔹 Calculations
1) Pivot High / Pivot Low Detection
float ph = ta.pivothigh(high, pivotPeriodInput, pivotPeriodInput)
float pl = ta.pivotlow(low, pivotPeriodInput, pivotPeriodInput)
Interpretation:
A pivot is only confirmed after pivotPeriodInput bars have passed.
Once confirmed, the level is anchored at the pivot bar and then extended forward.
2) Creating and Storing Liquidity Levels
New Resistance (Pivot High):
if not na(ph)
line newL = line.new(bar_index , ph, bar_index, ph,
color = resistanceColorInput, width = 1, style = getLineStyle(lineStyleInput))
resistanceLevels.push(LiquidityLevel.new(ph, bar_index , newL))
if resistanceLevels.size() > maxLinesInput
(resistanceLevels.shift()).delete()
New Support (Pivot Low):
if not na(pl)
line newL = line.new(bar_index , pl, bar_index, pl,
color = supportColorInput, width = 1, style = getLineStyle(lineStyleInput))
supportLevels.push(LiquidityLevel.new(pl, bar_index , newL))
if supportLevels.size() > maxLinesInput
(supportLevels.shift()).delete()
This enforces the “Maximum Active Levels” limit by deleting the oldest stored level when the cap is exceeded.
3) Relative Volume (RVOL) and Volume Filter
float volAvg = ta.sma(volume, 20)
float volRelative = (volume / volAvg) * 100
bool isVolStrong = not useVolFilterInput or (volume > volAvg * volMultiplierInput)
volRelative expresses the sweep bar’s volume as a percentage of the last 20-bar average.
If the filter is enabled, a sweep is valid only when isVolStrong is true.
4) Sweep Conditions (Core Logic)
Buy-Side Liquidity Sweep (Resistance Sweep)
A resistance level is considered swept when price trades above it but closes back at or below it.
bool priceSwept = high > lvl.price and close <= lvl.price
bool broken = close > lvl.price
priceSwept captures the “probe and reject” behavior.
broken invalidates the level if price closes above it.
The confirmation and cleanup flow:
if priceSwept and isVolStrong
buySweepOccurred := true
if showLabelsInput
label.new(bar_index, high, "▼ BSL",
style = label.style_label_down, color = #00000000,
textcolor = C_SWEEP_BUY, size = size.small)
line.new(lvl.startBar, lvl.price, bar_index, lvl.price, color = C_SWEEP_BUY, width = 1)
int midX = math.round((lvl.startBar + bar_index) / 2)
label.new(midX, lvl.price, str.tostring(volRelative, "#") + "% VOL",
color = #00000000, textcolor = color.new(C_SWEEP_BUY, 20),
style = label.style_label_down, size = size.tiny)
resistanceLevels.remove(i).delete()
else if broken
resistanceLevels.remove(i).delete()
Sell-Side Liquidity Sweep (Support Sweep)
A support level is considered swept when price trades below it but closes back at or above it.
bool priceSwept = low < lvl.price and close >= lvl.price
bool broken = close < lvl.price
The confirmation and cleanup flow:
if priceSwept and isVolStrong
sellSweepOccurred := true
if showLabelsInput
label.new(bar_index, low, "▲ SSL",
style = label.style_label_up, color = #00000000,
textcolor = C_SWEEP_SELL, size = size.small)
line.new(lvl.startBar, lvl.price, bar_index, lvl.price, color = C_SWEEP_SELL, width = 1)
int midX = math.round((lvl.startBar + bar_index) / 2)
label.new(midX, lvl.price, str.tostring(volRelative, "#") + "% VOL",
color = #00000000, textcolor = color.new(C_SWEEP_SELL, 20),
style = label.style_label_up, size = size.tiny)
supportLevels.remove(i).delete()
else if broken
supportLevels.remove(i).delete()
5) Level Extension to Current Bar
method update(LiquidityLevel this) =>
line.set_x2(this.lineObj, bar_index)
This keeps each active liquidity level extended to the current candle until it is swept or decisively broken.
6) Alerts
alertcondition(buySweepOccurred, "Buy Liquidity Sweep", "BSL Swept!")
alertcondition(sellSweepOccurred, "Sell Liquidity Sweep", "SSL Swept!")
if buySweepOccurred
alert("Kodexius BSL Sweep: " + str.tostring(close), alert.freq_once_per_bar_close)
if sellSweepOccurred
alert("Kodexius SSL Sweep: " + str.tostring(close), alert.freq_once_per_bar_close)
Order Blocks & ImbalanceThis indicator automatically identifies and plots Order Blocks (also known as Fair Value Gaps or Imbalances) based on Smart Money Concepts (SMC) and ICT methodology. It detects significant price inefficiencies (gaps between candles) that often act as institutional supply or demand zones.
How It Works (Technical Methodology)
1. Fair Value Gap (FVG) Detection
The indicator identifies classic 3-candle imbalances:
- Bullish Order Block (Demand): When the low of the current candle is significantly below the high of the candle two bars ago (low - high ).
- Bearish Order Block (Supply): When the high of the current candle is significantly above the low of the candle two bars ago (low - high ).
A minimum size threshold is enforced using ATR(14) × user-defined multiplier (default 0.5) to filter out minor gaps and focus on meaningful inefficiencies.
2. Zone Creation
- Bullish zones are created at the candle two bars ago (the "origin" candle where inefficiency occurred).
- Bearish zones use the same origin candle.
- Zone boundaries:
Top = high of origin candle
Bottom = low of origin candle
This captures the full range where price moved aggressively, leaving an imbalance that institutions may later revisit.
3. Mitigation Detection
Zones can be mitigated in two ways (user-selectable):
- "Close": Zone is considered touched only if the close price enters the zone.
- "Wick": Zone is touched if any wick (high/low) enters the zone (more sensitive).
When mitigated:
- Background becomes more transparent
- Border turns dotted
- Label changes to "Mitigated"
Broken zones (price fully closes beyond the opposite side) are automatically deleted.
4. Zone Lifecycle Management
- Active Zone: Strong color fill (green for demand, red for supply) with solid border.
- Mitigated Zone: Faded color, dotted border – indicates partial fill or reduced strength.
- Broken Zone: Automatically removed from chart to reduce clutter.
Old zones are also pruned when exceeding 450 total to maintain performance.
5. Smart Visibility Engine (Optional)
When enabled:
- All zones are initially hidden.
- Only the closest relevant zones are shown:
- Up to user-defined limit (default 10) highest bullish zones (closest below price)
- Up to user-defined limit (default 10) lowest bearish zones (closest above price)
- Visible zones are automatically extended to the right and styled appropriately.
This keeps the chart clean while highlighting the most actionable zones near current price.
6. Visual Elements
- Demand Zones: Green fill, labeled "OB Demand"
- Supply Zones: Red fill, labeled "OB Supply"
- Tiny text size to minimize chart clutter
- Zones drawn as boxes using bar_index positioning
How to Use
Order Blocks represent areas of price inefficiency where smart money likely entered/exited positions aggressively.
- Demand Zones (Green): Potential long entry areas when price returns. Expect buying pressure to defend these levels. Best setups when price retests an active (non-mitigated) zone.
- Supply Zones (Red): Potential short entry areas when price returns. Expect selling pressure to emerge.
- Mitigated Zones: Lower probability – may act as weaker support/resistance.
- Smart Visibility: Highly recommended for cleaner charts. Focuses attention on zones most likely to be tested soon.
- Combine with:
- Break of Structure (BOS)/Change of Character (CHOCH)
- Liquidity grabs
- Higher timeframe confluence
- Volume or momentum confirmation
Use higher FVG threshold (e.g., 0.8–1.0) for fewer, higher-quality zones. Lower threshold for more aggressive detection.
Disclaimer
This indicator is a technical analysis tool and should be used in conjunction with other forms of analysis. Past performance does not guarantee future results. Always use proper risk management.
S_Sigma HTF Candles (UTC Draw / NY Labels)🕯️ S_Sigma HTF Candles (UTC Draw / NY Labels)
Multi-Timeframe Overlay with Session Labels & Imbalances
S_Sigma HTF Candles is a powerful, non-repainting overlay indicator that allows you to visualize up to 6 different Higher Timeframes (HTF) directly on your current chart.
Designed specifically for traders who need context without switching tabs, this tool draws accurate HTF candles using UTC time (standard for Crypto) while labeling them with New York Timezone data (standard for Stocks/Forex). It also detects Fair Value Gaps (FVG) and Volume Imbalances automatically.
🌟 Key Features
📊 6 Independent HTF Slots
Configure up to 6 different timeframes simultaneously (e.g., 15m, 1H, 4H, 1D, 1W). Each slot is customizable and can be toggled on/off independently.
🌍 UTC Drawing + NY Labels (The "Sigma" Edge)
Drawing: Candles are calculated strictly using UTC time to ensure wicks and bodies match exchange data (perfect for BTC/ETH).
Labels: Day of the Week (Mon/Tue/Wed) and Time labels are converted to America/New_York time. Never get confused by candle closes again.
#HTF Countdown Timer**
See exactly how much time is left until the Higher Timeframe candle closes. Essential for timing entries at the "Candle Close."
📈 Smart Imbalance Detection
FVG (Fair Value Gaps): Automatically highlights 3-candle reversal gaps.
VI (Volume Imbalance): Highlights wicks that pierce previous bodies.
🏗️ Custom Session Starts
Don't like the standard Daily candle? Force the Daily candle to open at 08:30 NY or 09:30 NY (Market Open) instead of Midnight UTC.
⚙️ Customization Options
Visuals: Full control over Bull/Bear colors, borders, wicks, and opacity.
Layout: Adjust padding, width, and spacing between timeframes to prevent overlap.
Trace Lines: Optional lines tracing the Open, High, Low, and Close of the forming HTF candle.
Labels: Toggle HTF names, Timers, and Day-of-Week labels on/off.
💡 How to Use
Add to Chart: The indicator draws candles to the right of the current price (offset) to keep your chart clean.
Check Alignment: Ensure the "Daily Name" matches your expected market session (NY Time).
Spot Entries: Look for price entering an FVG (Gray box) or hitting a HTF Support/Resistance level (Wick of the HTF candle).
Time Entries: Wait for the Timer to hit 00:00 for a confirmed candle close.
Perfect for: Smart Money Concepts (SMC), ICT, Wyckoff, and Multi-Timeframe Analysis.
SMT Divergence [Kodexius]SMT Divergence is a correlation-based divergence detector built around the Smart Money Technique concept: when two normally correlated instruments should be making similar swing progress, but one prints a new extreme while the other fails to confirm it. This “disagreement” can be a valuable contextual signal around liquidity runs, distribution phases, and potential reversal or continuation points.
The script compares the chart symbol (primary) with a user-selected comparison symbol (for example BTC vs ETH, ES vs NQ, EUR/USD vs GBP/USD) and automatically scans both instruments for confirmed swing highs and swing lows using pivot logic. Once swings are established, it checks for classic SMT conditions:
Primary makes a new swing extreme while the comparison symbol forms a non-confirming swing .
To support a wider range of markets, the indicator includes an Inverse Correlation option for pairs that typically move opposite to each other (for example DXY vs EUR/USD). With this enabled, the divergence rules are logically flipped so that the script still detects “non-confirmation” in a way that is consistent with the pair’s relationship.
The indicator is designed to be readable and actionable. It can draw divergence labels directly on the main chart, connect the relevant swing points with lines, show a compact information table with the last signal and settings, and optionally render the comparison symbol as a mini candle chart in the indicator pane for quick visual validation.
🔹 Features
🔸 Two-Symbol SMT Analysis (Primary vs Compare)
Select any comparison symbol to evaluate correlation structure and divergence. The script fetches the comparison OHLC data using the current chart timeframe to keep both series aligned for analysis.
🔸 Inverse Correlation Mode
For inversely correlated pairs, enable “Inverse Correlation” so the script interprets confirmation appropriately (for example, a higher low on the comparison instrument might be expected to correspond to a lower low on the primary, depending on the relationship). This helps avoid false conclusions when the pair naturally moves opposite.
🔸 Pivot-Based Swing with Adjustable Sensitivity
Swings are detected using confirmed pivots (left bars and right bars). This provides cleaner structural swing points compared with raw candle-to-candle comparisons, and it lets you control sensitivity for different market conditions and timeframes. The script also limits stored swing history to keep performance stable.
🔸 Flexible Detection Mode: Time Matched or Independent Swings
You can choose how swings are paired across instruments:
Time Matched searches for a comparison swing that occurred at the same pivot time as the primary swing.
Independent Swings compares each symbol’s own last two swings without requiring an exact time match.
🔸 Range Control and Noise Filtering
To reduce weak or irrelevant signals:
“Max Bars Between Swings” ensures the two swings being compared are close enough in structure to be meaningful.
“Min Price Diff (%)” can require a minimum percentage change between the primary’s last two swing prices to confirm the move is significant.
🔸 Clear Visual Output with Tooltips
When a divergence is detected, the script can print a label (“SMT”) with bullish or bearish styling and a tooltip that includes the symbol pair and the primary swing price for quick context.
🔸 Divergence Lines for Context
Optional lines connect the relevant swing points, making it easier to see the exact structure that triggered the signal. One line can be drawn on the main chart and another in the indicator pane for the comparison series.
🔸 Info Table (At a Glance)
A compact table can display the active symbols, correlation mode, total divergences stored, and the most recent signal type.
🔸 Alerts Included
Built-in alert conditions are provided for bullish SMT, bearish SMT, and any SMT event so you can automate notifications without editing the code.
🔸 Optional Comparison Candle Panel
If enabled, the indicator can plot the comparison symbol as candles in the indicator pane. This is useful for confirming whether the divergence is happening around major levels, consolidations, or impulsive legs on the secondary instrument.
🔹 Calculations
This section summarizes the core logic used by the script.
1. Data Synchronization (Comparison Symbol)
The comparison instrument is requested on the chart’s current timeframe so swing calculations are performed consistently:
=
request.security(compareSymbolInput, timeframe.period, )
This ensures pivots and swing times are derived from the same bar cadence as the primary chart.
2. Swing Detection via Confirmed Pivots
Swings are detected using pivot logic with user-defined left and right bars:
primaryPivotHigh = ta.pivothigh(high, pivotLeftBars, pivotRightBars)
primaryPivotLow = ta.pivotlow(low, pivotLeftBars, pivotRightBars)
Because pivots are confirmed only after the “right bars” have closed, the script stores each swing using an offset so the swing’s bar index and time reflect where the pivot actually occurred, not where it was confirmed.
3. Swing Storage and Retrieval
Both symbols maintain arrays of SwingPoint objects. Each new swing is pushed into the array, and older swings are dropped once the array exceeds the configured maximum. This makes the divergence engine predictable and prevents uncontrolled memory growth.
The script then retrieves the last and previous swing highs and lows (per symbol) to evaluate structure.
4. Matching Logic (Time Matched vs Independent)
When “Time Matched” is selected, the script searches the comparison swing array for a pivot that occurred at the exact same timestamp as the primary swing. When “Independent Swings” is selected, it simply uses the comparison symbol’s last two swings of the same type.
5. Bullish SMT Condition (LL vs HL)
A bullish SMT event is defined as:
Primary forms a lower low (last low < previous low)
Comparison forms a higher low (last low > previous low)
If inverse correlation is enabled, the comparison condition flips to maintain logical confirmation rules
The two primary swings must be within the configured bar distance window
Optional minimum percentage difference must be satisfied
A simple anti duplication rule prevents repeated triggers on the same structure
These checks are implemented directly in the bullish detection block.
6. Bearish SMT Condition (HH vs LH)
A bearish SMT event is defined as:
Primary forms a higher high (last high > previous high)
Comparison forms a lower high (last high < previous high)
Inverse correlation flips the comparison rule
Range checks, minimum difference filtering, and duplicate protection apply similarly
These checks are implemented in the bearish detection block.
7. Percentage Difference Filter
The optional “Min Price Diff (%)” filter measures the relative distance between the last two primary swing prices. This prevents very small structural changes from being treated as valid SMT signals.
priceDiffPerc = math.abs(lastSwing.price - prevSwing.price) / prevSwing.price * 100.0
The divergence condition is only allowed to trigger if this value exceeds the user defined threshold.
priceOk = priceDiffPerc >= minPriceDiff
This filter is especially useful on higher timeframes or during low volatility conditions, where micro structure noise can otherwise produce misleading signals.
8. Visualization and Output
When a divergence is confirmed, the script:
Stores the event in a divergence array (limited by “Max Divergences to Display”)
Draws a directional SMT label with a tooltip (optional)
Draws connecting lines using time based coordinates for clean alignment (optional)
It also updates an information table on the last bar only, and exposes alertconditions for automation workflows.
Midnight Opening RangeThis script uses the SMC/ICT midnight opening range to gain insight into the daily highs and lows.
It plots the opening range quadrants and the 0.5 and 1 standard deviations higher and lower.
These levels are often used as support/resistance at certain times of the day.
To be used in concert with other PD arrays.
Structure Lite - Automatic Major Trend LinesStructure Lite – Pivot-Based Market Structure Visualization
OVERVIEW
Structure Lite is an open-source charting tool designed to assist traders in visualizing higher-timeframe market structure. The script identifies major swing points using high-period pivot analysis and projects structural support and resistance lines directly on the chart. Its purpose is to highlight persistent market structure while minimizing visual noise.
CORE CONCEPTS & CALCULATIONS
Pivot Identification
The script uses Pine Script’s built-in ta.pivothigh() and ta.pivotlow() functions to identify confirmed swing highs and lows. A pivot is only validated after a user-defined number of bars (Major Pivot Lookback) have formed on both sides of the price extreme, ensuring that only structurally significant pivots are selected.
Structural Pairing
Each structural line is created only after two consecutive pivots of the same type are confirmed (high-to-high or low-to-low). The script stores the price and bar index of these pivots and uses them as fixed anchor points.
Line Projection
Once a valid pivot pair is formed, the script draws a line between the two points using line.new() and extends it forward using extend.right. These lines represent projected structural boundaries rather than trade signals.
Object Management
To maintain chart clarity and performance, the script manages all drawn objects through a line array. A FIFO (First-In, First-Out) method is applied so that only the three most recent structural lines remain visible. Older lines are automatically deleted as new ones are created.
DESIGN PHILOSOPHY & ORIGINALITY
While many indicators plot frequent swing points or short-term pivots, Structure Lite focuses on structural persistence. By filtering for higher-period pivots and limiting the number of displayed projections, the script emphasizes dominant market structure rather than short-term fluctuations. This approach is intended to support discretionary analysis, not replace it.
HOW TO USE
Major Pivot Lookback
Increase the value to focus on higher-timeframe structure (e.g., swing or position trading).
Decrease the value to visualize intraday structural levels.
Visual Encoding
Green lines represent projected structural support
Red lines represent projected structural resistance
Visibility Control
A boolean input allows all structure lines to be hidden instantly to restore a clean price chart.
LIMITATIONS & DISCLAIMER
This script is a visualization tool only. It does not generate trade signals, entry or exit points, alerts, or directional forecasts. All plotted levels are derived from historical price action and may change as new pivots form. The script is provided for educational and analytical purposes and should be used in conjunction with other forms of market analysis
NQ Lunch High Low First Sweep StrategyThis script identifies the FIRST liquidity sweep of the Lunch session high or low
after the Lunch session has ended, based on ICT / Killzone concepts.
Logic summary:
• Tracks Lunch session High and Low (New York time)
• After Lunch session closes, monitors the market on 5-minute timeframe
• Triggers ONLY on the first sweep:
– Price wicks beyond Lunch High and closes back below → SHORT signal
– Price wicks beyond Lunch Low and closes back above → LONG signal
• Generates an alert at the exact bar where entry is expected
• Designed specifically for Nasdaq (NQ) futures
• One trade per day – no overtrading
Notes:
• Intended for 5-minute charts only
• Uses New York session timing
• This script does NOT manage exits (TP/SL) – entry logic only
• Best used as a confluence tool, not a standalone system
Educational & discretionary use only.
Multi-Timeframe High Low Marking LinesThis indicator automatically draws clean horizontal lines at the high and low of the previous 10 periods (adjustable) for four different timeframes simultaneously: Daily, Weekly, Monthly, and Quarterly.
Perfect for marking key support/resistance levels across multiple timeframes on any chart.
Key features:
• Shows previous 10 highs and lows per timeframe (change to 5, 15, 20 etc. in settings)
• Lines extend 20 bars to the right so they remain visible (adjustable)
• Individual on/off switch for each timeframe
• Clean blue lines, max 500 lines limit respected
• Works perfectly on any chart timeframe (1-minute to monthly)
• No repainting – lines only appear after the period has closed
Use cases:
Spot major daily/weekly/monthly support & resistance at a glance
Trade breakouts and reversals with higher-timeframe confirmation
Combine with your existing strategy (ICT, SMC, price action)
Ideal for stocks, forex, crypto and futures
Settings explained:
Timeframe 1–4 → Choose any timeframe (D, W, M, 3M already preset)
Show/Hide → Turn any timeframe on or off instantly
Periods to show → How many previous highs/lows you want visible
Extend lines → How far right each line continues (default 20 bars)
Completely free to use.
If you like it, please add to favorites and leave a comment – it helps other traders find it!
Enjoy cleaner charts and stronger confluence.
Happy trading!
First presented FVG (w/stats) w/statistical hourly ranges & biasOverview
This indicator identifies the first Fair Value Gap (FVG) that forms during each hourly session and provides comprehensive statistical analysis based on 12 years of historical NASDAQ (NQ) data. It combines price action analysis with probability-based statistics to help traders make informed decisions.
⚠️ IMPORTANT - Compatibility
Market: This indicator is designed exclusively for NASDAQ futures (NQ/MNQ)
Timeframe: Statistical data is based on FVGs formed on the 5-minute timeframe
FVG Detection: Works on any timeframe, but use 5-minute for accuracy matching the statistical analysis
All hardcoded statistics are derived from 12 years of NQ historical data
What It Does
1. FVG Detection & Visualization
Automatically detects the first FVG (bullish or bearish) that forms each hour
Draws colored boxes around FVGs:
Blue boxes = Bullish FVG (gap up)
Red boxes = Bearish FVG (gap down)
FVG boxes extend to the end of the hour
Optional midpoint lines show the center of each FVG
Uses volume imbalance logic (outside prints) to refine FVG boundaries
2. Hourly Reference Lines
Vertical Delimiter: Marks the start of each hour
Hourly Open Line: Shows where the current hour opened
Expected Range Lines: Projects the anticipated high/low based on historical data
Choose between Mean (average) or Median (middle value) statistics
Upper range line (teal/green)
Lower range line (red)
All lines span exactly one hour from the moment it opens
Optional labels show price values at line ends
3. Real-Time Statistics Table
The table displays live data for the current hour only:
Hour: Current hour in 12-hour format (AM/PM)
FVG Status: Shows if a Bull FVG, Bear FVG, or no FVG has formed yet
Green background = Bullish FVG detected
Red background = Bearish FVG detected
1st 15min: Direction of the first 15 minutes (Bullish/Bearish/Neutral/Pending)
Continuation %: Historical probability that the hour continues in the first 15-minute direction
Color-coded: Green for bullish, red for bearish
Avg Range %: Expected percentage range for the current hour (based on 12-year mean)
FVG Effect %: Historical probability that FVG direction predicts hourly close direction
Shows BISI→Bull % for bullish FVGs
Shows SIBI→Bear % for bearish FVGs
Blank if no FVG has formed yet
Time Left: Countdown timer showing MM:SS remaining in the hour (updates in real-time)
Hourly Bias: Historical directional tendency (bullish % or bearish %)
H Open: Current hour's opening price
Exp Range: Projected price range (Low - High) based on historical average
Customization Options
Detection Settings:
Lower Timeframe Selection (15S, 1min, 5min) - controls FVG detection granularity
Display Settings:
FVG box colors (bullish/bearish)
Midpoint lines (show/hide, color, style)
Table Settings:
Position (9 locations: corners, edges, center)
Text size (Tiny, Small, Normal, Large)
Hourly Lines:
Toggle each line type on/off
Hour delimiter (color, width)
Open line (color, width, style)
Range lines (color, width, style)
Choose Mean or Median statistics for range calculation
Show/hide labels with customizable text size
How to Use
Apply to NQ futures chart (NQ1! or MNQ1!)
Set chart to 5-minute timeframe for optimal FVG detection matching the statistical data
Watch for the first FVG to form each hour
Reference the table for probability-based decision support:
High continuation % = strong directional bias
FVG Effect % shows reliability of the FVG signal
Time Left helps manage entries/exits within the hour
Use range lines as potential targets or reversal zones
Statistical Foundation
All statistics are derived from:
12 years of NASDAQ (NQ) historical data
Hourly analysis of FVG formation patterns
First 15-minute directional analysis
Mean and Median calculations for range expectations
Data encompasses 2,400+ samples per hour
Best Practices
✅ Use on NQ/MNQ futures only
✅ Best on 5-minute charts (matches statistical data)
✅ Combine FVG signals with continuation probabilities
✅ Use range lines as potential profit targets
✅ Watch the countdown timer for hour-end setups
❌ Do not use on other markets (statistics won't apply)
❌ Avoid using during low-liquidity hours (5PM ET has minimal data)
Technical Notes
Timezone: America/New_York (EST/EDT)
Weekend filtering: Automatically hides data during market closure
Updates in real-time on live bars
Maximum 500 boxes/lines for performance
FVG detection includes volume imbalance (body gap) refinement
Credits
Statistical analysis based on 12 years of NASDAQ historical data. FVG detection methodology follows ICT concepts with volume imbalance refinement.
Disclaimer: This indicator provides statistical analysis based on historical data. Past performance does not guarantee future results. Always use proper risk management.
Would you like me to adjust any section or add/remove anything?6-9 Session & Levels - Customizable Range Analysis Indicator
Description:
This indicator provides comprehensive session-based range analysis designed for intraday traders. It calculates and displays key levels based on a customizable session period (default 6:00-9:00 AM ET).
Core Features:
Sespastedthis is a summary for another indicator- i was hoping for something more like this in terms of content etc22:23Architected comprehensive indicator summary matching professional documentation style.The user wants me to rewrite the summary for their FVG indicator in a similar style to the example provided. The example is more structured, detailed, and professional. Let me create a comprehensive summary that follows that format:
Clear title
Description/Overview
Core Features (broken down into sections)
Input Settings Explained (detailed breakdown of all customization options)
How It Works section
Use Case
Note/Disclaimer
Let me make it thorough and match the style while being accurate to their indicator's functionality.Here's a detailed summary in that format:
Every Hour 1st FVG with Statistical Analysis - NASDAQ Hourly Trading Intelligence
Description:
This indicator identifies the first Fair Value Gap (FVG) that forms during each hourly session and provides comprehensive probability-based statistical analysis derived from 12 years of NASDAQ (NQ) historical data. It combines real-time FVG detection with hardcoded statistical probabilities to help intraday traders make informed decisions based on historical patterns and hourly price action dynamics.
IMPORTANT: This indicator is specifically calibrated for NASDAQ futures (NQ/MNQ) only. All statistical data is derived from 12 years of NQ historical analysis with FVGs detected on the 5-minute timeframe. Using this indicator on other markets will produce invalid statistical results.
Core Features:
FVG Detection & Visualization
Automatically detects and displays the first Fair Value Gap (bullish or bearish) that forms within each hourly session
Color-coded boxes mark FVG zones: Blue for bullish FVGs (gap up), Red for bearish FVGs (gap down)
FVG boxes extend precisely to the end of the hour boundary
Optional midpoint lines show the center point of each FVG
Uses volume imbalance logic (outside prints) to refine FVG boundaries beyond simple wick-to-wick gaps
Supports both chart timeframe detection and lower timeframe detection via request.security_lower_tf
Hourly Reference Lines
Vertical Hour Delimiter: Marks the exact start of each new hour with an extendable vertical line
Hourly Open Line: Displays the opening price of the current hour
Expected Range Lines: Projects anticipated high and low levels based on 12 years of statistical data
Choose between Mean (average) or Median (middle value) calculations
Upper range line shows expected high
Lower range line shows expected low
All lines span exactly one hour from open to close
Optional labels display exact price values at the end of each line
Real-Time Statistics Table
Displays comprehensive live data for the current hour only:
Hour: Current hour in 12-hour format (e.g., "9AM", "2PM")
FVG Status: Shows detection state with color coding
"None Yet" (white background) - No FVG detected
"Bull FVG" (green background) - Bullish FVG identified
"Bear FVG" (red background) - Bearish FVG identified
1st 15min: Direction of first 15 minutes (Bullish/Bearish/Neutral/Pending)
Continuation %: Historical probability that the hour closes in the direction of the first 15 minutes
Green background with up arrow (↑) for bullish continuation probability
Red background with down arrow (↓) for bearish continuation probability
Avg Range %: Expected percentage range for the current hour based on 12-year mean
FVG Effect %: Historical effectiveness of FVG directional prediction
Shows "BISI→Bull %" for bullish FVGs (gap up predicting bullish hourly close)
Shows "SIBI→Bear %" for bearish FVGs (gap down predicting bearish hourly close)
Displays blank if no FVG has formed yet
Time Left: Real-time countdown timer showing minutes and seconds remaining in the hour (MM:SS format)
Hourly Bias: Historical directional tendency showing bullish or bearish percentage bias
H Open: Current hour's opening price
Exp Range: Projected price range showing "Low - High" based on selected statistic (mean or median)
Input Settings Explained:
Detection Settings
Lower Timeframe: Select the base timeframe for FVG detection
Options: 15S (15 seconds), 1 (1 minute), 5 (5 minutes)
Recommendation: Use 5-minute to match the statistical data sample
The indicator uses this timeframe to scan for FVG patterns even when viewing higher timeframes
Display Settings
Bullish FVG Color: Set the color and transparency for bullish (upward) FVG boxes
Bearish FVG Color: Set the color and transparency for bearish (downward) FVG boxes
Show Midpoint Lines: Toggle horizontal lines at the center of each FVG box
Midpoint Line Color: Customize the midpoint line color
Midpoint Line Style: Choose between Solid, Dotted, or Dashed line styles
Table Settings
Table Position: Choose from 9 locations:
Top: Left, Center, Right
Middle: Left, Center, Right
Bottom: Left, Center, Right
Table Text Size: Select from Tiny, Small, Normal, or Large for readability on different screen sizes
Hourly Lines Settings
Show Hourly Lines: Master toggle for all hourly reference lines
Show Hour Delimiter: Toggle the vertical line marking each hour's start
Delimiter Color: Customize color and transparency
Delimiter Width: Set line thickness (1-5)
Show Hourly Open: Toggle the horizontal line at the hour's opening price
Open Line Color: Customize color
Open Line Width: Set thickness (1-5)
Open Line Style: Choose Solid, Dashed, or Dotted
Show Range Lines: Toggle the expected high/low projection lines
Range Statistic: Choose "Mean" (12-year average) or "Median" (12-year middle value)
Range High Color: Customize upper range line color and transparency
Range Low Color: Customize lower range line color and transparency
Range Line Width: Set thickness (1-5)
Range Line Style: Choose Solid, Dashed, or Dotted
Show Line Labels: Toggle price labels at the end of all horizontal lines
Label Text Size: Choose Tiny, Small, or Normal
How It Works:
FVG Detection Logic:
The indicator scans price action on the selected lower timeframe (default: 1-minute) looking for Fair Value Gaps using a 3-candle pattern:
Bullish FVG: Formed when candle 's high is below candle 's low, creating an upward gap
Bearish FVG: Formed when candle 's low is above candle 's high, creating a downward gap
The detection is refined using volume imbalance logic by checking for body gaps (outside prints) on both sides of the middle candle. This narrows the FVG zone to areas where bodies don't touch, indicating stronger imbalances.
Only the first FVG that forms during each hour is displayed. If a bullish FVG forms first, it takes priority. The FVG box is drawn from the formation time through to the end of the hour.
Statistical Analysis:
All probability statistics are hardcoded from 12 years (2,400+ samples per hour) of NASDAQ futures analysis:
First 15-Minute Direction: At 15 minutes into each hour, the indicator determines if price closed above, below, or equal to the hour's opening price
Continuation Probability: Historical analysis shows the likelihood that the hour closes in the same direction as the first 15 minutes
Example: If 9AM's first 15 minutes are bullish, there's a 60.1% chance the entire 9AM hour closes bullish (lowest continuation hour)
4PM shows the highest continuation at 86.1% for bullish first 15 minutes
FVG Effectiveness: Tracks how often the first FVG's direction correctly predicts the hourly close direction
BISI (Bullish Imbalance/Sell-side Inefficiency) → Bullish close probability
SIBI (Bearish Imbalance/Buy-side Inefficiency) → Bearish close probability
Range Expectations: Mean and median values represent typical price movement percentage for each hour
9AM and 10AM show the largest ranges (~0.6%)
5PM shows minimal range (~0.06%) due to low liquidity
Hourly Reference Lines:
When each new hour begins:
Vertical delimiter marks the hour's start
Hourly open line plots at the first bar's opening price
Range projection lines calculate expected high/low:
Upper Range = Hourly Open + (Range% / 100 × Hourly Open)
Lower Range = Hourly Open - (Range% / 100 × Hourly Open)
Lines extend exactly to the hour's end time
Labels appear at line endpoints showing exact prices
Real-Time Updates:
FVG Status: Updates immediately when the first FVG forms
First 15min Direction: Locked in at the 15-minute mark
Countdown Timer: Uses timenow to update every second
Table Statistics: Refresh on every bar close
Timezone Handling:
All times are in America/New_York (Eastern Time)
Automatically filters weekend periods (Saturday and Sunday before 6PM)
Hour detection accounts for daylight saving time changes
Use Cases:
Intraday Trading Strategy Development:
FVG Entry Signals: Use the first hourly FVG as a directional bias
Bullish FVG + High continuation % = Strong long setup
Bearish FVG + High continuation % = Strong short setup
First 15-Minute Breakout: Combine first 15-min direction with continuation probabilities
Wait for first 15 minutes to complete
If continuation % is above 70%, trade in that direction
Example: 4PM bullish first 15 min = 86.1% chance hour closes bullish
Range Targeting: Use expected high/low lines as profit targets or reversal zones
Price approaching mean high = potential resistance
Price approaching mean low = potential support
Compare mean vs median for different risk tolerance (median is more conservative)
Hour Selection: Focus trading on hours with:
High FVG effectiveness (11AM: 81.5% BISI→Bull)
High continuation rates (4PM: 86.1% bull continuation)
Avoid low-continuation hours like 9AM (60.1%)
Time Management: Use the countdown timer to:
Enter early in the hour when FVG forms
Exit before hour-end if no follow-through
Avoid late-hour entries with <15 minutes remaining
Statistical Edge Identification:
Compare current hour's FVG against historical effectiveness
Identify when first 15-min direction contradicts FVG direction (conflict = caution)
Use hourly bias to confirm or contradict FVG signals
Monitor if price stays within expected range or breaks out (outlier moves)
Risk Management:
Expected range lines provide logical stop-loss placement
FVG Effect % helps size positions (higher % = larger position)
Time Left countdown aids in time-based stop management
Avoid trading hours with neutral bias or low continuation rates
Statistical Foundation:
All embedded statistics are derived from:
12 years of NASDAQ futures (NQ) continuous contract data
5-minute timeframe FVG detection methodology
24 hours per day analysis (excluding weekends)
2,400+ samples per hour for robust statistical validity
America/New_York timezone for session alignment
Data includes:
Hourly range analysis (mean, median, standard deviation)
First 15-minute directional analysis
FVG formation frequency and effectiveness
Continuation probability matrices
Bullish/bearish bias percentages
Best Practices:
✅ Do:
Use exclusively on NASDAQ futures (NQ1! or MNQ1!)
Apply on 5-minute charts for optimal FVG detection matching statistical samples
Wait for first 15 minutes to complete before acting on continuation probabilities
Combine FVG signals with continuation % and FVG Effect % for confluence
Use expected range lines as initial profit targets
Monitor the countdown timer for time-based trade management
Focus on hours with high statistical edges (4PM, 11AM, 10AM)
❌ Don't:
Use on other markets (ES, RTY, YM, stocks, forex, crypto) - statistics will be invalid
Rely solely on FVG without confirming with continuation probabilities
Trade during low-liquidity hours (5PM shows only 0.06% average range)
Ignore the first 15-minute direction when it conflicts with FVG direction
Apply to timeframes significantly different from 5-minute for FVG detection
Use median range expectations aggressively (they're conservative)
Technical Implementation Notes:
Timezone: Fixed to America/New_York with automatic DST adjustment
Weekend Filtering: Automatically hides data Saturday and Sunday before 6PM ET
Performance: Maximum 500 boxes and 500 lines for optimal chart rendering
Update Frequency: Table updates on every bar close; timer updates every second using timenow
FVG Priority: Bullish FVGs take precedence when both form simultaneously
Lower Timeframe Detection: Uses request.security_lower_tf for accurate sub-chart-timeframe FVG detection
Precision: All price labels use format.mintick for appropriate decimal precision
Big thanks to @Trades-Dont-Lie for the FPFVG code in his excellent indicator that I've used here
CRT+ Advance Engulfing | @stefandimovCRT+ Lite implements institutional-style Candle Range Theory logic to identify displacement-driven engulfing structures with precision.
The script focuses on wick-based liquidity grabs, strict body closes, and optional higher-timeframe confirmation to highlight structurally valid bullish and bearish reversals.
Includes a Daily-only multi-market scanner and a compact dashboard for fast top-down analysis.
Designed for traders who prioritize structure, execution precision, and HTF alignment.
NY LONDON LUNCH AUTO**NY London Lunch Auto** is a precision session-anchor indicator designed for traders who focus on institutional timing and liquidity behavior.
This script automatically marks the **high and low of three key 15-minute New York session candles**:
• **3:00 AM NY** — London session expansion
• **8:00 AM NY** — New York open / kill zone
• **2:00 PM NY** — NY lunch / power hour transition
Each time one of these candles prints on the **15-minute chart**, the script captures its exact high and low and extends them forward as horizontal levels.
The levels remain **locked and unchanged** until the next key session candle appears, ensuring clean, non-repainting reference zones.
### Key Features
• Works **exclusively on the 15-minute timeframe**
• Automatically updates at **3AM, 8AM, and 2PM NY time**
• Levels stay fixed — no drifting or recalculation
• Clean, minimal design with customizable colors
• Ideal for liquidity sweeps, displacement, and ICT-style execution models
This indicator is built for traders who want **clarity, patience, and structure**, not clutter. It pairs seamlessly with liquidity sweep, displacement, and fair value gap strategies.
Displacement## Displacement Indicator (Institutional Momentum Filter)
This indicator highlights **true price displacement** — candles where price moves with **abnormal force relative to recent volatility**.
It is designed to help traders distinguish **real momentum** from normal market noise.
Displacement often precedes:
- Breaks of structure
- Fair Value Gaps (FVGs)
- Strong continuation or meaningful pullbacks
This tool focuses on **confirmation**, not prediction.
---
### 🔍 How Displacement Is Defined
A candle is marked as *displacement* only when **all conditions are met**:
• Candle body is larger than a multiple of ATR (volatility-adjusted)
• Candle body makes up a high percentage of the full candle (strong close)
• Directional conviction (bullish or bearish close)
This filters out:
- Small or average candles
- Wick-heavy indecision
- Low-quality breakouts
---
### 🎯 What This Indicator Is Best Used For
✔ Confirming impulsive moves
✔ Validating structure breaks
✔ Anchoring Fair Value Gaps
✔ Filtering low-probability setups
✔ Identifying institutional participation
Works best on **M5, M15, and H1**, especially during **London and NY sessions**.
---
### ⚠️ Important Notes
• This is **not** a buy/sell signal by itself
• Best used with trend, structure, or liquidity context
• Not designed for ranging or low-volatility markets
Think of this indicator as a **momentum truth filter** —
if displacement is missing, conviction is likely missing too.
---
### ⚙️ Inputs Explained
• ATR Length – defines normal volatility
• ATR Multiplier – how aggressive displacement must be
• Minimum Body % – ensures strong candle closes
All inputs are adjustable to fit different markets and styles.
---
### 🧠 Philosophy
Displacement reflects **commitment**, not anticipation.
This tool helps you wait for **proof**, not hope.
---
If you want, I can:
- Tighten this for **ICT-style language**
- Rewrite for **beginner clarity**
- Add a **“How I personally use it”** section
- Optimize it for **TradingView algorithm visibility**
**Tell me which you want changed.**
NY 8:00 8:15 Candle High & LowThis indicator plots the high and low of the New York 8:00–8:15 AM (EST) 15-minute candle and extends those levels horizontally for the rest of the trading day
The levels are **anchored to the 15-minute timeframe
Designed for **session-based trading, liquidity sweeps, ICT-style models, and NY Open strategies.
Lines automatically reset each trading day at the NY open window.
Clean, lightweight, and non-repainting.
This script is ideal for traders who want consistent, reliable session levels without recalculation or timeframe distortion.
Custom versions available
If you’d like:
- Different sessions (London, Asia, custom hours)
- Multiple session ranges
- Labels, alerts, or strategy logic
- A full strategy version with entries, SL/TP, and risk rules
Feel free to reach out — happy to build custom tools to fit your trading model.
Index Construction Tool🙏🏻 The most natural mathematical way to construct an index || portfolio, based on contraharmonic mean || contraharmonic weighting. If you currently traded assets do not satisfy you, why not make your own ones?
Contraharmonic mean is literally a weighted mean where each value is weighted by itself.
...
Now let me explain to you why contraharmonic weighting is really so fundamental in two ways: observation how the industry (prolly unknowably) converged to this method, and the real mathematical explanation why things are this way.
How it works in the industry.
In indexes like TVC:SPX or TVC:DJI the individual components (stocks) are weighted by market capitalization. This market cap is made of two components: number of shares outstanding and the actual price of the stock. While the number of shares holds the same over really long periods of time and changes rarely by corporate actions , the prices change all the time, so market cap is in fact almost purely based on prices itself. So when they weight index legs by market cap, it really means they weight it by stock prices. That’s the observation: even tho I never dem saying they do contraharmonic weighting, that’s what happens in reality.
Natural explanation
Now the main part: how the universe works. If you build a logical sequence of how information ‘gradually’ combines, you have this:
Suppose you have the one last datapoint of each of 4 different assets;
The next logical step is to combine these datapoints somehow in pairs. Pairs are created only as ratios , this reveals relationships between components, this is the only step where these fundamental operations are meaningful, they lose meaning with 3+ components. This way we will have 16 pairs: 4 of them would be 1s, 6 real ratios, and 6 more inverted ratios of these;
Then the next logical step is to combine all the pairs (not the initial single assets) all together. Naturally this is done via matrices, by constructing a 4x4 design matrix where each cell will be one of these 16 pairs. That matrix will have ones in the main diagonal (because these would be smth like ES/ES, NQ/NQ etc). Other cells will be actual ratios, like ES/NQ, RTY/YM etc;
Then the native way to compress and summarize all this structure is to do eigendecomposition . The only eigenvector that would be meaningful in this case is the principal eigenvector, and its loadings would be what we were hunting for. We can multiply each asset datapoint by corresponding loading, sum them up and have one single index value, what we were aiming for;
Now the main catch: turns out using these principal eigenvector loadings mathematically is Exactly the same as simply calculating contraharmonic weights of those 4 initial assets. We’re done here.
For the sceptics, no other way of constructing the design matrix other than with ratios would result in another type of a defined mean. Filling that design matrix with ratios Is the only way to obtain a meaningful defined mean, that would also work with negative numbers. I’m skipping a couple of details there tbh, but they don’t really matter (we don’t need log-space, and anyways the idea holds even then). But the core idea is this: only contraharmonic mean emerges there, no other mean ever does.
Finally, how to use the thing:
Good news we don't use contraharmonic mean itself because we need an internals of it: actual weights of components that make this contraharmonic mean, (so we can follow it with our position sizes). This actually allows us to also use these weights but not for addition, but for subtraction. So, the script has 2 modes (examples would follow):
Addition: the main one, allows you to make indexes, portfolios, baskets, groups, whatever you call it. The script will simply sum the weighted legs;
Subtraction: allows you to make spreads, residual spreads etc. Important: the script will subtract all the symbols From the first one. So if the first we have 3 symbols: YM, ES, RTY, the script will do YM - ES - RTY, weights would be applied to each.
At the top tight corner of the script you will see a lil table with symbols and corresponding weights you wanna trade: these are ‘already’ adjusted for point value of each leg, you don’t need to do anything, only scale them all together to meet your risk profile.
Symbols have to be added the way the default ones are added, one line : one symbol.
Pls explore the script’s Style setting:
You can pick a visualization method you like ! including overlays on the main chart pane !
Script also outputs inferred volume delta, inferred volume and inferred tick count calculated with the same method. You can use them in further calculations.
...
Examples of how you can use it
^^ Purple dotted line: overlay from ICT script, turned on in Style settings, the contraharmonic mean itself calculated from the same assets that are on the chart: CME_MINI:RTY1! , CME_MINI:ES1! , CME_MINI:NQ1! , CBOT_MINI:YM1!
^^ precious metals residual spread ( COMEX:GC1! COMEX:SI1! NYMEX:PL1! )
^^ CBOT:ZC1! vs CBOT:ZW1! grain spread
^^ BDI (Bid Dope Index), constructed from: NYSE:MO , NYSE:TPB , NYSE:DGX , NASDAQ:JAZZ , NYSE:IIPR , NASDAQ:CRON , OTC:CURLF , OTC:TCNNF
^^ NYMEX:CL1! & ICEEUR:BRN1! basket
^^ resulting index price, inferred volume delta, inferred volume and inferred tick count of CME_MINI:NQ1! vs CME_MINI:ES1! spread
...
Synthetic assets is the whole new Universe you can jump into and never look back, if this is your way
...
∞
FxNeel SessionAll types of ICT session you can draw here. Like Asia, London, NY, New Close, CBDR, Asia Kill zone and also Silverbullet Time zone.






















