FVG, Swing, Target, D/W/M High Low Detector Basic by Trader Riaz"FVG, Swing, Target, D/W/M High Low Detector Basic by Trader Riaz " is a powerful TradingView indicator designed to enhance your trading strategy by identifying key market structures and levels. This all-in-one tool detects Fair Value Gaps (FVGs), Swing Highs/Lows, and previous Day, Previous Week, and Previous Month Highs/Lows, helping traders make informed decisions with ease.
Key Features:
Bullish & Bearish FVG Detection: Highlights Fair Value Gaps with customizable colors, labels, and extension options.
Swing Highs & Lows: Automatically detects and marks Swing Highs and Lows with adjustable display settings and extensions.
Next Target Levels: Identifies potential price targets based on market direction (rising or falling).
Daily, Weekly, and Monthly High/Low Levels: Displays previous day, week, and month highs/lows with customizable colors.
Customizable Settings: Fully adjustable inputs for colors, number of levels to display, and extension periods.
Clean Visuals: Intuitive and non-intrusive design with dashed lines, labels, and tooltips for better chart readability.
This indicator is ideal for traders looking to identify key price levels, improve market structure analysis, and enhance their trading strategies.
Happy Trading,
Trader Riaz
Cerca negli script per "fvg"
FVG# Fair Value Gap (FVG) Indicator
## Overview
The Fair Value Gap (FVG) indicator is a technical analysis tool designed to identify potential areas of price imbalance in the market. These imbalances, known as "fair value gaps," represent discontinuities in price movement where supply and demand were significantly imbalanced, potentially creating zones that price may return to in the future. This indicator was developed by Michele Amori for TradingView and operates as an overlay on price charts.
## Core Concept
Fair Value Gaps occur when price makes a significant move in one direction, leaving behind an area where no trading occurred. Specifically:
- **Bullish FVG**: Forms when the low of the current candle is higher than the high of the candle two positions back, creating an upward gap in price movement.
- **Bearish FVG**: Forms when the high of the current candle is lower than the low of the candle two positions back, creating a downward gap in price movement.
These gaps represent potential "fair value" areas that price may revisit to establish equilibrium between buyers and sellers.
## Visual Representation
The indicator displays FVGs in the following manner:
1. **Bullish FVGs**:
- Represented by semi-transparent green boxes
- Extend from the high of the candle two positions back to the low of the current candle
- Include a dashed green center line representing the middle point of the gap
2. **Bearish FVGs**:
- Represented by semi-transparent red boxes
- Extend from the low of the candle two positions back to the high of the current candle
- Include a dashed red center line representing the middle point of the gap
All FVG boxes and their center lines are extended to the right of the chart, making them visible until they are filled or invalidated.
## Invalidation Logic
The indicator automatically removes FVGs when they are considered filled or invalidated:
- **Bullish FVGs**: Removed when the closing price falls below the bottom of the FVG box, indicating that the upward gap has been filled.
- **Bearish FVGs**: Removed when the closing price rises above the top of the FVG box, indicating that the downward gap has been filled.
This removal only occurs after a candle is confirmed (fully formed), ensuring that premature invalidation doesn't occur during candle formation.
## Technical Implementation
The indicator uses arrays to store and manage the FVG boxes and their center lines. Key features of the implementation include:
- Creation of new FVGs only after candle confirmation
- Dynamic addition and removal of visual elements
- Transparent coloring (75% transparency) for better chart visibility
- Dashed center lines with less transparency (25%) to highlight the middle point of gaps
FVG Premium [no1x]█ OVERVIEW
This indicator provides a comprehensive toolkit for identifying, visualizing, and tracking Fair Value Gaps (FVGs) across three distinct timeframes (current chart, a user-defined Medium Timeframe - MTF, and a user-defined High Timeframe - HTF). It is designed to offer traders enhanced insight into FVG dynamics through detailed state monitoring (formation, partial fill, full mitigation, midline touch), extensive visual customization for FVG representation, and a rich alert system for timely notifications on FVG-related events.
█ CONCEPTS
This indicator is built upon the core concept of Fair Value Gaps (FVGs) and their significance in price action analysis, offering a multi-layered approach to their detection and interpretation across different timeframes.
Fair Value Gaps (FVGs)
A Fair Value Gap (FVG), also known as an imbalance, represents a range in price delivery where one side of the market (buying or selling) was more aggressive, leaving an inefficiency or an "imbalance" in the price action. This concept is prominently featured within Smart Money Concepts (SMC) and Inner Circle Trader (ICT) methodologies, where such gaps are often interpreted as footprints left by "smart money" due to rapid, forceful price movements. These methodologies suggest that price may later revisit these FVG zones to rebalance a prior inefficiency or to seek liquidity before continuing its path. These gaps are typically identified by a three-bar pattern:
Bullish FVG : This is a three-candle formation where the second candle shows a strong upward move. The FVG is the space created between the high of the first candle (bottom of FVG) and the low of the third candle (top of FVG). This indicates a strong upward impulsive move.
Bearish FVG : This is a three-candle formation where the second candle shows a strong downward move. The FVG is the space created between the low of the first candle (top of FVG) and the high of the third candle (bottom of FVG). This indicates a strong downward impulsive move.
FVGs are often watched by traders as potential areas where price might return to "rebalance" or find support/resistance.
Multi-Timeframe (MTF) Analysis
The indicator extends FVG detection beyond the current chart's timeframe (Low Timeframe - LTF) to two higher user-defined timeframes: Medium Timeframe (MTF) and High Timeframe (HTF). This allows traders to:
Identify FVGs that might be significant on a broader market structure.
Observe how FVGs from different timeframes align or interact.
Gain a more comprehensive perspective on potential support and resistance zones.
FVG State and Lifecycle Management
The indicator actively tracks the lifecycle of each detected FVG:
Formation : The initial identification of an FVG.
Partial Fill (Entry) : When price enters but does not completely pass through the FVG. The indicator updates the "current" top/bottom of the FVG to reflect the filled portion.
Midline (Equilibrium) Touch : When price touches the 50% level of the FVG.
Full Mitigation : When price completely trades through the FVG, effectively "filling" or "rebalancing" the gap. The indicator records the mitigation time.
This state tracking is crucial for understanding how price interacts with these zones.
FVG Classification (Large FVG)
FVGs can be optionally classified as "Large FVGs" (LV) if their size (top to bottom range) exceeds a user-defined multiple of the Average True Range (ATR) for that FVG's timeframe. This helps distinguish FVGs that are significantly larger relative to recent volatility.
Visual Customization and Information Delivery
A key concept is providing extensive control over how FVGs are displayed. This control is achieved through a centralized set of visual parameters within the indicator, allowing users to configure numerous aspects (colors, line styles, visibility of boxes, midlines, mitigation lines, labels, etc.) for each timeframe. Additionally, an on-chart information panel summarizes the nearest unmitigated bullish and bearish FVG levels for each active timeframe, providing a quick glance at key price points.
█ FEATURES
This indicator offers a rich set of features designed to provide a highly customizable and comprehensive Fair Value Gap (FVG) analysis experience. Users can tailor the FVG detection, visual representation, and alerting mechanisms across three distinct timeframes: the current chart (Low Timeframe - LTF), a user-defined Medium Timeframe (MTF), and a user-defined High Timeframe (HTF).
Multi-Timeframe FVG Detection and Display
The core strength of this indicator lies in its ability to identify and display FVGs from not only the current chart's timeframe (LTF) but also from two higher, user-selectable timeframes (MTF and HTF).
Timeframe Selection: Users can specify the exact MTF (e.g., "60", "240") and HTF (e.g., "D", "W") through dedicated inputs in the "MTF (Medium Timeframe)" and "HTF (High Timeframe)" settings groups. The visibility of FVGs from these higher timeframes can be toggled independently using the "Show MTF FVGs" and "Show HTF FVGs" checkboxes.
Consistent Detection Logic: The FVG detection logic, based on the classic three-bar imbalance pattern detailed in the 'Concepts' section, is applied consistently across all selected timeframes (LTF, MTF, HTF)
Timeframe-Specific Visuals: Each timeframe's FVGs (LTF, MTF, HTF) can be customized with unique colors for bullish/bearish states and their mitigated counterparts. This allows for easy visual differentiation of FVGs originating from different market perspectives.
Comprehensive FVG Visualization Options
The indicator provides extensive control over how FVGs are visually represented on the chart for each timeframe (LTF, MTF, HTF).
FVG Boxes:
Visibility: Main FVG boxes can be shown or hidden per timeframe using the "Show FVG Boxes" (for LTF), "Show Boxes" (for MTF/HTF) inputs.
Color Customization: Colors for bullish, bearish, active, and mitigated FVG boxes (including Large FVGs, if classified) are fully customizable for each timeframe.
Box Extension & Length: FVG boxes can either be extended to the right indefinitely ("Extend Boxes Right") or set to a fixed length in bars ("Short Box Length" or "Box Length" equivalent inputs).
Box Labels: Optional labels can display the FVG's timeframe and fill percentage on the box. These labels are configurable for all timeframes (LTF, MTF, and HTF). Please note: If FVGs are positioned very close to each other on the chart, their respective labels may overlap. This can potentially lead to visual clutter, and it is a known behavior in the current version of the indicator.
Box Borders: Visibility, width, style (solid, dashed, dotted), and color of FVG box borders are customizable per timeframe.
Midlines (Equilibrium/EQ):
Visibility: The 50% level (midline or EQ) of FVGs can be shown or hidden for each timeframe.
Style Customization: Width, style, and color of the midline are customizable per timeframe. The indicator tracks if this midline has been touched by price.
Mitigation Lines:
Visibility: Mitigation lines (representing the FVG's opening level that needs to be breached for full mitigation) can be shown or hidden for each timeframe. If shown, these lines are always extended to the right.
Style Customization: Width, style, and color of the mitigation line are customizable per timeframe.
Mitigation Line Labels: Optional price labels can be displayed on mitigation lines, with a customizable horizontal bar offset for positioning. For optimal label placement, the following horizontal bar offsets are recommended: 4 for LTF, 8 for MTF, and 12 for HTF.
Persistence After Mitigation: Users can choose to keep mitigation lines visible even after an FVG is fully mitigated, with a distinct color for such lines. Importantly, this option is only effective if the general setting 'Hide Fully Mitigated FVGs' is disabled, as otherwise, the entire FVG and its lines will be removed upon mitigation.
FVG State Management and Behavior
The indicator tracks and visually responds to changes in FVG states.
Hide Fully Mitigated FVGs: This option, typically found in the indicator's general settings, allows users to automatically remove all visual elements of an FVG from the chart once price has fully mitigated it. This helps maintain chart clarity by focusing on active FVGs.
Partial Fill Visualization: When price enters an FVG, the indicator offers a dynamic visual representation: the portion of the FVG that has been filled is shown as a "mitigated box" (typically with a distinct color), while the original FVG box shrinks to clearly highlight the remaining, unfilled portion. This two-part display provides an immediate visual cue about how much of the FVG's imbalance has been addressed and what potential remains within the gap.
Visual Filtering by ATR Proximity: To help users focus on the most relevant price action, FVGs can be dynamically hidden if they are located further from the current price than a user-defined multiple of the Average True Range (ATR). This behavior is controlled by the "Filter Band Width (ATR Multiple)" input; setting this to zero disables the filter entirely, ensuring all detected FVGs remain visible regardless of their proximity to price.
Alternative Usage Example: Mitigation Lines as Key Support/Resistance Levels
For traders preferring a minimalist chart focused on key Fair Value Gap (FVG) levels, the indicator's visualization settings can be customized to display only FVG mitigation lines. This approach leverages these lines as potential support and resistance zones, reflecting areas where price might revisit to address imbalances.
To configure this view:
Disable FVG Boxes: Turn off "Show FVG Boxes" (for LTF) or "Show Boxes" (for MTF/HTF) for the desired timeframes.
Hide Midlines: Disable the visibility of the 50% FVG Midlines (Equilibrium/EQ).
Ensure Mitigation Lines are Visible: Keep "Mitigation Lines" enabled.
Retain All Mitigation Lines:
Disable the "Hide Fully Mitigated FVGs" option in the general settings.
Enable the feature to "keep mitigation lines visible even after an FVG is fully mitigated". This ensures lines from all FVGs (active or fully mitigated) remain on the chart, which is only effective if "Hide Fully Mitigated FVGs" is disabled.
This setup offers:
A Decluttered Chart: Focuses solely on the FVG opening levels.
Precise S/R Zones: Treats mitigation lines as specific points for potential price reactions.
Historical Level Analysis: Includes lines from past, fully mitigated FVGs for a comprehensive view of significant price levels.
For enhanced usability with this focused view, consider these optional additions:
The on-chart Information Panel can be activated to display a quick summary of the nearest unmitigated FVG levels.
Mitigation Line Labels can also be activated for clear price level identification. A customizable horizontal bar offset is available for positioning these labels; for example, offsets of 4 for LTF, 8 for MTF, and 12 for HTF can be effective.
FVG Classification (Large FVG)
This feature allows for distinguishing FVGs based on their size relative to market volatility.
Enable Classification: Users can enable "Classify FVG (Large FVG)" to identify FVGs that are significantly larger than average.
ATR-Based Threshold: An FVG is classified as "Large" if its height (price range) is greater than or equal to the Average True Range (ATR) of its timeframe multiplied by a user-defined "Large FVG Threshold (ATR Multiple)". The ATR period for this calculation is also configurable.
Dedicated Colors: Large FVGs (both bullish/bearish and active/mitigated) can be assigned unique colors, making them easily distinguishable on the chart.
Panel Icon: Large FVGs are marked with a special icon in the Info Panel.
Information Panel
An on-chart panel provides a quick summary of the nearest unmitigated FVG levels.
Visibility and Position: The panel can be shown/hidden and positioned in any of the nine standard locations on the chart (e.g., Top Right, Middle Center).
Content: It displays the price levels of the nearest unmitigated bullish and bearish FVGs for LTF, MTF (if active), and HTF (if active). It also indicates if these nearest FVGs are Large FVGs (if classification is enabled) using a selectable icon.
Styling: Text size, border color, header background/text colors, default text color, and "N/A" cell background color are customizable.
Highlighting: Background and text colors for the cells displaying the overall nearest bullish and bearish FVG levels (across all active timeframes) can be customized to draw attention to the most proximate FVG.
Comprehensive Alert System
The indicator offers a granular alert system for various FVG-related events, configurable for each timeframe (LTF, MTF, HTF) independently. Users can enable alerts for:
New FVG Formation: Separate alerts for new bullish and new bearish FVG formations.
FVG Entry/Partial Fill: Separate alerts for price entering a bullish FVG or a bearish FVG.
FVG Full Mitigation: Separate alerts for full mitigation of bullish and bearish FVGs.
FVG Midline (EQ) Touch: Separate alerts for price touching the midline of a bullish or bearish FVG.
Alert messages are detailed, providing information such as the timeframe, FVG type (bull/bear, Large FVG), relevant price levels, and timestamps.
█ NOTES
This section provides additional information regarding the indicator's usage, performance considerations, and potential interactions with the TradingView platform. Understanding these points can help users optimize their experience and troubleshoot effectively.
Performance and Resource Management
Maximum FVGs to Track : The "Max FVGs to Track" input (defaulting to 25) limits the number of FVG objects processed for each category (e.g., LTF Bullish, MTF Bearish). Increasing this value significantly can impact performance due to more objects being iterated over and potentially drawn, especially when multiple timeframes are active.
Drawing Object Limits : To manage performance, this script sets its own internal limits on the number of drawing objects it displays. While it allows for up to approximately 500 lines (max_lines_count=500) and 500 labels (max_labels_count=500), the number of FVG boxes is deliberately restricted to a maximum of 150 (max_boxes_count=150). This specific limit for boxes is a key performance consideration: displaying too many boxes can significantly slow down the indicator, and a very high number is often not essential for analysis. Enabling all visual elements for many FVGs across all three timeframes can cause the indicator to reach these internal limits, especially the stricter box limit
Optimization Strategies : To help you manage performance, reduce visual clutter, and avoid exceeding drawing limits when using this indicator, I recommend the following strategies:
Maintain or Lower FVG Tracking Count: The "Max FVGs to Track" input defaults to 25. I find this value generally sufficient for effective analysis and balanced performance. You can keep this default or consider reducing it further if you experience performance issues or prefer a less dense FVG display.
Utilize Proximity Filtering: I suggest activating the "Filter Band Width (ATR Multiple)" option (found under "General Settings") to display only those FVGs closer to the current price. From my experience, a value of 5 for the ATR multiple often provides a good starting point for balanced performance, but you should feel free to adjust this based on market volatility and your specific trading needs.
Hide Fully Mitigated FVGs: I strongly recommend enabling the "Hide Fully Mitigated FVGs" option. This setting automatically removes all visual elements of an FVG from the chart once it has been fully mitigated by price. Doing so significantly reduces the number of active drawing objects, lessens computational load, and helps maintain chart clarity by focusing only on active, relevant FVGs.
Disable FVG Display for Unused Timeframes: If you are not actively monitoring certain higher timeframes (MTF or HTF) for FVG analysis, I advise disabling their display by unchecking "Show MTF FVGs" or "Show HTF FVGs" respectively. This can provide a significant performance boost.
Simplify Visual Elements: For active FVGs, consider hiding less critical visual elements if they are not essential for your specific analysis. This could include box labels, borders, or even entire FVG boxes if, for example, only the mitigation lines are of interest for a particular timeframe.
Settings Changes and Platform Limits : This indicator is comprehensive and involves numerous calculations and drawings. When multiple settings are changed rapidly in quick succession, it is possible, on occasion, for TradingView to issue a "Runtime error: modify_study_limit_exceeding" or similar. This can cause the indicator to temporarily stop updating or display errors.
Recommended Approach : When adjusting settings, it is advisable to wait a brief moment (a few seconds) after each significant change. This allows the indicator to reprocess and update on the chart before another change is made
Error Recovery : Should such a runtime error occur, making a minor, different adjustment in the settings (e.g., toggling a checkbox off and then on again) and waiting briefly will typically allow the indicator to recover and resume correct operation. This behavior is related to platform limitations when handling complex scripts with many inputs and drawing objects.
Multi-Timeframe (MTF/HTF) Data and Behavior
HTF FVG Confirmation is Essential: : For an FVG from a higher timeframe (MTF or HTF) to be identified and displayed on your current chart (LTF), the three-bar pattern forming the FVG on that higher timeframe must consist of fully closed bars. The indicator does not draw speculative FVGs based on incomplete/forming bars from higher timeframes.
Data Retrieval and LTF Processing: The indicator may use techniques like lookahead = barmerge.lookahead_on for timely data retrieval from higher timeframes. However, the actual detection of an FVG occurs after all its constituent bars on the HTF have closed.
Appearance Timing on LTF (1 LTF Candle Delay): As a natural consequence of this, an FVG that is confirmed on an HTF (i.e., its third bar closes) will typically become visible on your LTF chart one LTF bar after its confirmation on the HTF.
Example: Assume an FVG forms on a 30-minute chart at 15:30 (i.e., with the close of the 30-minute bar that covers the 15:00-15:30 period). If you are monitoring this FVG on a 15-minute chart, the indicator will detect this newly formed 30-minute FVG while processing the data for the 15-minute bar that starts at 15:30 and closes at 15:45. Therefore, the 30-minute FVG will become visible on your 15-minute chart at the earliest by 15:45 (i.e., with the close of that relevant 15-minute LTF candle). This means the HTF FVG is reflected on the LTF chart with a delay equivalent to one LTF candle.
FVG Detection and Display Logic
Fair Value Gaps (FVGs) on the current chart timeframe (LTF) are detected based on barstate.isconfirmed. This means the three-bar pattern must be complete with closed bars before an FVG is identified. This confirmation method prevents FVGs from being prematurely identified on the forming bar.
Alerts
Alert Setup : To receive alerts from this indicator, you must first ensure you have enabled the specific alert conditions you are interested in within the indicator's own settings (see 'Comprehensive Alert System' under the 'FEATURES' section). Once configured, open TradingView's 'Create Alert' dialog. In the 'Condition' tab, select this indicator's name, and crucially, choose the 'Any alert() function call' option from the dropdown list. This setup allows the indicator to trigger alerts based on the precise event conditions you have activated in its settings
Alert Frequency : Alerts are designed to trigger once per bar close (alert.freq_once_per_bar_close) for the specific event.
User Interface (UI) Tips
Settings Group Icons: In the indicator settings menu, timeframe-specific groups are marked with star icons for easier navigation: 🌟 for LTF (Current Chart Timeframe), 🌟🌟 for MTF (Medium Timeframe), and 🌟🌟🌟 for HTF (High Timeframe).
Dependent Inputs: Some input settings are dependent on others being enabled. These dependencies are visually indicated in the settings menu using symbols like "↳" (dependent setting on the next line), "⟷" (mutually exclusive inline options), or "➜" (directly dependent inline option).
Settings Layout Overview: The indicator settings are organized into logical groups for ease of use. Key global display controls – such as toggles for MTF FVGs, HTF FVGs (along with their respective timeframe selectors), and the Information Panel – are conveniently located at the very top within the '⚙️ General Settings' group. This placement allows for quick access to frequently adjusted settings. Other sections provide detailed customization options for each timeframe (LTF, MTF, HTF), specific FVG components, and alert configurations.
█ FOR Pine Script® CODERS
This section provides a high-level overview of the FVG Premium indicator's internal architecture, data flow, and the interaction between its various library components. It is intended for Pine Script™ programmers who wish to understand the indicator's design, potentially extend its functionality, or learn from its structure.
System Architecture and Modular Design
The indicator is architected moduarly, leveraging several custom libraries to separate concerns and enhance code organization and reusability. Each library has a distinct responsibility:
FvgTypes: Serves as the foundational data definition layer. It defines core User-Defined Types (UDTs) like fvgObject (for storing all attributes of an FVG) and drawSettings (for visual configurations), along with enumerations like tfType.
CommonUtils: Provides utility functions for common tasks like mapping user string inputs (e.g., "Dashed" for line style) to their corresponding Pine Script™ constants (e.g., line.style_dashed) and formatting timeframe strings for display.
FvgCalculations: Contains the core logic for FVG detection (both LTF and MTF/HTF via requestMultiTFBarData), FVG classification (Large FVGs based on ATR), and checking FVG interactions with price (mitigation, partial fill).
FvgObject: Implements an object-oriented approach by attaching methods to the fvgObject UDT. These methods manage the entire visual lifecycle of an FVG on the chart, including drawing, updating based on state changes (e.g., mitigation), and deleting drawing objects. It's responsible for applying the visual configurations defined in drawSettings.
FvgPanel: Manages the creation and dynamic updates of the on-chart information panel, which displays key FVG levels.
The main indicator script acts as the orchestrator, initializing these libraries, managing user inputs, processing data flow between libraries, and handling the main event loop (bar updates) for FVG state management and alerts.
Core Data Flow and FVG Lifecycle Management
The general data flow and FVG lifecycle can be summarized as follows:
Input Processing: User inputs from the "Settings" dialog are read by the main indicator script. Visual style inputs (colors, line styles, etc.) are consolidated into a types.drawSettings object (defined in FvgTypes). Other inputs (timeframes, filter settings, alert toggles) control the behavior of different modules. CommonUtils assists in mapping some string inputs to Pine constants.
FVG Detection:
For the current chart timeframe (LTF), FvgCalculations.detectFvg() identifies potential FVGs based on bar patterns.
For MTF/HTF, the main indicator script calls FvgCalculations.requestMultiTFBarData() to fetch necessary bar data from higher timeframes, then FvgCalculations.detectMultiTFFvg() identifies FVGs.
Newly detected FVGs are instantiated as types.fvgObject and stored in arrays within the main script. These objects also undergo classification (e.g., Large FVG) by FvgCalculations.
State Update & Interaction: On each bar, the main indicator script iterates through active FVG objects to manage their state based on price interaction:
Initially, the main script calls FvgCalculations.fvgInteractionCheck() to efficiently determine if the current bar's price might be interacting with a given FVG.
If a potential interaction is flagged, the main script then invokes methods directly on the fvgObject instance (e.g., updateMitigation(), updatePartialFill(), checkMidlineTouch(), which are part of FvgObject).
These fvgObject methods are responsible for the detailed condition checking and the actual modification of the FVG's state. For instance, the updateMitigation() and updatePartialFill() methods internally utilize specific helper functions from FvgCalculations (like checkMitigation() and checkPartialMitigation()) to confirm the precise nature of the interaction before updating the fvgObject’s state fields (such as isMitigated, currentTop, currentBottom, or isMidlineTouched).
Visual Rendering:
The FvgObject.updateDrawings() method is called for each fvgObject. This method is central to drawing management; it creates, updates, or deletes chart drawings (boxes, lines, labels) based on the FVG's current state, its prev_* (previous bar state) fields for optimization, and the visual settings passed via the drawSettings object.
Information Panel Update: The main indicator script determines the nearest FVG levels, populates a panelData object (defined in FvgPanelLib), and calls FvgPanel.updatePanel() to refresh the on-chart display.
Alert Generation: Based on the updated FVG states and user-enabled alert settings, the main indicator script constructs and triggers alerts using Pine Script's alert() function."
Key Design Considerations
UDT-Centric Design: The fvgObject UDT is pivotal, acting as a stateful container for all information related to a single FVG. Most operations revolve around creating, updating, or querying these objects.
State Management: To optimize drawing updates and manage FVG lifecycles, fvgObject instances store their previous bar's state (e.g., prevIsVisible, prevCurrentTop). The FvgObject.updateDrawings() method uses this to determine if a redraw is necessary, minimizing redundant drawing calls.
Settings Object: A drawSettings object is populated once (or when inputs change) and passed to drawing functions. This avoids repeatedly reading numerous input() values on every bar or within loops, improving performance.
Dynamic Arrays for FVG Storage: Arrays are used to store collections of fvgObject instances, allowing for dynamic management (adding new FVGs, iterating for updates).
FVG Detector LibraryLibrary "FVG Detector Library"
🔵 Introduction
To save time and improve accuracy in your scripts for identifying Fair Value Gaps (FVGs), you can utilize this library. Apart from detecting and plotting FVGs, one of the most significant advantages of this script is the ability to filter FVGs, which you'll learn more about below. Additionally, the plotting of each FVG continues until either a new FVG occurs or the current FVG is mitigated.
🔵 Definition
Fair Value Gap (FVG) refers to a situation where three consecutive candlesticks do not overlap. Based on this definition, the minimum conditions for detecting a fair gap in the ascending scenario are that the minimum price of the last candlestick should be greater than the maximum price of the third candlestick, and in the descending scenario, the maximum price of the last candlestick should be smaller than the minimum price of the third candlestick.
If the filter is turned off, all FVGs that meet at least the minimum conditions are identified. This mode is simplistic and results in a high number of identified FVGs.
If the filter is turned on, you have four options to filter FVGs :
1. Very Aggressive : In addition to the initial condition, another condition is added. For ascending FVGs, the maximum price of the last candlestick should be greater than the maximum price of the middle candlestick. Similarly, for descending FVGs, the minimum price of the last candlestick should be smaller than the minimum price of the middle candlestick. In this mode, a very small number of FVGs are eliminated.
2. Aggressive : In addition to the conditions of the Very Aggressive mode, in this mode, the size of the middle candlestick should not be small. This mode eliminates more FVGs compared to the Very Aggressive mode.
3. Defensive : In addition to the conditions of the Very Aggressive mode, in this mode, the size of the middle candlestick should be relatively large, and most of it should consist of the body. Also, for identifying ascending FVGs, the second and third candlesticks must be positive, and for identifying descending FVGs, the second and third candlesticks must be negative. In this mode, a significant number of FVGs are eliminated, and the remaining FVGs have a decent quality.
4. Very Defensive : In addition to the conditions of the Defensive mode, the first and third candlesticks should not resemble very small-bodied doji candlesticks. In this mode, the majority of FVGs are filtered out, and the remaining ones are of higher quality.
By default, we recommend using the Defensive mode.
🔵 How to Use
🟣 Parameters
To utilize this library, you need to provide four input parameters to the function.
"FVGFilter" determines whether you wish to apply a filter on FVGs or not. The possible inputs for this parameter are "On" and "Off", provided as strings.
"FVGFilterType" determines the type of filter to be applied to the found FVGs. These filters include four modes: "Very Defensive", "Defensive", "Aggressive", and "Very Aggressive", respectively exhibiting decreasing sensitivity and indicating a higher number of Fair Value Gaps (FVG).
The parameter "ShowDeFVG" is a Boolean value defined as either "true" or "false". If this value is "true", FVGs are shown during the Bullish Trend; however, if it is "false", they are not displayed.
The parameter "ShowSuFVG" is a Boolean value defined as either "true" or "false". If this value is "true", FVGs are displayed during the Bearish Trend; however, if it is "false", they are not displayed.
FVGDetector(FVGFilter, FVGFilterType, ShowDeFVG, ShowSuFVG)
Parameters:
FVGFilter (string)
FVGFilterType (string)
ShowDeFVG (bool)
ShowSuFVG (bool)
🟣 Import Library
You can use the "FVG Detector" library in your script using the following expression:
import TFlab/FVGDetectorLibrary/1 as FVG
🟣 Input Parameters
The descriptions related to the input parameters were provided in the "Parameter" section. In this section, for your convenience, the code related to the inputs is also included, and you can copy and paste it into your script.
PFVGFilter = input.string('On', 'FVG Filter', )
PFVGFilterType = input.string('Defensive', 'FVG Filter Type', )
PShowDeFVG = input.bool(true, ' Show Demand FVG')
PShowSuFVG = input.bool(true, ' Show Supply FVG')
🟣 Call Function
You can copy the following code into your script to call the FVG function. This code is based on the naming conventions provided in the "Input Parameter" section, so if you want to use exactly this code, you should have similar parameter names or have copied the "Input Parameter" values.
FVG.FVGDetector(PFVGFilter, PFVGFilterType, PShowDeFVG, PShowSuFVG)
FVG Madness [JoseMetal]============
ENGLISH
============
- Description:
FVG (Fair Value Gap) / imbalances are inefficiencies in the price action generated by violent prices changes, the market is supposed to try to fill or at least retest these later on.
This is just one of the "Smart Money Concepts" or "Institutional trading", and there are different strategies to trade them.
Some use them as "price magnets", but in my case I use them to let orders placed on the "entry" line and take profit on the "exit" line, for both LONG or SHORT.
Others use them as reversal points (50% of the FVG), that's why I added a 50% line to each FVG, I want to make it usable for every single strategy related to FVGs.
Take your time to back test, study, and pick the best strategy for you as you'd do with any other indicator.
- Visual:
So like a "generic" FVG indicator this one also prints the FVGs, colors are customizable for both, bullish and bearish FVGs.
When a FVG is "touched" but not "filled" it changes color, which is also customizable.
As I said I use them as entry and take profit, so I added 3 lines, an entry line, midline and exit line, all have custom colors for both "untouched" and "touched" FVGs for better visualization.
- Customization:
All colors are customizable for both "untouched" and "touched" FVGs as well as their lines as well as the line style (so you can have dashed entry and exit for example but dotted midline, full customization).
You can pick to auto-delete a FVG if not filled completely but a percentage.
Entry and exit lines can be placed based on a percentage too.
Boxes for the FVGs can be extended or not.
There's an ATR (Average True Ratio) filter to ignore (don't plot) small FVGs which would only mess the chart, is custom, but default value is recommended.
- Usage and recommendations:
FVGs are supposed to work on any timeframes, i've seen traders using my strategy (placer a STOP LIMIT on the entry line and take profit on the exit line) even on 1 minute, however, if you have several FVGs you can aim to open a single position and take partial profit on each FVG.
Finally, on my back test i've seen that on 4H+ timeframes a lot of FVGs are only filled up to 50% as one of the mentioned strategies so make sure to move your stop to break even on that point or even close half or the position, just a recommendation to avoid absurd loses.
Enjoy!
============
ESPAÑOL
============
- Descripción:
Los FVG (Fair Value Gap) / imbalances son ineficiencias en la acción del precio generadas por cambios violentos en el mismo, se supone que el mercado trata de llenarlos o al menos volver a testearlos más tarde.
Éste es uno de los "Smart Money Concepts" o "Trading Institucional", y hay diferentes estrategias para operar con ellos.
Algunos los utilizan como "imanes del precio", pero en mi caso los utilizo para que las órdenes se coloquen en la línea de "entrada" y tomen ganancias en la línea de "salida", tanto para LONG como para SHORT.
Otros los usan como puntos de reversión (50% del FVG), por eso añadí una línea del 50% a cada FVG, quiero que sea utilizable para cada estrategia relacionada con los FVGs.
Tómate tu tiempo para hacer pruebas, estudiar y elegir la mejor estrategia como lo harías con cualquier otro indicador.
- Visual:
Al igual que un indicador FVG "genérico" este también dibuja los FVGs, los colores son personalizables para ambos, FVGs alcistas y bajistas.
Cuando un FVG es "tocado" pero no "llenado" cambia de color, que también es personalizable.
Como dije, los uso como entrada y toma de ganancias, así que agregué 3 líneas, una línea de entrada, una línea media y una línea de salida, todas tienen colores personalizados tanto para los FVGs "no tocados" como para los "tocados" para una mejor visualización.
- Personalización:
Todos los colores son personalizables tanto para los FVGs "intactos" como para los "tocados", así como sus líneas y el estilo de las mismas (por lo que puede tener la entrada y la salida punteadas, por ejemplo, pero la línea media punteada, personalización total).
Se puede elegir auto-borrar un FVG si es rellenado un determinado porcentaje en lugar de completo.
Las líneas de entrada y salida pueden ser colocadas en base a un porcentaje también.
Las cajas para los FVGs pueden ser extendidas o no.
Hay un filtro ATR (Average True Ratio) para ignorar (no dibujar) los FVGs pequeños que sólo ensuciarían el gráfico, es personalizado, pero se recomienda el valor por defecto.
- Uso y recomendaciones:
Los FVGs se supone que funcionan en cualquier marco de tiempo, he visto operadores que utilizan mi estrategia (colocar una orden en la línea de entrada y tomar ganancias en la línea de salida) incluso en 1 minuto, sin embargo, si se acumulan muchos FVGs pequeños se puede para abrir una sola posición y tomar ganancias parciales en cada FVG.
Por último, en mis pruebas he visto que en marcos de tiempo de 4H+ muchos FVGs sólo se llenan hasta el 50% como una de las estrategias mencionadas, así que asegúrate de mover tu stop para alcanzar el punto de equilibrio o incluso cerrar la mitad de la posición, es sólo una recomendación para evitar pérdidas absurdas.
¡Que lo disfrutéis!
FVG MTF + 50%
// FVG MTF + 50%: A Multi-Timeframe Fair Value Gap Indicator
//
// Fair Value Gaps (FVGs) are core to the Inner Circle Trader (ICT) framework and mirror institutional order‐flow imbalances.
// In trading lore, an FVG is a rapid price swing that “leaves behind a gap” – a zone without trading – which is typically revisited later.
// In technical terms, a classic FVG spans three bars: the middle candle overshoots the prior swing without overlap (e.g. the 2nd candle’s high exceeds the 1st candle’s high in a bullish FVG).
// Such gaps represent transient liquidity vacuums. Bouchaud et al. (2011) model exactly this phenomenon: aggressive order flow creates a V-shaped supply/demand profile that “vanishes around the current price.”
// In other words, an FVG is a local imbalance where liquidity was exhausted and will tend to attract mean‐reverting orders as the market seeks equilibrium.
//
// In practice, ICT emphasizes the 50% retracement of an FVG as a high-probability entry level. This midpoint can be interpreted formally via market microstructure theory:
// Hasbrouck (2000) and others posit an underlying efficient price – a latent martingale value – around which observed prices fluctuate.
// The center of a recent gap heuristically proxies that latent fair value. Indeed, empirical models of order‐flow impact predict precisely this behavior:
// Bouchaud (2010) describes a “stimulated refill” mechanism, whereby a one‐sided price surge triggers an opposing flow of limit orders that pushes price back (a rising wall of liquidity).
// This liquidity‐induced mean‐reversion ensures that price often retraces to the gap midpoint as new limit orders fill the void.
// In essence, the 50% level embodies the short‐term equilibrium to which price gravitates after a liquidity shock.
//
// The FVG MTF + 50% indicator systematically implements these insights across multiple scales (M15, H1, H4).
// It identifies FVGs on each timeframe and continuously flags mitigation when price re‐enters a gap, effectively measuring market resiliency.
// A real‐time dashboard summarizes the total count of open FVGs and how many have been filled, quantifying latent imbalances much like institutional flow statistics.
// For example, a concentration of unfilled FVGs signals that many liquidity gaps remain, suggesting pent‐up supply/demand pressures. Conversely, a high fill rate indicates rapid liquidity absorption.
// By codifying ICT rules into quantitative outputs, this tool yields an empirical gauge of market stress and mean‐reversion potential.
//
// Overall, the script bridges ICT trading concepts with formal market microstructure.
// It treats FVG gaps as spontaneous liquidity voids and the 50% midpoint as a transient efficient price, consistent with Hasbrouck’s (2000) martingale view.
// As Bouchaud et al. note, markets operate with vanishing immediate liquidity and without instant equilibrium, explaining why price tends to return to the gap center.
// The dashboard and alerts translate these academic principles into actionable signals: by tracking gap creation and resolution, traders gain a systematic view of hidden order-flow dynamics.
// In summary, “FVG MTF + 50%” casts ICT’s smart‐money ideas in a rigorous framework (citing O’Hara, Hasbrouck, Bouchaud, Farmer, etc.), providing a scientific tool that enhances decision‐making with precise liquidity‐based metrics.
//
// References (illustrative):
// • Hasbrouck, J. (2000). The Economics of Microstructure: Latent Efficient Prices and Observed Quotes. wpa00047.pdf.
// • O’Hara, M. (1995). Market Microstructure Theory.
// • Bouchaud, J.-P., Farmer, J. D., & Lillo, F. (2011). How Markets Slowly Digest Changes in Supply and Demand. arXiv:1105.1694.
// • Bouchaud, J.-P. (2010). The Endogenous Dynamics of Markets: Price Impact and Feedback Loops. Farm\_CFM\_269-2010.pdf.
// • Huddleston, I. C. T. (ICT). Inner Circle Trader Lectures on Fair Value Gaps and 50% Midpoints.
//
// URLs for further reading:
// • (atas.net)
// • (fxopen.com)
// • (arxiv.org)
// • (w4.stern.nyu.edu)
// • (www.cfm.com)
//
// =============================================================================
//
// This indicator identifies Fair Value Gaps (FVGs) on M15, H1, and H4 timeframes, highlights them on the chart as colored boxes, draws the 50% median line,
// and displays price labels for the 0%, 50%, and 100% levels of each gap.
// It also tracks when gaps are “filled” (mitigated) and logs counts on a dashboard, providing real-time metrics on open/filled FVGs for liquidity analysis.
//
// Key Features:
// 1. Multi‐Timeframe Detection: Scans M15, H1, H4 for three‐bar FVG patterns using a configurable threshold.
// 2. Colored Zones and Median Lines: Draws bullish (green) and bearish (red) gap boxes, bordered in white, with a dashed white line at the midpoint.
// 3. Price Labels: Optionally annotates each gap with “0% FVG = \$X,” “50% FVG = \$Y,” and “100% FVG = \$Z” at the moment of detection.
// 4. Gap Mitigation: Monitors price re‐entry into a gap; when filled, it removes the box and logs a dashed line at the fill price.
// 5. Dashboard: Counts total bullish/bearish FVGs and calculates the percentage filled on each timeframe.
// 6. Alerts: Configurable alerts for new gap creation and fill events at 0%, 50%, and 100% levels.
//
// Implementation Details:
// • Detection Logic: A three-bar gap occurs when the middle bar’s low is above the prior bar’s high (bullish) or its high is below the prior bar’s low (bearish).
// A “threshold” parameter filters minor gaps based on relative size.
// • Data Structures: Uses Pine v6’s user‐defined “fvg” type to store gap high, low, direction, and timestamp. Arrays track open boxes, lines, labels for each timeframe.
// • Drawing:
// – box.new() draws transparent rectangles spanning 500 bars into the future.
// – line.new() draws dashed median lines and mitigation lines when gaps are filled.
// – label.new() places price annotations at the current right edge with textalign=text.align\_right.
// • Dashboard: table.new() creates a 3×3 panel showing “Bullish”/“Bearish” counts and “Mitigated” percentages in real time.
// • Alerts: alertcondition() triggers when new gaps form or are mitigated at specified percentages.
//
// Usage:
// • Add to chart: Apply the script; enable or disable timeframes via checkboxes (Enable FVG M15, H1, H4).
// • Configure text labels: Toggle “Text” to show or hide on‐chart price annotations.
// • Monitor dashboard: Observe counts and fill rates to gauge market liquidity pressure.
// • Set alerts: Enable alerts for specific levels (0%, 50%, 100%) and timeframes as needed.
//
// Potential Extensions:
// • Customizable lookback on fill monitoring (beyond “showLast” parameter).
// • Dynamic threshold based on ATR or volatility metrics instead of static percentage.
// • Integration with order‐flow or volume data to refine gap significance.
// • Expanded timeframes (D1, W, etc.) for higher‐timeframe liquidity profiling.
//
// =============================================================================
//
// © 2025. Licensed under CC BY‐NC‐SA 4.0 International.
// Feel free to reference academic works (Hasbrouck, Bouchaud, O’Hara) for theoretical context.
//
// End of Description.
FVG Detector by SZEMEK>>> DESCRIPTION IN ENGLISH
An advanced indicator for the TradingView platform designed to detect and visualize Fair Value Gaps (FVG) and Inversion Fair Value Gaps (iFVG) on charts.
Main Features:
1. FVG Detection:
- The script identifies both bullish and bearish Fair Value Gaps.
- Users can choose which types of FVG to display (Bullish, Bearish, both, or none).
2. FVG Visualization:
- Gaps are represented as rectangular boxes on the chart.
- The color and transparency of the boxes are configurable separately for bullish and bearish FVG.
- The option to add a frame to FVG boxes with separate color settings.
- FVG labels are available with configurable colors and sizes.
3. Dynamic Tracking of FVG Fill:
- The script monitors the extent to which each gap has been filled by subsequent price movements.
- The fill level is visualized using gray overlay on the original FVG box.
- The percentage fill is updated on the label.
4. Automatic Removal of FVG:
- The ability to set a percentage threshold (100%, 75%, 50%, or no removal) after which FVG is removed from the chart.
5. iFVG Detection:
- The script also identifies Inversion Fair Value Gaps (iFVG), which can be displayed as separate boxes.
- iFVG are available in bullish and bearish versions.
- Users can choose which types of iFVG to display (Bullish, Bearish, both, or none).
- iFVG can also have labels and frames.
6. Limitation of Checked Candles:
- Users can specify the maximum number of candles back that the script will analyze for FVG and iFVG.
- Alerts: The indicator allows setting alerts for detected iFVG, both bullish and bearish.
Advanced Features:
- Accurate calculation of FVG fill percentage, considering both wicks and candle bodies.
- Dynamic updating of FVG boxes and their labels in real-time.
- Flexible memory management through the removal of outdated or filled FVG.
- The ability to customize the appearance of iFVG, including colors, labels, and frames.
This script serves as an advanced tool for technical analysis, enabling traders to identify potential support and resistance areas based on the concept of Fair Value Gaps and their inverted versions.
>>> DESCRIPTION IN ENGLISH
Zaawansowany wskaźnik dla platformy TradingView, który służy do wykrywania i wizualizacji luk wartości godziwej (Fair Value Gaps, FVG) oraz odwróconych luk wartości godziwej (Inversion Fair Value Gaps, iFVG) na wykresie.
Główne cechy
1. Wykrywanie FVG:
- Skrypt identyfikuje zarówno bycze (Bullish), jak i niedźwiedzie (Bearish) luki wartości godziwej.
- Użytkownik może wybrać, które typy FVG mają być wyświetlane (Bullish, Bearish, oba lub żadne).
2. Wizualizacja FVG:
- Luki są przedstawiane jako prostokątne boxy na wykresie.
- Kolor i przezroczystość boxów są konfigurowalne osobno dla FVG byczych i niedźwiedzich.
- Możliwość dodania ramki do boxów FVG z osobnymi ustawieniami kolorów.
- Etykiety FVG są dostępne z konfigurowalnymi kolorami i rozmiarami.
3. Dynamiczne śledzenie wypełnienia FVG:
- Skrypt monitoruje, w jakim stopniu każda luka została wypełniona przez późniejsze ruchy ceny.
- Stopień wypełnienia jest wizualizowany za pomocą szarego koloru nakładanego na oryginalny box FVG.
- Procent wypełnienia jest aktualizowany na etykiecie.
4. Automatyczne usuwanie FVG:
- Możliwość ustawienia progu procentowego (100%, 75%, 50% lub brak usuwania), po którego przekroczeniu FVG jest usuwany z wykresu.
5. Wykrywanie iFVG:
- Skrypt dodatkowo identyfikuje odwrócone luki wartości godziwej (iFVG), które mogą być wyświetlane jako osobne boxy.
- iFVG są dostępne w wersji byczej i niedźwiedziej.
- Użytkownik może wybrać, które typy iFVG mają być wyświetlane (Bullish, Bearish, oba lub żadne).
- iFVG również mogą mieć etykiety i ramki.
6. Ograniczenie sprawdzanych świec:
- Użytkownik może określić maksymalną liczbę świec wstecz, które skrypt będzie analizował w poszukiwaniu FVG i iFVG.
- Alerty: Wskaźnik umożliwia ustawienie alertów dla wykrytych luk iFVG, zarówno bullish, jak i bearish.
Zaawansowane funkcje
- Dokładne obliczanie procentu wypełnienia FVG, uwzględniające zarówno knoty, jak i ciała świec.
- Dynamiczne aktualizowanie boxów FVG i ich etykiet w czasie rzeczywistym.
- Elastyczne zarządzanie pamięcią poprzez usuwanie nieaktualnych lub wypełnionych FVG.
- Możliwość dostosowania wyglądu iFVG, w tym kolorów, etykiet i ramki.
Skrypt ten stanowi zaawansowane narzędzie do analizy technicznej, umożliwiające traderom identyfikację potencjalnych obszarów wsparcia i oporu bazujących na koncepcji luk wartości godziwej i ich odwróconych wersjach.
FVG Price & Volume Graph [LuxAlgo]The FVG Price & Volume Graph tool plot recently detected fair value gaps relative to the volume traded within their area during their formation. This allows us to effectively visualize significant fair value gaps caused by high liquidity.
The indicator also returns levels from the fair value gaps areas average with the highest associated volume.
Do note that the indicator can consider the chart's visible range when being computed, which will recalculate the indicator when the chart's visible range changes.
🔶 USAGE
Fair Value Gaps (FVG) are core price action concepts occurring when the disparity between supply and demand is significant. Price has a tendency to come back to those areas and mitigating them, that is filling them.
The provided tools allow for effective visualization of both FVG's area's height as well as the volume originating from their creation, which is defined by the total traded volume located within the FVG during its creation. FVG's with more associated volume are displayed to the rightmost of the chart.
Users can determine the amount of most recent FVG's to display from the "Display Amount" setting. Disabling the "Consider Mitigation" setting will return mitigated FVGs in the plot, which can be useful to know where most FVGs were located.
We can use the area average of the FVGs with the most associated volume as potential support/resistance levels. Users can extend more FVG's averages by increasing the "Highest Volume Averages" setting.
🔹 Visualizing Volume/Price Relationships of FVG's
A linear regression is fit between FVG's areas average and their associated volume, with this linear regression helping us see where FVG's with specific volume might be located in the future based on existing FVG's.
Note that FVG's do not tend to exhibit linear relationships with their associated volume, the provided linear regression can give a general sense of tendency, but nothing necessarily accurate.
🔶 DETAILS
🔹 Intrabar Data TF
Given a formation of three candles causing an FVG, the volume traded within that FVG area is obtained by looking at the lower timeframe intrabar candles located within the intermediary candle of the formation. The volume of the intrabar candles located within the FVG areas is added up to obtain the associated volume of the FVG.
Using a lower "Intrabar Data TF" allows obtaining more precise volume results, at the cost of computation time and data availability (if there is a high difference between the "Intrabar Data TF" and the chart TF then less FVG can have their associated volume calculated due to Tradingview limitations).
🔹 Display
Users have access to multiple graphical settings affecting how the indicator is displayed.
The "Graph Resolution" setting determines the length of the X axis, with higher values returning more precise results on the location of FVGs over the X axis. Users can also control the number of labels displayed on the X-axis using the numerical input to the right of "Show X-Axis Labels".
Additionally, users can color FVG areas using a gradient relative to the size of the area, or the volume associated with the FVG.
🔶 SETTINGS
Display Amount: Amount of most recent FVGs to display.
Highest Volume Averages: Amount of FVG averages levels with the highest volume to display and extend.
Consider Mitigation: Only display unmitigated FVGs.
Filter FVGs Outside Visible Range: Only display FVGs areas that are located within the user chart visible range.
Intrabar Data TF: Timeframe used to obtain intrabar data. Should be lower than the user chart timeframe.
FVG & IFVG ICT [TradingFinder] Inversion Fair Value Gap Signal🔵 Introduction
🟣 Fair Value Gap (FVG)
To spot a Fair Value Gap (FVG) on a chart, you need to perform a detailed candle-by-candle analysis.
Here’s the process :
Focus on Candles with Large Bodies : Identify a candle with a substantial body and examine it alongside the preceding candle.
Check Surrounding Candles : The candles immediately before and after the central candle should have long shadows.
Ensure No Overlap : The bodies of the candles before and after the central candle should not overlap with the body of the central candle.
Determine the FVG Range : The gap between the shadows of the first and third candles forms the FVG range.
🟣 ICT Inversion Fair Value Gap (IFVG)
An ICT Inversion Fair Value Gap, also known as a reverse FVG, is a failed fair value gap where the price does not respect the gap. An IFVG forms when a fair value gap fails to hold the price and the price moves beyond it, breaking the fair value gap.
This marks the initial shift in price momentum. Typically, when the price moves in one direction, it respects the fair value gaps and continues its trend.
However, if a fair value gap is violated, it acts as an inversion fair value gap, indicating the first change in price momentum, potentially leading to a short-term reversal or a subsequent change in direction.
🟣 Bullish Inversion Fair Value Gap (Bullish IFVG)
🟣 Bearish Inversion Fair Value Gap (Bearish IFVG)
🔵 How to Use
🟣 Identify an Inversion Fair Value Gap
To identify an IFVG, you first need to recognize a fair value gap. Just as fair value gaps come in two types, inversion fair value gaps also fall into two categories:
🟣 Bullish Inversion Fair Value Gap
A bullish IFVG is essentially a bearish fair value gap that is invalidated by the price closing above it.
Here’s how to identify it :
Identify a bearish fair value gap.
When the price closes above this bearish fair value gap, it transforms into a bullish inversion fair value gap.
This gap acts as support for the price and drives it upwards, indicating a reduction in sellers' strength and an initial shift in momentum towards buyers.
🟣 Bearish Inversion Fair Value Gap
A bearish IFVG is primarily a bullish fair value gap that fails to hold the price, with the price closing below it.
Here’s how to identify it :
Identify a bullish fair value gap.
When the price closes below this gap, it becomes a bearish inversion fair value gap.
This gap acts as resistance for the price, pushing it downwards. A bearish inversion fair value gap signifies a decrease in buyers' momentum and an increase in sellers' strength.
🔵 Setting
🟣 Global Setting
Show All FVG : If it is turned off, only the last FVG will be displayed.
S how All Inversion FVG : If it is turned off, only the last FVG will be displayed.
FVG and IFVG Validity Period (Bar) : You can specify the maximum time the FVG and the IFVG remains valid based on the number of candles from the origin.
Switching Colors Theme Mode : Three modes "Off", "Light" and "Dark" are included in this parameter. "Light" mode is for color adjustment for use in "Light Mode".
"Dark" mode is for color adjustment for use in "Dark Mode" and "Off" mode turns off the color adjustment function and the input color to the function is the same as the output color.
🟣 Logic Setting
FVG Filter
When utilizing FVG filtering, the number of identified FVG areas undergoes refinement based on a specified algorithm. This process helps to focus on higher quality signals and eliminate noise.
Here are the types of FVG filters available :
Very Aggressive Filter : Introduces an additional condition to the initial criteria. For an upward FVG, the highest price of the last candle must exceed the highest price of the middle candle. Similarly, for a downward FVG, the lowest price of the last candle should be lower than the lowest price of the middle candle. This mode minimally filters out FVGs.
Aggressive Filter : Builds upon the Very Aggressive mode by considering the size of the middle candle. It ensures the middle candle is not too small, thereby eliminating more FVGs compared to the Very Aggressive mode.
Defensive Filter : In addition to the conditions of the Very Aggressive mode, the Defensive mode incorporates criteria regarding the size and structure of the middle candle. It requires the middle candle to have a substantial body, with specific polarity conditions for the second and third candles relative to the first candle's direction. This mode filters out a significant number of FVGs, focusing on higher-quality signals.
Very Defensive Filter : Further refines filtering by adding conditions that the first and third candles should not be small-bodied doji candles. This stringent mode eliminates the majority of FVGs, retaining only the highest quality signals.
Mitigation Level FVG and IFVG : Its inputs are one of "Proximal", "Distal" or "50 % OB" modes, which you can enter according to your needs. The "50 % OB" line is the middle line between distal and proximal.
🟣 Display Setting
Show Bullish FVG : Enables the display of demand-related boxes, which can be toggled on or off.
Show Bearish FVG : Enables the display of supply-related boxes along the path, which can also be toggled on or off.
Show Bullish IFVG : Enables the display of demand-related boxes, which can be toggled on or off.
Show Bearish IFVG : Enables the display of supply-related boxes along the path, which can also be toggled on or off.
🟣 Alert Setting
Alert FVG Mitigation : If you want to receive the alert about FVG's mitigation after setting the alerts, leave this tick on. Otherwise, turn it off.
Alert Inversion FVG Mitigation : If you want to receive the alert about Inversion FVG's mitigation after setting the alerts, leave this tick on. Otherwise, turn it off.
Message Frequency : This parameter, represented as a string, determines the frequency of announcements. Options include: 'All' (triggers the alert every time the function is called), 'Once Per Bar' (triggers the alert only on the first call within the bar), and 'Once Per Bar Close' (activates the alert only during the final script execution of the real-time bar upon closure). The default setting is 'Once per Bar'.
Show Alert time by Time Zone : The date, hour, and minute displayed in alert messages can be configured to reflect any chosen time zone. For instance, if you prefer London time, you should input 'UTC+1'. By default, this input is configured to the 'UTC' time zone.
Display More Info : The 'Display More Info' option provides details regarding the price range of the order blocks (Zone Price), along with the date, hour, and minute. If you prefer not to include this information in the alert message, you should set it to 'Off'.
FVG Channel [LuxAlgo]The FVG Channel indicator displays a channel constructed from the averages of unmitigated historical fair value gaps (FVG), allowing to identify trends and potential reversals in the market.
Users can control the amount of FVGs to consider for the calculation of the channels, as well as their degree of smoothness through user settings.
🔶 USAGE
The FVG Channel is constructed by averaging together recent unmitigated Bullish FVGs (contributing to the creation of the upper bands), and Bearish unmitigated FVGs (contributing to the creation of the lower bands) within a lookback determined by the user. A higher lookback will return longer-term indications from the indicator.
The channel includes 5 bands, with one upper and one lower outer extremities, as well as an inner series of values determined using the Fibonacci ratios (respectively 0.786, 0.5, 0.236) from the channel's outer extremities.
An uptrend can be identified by price holding above the inner upper band (obtained from the 0.786 ratio), this band can also provide occasional support when the price retraces to it while in an uptrend.
Breaking below the inner upper band with an unwillingness to reach above again is a clear sign of hesitation in the market and can be indicative of an upcoming consolidation or reversal.
This can directly be applied to downtrends as well, below are examples displaying both scenarios.
Uptrend Example:
Downtrend Example:
🔹 Breakout Levels
When the price mitigates all FVGs in a single direction except for 1, the indicator will display a "Breakout Level". This is the level that price will need to cross in order for all FVGs in that direction to be mitigated, because of this they can also be aptly called "Last Stand Levels".
These levels can be considered as potential support and resistance levels, however, should always be monitored for breakouts since a substantial push above or below these points would indicate strong momentum.
🔹 Signals
The indicator includes Bullish and Bearish Signals, these signals fire when all FVGs for a single direction have been mitigated and an engulfing candle occurs in the opposite direction. These are reversal signals and should be used alongside other indicators to appropriately manage risk.
Note: When all FVGs in a single direction have been mitigated, the candles will change colors accordingly.
🔶 DETAILS
The script uses a typical identification method for FVGs. Once identified, the script collects and stores the mitigation levels of the respective bullish and bearish FVGs:
For Bullish FVGs this is the bottom of the FVG.
For Bearish FVGs this is the top of the FVG.
The data is managed to only consider a specific amount of FVG mitigation levels, determined by the set "Unmitigated FVG Lookback". If an FVG is mitigated, it frees up a spot in the memory for a new FVG, however, if the memory is full, the oldest will be deleted.
The averages displayed (Channel Upper and Lower) are created from 2 calculation steps, the first step involves taking the raw average of the FVG mitigation levels, and the second step applies a simple moving average (SMA) smoothing of the precedent obtained averages.
Note: To view the mitigation levels average obtained in the first step, the "Smoothing Length" can be set to 1.
🔶 SETTINGS
Unmitigated FVG Lookback: Sets the maximum number of Unmitigated FVG mitigation levels that the script will use to calculate the channel.
Smoothing Length: Sets the smoothing length for the channel to reduce noise from the raw data.
FVG Detector [TradingFinder] Fair Value Gap-Imbalance-Mitigated🔵 Introduction
When the market makes a strong move in the form of a "Marubozu" or "Spike" candlestick and consecutive candles move without a retracement, the maximum place where a "FVG" or "Fair Value Gap" is created.
🔵 Definition
To describe this precisely, whenever a move occurs where the current candle does not cover the body of the previous and subsequent candles, a fair value gap is created.
Important : The significant point is that, because there is no equilibrium between buyers and sellers in these conditions, and market power is in the hands of buyers or sellers, the market is likely to move towards these areas.
An example of "FVG" in a price increase where we expect buying on the return to it.
An example of "FVG" in a downward trend where the market will move towards it in a downward direction.
🔵 How to Use
🟣 Bearish FVG
In a downward trend, "orange boxes" are drawn, which are the same and can act as "support" zones along the downward path, and we expect the price to continue its downward trend on return.
🟣 Bullish FVG
In an upward trend, "green boxes" are drawn, which are . They act exactly like support in the upward path, and we expect the price to continue its upward trend on return.
🟣 Auxiliary Definitions
Imbalance : As mentioned above, market power is in the hands of one of the two sides, buyers or sellers, and a non-equilibrium zone is created. It may be completed in whole or in part in subsequent price movements.
Mitigated : If the price returns to the "FVG" area and fills it, we call it "Mitigated," and most "pending" or "profit and loss limits" positions are executed. We will not have a specific reaction on the return of the price.
🔵 Settings
Very Aggressive : In addition to the initial condition, another condition is added. For an upward FVG, the maximum price of the last candle should be larger than the middle candle's maximum price. Similarly, for a downward FVG, the minimum price of the last candle should be smaller than the middle candle's minimum price. In this mode, a very small number of FVGs are eliminated.
Aggressive : In addition to the conditions of the Very Aggressive mode, in this mode, the size of the middle candle should not be small. In this mode, a larger number of FVGs are eliminated.
Defensive : In addition to the conditions of the Very Aggressive mode, in this mode, the size of the middle candle should be relatively large, and the majority of it should be made up of the body. Additionally, to identify upward FVGs, the second and third candles must be positive, and to identify downward FVGs, the second and third candles must be negative. In this mode, a large number of FVGs are eliminated, leaving only those with suitable quality.
Very Defensive : In addition to the conditions of the Defensive mode, the first and third candles should not be very small-bodied doji candles. In this mode, the majority of FVGs are filtered out, leaving only the highest quality ones.
🔵 Features
Show Demand FVG : Displays demand-related boxes, which can be "off" and "on."
Show Supply FVG : Displays supply-related boxes along the path, and can be turned "off" and "on."
🔵 Indicator Advantages
In this indicator, I have implemented 4 types of "filters" that allow you to select one based on the trading symbol, timeframe, etc. From "Very Aggressive" to "Very Defensive" mode, it is possible to select.
In most indicators, all FVGs are displayed, and the chart becomes full of lines. But this unique feature allows the trader to manage the drawing of boxes.
FVG Positioning Average [LuxAlgo]The FVG Positioning Average indicator aims to uncover potential price levels of interest by averaging together recent Fair Value Gap (FVG) initiation levels.
This indicator is grounded in the theory that significant buying or selling activity is the primary catalyst for creating FVGs.
By averaging together the prices where each FVG initiated, we may potentially reveal where major participants are positioned.
🔶 USAGE
By analyzing the average price of bullish or bearish FVGs, users can identify potential support or resistance areas where the larger participants may re-enter or defend their positions.
These areas could be used to adjust entries and exits or assist with risk management such as take-profit or stop-loss levels.
The indicator displays 2 lines, the Bull Average and the Bear Average.
The Bull Average is only displayed when the price holds above the bull Average.
The Bear Average is only displayed when the price holds below the bear average.
When only one average is displayed alone, this level is seen as support or resistance, it is anticipated that this level would be defended for the current trend to stay valid.
When both averages are displayed simultaneously, it can be interpreted as one side attempting to take over the trend.
The movements and reactions during these attempts can be analyzed to provide helpful information about where the price might be headed.
Possible outcomes:
Trend Confirmation/Re-Entry (From Weak Attempts)
Trend Reversal (Creating Support or Resistance)
Consolidation (Oscillating between/around Bull & Bear Averages)
🔶 DETAILS
🔹 Lookback Types
This indicator includes 2 lookback types:
Bar Count: Uses Bars to determine what data to include. This type can be utilized for averages that are more locally relevant to the current chart data.
FVG Count: Uses a specific # of FVGs for calculations. This type can be utilized for a continuous & consistent view, typically relevant with longer term analysis.
Note: When using bar lookback, if no data is in range, no lines will be displayed.
Below is an example of the 'FVG Count' Display.
🔹 Initiation Levels
Initiation Levels are the specific price points where each FVG starts, these are the last points the price was traded at before creating the gap.
Bull Initiation Level: Lowest Point (Bottom) of FVG
Bear Initiation Level: Highest Point (Top) of FVG
🔹 FVG Display
Each FVG being used for the current calculation of averages is displayed on the chart for reference.
Note: If you prefer to not display the FVGs, they can be toggled off in the settings, uncheck "Show FVGs on Chart".
🔶 Settings
FVG Lookback: As mentioned above in the 'Lookback Types', this sets the number of FVGs or Bars to use for consideration.
Lookback Type: As also mentioned above in 'Lookback Types', this determines the method of lookback to be used.
ATR Multiplier: The FVGs are required to have a Greater Width than (ATR * Multiplier) in order to be used for calculations. This allows you to focus on the data being considered if needed.
FVG Strategy - Fair Value GapThe Fair Value Gap Strategy (FVG) is a trading approach that relies on price action analysis and involves identifying market inefficiencies or imbalances.
The strategy offers a variety of customizable settings to match your preferences and includes an entry and exit strategy to guide you through trades.
The script operates in the following manner:
It begins by searching for fair-value-gaps and subsequently identifies a break in structure.
The next step involves waiting for the price to retrace within the previously established fair value gap.
Within this gap, there is a Fibonacci retracement that must be reached before placing a stop-order.
Example: GER40, 1min Chart
STOP LOSS & RISK MANAGEMENT
FVG : The stop loss will be set at the end of the fair value gap
Last Swing : The stop loss will be at the last swing high/low
ATR (Average True Range) : The stop loss will be placed one 'Average True Range' away from the entry
TAKE PROFIT
Pips/Points : The stop loss will be set at the chosen amount of pips/points.
RiskReward TP : This is a fixed take profit where you can set a specific risk-to-reward ratio for the trade. For example, you can set a 1:3 risk-to-reward ratio.
Trailing Stop : This is a flexible stop that moves with the market price, allowing you to capture more profit as the trade moves in your favor.
Both : This option combines both the RiskReward TP and Trailing Stop. If the price target is set at a 1:3 risk-to-reward ratio, the trailing stop will move with the price until either the stop or take profit is reached, and the position will be closed completely.
THE FVG SECTION
In the FVG section, you will have the ability to customize your settings based on your specific requirements.
Firstly, you will have the choice of two possible entry options:
Candle Close : This option triggers the order once the candle has completely closed and all the set requirements are met.
Stop Orders : This option triggers the order once all the set requirements are met, even if the candle is still active and has not yet closed.
On top, you can activate the "Pinbar-Trading", that will allow you to take a trade on a pinbar, even when the candle just dipped into the FVG and snapped back.
FAIR VALUE GAP TYPE
On volatile market, it may happen that a massive FVG is created. Thats why we have separated the FVG into 2 different variables.
FVG Type: Normal : This is all regular FVG that meet the requirement of you minimum size range. As example FVG must be minimum 5$ big.
FVG Type: Big : This are all big FVG that meet the minimum set size range. The difference to the "normal" type, the stop loss will be set at 50% of the Big-FVG.
FIBONACCI RETRACEMENT & MARKET STRUCTURE
To refine the FVG strategy, you have three options:
Fibonacci Retracement Value (%) : The FVG strategy employs a Fibonacci retracement, which allows you to trade in the direction of the market movement. To initiate the order, the price must reach a predetermined Fibonacci level and then rebound.
Formation-to-Retracement Countdown: : This option provides you with a specified number of candles to meet the necessary conditions. For example, if the order is not triggered within 20 candles, delete the FVG-Zone and skip the trade to avoid getting caught in a sideways ranging trend.
Structure Lookback : This feature filters out older FVG Zones. You can specify the number of candles that should mark the FVG Zones. Keep in mind that newer and fresher zones will automatically conceal older ones.
FVG Breakaway/3rd Candle (Arjo) [MK]Simple script to identify FVGs (Fair Value Gaps) on the current chart timeframe. The script differs from other FVG indicators on the Tradingview platform by using Arjos 3rd candle rule to identify which gaps are 'Breakway Gaps' and which Gaps are likely to be returned to.
NOTE: As with all 'trading rules' this theory is not 100% accurate.
default settings:
Breakaway Gaps = YELLOW
Gaps that price may return to = GREEN
Mitigated Gaps = 100% TRANSPARENT
What is a FVG:
A FVG is a price area defined by a 3 candle pattern. For a bullish FVG, the low of the 3rd candle must be higher than the high of the 1st candle. This then leaves an area that is drawn as in the example below:
A bearish FVG is defined by the high of the 3rd candle being lower than the low of the 1st candle, as shown in the example below:
FVGs can act like magnets where price will either retrace to or reach for, therefore they can be used as entry points and also for take profit target levels.
If for example, a trader would like to use an FVG for an entry, it would be useful to know which FVGs are more likely for price to re-enter and which FVG will be left un-touched. FVGs that are likely to be left un-touched by price are called 'Breakaway Gaps'.
How do we define a 'Breakaway Gap':
First we identify FVGs using the rules stated above, then we look to see where the 3rd candle closed in relation to the 2nd candle. For a bullish 'Breakaway Gap' we want to see the 3rd candle close above the high of the 2nd candle. An example of a bullish Breakaway Gap is shown in the example below:
A bearish 'Breakaway Gap' is defined by the close of the 3rd candle being lower than the low of the 2nd candle. An example is shown below:
How do we define an FVG that price may return to:
Any gap that does not meet the above rules for a 'Breakway Gap' is therefore considered an FVG that price may return to. So for a bullish FVG that price may return to we would look to see if the close of the 3rd candle is above the high of the 2nd candle. If it is not above the high of the 2nd candle then it more likely that price will retrace into the FVG before continuing higher. An example is shown below:
A bearish gap that price may return to is defined by the close of the 3rd candle not being lower than the low of the 2nd candle. An example is shown below:
The indicator is based on the teachings of 'Arjo'. Note: breakaway gaps will only remain 'breakaway' until a liquidity level is reached. Breakaways therefore do not remain 'breakaway' forever. Users of the indicators must fully comprehend this theory before using the indicator with live markets.
Users of the script should be fully aware of this concept and also have conducted thorough backtesting using a large data set before using this indicator with live accounts.
FVG (ICT) with Swing LevelsThis indicator, called "Fair Value Gaps (ICT) with Swing Levels", overlays on the main chart and does the following:
Initial Setup:
It defines user-adjustable parameters:
lookback: Lookback period to keep FVGs visible.
swingPeriod: Period for calculating swing highs and lows.
bullColor and bearColor: Colors for bullish and bearish FVGs.
Fair Value Gaps (FVGs) Detection:
Uses a function to identify FVGs by comparing candle high and low prices.
A bullish FVG forms when the low of two candles ago is higher than the high of the current candle.
A bearish FVG forms when the high of two candles ago is lower than the low of the current candle.
Swing Levels Calculation:
Calculates swing highs and lows over the specified period.
These swing levels define the current market range.
Current Range Verification:
Implements a function to check if an FVG is within the range defined by swing levels.
This ensures only the most relevant FVGs for the current market situation are displayed.
FVG Drawing:
When it detects an FVG (bullish or bearish) within the current range, it draws a box on the chart.
Boxes extend from the bar where the FVG formed to the current bar.
Bullish FVGs are drawn in green and bearish in red (colors are customizable).
Old FVGs Management:
On each new bar, the indicator checks all existing FVG boxes.
It removes boxes that are outside the specified lookback period.
It also removes boxes that are no longer within the current range of swing levels.
Swing Levels Visualization:
Draws lines on the chart to show swing highs (in blue) and swing lows (in purple).
These lines help visualize the current market range.
Continuous Update:
The indicator updates on each new candle, constantly refreshing FVGs and swing levels.
In summary, this indicator identifies and visualizes Fair Value Gaps according to the ICT methodology, filtering them based on higher timeframe swing levels. This helps traders focus on the most significant FVGs within the current market context, reducing visual noise and potentially improving trading decision-making.
FVGs & CEs + Alerts: simple & efficient methodFair Value Gap indicator: Paints FVGs and their midlines (CEs). Stops painting when CE is hit, or when fully filled; user choice of threshold. This threshold is also used in the Alert conditions.
~~Plotted here on ES1! (CME), on the 15m timeframe~~
-A FVG represents a 'naked' body where the wicks/tails on either side do not meet. This can be seen as a type of 'gap', which price will have a tendency to want to re-fill (in part or in full).
-The midline (CE, or 'Consequent encroachment') of FVGs also tend to show price sensitivity.
-This indicator paints all FVGs until priced into, and should give an idea of which are more meaningful and which are best ignored (based on context: location, Time of day, market structure, etc).
-This is a simpler and more efficient method of painting Fair value gaps which auto-stop painting when price reaches them.
//Aims of Publishing:
-Education of ICT concepts of Fair Value Gaps and their midlines (CEs): To easily see via forward testing or backtesting, the sensitivity that price shows to these areas & levels.
-Demonstration of a much more efficient way of plotting FVGs which terminate at price, thanks to a modification of @Bjorgums's clever looping method referenced below.
//Settings:
-Toggle on/off upward and downward FVGs independently(blue and orange by default).
-Toggle on/off midline (CE).
-Standard color/line formatting options.
-Choose Threshold: CE of FVG or Full Fill of FVG: This will determine both the 'stop-painting' trigger and the 'Alert' trigger.
-Choose number of days lookback to control how many historical FVGs paint on chart.
//On alerts:
-Simple choice of 2 alerts:
~~One for price crossing into/above the nearest untouched 'premium' FVG above ( orange ). Trigger is user choice of CE or full fill.
~~Another for price crossing into/below the nearest untouched 'discount' FVG below (blue). Trigger is user choice of CE or full fill.
-Alerts set via the three dots in indicator status line.
//Cautionary notes:
-Do not use the alerts blindly to find trades. Wait until you have identified a good FVG above/below which you think price may show sensitivity to
-Usage on very low timeframes can cause unexpected results with alerts: due to new FVGs forming in realtime the Alert will always trigger at the most recent FVG above/ below having its threshold hit.
-Big thank you to @Bjorgum for his fantastic extendAndRemove method. Modified here for use with boxes and to integrate Alerts.
-Also Credit to ICT (inner circle trader) for the concepts used here: Fair value gaps and their Consequent Encroachment (CE).
FVG Trailing Stop [LuxAlgo]The FVG Trailing Stop indicator tracks unmitigated Fair Value Gaps (FVG) data to produce a Trailing Stop indicator able to determine if the market is uptrending or downtrending easily.
🔶 USAGE
The FVG Trailing Stop is intended to identify trend directions through its position relative to the closing price:
Bullish: Price is located above the Trailing Stop, indicating that all Bearish FVGs have been mitigated and the trend is anticipated to continue upwards.
Bearish State: Price is located below the Trailing Stop, indicating that all Bullish FVGs have been mitigated and the trend is anticipated to continue downwards.
The Trailing Stop originates from two extremities obtained from the average of respective unmitigated FVGs. The specific directional average is also displayed as a more transparent secondary line, however, the trailing stop is derived from this value and a new trend will not be detected until the opposite directional average is crossed.
Price reaching the Trailing Stop is caused by retracements and can lead to the following scenarios:
Outcome 1: The directional average is crossed next, indicating a new trend direction.
Outcome 2: The directional average is held as support or resistance, leading to a new impulse and a continuation of the trend.
🔹 Reset on Cross
While price crossing the Trailing Stop should be considered as a sign of an upcoming trend change; it is possible for the price to still evolve outside it.
As a solution, we have included the "Reset on Cross" feature, which (as the name suggests) hides and resets the Trailing Stop each time it is crossed, leading to a "Neutral" state.
This opens the opportunity for the Trailing Stop to be displayed again once the price moves again in the direction of the pre-established trend. A trader might use this to accumulate positions within a specific trend.
🔶 DETAILS
The script uses a typical identification method for FVGs. Once identified, the script collects the point of the FVG farthest from the current price when formed.
For Upwards FVGs this is the bottom of the FVG.
For Downwards FVGs this is the top of the FVG.
The data is managed only to use the last input lookback of FVGs. If an FVG is mitigated, it frees up a spot in the memory for a new FVG, however, if the lookback is full, the oldest will be deleted.
From there, it uses a "trailing" logic only to move the Trailing Stop in one direction until the trailing stop resets or the direction flips.
The extremities used to calculate the Trailing Stop are created from 2 calculation steps, the first step involves taking the raw average of the FVG mitigation levels, and the second step applies a simple moving average (SMA) smoothing of the precedent-obtained averages.
🔶 SETTINGS
Unmitigated FVG Lookback: Sets the maximum number of Unmitigated FVGs that the script will use.
Smoothing Length: Sets the smoothing length for the Trailing Stop to reduce erratic results.
Reset on Cross: When enabled, hide and reset the Trailing Stop until the price starts moving in the pre-established trend direction again.
FVG Chain (Consecutive Fair Value Gaps / Imbalances)This indicator detects fair value gaps that are created out of the touch of older fair value gaps, hence creating an "FVG chain".
It counts +1 for the chain whenever a new price leg's FVG is touched.
You can use the current FVG Chain count, as well as the high, low, and price leg high/low of the current FVG as input source in external indicators. Check the data window to see the plot values.
How FVGs are detected:
Bullish: The low of the current confirmed bar is above the high of 2 bars back.
Bearish: The high of the current confirmed bar is below the low of 2 bars back.
A bullish FVG chain is broken if:
The current FVG's price leg low is broken.
The previous bar closed below the FVG, and the current confirmed bar closed below the previous bar.
A bearish FVG chain is broken if:
The current FVG's price leg high is broken.
The previous bar closed above the FVG, and the current confirmed bar closed above the previous bar.
FVG | iSolani
Unveiling Market Inefficiencies with Precision
In fast-moving markets, spotting hidden opportunities often hinges on identifying imbalances between price and value. The FVG | iSolani indicator revolutionises this process by detecting Fair Value Gaps (FVGs) —zones where price action skips over "fair" valuation levels, creating potential retracement targets. Combining advanced filtering, dynamic visualisation, and automated management, this tool empowers traders to pinpoint high-probability setups with unprecedented clarity.
Core Methodology
The indicator employs a multi-layered approach to identify FVGs:
Three-Bar Gap Analysis: Bullish FVGs form when the current low exceeds the high of two bars prior, while bearish FVGs occur when the current high stays below the low of two bars back.
Volatility-Adjusted Filtering: Gaps are measured against a 100-bar standard deviation to exclude insignificant price jumps.
Volume Confirmation: Only gaps accompanied by above-average volume (relative to a 1-bar SMA) are validated, filtering out low-conviction moves.
Auto-Invalidation System: Continuously monitors price action to remove FVG zones once price closes within their range, maintaining chart cleanliness.
Breaking New Ground
This tool introduces three paradigm-shifting innovations:
Volume-Weighted Significance: Unlike traditional FVG detectors, it ties gap validity to volume spikes, emphasising institutional activity.
Adaptive Zone Management: Boxes automatically extend rightward (when enabled) and self-destruct when invalidated, eliminating manual cleanup.
Smart Color Encoding: Offers both monochrome (for multi-timeframe analysis) and standard bull/bear color schemes, with customisable transparency.
Engine Under the Hood
The script operates through four key processes:
Gap Detection: Scans every new bar for three-candle patterns meeting FVG criteria.
Statistical Filtering: Applies user-defined threshold (default: 1σ) to separate meaningful gaps from market noise.
Box Rendering: Draws semi-transparent zones between gap boundaries using TradingView's box objects, styled according to user preferences.
Array-Based Memory: Stores all active FVGs in arrays, enabling real-time validation checks against current price action.
Standard Configuration
Optimised default settings balance visibility and functionality:
Filter: 1.0 (1 standard deviation threshold)
Colors: "Mono" mode (gray boxes) with 90% transparency
Text Labels: Enabled in medium gray
Extension: Gaps extend indefinitely rightward
Borders: Dotted lines with visible outlines
Through its fusion of quantitative rigor and visual adaptability, the FVG | iSolani transforms raw price data into actionable intelligence. By focusing on volume-confirmed gaps and automating zone management, it cuts through market chaos to reveal structurally significant levels—a must-have for traders navigating breakouts, reversals, or order-flow analysis.
FVG Order Blocks [BigBeluga]This indicator is an advanced tool designed to detect and visualize market FVGs with order blocks, where the price action has created gaps due to strong buying or selling pressure. These FVG often act as critical support and resistance levels, giving traders strategic points for potential entries and exits. The indicator not only identifies these imbalances but also displays their relative strength by size %, helping traders prioritize order blocks that are more likely to hold or break.
The indicator works on various pairs and stocks, it also works on charts that do not provide volume data
Forex (JPY/USD):
Stocks (NVDA):
🔵 KEY FEATURES & USAGE
● FVGs Detection and Visualization:
The indicator detects bullish and bearish FVGs. Bullish FVG occur when there is significant buying, and order block is plotted below the FVG zone:
Conversely, bearish FVG are plotted with an order block above the zone, indicating potential resistance.
Traders can use these order blocks to anticipate price reactions when the market revisits these areas, making them ideal for setting up trades.
● FVG Filtering:
The indicator includes a FVG % filter that allows traders to only display strong order blocks. This ensures that only significant FVG order blocks are shown, reducing noise and focusing on the most impactful areas.
● Highlighting Broken Levels:
When an imbalance level is broken—either breached by price action or no longer relevant—the indicator can either delete the level or mark it with a gray color areas. This provides a clear visual cue that the level has been compromised, allowing traders to adjust their strategies accordingly.
● Order Blocks Signals:
When price retest the blocks, indicator display potential sell or buy signals. Which can be an opportunity for trades
🔵 CUSTOMIZATION
● FVG Filter:
Adjust the strength filter to control which FVGs are displayed based on their percentage size. This filter helps in focusing only on significant blocks that are likely to impact price action.
● Order Blocks Amount Displayed:
Set the maximum number of Order Blocks to be displayed on the chart. This customization helps keep the chart clean and ensures that only the most important blocks are in view.
● Broken Order Blocks Display:
Choose whether to display order blocks that have been broken by the price. This feature helps in maintaining a focus on blocks that are still valid while filtering out those that are no longer relevant.
● Color Customization:
You can customize the colors for bullish and bearish Order Blocks to match your chart's overall color scheme. Additionally, strength bars can be color-coded based on their percentage to quickly identify high-priority order blocks.
Traders who are confident in the settings of the indicator can confidently use it on various types of markets
FVG Sessions [LuxAlgo]The FVG Sessions indicator highlights the first fair value gap of the trading session as well as the session range. Detected fair value gaps extend to the end of the trading session.
Alerts are included on the formation of a session fair value gap, price being within a session fair value gap, mitigations, and price crossing session fair value gaps average.
🔶 USAGE
Trader ICT states that the first fair value gap of the trading session can attract the most significant reaction. Having only one FVG per session allows users to further focus on that precise imbalance as well as external elements.
The mitigation of a fair value gap is clearly indicated on the chart with a more transparent color allowing users to see inverse FVGs.
Extending the fair value gaps allows the imbalance area to provide potential support and resistance.
Do note that this script should be used on intraday charts.
🔶 ALERTS
The script includes the following alerts:
🔹 Bullish/Bearish FVG
Alerts on the formation of the first bullish or bearish FVG of the session.
🔹 Bullish/Bearish FVG Mitigation
Alerts when the first bullish or bearish FVG of the session is mitigated.
🔹 Price Within FVG
Alerts when price is within the first bullish or bearish FVG area of the session.
🔹 Price Cross FVG Average
Alerts when price cross the average level of the first bullish or bearish FVG of the session.
[FrizLabz] FVGFVG indicator --
Allows your Charts to stay CLEAN for your T.A. by plotting the FVGs on top of the Candles inside of its Borders
FVGs can also be turned off and you can Remove the Bar Color only
Each FVG has a tooltip that you can hover your mouse over to get the (Type of FVG, Size, Top, Middle, Bottom, Time)
FVGs Using Plots so that they go all the way back in history you can have more than 500 on the chart
Uses 4 Plots to achieve this 4 are used to prevent the fill() from carrying over to the next bar if there are 2 FVGs
Can remove Bar Color - Theres no option to change Bar Color because it will cover up the FVG
Hope you guys Enjoy,
FVG [TakingProphets]🧠 Purpose
This indicator is built for traders applying Inner Circle Trader (ICT) methodology. It detects and manages Fair Value Gaps (FVGs) — price imbalances that often act as future reaction zones. It also highlights New Day Opening Gaps (NDOGs) and New Week Opening Gaps (NWOGs) that frequently play a role in early-session price behavior.
📚 What is a Fair Value Gap?
A Fair Value Gap forms when price moves rapidly, skipping over a portion of the chart between three candles — typically between the high of the first candle and the low of the third. These zones are considered inefficient, meaning institutions may return to them later to:
-Rebalance unfilled orders
-Enter or scale into positions
-Engineer liquidity with minimal slippage
In ICT methodology, FVGs are seen as both entry zones and targets, depending on market structure and context.
⚙️ How It Works
-This script automatically identifies and manages valid FVGs using the following logic:
-Bullish FVGs: When the low of the current candle is above the high from two candles ago
-Bearish FVGs: When the high of the current candle is below the body of two candles ago
-Minimum Gap Filter: Gaps must be larger than 0.05% of price
-Combine Consecutive Gaps (optional): Merges adjacent gaps of the same type
-Consequent Encroachment Line (optional): Plots the midpoint of each gap
-NDOG/NWOG Tracking: Labels gaps created during the 5–6 PM session transition
-Automatic Invalidation: Gaps are removed once price closes beyond their boundary
🎯 Practical Use
-Use unmitigated FVGs as potential entry points or targets
-Monitor NDOG and NWOG for context around daily or weekly opens
-Apply the midpoint (encroachment) line for precise execution decisions
-Let the script handle cleanup — only active, relevant zones remain visible
🎨 Customization
-Control colors for bullish, bearish, and opening gaps
-Toggle FVG borders and midpoint lines
-Enable or disable combining of consecutive gaps
-Fully automated zone management, no manual intervention required
✅ Summary
This tool offers a clear, rules-based approach to identifying price inefficiencies rooted in ICT methodology. Whether used for intraday or swing trading, it helps traders stay focused on valid, active Fair Value Gaps while filtering out noise and maintaining chart clarity.