Поиск скриптов по запросу "ict"
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.
UK100 London Judas & IFVG SetupUK100 London Judas & IFVG Setup
Overview This indicator is a specialized trading tool designed to automate the ICT Judas Swing strategy specifically for the UK100 (FTSE 100) index during the London Market Open. It combines institutional time-based logic with price action confirmation using Inversion Fair Value Gaps (IFVG) to identify high-probability reversal setups.
How It Works The strategy is based on the concept that the initial move after the London Open is often a "fake-out" (manipulation) designed to trap retail traders and engineer liquidity before the true trend of the day begins.
Session & Opening Price:
The script marks the London Open price (default 09:00 Warsaw / 08:00 London time) with a dashed line.
This serves as the "line in the sand." Prices moving away from this line initially are monitored for manipulation.
Judas Swing (Liquidity Sweep):
If price moves BELOW the open, it is hunting Sell-Side Liquidity (trapping sellers).
If price moves ABOVE the open, it is hunting Buy-Side Liquidity (trapping buyers).
The Entry Trigger: Inversion FVG (IFVG):
The indicator scans for Fair Value Gaps (FVG) created during the manipulation phase.
BUY Signal: The price manipulates lower, creates a Bearish FVG (Red Box), but then aggressively reverses and closes ABOVE that gap. The gap is now "Inverted" (turns Green), acting as support.
SELL Signal: The price manipulates higher, creates a Bullish FVG (Green Box), but then aggressively reverses and closes BELOW that gap. The gap is now "Inverted" (turns Orange), acting as resistance.
Key Features
Automated Pattern Recognition: No need to manually draw gaps. The script detects valid FVG inversions that align with the Judas Swing logic.
Built-in Risk Calculator: The signal labels display the exact Lot Size you should use based on your account balance and risk percentage (default 0.5%). It calculates this dynamically based on the Stop Loss distance.
Institutional Targets: The indicator fetches H1 Fractals (Liquidity) from the 1-hour timeframe and plots them on your 1-minute chart as blue lines. These are your primary Take Profit (TP) levels.
Stop Loss Visualization: Automatically suggests a Stop Loss placement behind the swing high/low of the reversal structure.
How to Use
Timeframe: Set your chart to 1 Minute (1m).
Asset: UK100 (FTSE 100).
Wait: Allow the London session to open. Watch for price to move away from the opening line.
Execute: When a BUY or SELL label appears:
Enter the trade using the Lot Size shown on the label.
Set your Stop Loss at the price shown on the label.
Target the blue H1 Liquidity lines for profit taking.
Settings
Timezone: Set this to your chart/exchange timezone (Default: Europe/Warsaw).
Account Balance: Input your current trading capital (e.g., 100,000) for accurate risk calculations.
Risk Per Trade %: The percentage of your account you are willing to lose if the Stop Loss is hit (Standard: 0.5% - 1.0%).
Contract Size: The value of 1 point movement (Check your broker's specifications. Usually 1 for CFDs).
Alerts You can set a single alert in TradingView to capture all signals. Select the indicator and choose "Any alert() function call". You will receive a notification with the direction (Buy/Sell), Entry Price, and Lot Size.
Simple ICT Sweep + FVG (LuxAlgo Swings FIXED)something i created if anyone can improve it or change for better visual
ORB + Killzones - Universal AutoORB + Killzones • Universal Auto
A clean overlay indicator that automatically plots 15-minute Opening Range Breakout (ORB) levels for major global sessions with full DST handling and optional Killzone shading.
Key Features
Universal auto-detection: adapts session times and timezones perfectly for crypto (24/7) and traditional markets (cash hours only)
15-minute ORB high/low lines for Tokyo, Hong Kong, China, London, and New York sessions
Precise DST-aware London (Europe/London) and New York (America/New_York) sessions
Optional translucent Killzone background shading: London Open (0800–1100), NY Open (0930–1100), London Close (1530–1630) — with custom colors and transparency
Individual toggle switches for each session ORB and Killzone display
Clean neon color scheme matching popular retrowave setups (Tokyo teal, HK magenta, China red, London blue, NY gold)
Efficient drawing with persistent lines that extend until session end
No repainting, low resource usage (max 250 lines, 60 labels)
Ideal for ICT/SMC traders who want accurate multi-session ORBs and high-probability Killzone windows on any instrument or timeframe. Works on forex, indices, stocks, and crypto.
Recommend to uncheck timeframes over 1 hour in the Visibility tab of the Settings.
ForzAguanno - Premium / Discount (Range Glissant)Premium / Discount Zones – Dynamic Range (Fibo-based)
This indicator highlights Premium, Discount, and Equilibrium zones using a dynamic Fibonacci range calculated from recent price action.
It is designed to help traders contextualize price and avoid taking trades in unfavorable locations (e.g. buying too high or selling too low).
- How it works
The indicator automatically:
- Detects the highest high (HH) and lowest low (LL) over a rolling range
- Builds a Fibonacci-style structure between LL → HH
- Defines three key areas:
Discount Zone (lower part of the range)
Equilibrium Zone (around the 50% level)
Premium Zone (upper part of the range)
Two additional extreme levels are used:
0.075 → deep discount
0.925 → deep premium
These levels help isolate areas where price is statistically stretched.
- Visual elements
- Horizontal levels:
- Green → Discount
- Purple → Equilibrium
- Red → Premium
- Text labels are placed inside each zone for instant readability.
Zones are extended into the future for cleaner visualization.
- How to use it
This tool is best used as a context filter, not a standalone signal generator.
Typical use cases:
Look for longs in Discount
Look for shorts in Premium
Use Equilibrium as a neutral / decision zone
Combine with structure, momentum, or entry models
It works particularly well with:
Market structure concepts
Smart money / range-based trading
Session-based strategies
⚠️ Important notes
This indicator does not predict direction
It provides context, not signals
Always combine with proper risk management
Final thoughts
The goal of this indicator is simplicity and clarity:
Know where price is located inside its range before taking a trade.
If you find it useful, feel free to share feedback.
Orderblock Footprints [AlgoAlpha]🟠 OVERVIEW
This script highlights orderblocks and then drills into what actually trades inside them. Zones are created only after an abnormal directional impulse, measured with a z-score on consecutive candle bodies, so the orderblocks are tied to real expansion rather than simple pivots. Once a zone exists, the script overlays lower-timeframe volume footprints inside the candle when price trades back into that zone. The goal is to show not just where an orderblock sits, but whether price is being accepted or absorbed when it is revisited.
🟠 CONCEPTS
Orderblocks are detected after extreme bullish or bearish impulses. The script tracks consecutive body movement up or down, normalizes that distance with a rolling z-score, and only triggers when the move is statistically large. The last opposite candle before that impulse defines the orderblock range. These zones then extend forward until they are either mitigated by price closing through them or they expire by age.
Inside an active zone, the script switches to a lower timeframe and builds a footprint-style profile for each bar. Each candle is split into price rows, counting time-at-price and volume delta. Positive and negative delta are colored separately. Absorption is flagged when opposing delta prints appear in the wick that rejects the zone. In practice: the impulse defines context ; the footprint shows interaction .
🟠 FEATURES
Separate bullish and bearish zones with automatic extension
Volume split inside each zone candle (up vs down volume)
Lower-timeframe footprint with TPO-style rows and delta gradient
Absorption detection using opposing delta in rejection wicks
Alerts for zone creation and absorption events
🟠 USAGE
Setup : Add the script to your chart. It works on any market and timeframe. The lower timeframe for footprints is fixed at 5 minutes, so higher chart timeframes show clearer structure. Use the Z-Score Window to control how strict impulse detection is and Max Box Age to limit how long old zones stay on the chart.
Read the chart : Bullish orderblocks are created after strong upward impulses and are invalidated when price closes below them. Bearish orderblocks are created after strong downward impulses and are invalidated when price closes above them. When price trades inside a zone, footprint rows appear. Green-tinted rows show positive delta; red-tinted rows show negative delta. Absorption labels appear when opposing delta prints into a rejecting wick.
Settings that matter : Increasing the Z-Score Window makes orderblocks rarer but more significant. Disabling Prevent Overlap allows stacked zones if you want to study clustering. Adjusting Rows per bar changes footprint resolution—lower values are cleaner, higher values show more detail but use more objects.
Mirpapa_Lib_StructLibrary "Mirpapa_Lib_Struct"
ICT 구조 변화 감지 라이브러리 (BOS, CHoCH, MSS, Sweep)
initStructState()
StructState 초기화
checkBOS(_trend, _currentClose, _lastHHPrice, _lastLLPrice)
BOS 체크 (추세 지속) - 종가 기준
Parameters:
_trend (string) : 현재 추세
_currentClose (float) : 현재 종가
_lastHHPrice (float) : 마지막 HH 가격
_lastLLPrice (float) : 마지막 LL 가격
Returns:
checkCHoCH(_trend, _currentClose, _lastHHPrice, _lastLLPrice)
CHoCH 체크 (추세 전환) - 종가 기준
Parameters:
_trend (string) : 현재 추세
_currentClose (float) : 현재 종가
_lastHHPrice (float) : 마지막 HH 가격
_lastLLPrice (float) : 마지막 LL 가격
Returns:
checkSweep(_currentHigh, _currentLow, _currentClose, _lastHHPrice, _lastLLPrice)
Sweep 체크 (유동성 수집) 설명
Parameters:
_currentHigh (float) : 현재 고가
_currentLow (float) : 현재 저가
_currentClose (float) : 현재 종가
_lastHHPrice (float) : 마지막 HH 가격
_lastLLPrice (float) : 마지막 LL 가격
Returns:
checkMSS(_hadCHoCH, _chochDir, _currentHigh, _currentLow, _chochPrice)
MSS 체크 (CHoCH + 리테스트 확인)
Parameters:
_hadCHoCH (bool) : CHoCH 발생 여부
_chochDir (string) : CHoCH 방향
_currentHigh (float) : 현재 고가
_currentLow (float) : 현재 저가
_chochPrice (float) : CHoCH 발생 가격
Returns:
drawStructLabel(_price, _time, _type, _dir, _lblColor)
구조 변화 라벨 그리기
Parameters:
_price (float) : 가격
_time (int) : 시간
_type (string) : 구조 타입
_dir (string) : 방향
_lblColor (color) : 라벨 색상
drawStructLine(_price, _startTime, _endTime, _lineColor, _lineWidth)
구조 변화 라인 그리기
Parameters:
_price (float) : 가격
_startTime (int) : 시작 시간
_endTime (int) : 끝 시간
_lineColor (color) : 라인 색상
_lineWidth (int) : 라인 두께
StructType
구조 타입 상수
Fields:
BOS (series string)
CHOCH (series string)
MSS (series string)
SWEEP (series string)
TrendDir
추세 방향 상수
Fields:
UP (series string)
DOWN (series string)
NONE (series string)
StructState
구조 변화 상태
Fields:
_trend (series string) : 현재 추세 방향
_lastHHPrice (series float) : 마지막 HH 가격
_lastHHTime (series int) : 마지막 HH 시간
_lastLLPrice (series float) : 마지막 LL 가격
_lastLLTime (series int) : 마지막 LL 시간
_peakHHPrice (series float) : 최고 HH 가격 (BOS 레벨용)
_peakHHTime (series int) : 최고 HH 시간
_peakLLPrice (series float) : 최저 LL 가격 (BOS 레벨용)
_peakLLTime (series int) : 최저 LL 시간
_bosLevelHH (series float) : BOS 체크용 HH 레벨 (확정된 최고 HH)
_bosLevelHHTime (series int) : BOS 체크용 HH 시간
_bosLevelLL (series float) : BOS 체크용 LL 레벨 (확정된 최저 LL)
_bosLevelLLTime (series int) : BOS 체크용 LL 시간
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.
15 min Trailstop15m High/Low Liquidity Lines (1m) — Indicator Description
15m High/Low Liquidity Lines (1m) is a precision liquidity-mapping tool designed for intraday traders who understand the importance of higher-timeframe liquidity levels while executing on the 1-minute chart.
This indicator automatically detects confirmed 15-minute swing highs and swing lows using pivot logic. When a new 15m high or low forms:
✔ Liquidity Line Generation
A horizontal line is drawn exactly at the price level of the pivot.
The line is anchored to the exact 1-minute candle that produced the 15m high/low, ensuring perfect visual alignment.
The line extends only up to the current bar — not across the whole chart.
Optional text labels (“15m High”, “15m Low”) can be shown at the start of each line.
✔ Auto-Cleanup (Smart Liquidity Sweep Detection)
If price trades through the level, the corresponding line and label are:
Instantly deleted
Marking the level as taken/swept
Allowing the chart to stay clean and focused on active liquidity only
This mimics institutional liquidity logic: once the high or low is violated, the target is considered filled and removed.
✔ Alerts
The indicator includes built-in alerts that fire when:
A new 15m high is confirmed
A new 15m low is confirmed
This allows the trader to react immediately when fresh liquidity levels appear.
✔ Customization Options
You can fully tailor the visual representation:
Turn highs and/or lows on or off
Choose line style (solid, dashed, dotted)
Customize line color and thickness
Customize the label style, size, and transparency
Who Is This For?
This indicator is ideal for:
ICT-style traders
Liquidity-based scalpers
1-minute ES/NQ traders
Anyone who uses HTF liquidity levels to frame trades on the LTF
It provides a clean, automated method to track active 15-minute liquidity levels directly on the 1-minute chart with zero clutter and perfect alignment.






















