FvgPanel█ OVERVIEW
This library provides functionalities for creating and managing a display panel within a Pine Script™ indicator. Its primary purpose is to offer a structured way to present Fair Value Gap (FVG) information, specifically the nearest bullish and bearish FVG levels across different timeframes (Current, MTF, HTF), directly on the chart. The library handles the table's structure, header initialization, and dynamic cell content updates.
█ CONCEPTS
The core of this library revolves around presenting summarized FVG data in a clear, tabular format. Key concepts include:
FVG Data Aggregation and Display
The panel is designed to show at-a-glance information about the closest active FVG mitigation levels. It doesn't calculate these FVGs itself but relies on the main script to provide this data. The panel is structured with columns for timeframes (TF), Bullish FVGs, and Bearish FVGs, and rows for "Current" (LTF), "MTF" (Medium Timeframe), and "HTF" (High Timeframe).
The `panelData` User-Defined Type (UDT)
To facilitate the transfer of information to be displayed, the library defines a UDT named `panelData`. This structure is central to the library's operation and is designed to hold all necessary values for populating the panel's data cells for each relevant FVG. Its fields include:
Price levels for the nearest bullish and bearish FVGs for LTF, MTF, and HTF (e.g., `nearestBullMitLvl`, `nearestMtfBearMitLvl`).
Boolean flags to indicate if these FVGs are classified as "Large Volume" (LV) (e.g., `isNearestBullLV`, `isNearestMtfBearLV`).
Color information for the background and text of each data cell, allowing for conditional styling based on the FVG's status or proximity (e.g., `ltfBullBgColor`, `mtfBearTextColor`).
The design of `panelData` allows the main script to prepare all display-related data and styling cues in one object, which is then passed to the `updatePanel` function for rendering. This separation of data preparation and display logic keeps the library focused on its presentation task.
Visual Cues and Formatting
Price Formatting: Price levels are formatted to match the instrument's minimum tick size using an internal `formatPrice` helper function, ensuring consistent and accurate display.
Large FVG Icon: If an FVG is marked as a "Large Volume" FVG in the `panelData` object, a user-specified icon (e.g., an emoji) is prepended to its price level in the panel, providing an immediate visual distinction.
Conditional Styling: The background and text colors for each FVG level displayed in the panel can be individually controlled via the `panelData` object, enabling the main script to implement custom styling rules (e.g., highlighting the overall nearest FVG across all timeframes).
Handling Missing Data: If no FVG data is available for a particular cell (i.e., the corresponding level in `panelData` is `na`), the panel displays "---" and uses a specified background color for "Not Available" cells.
█ CALCULATIONS AND USE
Using the `FvgPanel` typically involves a two-stage process: initialization and dynamic updates.
Step 1: Panel Creation
First, an instance of the panel table is created once, usually during the script's initial setup. This is done using the `createPanel` function.
Call `createPanel()` with parameters defining its position on the chart, border color, border width, header background color, header text color, and header text size.
This function initializes the table with three columns ("TF", "Bull FVG", "Bear FVG") and three data rows labeled "Current", "MTF", and "HTF", plus a header row.
Store the returned `table` object in a `var` variable to persist it across bars.
// Example:
var table infoPanel = na
if barstate.isfirst
infoPanel := panel.createPanel(
position.top_right,
color.gray,
1,
color.new(color.gray, 50),
color.white,
size.small
)
Step 2: Panel Updates
On each bar, or whenever the FVG data changes (typically on `barstate.islast` or `barstate.isrealtime` for efficiency), the panel's content needs to be refreshed. This is done using the `updatePanel` function.
Populate an instance of the `panelData` UDT with the latest FVG information. This includes setting the nearest bullish/bearish mitigation levels for LTF, MTF, and HTF, their LV status, and their desired background and text colors.
Call `updatePanel()`, passing the persistent `table` object (from Step 1), the populated `panelData` object, the icon string for LV FVGs, the default text color for FVG levels, the background color for "N/A" cells, and the general text size for the data cells.
The `updatePanel` function will then clear previous data and fill the table cells with the new values and styles provided in the `panelData` object.
// Example (inside a conditional block like 'if barstate.islast'):
var panelData fvgDisplayData = panelData.new()
// ... (logic to populate fvgDisplayData fields) ...
// fvgDisplayData.nearestBullMitLvl = ...
// fvgDisplayData.ltfBullBgColor = ...
// ... etc.
if not na(infoPanel)
panel.updatePanel(
infoPanel,
fvgDisplayData,
"🔥", // LV FVG Icon
color.white,
color.new(color.gray, 70), // NA Cell Color
size.small
)
This workflow ensures that the panel is drawn only once and its cells are efficiently updated as new data becomes available.
█ NOTES
Data Source: This library is solely responsible for the visual presentation of FVG data in a table. It does not perform any FVG detection or calculation. The calling script must compute or retrieve the FVG levels, LV status, and desired styling to populate the `panelData` object.
Styling Responsibility: While `updatePanel` applies colors passed via the `panelData` object, the logic for *determining* those colors (e.g., highlighting the closest FVG to the current price) resides in the calling script.
Performance: The library uses `table.cell()` to update individual cells, which is generally more efficient than deleting and recreating the table on each update. However, the frequency of `updatePanel` calls should be managed by the main script (e.g., using `barstate.islast` or `barstate.isrealtime`) to avoid excessive processing on historical bars.
`series float` Handling: The price level fields within the `panelData` UDT (e.g., `nearestBullMitLvl`) can accept `series float` values, as these are typically derived from price data. The internal `formatPrice` function correctly handles `series float` for display.
Dependencies: The `FvgPanel` itself is self-contained and does not import other user libraries. It uses standard Pine Script™ table and string functionalities.
█ EXPORTED TYPES
panelData
Represents the data structure for populating the FVG information panel.
Fields:
nearestBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point (bottom for bull) on the LTF.
isNearestBullLV (series bool) : True if the nearest bullish FVG on the LTF is a Large Volume FVG.
ltfBullBgColor (series color) : Background color for the LTF bullish FVG cell in the panel.
ltfBullTextColor (series color) : Text color for the LTF bullish FVG cell in the panel.
nearestBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point (top for bear) on the LTF.
isNearestBearLV (series bool) : True if the nearest bearish FVG on the LTF is a Large Volume FVG.
ltfBearBgColor (series color) : Background color for the LTF bearish FVG cell in the panel.
ltfBearTextColor (series color) : Text color for the LTF bearish FVG cell in the panel.
nearestMtfBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point on the MTF.
isNearestMtfBullLV (series bool) : True if the nearest bullish FVG on the MTF is a Large Volume FVG.
mtfBullBgColor (series color) : Background color for the MTF bullish FVG cell.
mtfBullTextColor (series color) : Text color for the MTF bullish FVG cell.
nearestMtfBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point on the MTF.
isNearestMtfBearLV (series bool) : True if the nearest bearish FVG on the MTF is a Large Volume FVG.
mtfBearBgColor (series color) : Background color for the MTF bearish FVG cell.
mtfBearTextColor (series color) : Text color for the MTF bearish FVG cell.
nearestHtfBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point on the HTF.
isNearestHtfBullLV (series bool) : True if the nearest bullish FVG on the HTF is a Large Volume FVG.
htfBullBgColor (series color) : Background color for the HTF bullish FVG cell.
htfBullTextColor (series color) : Text color for the HTF bullish FVG cell.
nearestHtfBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point on the HTF.
isNearestHtfBearLV (series bool) : True if the nearest bearish FVG on the HTF is a Large Volume FVG.
htfBearBgColor (series color) : Background color for the HTF bearish FVG cell.
htfBearTextColor (series color) : Text color for the HTF bearish FVG cell.
█ EXPORTED FUNCTIONS
createPanel(position, borderColor, borderWidth, headerBgColor, headerTextColor, headerTextSize)
Creates and initializes the FVG information panel (table). Sets up the header rows and timeframe labels.
Parameters:
position (simple string) : The position of the panel on the chart (e.g., position.top_right). Uses position.* constants.
borderColor (simple color) : The color of the panel's border.
borderWidth (simple int) : The width of the panel's border.
headerBgColor (simple color) : The background color for the header cells.
headerTextColor (simple color) : The text color for the header cells.
headerTextSize (simple string) : The text size for the header cells (e.g., size.small). Uses size.* constants.
Returns: The newly created table object representing the panel.
updatePanel(panelTable, data, lvIcon, defaultTextColor, naCellColor, textSize)
Updates the content of the FVG information panel with the latest FVG data.
Parameters:
panelTable (table) : The table object representing the panel to be updated.
data (panelData) : An object containing the FVG data to display.
lvIcon (simple string) : The icon (e.g., emoji) to display next to Large Volume FVGs.
defaultTextColor (simple color) : The default text color for FVG levels if not highlighted.
naCellColor (simple color) : The background color for cells where no FVG data is available ("---").
textSize (simple string) : The text size for the FVG level data (e.g., size.small).
Returns: _void
Fvg
FvgCalculations█ OVERVIEW
This library provides the core calculation engine for identifying Fair Value Gaps (FVGs) across different timeframes and for processing their interaction with price. It includes functions to detect FVGs on both the current chart and higher timeframes, as well as to check for their full or partial mitigation.
█ CONCEPTS
The library's primary functions revolve around the concept of Fair Value Gaps and their lifecycle.
Fair Value Gap (FVG) Identification
An FVG, or imbalance, represents a price range where buying or selling pressure was significant enough to cause a rapid price movement, leaving an "inefficiency" in the market. This library identifies FVGs based on three-bar patterns:
Bullish FVG: Forms when the low of the current bar (bar 3) is higher than the high of the bar two periods prior (bar 1). The FVG is the space between the high of bar 1 and the low of bar 3.
Bearish FVG: Forms when the high of the current bar (bar 3) is lower than the low of the bar two periods prior (bar 1). The FVG is the space between the low of bar 1 and the high of bar 3.
The library provides distinct functions for detecting FVGs on the current (Low Timeframe - LTF) and specified higher timeframes (Medium Timeframe - MTF / High Timeframe - HTF).
FVG Mitigation
Mitigation refers to price revisiting an FVG.
Full Mitigation: An FVG is considered fully mitigated when price completely closes the gap. For a bullish FVG, this occurs if the current low price moves below or touches the FVG's bottom. For a bearish FVG, it occurs if the current high price moves above or touches the FVG's top.
Partial Mitigation (Entry/Fill): An FVG is partially mitigated when price enters the FVG's range but does not fully close it. The library tracks the extent of this fill. For a bullish FVG, if the current low price enters the FVG from above, that low becomes the new effective top of the remaining FVG. For a bearish FVG, if the current high price enters the FVG from below, that high becomes the new effective bottom of the remaining FVG.
FVG Interaction
This refers to any instance where the current bar's price range (high to low) touches or crosses into the currently unfilled portion of an active (visible and not fully mitigated) FVG.
Multi-Timeframe Data Acquisition
To detect FVGs on higher timeframes, specific historical bar data (high, low, and time of bars at indices and relative to the higher timeframe's last completed bar) is required. The requestMultiTFBarData function is designed to fetch this data efficiently.
█ CALCULATIONS AND USE
The functions in this library are typically used in a sequence to manage FVGs:
1. Data Retrieval (for MTF/HTF FVGs):
Call requestMultiTFBarData() with the desired higher timeframe string (e.g., "60", "D").
This returns a tuple of htfHigh1, htfLow1, htfTime1, htfHigh3, htfLow3, htfTime3.
2. FVG Detection:
For LTF FVGs: Call detectFvg() on each confirmed bar. It uses high , low, low , and high along with barstate.isconfirmed.
For MTF/HTF FVGs: Call detectMultiTFFvg() using the data obtained from requestMultiTFBarData().
Both detection functions return an fvgObject (defined in FvgTypes) if an FVG is found, otherwise na. They also can classify FVGs as "Large Volume" (LV) if classifyLV is true and the FVG size (top - bottom) relative to the tfAtr (Average True Range of the respective timeframe) meets the lvAtrMultiplier.
3. FVG State Updates (on each new bar for existing FVGs):
First, check for overall price interaction using fvgInteractionCheck(). This function determines if the current bar's high/low has touched or entered the FVG's currentTop or currentBottom.
If interaction occurs and the FVG is not already mitigated:
Call checkMitigation() to determine if the FVG has been fully mitigated by the current bar's currentHigh and currentLow. If true, the FVG's isMitigated status is updated.
If not fully mitigated, call checkPartialMitigation() to see if the price has further entered the FVG. This function returns the newLevel to which the FVG has been filled (e.g., currentLow for a bullish FVG, currentHigh for bearish). This newLevel is then used to update the FVG's currentTop or currentBottom.
The calling script (e.g., fvgMain.c) is responsible for storing and managing the array of fvgObject instances and passing them to these update functions.
█ NOTES
Bar State for LTF Detection: The detectFvg() function relies on barstate.isconfirmed to ensure FVG detection is based on closed bars, preventing FVGs from being detected prematurely on the currently forming bar.
Higher Timeframe Data (lookahead): The requestMultiTFBarData() function uses lookahead = barmerge.lookahead_on. This means it can access historical data from the higher timeframe that corresponds to the current bar on the chart, even if the higher timeframe bar has not officially closed. This is standard for multi-timeframe analysis aiming to plot historical HTF data accurately on a lower timeframe chart.
Parameter Typing: Functions like detectMultiTFFvg and detectFvg infer the type for boolean (classifyLV) and numeric (lvAtrMultiplier) parameters passed from the main script, while explicitly typed series parameters (like htfHigh1, currentAtr) expect series data.
fvgObject Dependency: The FVG detection functions return fvgObject instances, and fvgInteractionCheck takes an fvgObject as a parameter. This UDT is defined in the FvgTypes library, making it a dependency for using FvgCalculations.
ATR for LV Classification: The tfAtr (for MTF/HTF) and currentAtr (for LTF) parameters are expected to be the Average True Range values for the respective timeframes. These are used, if classifyLV is enabled, to determine if an FVG's size qualifies it as a "Large Volume" FVG based on the lvAtrMultiplier.
MTF/HTF FVG Appearance Timing: When displaying FVGs from a higher timeframe (MTF/HTF) on a lower timeframe (LTF) chart, users might observe that the most recent MTF/HTF FVG appears one LTF bar later compared to its appearance on a native MTF/HTF chart. This is an expected behavior due to the detection mechanism in `detectMultiTFFvg`. This function uses historical bar data from the MTF/HTF (specifically, data equivalent to `HTF_bar ` and `HTF_bar `) to identify an FVG. Therefore, all three bars forming the FVG on the MTF/HTF must be fully closed and have shifted into these historical index positions relative to the `request.security` call from the LTF chart before the FVG can be detected and displayed on the LTF. This ensures that the MTF/HTF FVG is identified based on confirmed, closed bars from the higher timeframe.
█ EXPORTED FUNCTIONS
requestMultiTFBarData(timeframe)
Requests historical bar data for specific previous bars from a specified higher timeframe.
It fetches H , L , T (for the bar before last) and H , L , T (for the bar three periods prior)
from the requested timeframe.
This is typically used to identify FVG patterns on MTF/HTF.
Parameters:
timeframe (simple string) : The higher timeframe to request data from (e.g., "60" for 1-hour, "D" for Daily).
Returns: A tuple containing: .
- htfHigh1 (series float): High of the bar at index 1 (one bar before the last completed bar on timeframe).
- htfLow1 (series float): Low of the bar at index 1.
- htfTime1 (series int) : Time of the bar at index 1.
- htfHigh3 (series float): High of the bar at index 3 (three bars before the last completed bar on timeframe).
- htfLow3 (series float): Low of the bar at index 3.
- htfTime3 (series int) : Time of the bar at index 3.
detectMultiTFFvg(htfHigh1, htfLow1, htfTime1, htfHigh3, htfLow3, htfTime3, tfAtr, classifyLV, lvAtrMultiplier, tfType)
Detects a Fair Value Gap (FVG) on a higher timeframe (MTF/HTF) using pre-fetched bar data.
Parameters:
htfHigh1 (float) : High of the first relevant bar (typically high ) from the higher timeframe.
htfLow1 (float) : Low of the first relevant bar (typically low ) from the higher timeframe.
htfTime1 (int) : Time of the first relevant bar (typically time ) from the higher timeframe.
htfHigh3 (float) : High of the third relevant bar (typically high ) from the higher timeframe.
htfLow3 (float) : Low of the third relevant bar (typically low ) from the higher timeframe.
htfTime3 (int) : Time of the third relevant bar (typically time ) from the higher timeframe.
tfAtr (float) : ATR value for the higher timeframe, used for Large Volume (LV) FVG classification.
classifyLV (bool) : If true, FVGs will be assessed to see if they qualify as Large Volume.
lvAtrMultiplier (float) : The ATR multiplier used to define if an FVG is Large Volume.
tfType (series tfType enum from no1x/FvgTypes/1) : The timeframe type (e.g., types.tfType.MTF, types.tfType.HTF) of the FVG being detected.
Returns: An fvgObject instance if an FVG is detected, otherwise na.
detectFvg(classifyLV, lvAtrMultiplier, currentAtr)
Detects a Fair Value Gap (FVG) on the current (LTF - Low Timeframe) chart.
Parameters:
classifyLV (bool) : If true, FVGs will be assessed to see if they qualify as Large Volume.
lvAtrMultiplier (float) : The ATR multiplier used to define if an FVG is Large Volume.
currentAtr (float) : ATR value for the current timeframe, used for LV FVG classification.
Returns: An fvgObject instance if an FVG is detected, otherwise na.
checkMitigation(isBullish, fvgTop, fvgBottom, currentHigh, currentLow)
Checks if an FVG has been fully mitigated by the current bar's price action.
Parameters:
isBullish (bool) : True if the FVG being checked is bullish, false if bearish.
fvgTop (float) : The top price level of the FVG.
fvgBottom (float) : The bottom price level of the FVG.
currentHigh (float) : The high price of the current bar.
currentLow (float) : The low price of the current bar.
Returns: True if the FVG is considered fully mitigated, false otherwise.
checkPartialMitigation(isBullish, currentBoxTop, currentBoxBottom, currentHigh, currentLow)
Checks for partial mitigation of an FVG by the current bar's price action.
It determines if the price has entered the FVG and returns the new fill level.
Parameters:
isBullish (bool) : True if the FVG being checked is bullish, false if bearish.
currentBoxTop (float) : The current top of the FVG box (this might have been adjusted by previous partial fills).
currentBoxBottom (float) : The current bottom of the FVG box (similarly, might be adjusted).
currentHigh (float) : The high price of the current bar.
currentLow (float) : The low price of the current bar.
Returns: The new price level to which the FVG has been filled (e.g., currentLow for a bullish FVG).
Returns na if no new partial fill occurred on this bar.
fvgInteractionCheck(fvg, highVal, lowVal)
Checks if the current bar's price interacts with the given FVG.
Interaction means the price touches or crosses into the FVG's
current (possibly partially filled) range.
Parameters:
fvg (fvgObject type from no1x/FvgTypes/1) : The FVG object to check.
Its isMitigated, isVisible, isBullish, currentTop, and currentBottom fields are used.
highVal (float) : The high price of the current bar.
lowVal (float) : The low price of the current bar.
Returns: True if price interacts with the FVG, false otherwise.
FvgTypes█ OVERVIEW
This library serves as a foundational module for Pine Script™ projects focused on Fair Value Gaps (FVGs). Its primary purpose is to define and centralize custom data structures (User-Defined Types - UDTs) and enumerations that are utilized across various components of an FVG analysis system. By providing standardized types for FVG characteristics and drawing configurations, it promotes code consistency, readability, and easier maintenance within a larger FVG indicator or strategy.
█ CONCEPTS
The library introduces several key data structures (User-Defined Types - UDTs) and an enumeration to organize Fair Value Gap (FVG) related data logically. These types are central to the functioning of FVG analysis tools built upon this library.
Timeframe Categorization (`tfType` Enum)
To manage and differentiate FVGs based on their timeframe of origin, the `tfType` enumeration is defined. It includes:
`LTF`: Low Timeframe (typically the current chart).
`MTF`: Medium Timeframe.
`HTF`: High Timeframe.
This allows for distinct logic and visual settings to be applied depending on the FVG's source timeframe.
FVG Data Encapsulation (`fvgObject` UDT)
The `fvgObject` is a comprehensive UDT designed to encapsulate all pertinent information and state for an individual Fair Value Gap throughout its lifecycle. Instead of listing every field, its conceptual structure can be understood as holding:
Core Definition: The FVG's fundamental price levels (top, bottom) and its formation time (`startTime`).
Classification Attributes: Characteristics such as its direction (`isBullish`) and whether it qualifies as a Large Volume FVG (`isLV`), along with its originating timeframe category (`tfType`).
Lifecycle State: Current status indicators including full mitigation (`isMitigated`, `mitigationTime`), partial fill levels (`currentTop`, `currentBottom`), midline interaction (`isMidlineTouched`), and overall visibility (`isVisible`).
Drawing Identifiers: References (`boxId`, `midLineId`, `mitLineLabelId`, etc.) to the actual graphical objects drawn on the chart to represent the FVG and its components.
Optimization Cache: Previous-bar state values (`prevIsMitigated`, `prevCurrentTop`, etc.) crucial for optimizing drawing updates by avoiding redundant operations.
This comprehensive structure facilitates easy access to all FVG-related information through a single object, reducing code complexity and improving manageability.
Drawing Configuration (`drawSettings` UDT)
The `drawSettings` UDT centralizes all user-configurable parameters that dictate the visual appearance of FVGs across different timeframes. It's typically populated from script inputs and conceptually groups settings for:
General Behavior: Global FVG classification toggles (e.g., `shouldClassifyLV`) and general display rules (e.g., `shouldHideMitigated`).
FVG Type Specific Colors: Colors for standard and Large Volume FVGs, both active and mitigated (e.g., `lvBullColor`, `mitigatedBearBoxColor`).
Timeframe-Specific Visuals (LTF, MTF, HTF): Detailed parameters for each timeframe category, covering FVG boxes (visibility, colors, extension, borders, labels), midlines (visibility, style, color), and mitigation lines (visibility, style, color, labels, persistence after mitigation).
Contextual Information: The current bar's time (`currentTime`) for accurate positioning of time-dependent drawing elements and timeframe display strings (`tfString`, `mtfTfString`, `htfTfString`).
This centralized approach allows for extensive customization of FVG visuals and simplifies the management of drawing parameters within the main script. Such centralization also enhances the maintainability of the visual aspects of the FVG system.
█ NOTES
User-Defined Types (UDTs): This library extensively uses UDTs (`fvgObject`, `drawSettings`) to group related data. This improves code organization and makes it easier to pass complex data between functions and libraries.
Mutability and Reference Behavior of UDTs: When UDT instances are passed to functions or methods in other libraries (like `fvgObjectLib`), those functions might modify the fields of the passed object if they are not explicitly designed to return new instances. This is because UDTs are passed by reference and are mutable in Pine Script™. Users should be aware of this standard behavior to prevent unintended side effects.
Optimization Fields: The `prev_*` fields in `fvgObject` are crucial for performance optimization in the drawing logic. They help avoid unnecessary redrawing of FVG elements if their state or relevant settings haven't changed.
No Direct Drawing Logic: `FvgTypes` itself does not contain any drawing logic. It solely defines the data structures. The actual drawing and manipulation of these objects are handled by other libraries (e.g., `fvgObjectLib`).
Centralized Definitions: By defining these types in a separate library, any changes to the structure of FVG data or settings can be made in one place, ensuring consistency across all dependent scripts and libraries.
█ EXPORTED TYPES
fvgObject
fvgObject Represents a Fair Value Gap (FVG) object.
Fields:
top (series float) : The top price level of the FVG.
bottom (series float) : The bottom price level of the FVG.
startTime (series int) : The start time (timestamp) of the bar where the FVG formed.
isBullish (series bool) : Indicates if the FVG is bullish (true) or bearish (false).
isLV (series bool) : Indicates if the FVG is a Large Volume FVG.
tfType (series tfType) : The timeframe type (LTF, MTF, HTF) to which this FVG belongs.
isMitigated (series bool) : Indicates if the FVG has been fully mitigated.
mitigationTime (series int) : The time (timestamp) when the FVG was mitigated.
isVisible (series bool) : The current visibility status of the FVG, typically managed by drawing logic based on filters.
isMidlineTouched (series bool) : Indicates if the price has touched the FVG's midline (50% level).
currentTop (series float) : The current top level of the FVG after partial fills.
currentBottom (series float) : The current bottom level of the FVG after partial fills.
boxId (series box) : The drawing ID for the main FVG box.
mitigatedBoxId (series box) : The drawing ID for the box representing the partially filled (mitigated) area.
midLineId (series line) : The drawing ID for the FVG's midline.
mitLineId (series line) : The drawing ID for the FVG's mitigation line.
boxLabelId (series label) : The drawing ID for the FVG box label.
mitLineLabelId (series label) : The drawing ID for the mitigation line label.
testedBoxId (series box) : The drawing ID for the box of a fully mitigated (tested) FVG, if kept visible.
keptMitLineId (series line) : The drawing ID for a mitigation line that is kept after full mitigation.
prevIsMitigated (series bool) : Stores the isMitigated state from the previous bar for optimization.
prevCurrentTop (series float) : Stores the currentTop value from the previous bar for optimization.
prevCurrentBottom (series float) : Stores the currentBottom value from the previous bar for optimization.
prevIsVisible (series bool) : Stores the visibility status from the previous bar for optimization (derived from isVisibleNow passed to updateDrawings).
prevIsMidlineTouched (series bool) : Stores the isMidlineTouched status from the previous bar for optimization.
drawSettings
drawSettings A structure containing settings for drawing FVGs.
Fields:
shouldClassifyLV (series bool) : Whether to classify FVGs as Large Volume (LV) based on ATR.
shouldHideMitigated (series bool) : Whether to hide FVG boxes once they are fully mitigated.
currentTime (series int) : The current bar's time, used for extending drawings.
lvBullColor (series color) : Color for Large Volume Bullish FVGs.
mitigatedLvBullColor (series color) : Color for mitigated Large Volume Bullish FVGs.
lvBearColor (series color) : Color for Large Volume Bearish FVGs.
mitigatedLvBearColor (series color) : Color for mitigated Large Volume Bearish FVGs.
shouldShowBoxes (series bool) : Whether to show FVG boxes for the LTF.
bullBoxColor (series color) : Color for LTF Bullish FVG boxes.
mitigatedBullBoxColor (series color) : Color for mitigated LTF Bullish FVG boxes.
bearBoxColor (series color) : Color for LTF Bearish FVG boxes.
mitigatedBearBoxColor (series color) : Color for mitigated LTF Bearish FVG boxes.
boxLengthBars (series int) : Length of LTF FVG boxes in bars (if not extended).
shouldExtendBoxes (series bool) : Whether to extend LTF FVG boxes to the right.
shouldShowCurrentTfBoxLabels (series bool) : Whether to show labels on LTF FVG boxes.
shouldShowBoxBorder (series bool) : Whether to show a border for LTF FVG boxes.
boxBorderWidth (series int) : Border width for LTF FVG boxes.
boxBorderStyle (series string) : Border style for LTF FVG boxes (e.g., line.style_solid).
boxBorderColor (series color) : Border color for LTF FVG boxes.
shouldShowMidpoint (series bool) : Whether to show the midline (50% level) for LTF FVGs.
midLineWidthInput (series int) : Width of the LTF FVG midline.
midpointLineStyleInput (series string) : Style of the LTF FVG midline.
midpointColorInput (series color) : Color of the LTF FVG midline.
shouldShowMitigationLine (series bool) : Whether to show the mitigation line for LTF FVGs.
(Line always extends if shown)
mitLineWidthInput (series int) : Width of the LTF FVG mitigation line.
mitigationLineStyleInput (series string) : Style of the LTF FVG mitigation line.
mitigationLineColorInput (series color) : Color of the LTF FVG mitigation line.
shouldShowCurrentTfMitLineLabels (series bool) : Whether to show labels on LTF FVG mitigation lines.
currentTfMitLineLabelOffsetX (series float) : The horizontal offset value for the LTF mitigation line's label.
shouldKeepMitigatedLines (series bool) : Whether to keep showing mitigation lines of fully mitigated LTF FVGs.
mitigatedMitLineColor (series color) : Color for kept mitigation lines of mitigated LTF FVGs.
tfString (series string) : Display string for the LTF (e.g., "Current TF").
shouldShowMtfBoxes (series bool) : Whether to show FVG boxes for the MTF.
mtfBullBoxColor (series color) : Color for MTF Bullish FVG boxes.
mtfMitigatedBullBoxColor (series color) : Color for mitigated MTF Bullish FVG boxes.
mtfBearBoxColor (series color) : Color for MTF Bearish FVG boxes.
mtfMitigatedBearBoxColor (series color) : Color for mitigated MTF Bearish FVG boxes.
mtfBoxLengthBars (series int) : Length of MTF FVG boxes in bars (if not extended).
shouldExtendMtfBoxes (series bool) : Whether to extend MTF FVG boxes to the right.
shouldShowMtfBoxLabels (series bool) : Whether to show labels on MTF FVG boxes.
shouldShowMtfBoxBorder (series bool) : Whether to show a border for MTF FVG boxes.
mtfBoxBorderWidth (series int) : Border width for MTF FVG boxes.
mtfBoxBorderStyle (series string) : Border style for MTF FVG boxes.
mtfBoxBorderColor (series color) : Border color for MTF FVG boxes.
shouldShowMtfMidpoint (series bool) : Whether to show the midline for MTF FVGs.
mtfMidLineWidthInput (series int) : Width of the MTF FVG midline.
mtfMidpointLineStyleInput (series string) : Style of the MTF FVG midline.
mtfMidpointColorInput (series color) : Color of the MTF FVG midline.
shouldShowMtfMitigationLine (series bool) : Whether to show the mitigation line for MTF FVGs.
(Line always extends if shown)
mtfMitLineWidthInput (series int) : Width of the MTF FVG mitigation line.
mtfMitigationLineStyleInput (series string) : Style of the MTF FVG mitigation line.
mtfMitigationLineColorInput (series color) : Color of the MTF FVG mitigation line.
shouldShowMtfMitLineLabels (series bool) : Whether to show labels on MTF FVG mitigation lines.
mtfMitLineLabelOffsetX (series float) : The horizontal offset value for the MTF mitigation line's label.
shouldKeepMtfMitigatedLines (series bool) : Whether to keep showing mitigation lines of fully mitigated MTF FVGs.
mtfMitigatedMitLineColor (series color) : Color for kept mitigation lines of mitigated MTF FVGs.
mtfTfString (series string) : Display string for the MTF (e.g., "MTF").
shouldShowHtfBoxes (series bool) : Whether to show FVG boxes for the HTF.
htfBullBoxColor (series color) : Color for HTF Bullish FVG boxes.
htfMitigatedBullBoxColor (series color) : Color for mitigated HTF Bullish FVG boxes.
htfBearBoxColor (series color) : Color for HTF Bearish FVG boxes.
htfMitigatedBearBoxColor (series color) : Color for mitigated HTF Bearish FVG boxes.
htfBoxLengthBars (series int) : Length of HTF FVG boxes in bars (if not extended).
shouldExtendHtfBoxes (series bool) : Whether to extend HTF FVG boxes to the right.
shouldShowHtfBoxLabels (series bool) : Whether to show labels on HTF FVG boxes.
shouldShowHtfBoxBorder (series bool) : Whether to show a border for HTF FVG boxes.
htfBoxBorderWidth (series int) : Border width for HTF FVG boxes.
htfBoxBorderStyle (series string) : Border style for HTF FVG boxes.
htfBoxBorderColor (series color) : Border color for HTF FVG boxes.
shouldShowHtfMidpoint (series bool) : Whether to show the midline for HTF FVGs.
htfMidLineWidthInput (series int) : Width of the HTF FVG midline.
htfMidpointLineStyleInput (series string) : Style of the HTF FVG midline.
htfMidpointColorInput (series color) : Color of the HTF FVG midline.
shouldShowHtfMitigationLine (series bool) : Whether to show the mitigation line for HTF FVGs.
(Line always extends if shown)
htfMitLineWidthInput (series int) : Width of the HTF FVG mitigation line.
htfMitigationLineStyleInput (series string) : Style of the HTF FVG mitigation line.
htfMitigationLineColorInput (series color) : Color of the HTF FVG mitigation line.
shouldShowHtfMitLineLabels (series bool) : Whether to show labels on HTF FVG mitigation lines.
htfMitLineLabelOffsetX (series float) : The horizontal offset value for the HTF mitigation line's label.
shouldKeepHtfMitigatedLines (series bool) : Whether to keep showing mitigation lines of fully mitigated HTF FVGs.
htfMitigatedMitLineColor (series color) : Color for kept mitigation lines of mitigated HTF FVGs.
htfTfString (series string) : Display string for the HTF (e.g., "HTF").
FVG Candle HighlighterThis indicator highlights only the true Fair Value Gap (FVG) creator candle — the middle candle in a 3-bar FVG formation — with zero clutter.
🔹 Bullish FVG: Candle is colored if price gaps above the high two bars back
🔹 Bearish FVG: Candle is colored if price gaps below the low two bars back
✨ No boxes. No zones. Just pure, visual price-action accuracy.
🔧 Powered by Pine Script v6
🧠 Based on institutional-style FVG logic
🎯 Ideal for Smart Money / ICT / Order Block strategies
Balanced Price Range | Flux Charts💎 GENERAL OVERVIEW
Introducing our new Balanced Price Range (BPR) indicator! A Balanced Price Range is a trading concept used by price action traders. It is detected by finding overlapping area between two contrary Fair Value Gaps (FVGs). These areas can be used as entry points during market pullbacks. For more information about the process, please check the "HOW DOES IT WORK ?" section.
Balanced Price Range Features :
Balanced Price Range Detection : Identifies areas where bullish and bearish FVGs overlap, suggesting a zone of price equilibrium.
Customizable FVG & BPR Detection : You can fine-tune FVG detection and sensitivity for BPR detection to your liking.
Retest Labels : Bullish & Bearish retest labels will be rendered for BPRs.
Alerts : You can set alerts for Bullish & Bearish BPR detection and their retests.
🚩 UNIQUENESS
This indicator doesn't just detect standard FVGs but specifically looks for areas where bullish and bearish IFVGs (Invalidated Fair Value Gaps) overlap, defining a Balanced Price Range. It also actively manages and updates identified BPR zones, removing them when they are invalidated or remain untouched for a specified period. It highlights and alerts users to retests of established BPR zones, signaling potential trading opportunities. Users can tailor the appearance of the BPR zones and retest markers, as well as configure specific alerts for new BPR formations and retests.
📌 HOW DOES IT WORK ?
A Fair Value Gap generally occur when there is an imbalance in the market. They can be detected by specific formations within the chart. The indicator first detects bullish & bearish FVG zones according to their formations on chart. Then, they are dynamically tracked and flagged as invalidated if the price crosses them, turning them into IFVGs. When a FVG & IFVG of the same type overlaps, the indicator combines them into a single BPR of corresponding type. The detected BPR is updated as new data comes in, and renders retests labels as they occur. A bullish BPR can be used to find long trade entry opportunities, while a bearish BPR can be used to find short trade entry opportunities. Retests can also indicate potential movements in the corresponding direction of the BPR. Users can set-up alerts for BPR detection & BPR retests and will get notified as they occur.
⚙️ SETTINGS
Show Historic Zones: If enabled, invalidated or expired BPR zones will remain visible on the chart.
Balanced Price Range:
FVG Detection Method: Determines the criteria for the bar types forming the initial FVG.
Same: All three bars forming the FVG must be of the same type (all bullish or all bearish).
Mixed: The bar types must vary (a mix of bullish and bearish bars).
All: Bar types can vary or be the same.
FVG Invalidation Method: Determines which part of the candle (wick or close) invalidates the initial FVG.
BPR Invalidation Method: Determines which part of the candle (wick or close) invalidates the Balanced Price Range.
Sensitivity: Adjusts the sensitivity of FVG detection. Higher values may identify fewer, larger BPRs, while lower values may detect more, smaller BPRs.
Labels: Toggles the display of text labels on the identified zones.
Retests: Enables or disables the detection and visualization of BPR retests.
Time-Based Fair Value Gaps (FVG) with Inversions (iFVG)Overview
The Time-Based Fair Value Gaps (FVG) with Inversions (iFVG) (ICT/SMT) indicator is a specialized tool designed for traders using Inner Circle Trader (ICT) methodologies. Inspired by LuxAlgo's Fair Value Gap indicator, this script introduces significant enhancements by integrating ICT principles, focusing on precise time-based FVG detection, inversion tracking, and retest signals tailored for institutional trading strategies. Unlike LuxAlgo’s general FVG approach, this indicator filters FVGs within customizable 10-minute windows aligned with ICT’s macro timeframes and incorporates ICT-specific concepts like mitigation, liquidity grabs, and session-based gap prioritization.
This tool is optimized for 1–5 minute charts, though probably best for 1 minute charts, identifying bullish and bearish FVGs, tracking their mitigation into inverted FVGs (iFVGs) as key support/resistance zones, and generating retest signals with customizable “Close” or “Wick” confirmation. Features like ATR-based filtering, optional FVG labels, mitigation removal, and session-specific FVG detection (e.g., first FVG in AM/PM sessions) make it a powerful tool for ICT traders.
Originality and Improvements
While inspired by LuxAlgo’s FVG indicator (credit to LuxAlgo for their foundational work), this script significantly extends the original concept by:
1. Time-Based FVG Detection: Unlike LuxAlgo’s continuous FVG identification, this script filters FVGs within user-defined 10-minute windows each hour (:00–:10, :10–:20, etc.), aligning with ICT’s emphasis on specific periods of institutional activity, such as hourly opens/closes or kill zones (e.g., New York 7:00–11:00 AM EST). This ensures FVGs are relevant to high-probability ICT setups.
2. Session-Specific First FVG Option: A unique feature allows traders to display only the first FVG in ICT-defined AM (9:30–10:00 AM EST) or PM (1:30–2:00 PM EST) sessions, reflecting ICT’s focus on initial market imbalances during key liquidity events.
3. ICT-Driven Mitigation and Inversion Logic: The script tracks FVG mitigation (when price closes through a gap) and converts mitigated FVGs into iFVGs, which serve as ICT-style support/resistance zones. This aligns with ICT’s view that mitigated gaps become critical reversal points, unlike LuxAlgo’s simpler gap display.
4. Customizable Retest Signals: Retest signals for iFVGs are configurable for “Close” (conservative, requiring candle body confirmation) or “Wick” (faster, using highs/lows), catering to ICT traders’ need for precise entry timing during liquidity grabs or Judas swings.
5. ATR Filtering and Mitigation Removal: An optional ATR filter ensures only significant FVGs are displayed, reducing noise, while mitigation removal declutters the chart by removing filled gaps, aligning with ICT’s principle that mitigated gaps lose relevance unless inverted.
6. Timezone and Timeframe Safeguards: A timezone offset setting aligns FVG detection with EST for ICT’s New York-centric strategies, and a timeframe warning alerts users to avoid ≥1-hour charts, ensuring accuracy in time-based filtering.
These enhancements make the script a distinct tool that builds on LuxAlgo’s foundation while offering ICT traders a tailored, high-precision solution.
How It Works
FVG Detection
FVGs are identified when a candle’s low is higher than the high of two candles prior (bullish FVG) or a candle’s high is lower than the low of two candles prior (bearish FVG). Detection is restricted to:
• User-selected 10-minute windows (e.g., :00–:10, :50–:60) to capture ICT-relevant periods like hourly transitions.
• AM/PM session first FVGs (if enabled), focusing on 9:30–10:00 AM or 1:30–2:00 PM EST for key market opens.
An optional ATR filter (default: 0.25× ATR) ensures only gaps larger than the threshold are displayed, prioritizing significant imbalances.
Mitigation and Inversion
When price closes through an FVG (e.g., below a bullish FVG’s bottom), the FVG is mitigated and becomes an iFVG, plotted as a support/resistance zone. iFVGs are critical in ICT for identifying reversal points where institutional orders accumulate.
Retest Signals
The script generates signals when price retests an iFVG:
• Close: Triggers when the candle body confirms the retest (conservative, lower noise).
• Wick: Triggers when the candle’s high/low touches the iFVG (faster, higher sensitivity). Signals are visualized with triangular markers (▲ for bullish, ▼ for bearish) and can trigger alerts.
Visualization
• FVGs: Displayed as colored boxes (green for bullish, red for bearish) with optional “Bull FVG”/“Bear FVG” labels.
• iFVGs: Shown as extended boxes with dashed midlines, limited to the user-defined number of recent zones (default: 5).
• Mitigation Removal: Mitigated FVGs/iFVGs are removed (if enabled) to keep the chart clean.
How to Use
Recommended Settings
• Timeframe: Use 1–5 minute charts for precision, avoiding ≥1-hour timeframes (a warning label appears if misconfigured).
• Time Windows: Enable :00–:10 and :50–:60 for hourly open/close FVGs, or use the “Show only 1st presented FVG” option for AM/PM session focus.
• ATR Filter: Keep enabled (multiplier 0.25–0.5) for significant gaps; disable on 1-minute charts for more FVGs during volatility.
• Signal Preference: Use “Close” for conservative entries, “Wick” for aggressive setups.
• Timezone Offset: Set to -5 for EST (or -4 for EDT) to align with ICT’s New York session.
Trading Strategy
1. Macro Timeframes: Focus on New York (7:00–11:00 AM EST) or London (2:00–5:00 AM EST) kill zones for high institutional activity.
2. FVG Entries: Trade bullish FVGs as support in uptrends or bearish FVGs as resistance in downtrends, especially in :00–:10 or :50–:60 windows.
3. iFVG Retests: Enter on retest signals (▲/▼) during liquidity grabs or Judas swings, using “Close” for confirmation or “Wick” for speed.
4. Session FVGs: Use the “Show only 1st presented FVG” option to target the first gap in AM/PM sessions, often tied to ICT’s market maker algorithms.
5. Risk Management: Combine with ICT concepts like order blocks or breaker blocks for confluence, and set stops beyond FVG/iFVG boundaries.
Alerts
Set alerts for:
• “Bullish FVG Detected”/“Bearish FVG Detected”: New FVGs in selected windows.
• “Bullish Signal”/“Bearish Signal”: iFVG retest confirmations.
Settings Description
• Show Last (1–100, default: 5): Number of recent iFVGs to display. Lower values reduce clutter.
• Show only 1st presented FVG : Limits FVGs to the first in 9:30–10:00 AM or 1:30–2:00 PM EST sessions (overrides time window checkboxes).
• Time Window Checkboxes: Enable/disable FVG detection in 10-minute windows (:00–:10, :10–:20, etc.). All enabled by default.
• Signal Preference: “Close” (default) or “Wick” for iFVG retest signals.
• Use ATR Filter: Enables ATR-based size filtering (default: true).
• ATR Multiplier (0–∞, default: 0.25): Sets FVG size threshold (higher values = larger gaps).
• Remove Mitigated FVGs: Removes filled FVGs/iFVGs (default: true).
• Show FVG Labels: Displays “Bull FVG”/“Bear FVG” labels (default: true).
• Timezone Offset (-12 to 12, default: -5): Aligns time windows with EST.
• Colors: Customize bullish (green), bearish (red), and midline (gray) colors.
Why Use This Indicator?
This indicator empowers ICT traders with a tool that goes beyond generic FVG detection, offering precise, time-filtered gaps and inversion tracking aligned with institutional trading principles. By focusing on ICT’s macro timeframes, session-specific imbalances, and customizable signal logic, it provides a clear edge for scalping, swing trading, or reversal setups in high-liquidity markets.
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.
Smarter Money Concepts - MTF IFVGs [PhenLabs]📊 Smarter Money Concepts - MTF IFVG
Version: PineScript™ v6
📌 Description
This multi-timeframe indicator identifies Inverse Fair Value Gaps (IFVGs) and their inversions across simultaneous chart intervals, helping traders spot liquidity voids and potential reversal zones. By analyzing price action through the lens of institutional order flow patterns, it solves the problem of manual gap tracking across timeframes while incorporating volatility-adjusted parameters and psychological level analysis for higher-probability setups.
🚀 Points of Innovation
• Multi-Timeframe Engine - Simultaneous analysis of 3 higher timeframes
• Adaptive Parameters - Auto-adjusts to market volatility conditions
• Quality Scoring System - Ranks gaps using RVI strength and size metrics
• Inversion Tracking - Monitors failed gaps for counter-trend signals
• Render Optimization - Prevents chart clutter with smart gap management
🔧 Core Components
FVG Detection Logic: Identifies gaps using customizable price source (Close/Wick)
Inversion Tracker: Manages failed gaps and generates counter signals
Multi-Timeframe Engine: Processes 3 independent higher timeframe analyses
Dashboard System: Real-time display of active gaps across all timeframes
🔥 Key Features
• Volatility-adjusted gap size filters (ATR-based)
• Customizable timeframe confluence analysis
• Color-coded quality scoring
• Non-repainting inversion signals
• Mobile-optimized visual rendering
🎨 Visualization
• Colored Boxes: Translucent zones show active gaps (green/bullish, red/bearish)
• Midline Plot: Dashed gray line marks gap midpoint for price targets
• Inversion Markers: Intense colors show failed gaps (dark red/bullish failure, bright green/bearish failure)
• HTF Differentiation: Higher timeframe gaps shown in blue/teal hues
📖 Usage Guidelines
Multi-Timeframe Settings
• Higher Timeframe 1
Default: 30 | Range: Any > Chart TF | Controls primary confluence timeframe
• Show All Timeframes
Default: True | Toggles multi-TF gap displays
Gap Settings
• Source
Default: Close | Options: | Determines gap measurement method
• RVI Period
Default: 14 | Range: 1-50 | Sets momentum confirmation sensitivity
• RVI Value
Default 0.1 | 0 to see all IFVGs | Increase min RVI to see the most powerful IFVGs
✅ Best Use Cases
• Identifying confluence across timeframes
• Spotting institutional order blocks
• High-probability reversal trading
• Trend continuation confirmation
• Volatility breakout setups
⚠️ Limitations
• Repaints historical gap zones
• Requires understanding of FVG concepts
• Higher timeframe data latency
• Quality scores rely on RVI/ATR settings
💡 What Makes This Unique
First FVG indicator with true multi-timeframe processing
Adaptive parameters that auto-adjust to volatility
Quantifiable quality scoring system
Professional-grade dashboard with HTF tracking
🔬 How It Works
Gap Detection: Identifies FVGs using price relationships and RVI confirmation
Inversion Tracking: Monitors price breaches to flag failed gaps
Quality Assessment: Scores gaps based on size, momentum, and location
Adaptive Filtering: Adjusts parameters using ATR-based volatility analysis
Multi-TF Synthesis: Correlates gaps across user-selected timeframes
Visual Rendering: Displays only relevant, active gaps to prevent clutter
💡 Note:
Start with default settings and gradually adjust parameters after observing market interactions. Focus on gaps with quality scores above 7 that align with higher timeframe trends. Combine with price action at psychological levels for highest-probability setups. Remember that higher timeframe gaps generally carry more significance than current chart gaps.
London ORB + Session High/Low + FVGLondon ORB + Session High/Low + FVG
📘 Script Description: London ORB + Session High/Low + Fair Value Gap
This script is designed to assist intraday traders during the London session open by combining:
🕒 1. Opening Range Breakout (ORB)
Captures the high and low of the first 15-minute candle after the London open (08:00–08:15 GMT).
Draws lines and labels for the ORB High and Low levels.
Detects breakouts above or below the ORB and plots a triangle signal at the breakout bar.
🌐 2. Asian & US Session Levels
Automatically marks the highs and lows of the Asian (00:00–06:00 GMT) and US (13:30–20:00 GMT) sessions.
Useful for identifying prior session liquidity zones, key support/resistance levels, and potential reaction areas.
📉 3. Fair Value Gaps (FVG)
Highlights imbalances in price action between non-overlapping candles (also known as FVGs or inefficiencies).
Draws a shaded box between candles where gaps exist:
Green for bullish FVGs
Red for bearish FVGs
🔔 4. Alert Support
Optional alerts are built in for:
Long breakout (price breaks above ORB)
Short breakout (price breaks below ORB)
🎯 Use Case
Perfect for:
Day traders looking to capitalize on early volatility at the London open
Traders using liquidity-based strategies, retests, or gap-fills
Visualizing and aligning with prior session highs/lows for structure and context
First FVG Custom Time RangeFirst FVG — Opening Range Fair Value Gap Detector
Smart Money Opening Imbalance Strategy Tool
This script automatically detects and highlights the first Fair Value Gap (FVG) that forms between 9:30 and 10:00 AM Eastern Time (New York session open) — a critical period often referred to as the Opening Range. It’s designed for Smart Money traders looking to isolate early-morning inefficiencies that may influence market behavior throughout the trading day.
🔍 What This Script Does:
Automatically Detects the First FVG in the Opening Range
Scans price action between 9:30 and 10:00 AM ET and identifies the first valid bullish or bearish FVG that forms.
Only one FVG is shown per day — ensuring a clean, focused view.
Draws a Visual Zone
Once detected, the FVG zone is extended forward on the chart (customizable duration).
A labeled zone helps users track how price reacts to it throughout the session.
Optional Retest Alerts
Alerts you when price re-enters the zone — a potential reaction point used by SMC traders.
Customization Options
Set your preferred session time window
Adjust zone duration (in bars)
Customize label font size, colors, and visibility
Enable/disable alert on retest
📈 Why the First FVG Matters:
Time-Sensitive Setup: The first FVG typically forms no earlier than 9:31 AM ET and represents a potential “time distortion” or imbalance zone created by aggressive market participants during the open.
Behavioral Study: Many traders journal how price behaves around this zone each day — whether it acts as support, resistance, or gets traded through later in the session.
Predictive Value: Observing how this zone is respected or broken can provide anticipatory insight into intraday price action, rather than reactive analysis.
Great for New Traders: This opening FVG is often recommended as a starting reference point for building trade models and understanding how institutional imbalances unfold.
🚀 What Makes It Unique:
This tool doesn’t spam your chart with every FVG. It laser-focuses on a single, time-bound zone backed by institutional logic — the first presented imbalance of the day during the opening range.
Use it to:
Monitor price behavior around early inefficiencies
Plan journal entries and pattern recognition
Align intraday setups with a high-probability SMC model
Whether you’re scalping, journaling market structure, or refining entries based on liquidity behavior — this script helps you make the first 30 minutes count.
FVG + Swings + ConfigurableOverview
This Pine Script v5 indicator highlights Fair Value Gaps (FVGs), plots swing‑high and swing‑low pivots, and marks single breakouts above the last swing‑high or below the last swing‑low by recoloring the breakout candle. Every aspect—gap size, count limits, colors, and feature toggles—is exposed as an input so you can tailor it to your own workflow.
Key Features
Fair Value Gaps
Detects bullish gaps when the high of bar i-2 is below the low of the current bar.
Detects bearish gaps when the low of bar i-2 is above the high of the current bar.
Draws a semi‑transparent rectangle spanning from bar i-2 to bar i + extension.
Automatically deletes oldest boxes when exceeding the user’s “Max FVG Boxes” limit.
Swing‑High / Swing‑Low Pivots
Identifies a swing‑high when the middle candle of a three‑bar sequence has the highest high.
Identifies a swing‑low when the middle candle has the lowest low.
Marks each pivot with a tiny dot above (high) or below (low) the bar.
Single Breakouts
Tracks the most recent swing‑high and swing‑low levels.
On the first close above the last swing‑high (or below the last swing‑low), recolors that single candle.
Prevents repeated coloring until a new swing pivot forms.
Full Customization
Show/Hide toggles for FVGs, swing pivots, breakouts.
Numeric inputs for FVG extension length and maximum retained boxes.
Color pickers for bullish/bearish gaps, swing pivots, and breakout candles.
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
Consecutive CandlesSummary
This indicator helps visualize short-term momentum by automatically drawing boxes around sequences of consecutive same-colored candles (bullish or bearish). It's designed to quickly highlight periods of sustained buying or selling pressure directly on your chart.
How it Works
Consecutive Candle Detection: The script monitors the chart bar by bar, tracking consecutive candles where close > open (bullish) or close < open (bearish).
Box Drawing: When a sequence of same-colored candles reaches a user-defined minimum length (default is 3) and this sequence is then broken by an opposite-colored candle or a doji, a box is drawn.
Box Boundaries:
The top of the box is set to the highest high price reached during the sequence.
The bottom of the box is set to the lowest low price reached during the sequence.
The left edge of the box aligns with the start time of the first candle in the sequence.
The right edge of the box aligns with the end time of the last candle in the sequence.
Stability: Uses xloc = xloc.bar_time to ensure boxes remain accurately anchored to the price bars when zooming or panning the chart.
Real-time Extension: For active sequences meeting the minimum length on the latest developing bar, the box is optionally extended to the right.
Features
Automatically identifies and boxes sequences of 3 or more (customizable) consecutive bullish candles.
Automatically identifies and boxes sequences of 3 or more (customizable) consecutive bearish candles.
Extends box in real-time for active qualifying sequences.
Customizable minimum candle count (>= 2).
Customizable colors for bullish/bearish boxes and borders.
Settings
You can customize the indicator via the Settings menu (gear icon):
Minimum Consecutive Candles: Define how many candles in a row are needed to draw a box (Default: 3).
Bullish Box Color: Set the fill color for boxes around bullish sequences.
Bearish Box Color: Set the fill color for boxes around bearish sequences.
Box Border Color: Set the color for the border of all boxes.
Potential Use Cases
Momentum Identification: Quickly spot periods of strong, uninterrupted buying or selling.
Exhaustion/Reversal Signals: Very long sequences might indicate potential exhaustion, setting up reversal opportunities.
Consolidation Breakouts: A box forming after a period of tight consolidation can highlight the range just before a potential breakout.
Confirmation: Use the boxes as confirmation for entries or exits based on momentum shifts.
Disclaimer: This indicator provides visual aids based on price action. It should not be used as a standalone trading system. Always use indicators in conjunction with your own analysis and risk management rules.
Multitimeframe Fair Value Gap – FVG (Zeiierman)█ Overview
The Multitimeframe Fair Value Gap – FVG (Zeiierman) indicator provides a dynamic and customizable visualization of institutional imbalances (Fair Value Gaps) across multiple timeframes. Built for traders who seek to analyze price inefficiencies, this tool helps highlight potential entry points, unmitigated gaps, and directional bias using smart volume logic and adaptive visual elements.
A Fair Value Gap (FVG) forms when there's a three-candle sequence in which a market imbalance leaves a "gap" between the wicks of candle 1 and candle 3. These areas are often considered footprints of institutional activity, and this indicator gives you the tools to track them with surgical precision across any timeframe you choose—regardless of the one you're viewing.
This indicator also includes a trend filter powered by a low-pass Butterworth filter, enabling traders to distinguish between countertrend vs. trend-aligned FVGs for more intelligent decision-making. On top of that, it features a dynamic FVG table for live tracking and bull/bear volume power visualization inside each gap, adding powerful clarity to market intent.
█ How It Works
The indicator analyzes the open, high, low, close, and volume of candles from a user-selected timeframe. It identifies Fair Value Gaps based on wick logic and only confirms those that meet customizable strength criteria. Once detected, the indicator visualizes each FVG with dynamically extending boxes, optional buy/sell volume bars, and a real-time mitigation check.
⚪ Multitimeframe Logic
Users can analyze FVGs from a higher or lower timeframe regardless of their current chart.
This is achieved using request.security() to fetch OHLCV data from the chosen timeframe.
⚪ Wick Sensitivity & Impulse Filter
The script measures the wick size of potential FVG candles and compares them to a running average. Only FVGs with wick sizes above a certain sensitivity threshold (user-controlled) are plotted. This ensures only meaningful price dislocations (e.g., strong impulsive moves) are shown, reducing noise.
⚪ Midpoint Mitigation Logic
FVGs are marked as "mitigated" when the price revisits the gap area. Traders can choose whether full gap closure or just a midpoint touch is required. This allows faster reactivity in real-time trading environments.
⚪ Bull & Bear Power – Volume-Weighted Visualization
Every Fair Value Gap box includes sub-bars representing the estimated buy and sell effort that created the gap. These are calculated using the candle's close in relation to its high/low range and volume:
Buy Volume % ≈ effort from low to close
Sell Volume % ≈ effort from high to close
Each sub-bar inside the FVG:
Is color-coded (UpCol for bullish, DnCol for bearish)
Is drawn proportionally to the strength of buyers or sellers
Visually displays who was in control during the imbalance
⚪ FVG Table – Dynamic On-Chart Overview
The indicator includes an optional on-chart table that displays all currently active (unmitigated) FVGs in a side panel format:
Automatic updates as gaps are formed and mitigated
Color-coded rows to show bullish vs. bearish FVGs
Timestamps to know precisely when the gap formed
User-controlled position via Table Left and Table Right
This is a gap watchlist overlay, giving traders a concise view of current inefficiencies without manually scanning the chart.
⚪ FVG Trend Filter (Butterworth Smoother)
Using a two-pole Butterworth low-pass filter, the indicator computes a trendline based on average FVG values, offering a smooth but responsive directional signal.
Passband Ripple (dB): Controls sensitivity and overshoot tolerance
Cutoff Frequency (0–0.5): Sets how quickly the trendline reacts
The trendline helps categorize each FVG:
Trend up → favor bullish FVGs
Trend down → favor bearish FVGs
It adds an extra dimension to FVG entries, helping distinguish between trend-aligned and countertrend signals.
█ How to Use
⚪ Identify Institutional Gaps
Use this tool to identify areas where institutions may have left imbalances behind quickly.
These areas often become:
Strong support/resistance zones
Areas where price might react sharply
Targets for liquidity sweeps or retracements
⚪ React to Trend or Countertrend
The built-in trendline helps categorize each FVG:
Trend up → Bullish FVGs have higher validity
Trend down → Bearish FVGs have higher validity
⚪ Volume Context via Bull/Bear Power
Each Fair Value Gap is more than just a price imbalance — it’s a story of effort and intent. The Bull/Bear Power feature visualizes the buy and sell pressure behind each FVG, helping you understand how the gap was formed and who was in control.
A bullish FVG with a strong buy effort suggests continuation potential — buyers dominated the move.
A bullish FVG with a dominant sell effort could signal a trap or reversal — sellers may have overwhelmed the breakout.
These insights allow you to confirm imbalance strength, spot traps early, and add confidence to entries based on dominant volume profiles.
Instead of viewing gaps as static zones, this feature turns each into a live volume map — a visual breakdown of who moved the market and whether that move had conviction.
⚪ Plan with the FVG Table
The FVG Table acts as your on-chart control center for tracking active imbalances. When enabled, it provides a clear summary of all unmitigated Fair Value Gaps, helping you stay organized and focused during fast-moving sessions.
Track live and historical gaps: See exactly when and where each FVG formed.
Monitor older, still-valid zones: Gaps off-screen but not mitigated remain in play — perfect for anticipating future reactions.
Gauge market bias at a glance: The balance of bullish vs. bearish FVGs helps you understand overall directional pressure.
Plan entries confidently: Use the table to reference all zones for risk management, confluence stacking, or layered execution strategies.
Instead of manually scanning your chart, the FVG Table offers a clean, at-a-glance overview of the market’s inefficiencies — giving you the structure needed to act with precision.
█ Settings
FVG Timeframe
Select any timeframe to source FVGs independent of your current chart.
Sensitivity
Filter FVGs by how impulsive the move is — it helps you eliminate weak gaps.
Mitigated on Mid
Control whether gaps are removed at midpoint touch or full fill.
Table Settings
Control the table position and width. Cleanly view all active FVGs.
FVG Style
Customize gap box colors, length, and bullish/bearish overlays.
Trend Filter
Enable or disable the smoothed FVG-based trendline with customizable smoothing controls.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Smarter Money Concepts - FVGs [PhenLabs]📊 Smarter Money Concepts - FVGs
Version: PineScript™ v6
📌 Description
Smarter Money Concepts - FVGs is a sophisticated indicator designed to identify and track Fair Value Gaps (FVGs) in price action. These gaps represent market inefficiencies where price moves quickly, creating imbalances that often attract subsequent price action for mitigation. By highlighting these key areas, traders can identify potential zones for reversals, continuations, and price targets.
The indicator employs volume filtering ideology to highlight only the most significant FVGs, reducing noise and focusing on gaps formed during periods of higher relative volume. This combination of price structure analysis and volume confirmation provides traders with high-probability areas of interest that institutional smart money may target during future price movements.
🚀 Points of Innovation
Volume-Filtered Gap Detection : Eliminates low-significance FVGs by requiring a minimum volume threshold, focusing only on gaps formed with institutional participation
Equilibrium Line Visualization : Displays the midpoint of each gap as a potential precision target for trades
Automated Gap Mitigation Tracking : Monitors when price revisits and mitigates gaps, automatically managing visual elements
Time-Based Gap Management : Intelligently filters gaps based on a configurable timeframe, maintaining chart clarity
Dual Direction Analysis : Simultaneously tracks both bullish and bearish gaps, providing a complete market structure view
Memory-Optimized Design : Implements efficient memory management for smooth chart performance even with numerous FVGs
🔧 Core Components
Fair Value Gap Detection : Identifies price inefficiencies where the current candle’s low is higher than the previous candle’s high (bearish FVG) or where the current candle’s high is lower than the previous candle’s low (bullish FVG).
Volume Filtering Mechanism : Calculates relative volume compared to a moving average to qualify only gaps formed during significant market activity.
Mitigation Tracking : Continuously monitors price action to detect when gaps get filled, with options to either hide or maintain visual representation of mitigated gaps.
🔥 Key Features
Customizable Gap Display : Toggle visibility of bullish and bearish gaps independently to focus on your preferred market direction
Volume Threshold Control : Adjust the minimum volume ratio required for gap qualification, allowing fine-tuning between sensitivity and significance
Flexible Mitigation Methods : Choose between “Wick” or “Close” methods for determining when a gap has been mitigated, adapting to different trading styles
Visual Customization : Full control over colors, transparency, and style of gap boxes and equilibrium lines
🎨 Visualization
Gap Boxes : Rectangular highlights showing the exact price range of each Fair Value Gap. Bullish gaps indicate potential upward price targets, while bearish gaps show potential downward targets.
Equilibrium Lines : Dotted lines running through the center of each gap, representing the mathematical midpoint that often serves as a precision target for price movement.
📖 Usage Guidelines
General Settings
Days to Analyze : Default: 15, Range: 1-100. Controls how many days of historical gaps to display, balancing between comprehensive analysis and chart clarity
Visual Settings
Bull Color : Default:(#596fd33f). Color for bullish Fair Value Gaps, typically using high transparency for clear chart visibility
Bear Color : Default:(#d3454575). Color for bearish Fair Value Gaps, typically using high transparency for clear chart visibility
Equilibrium Line : Default: Enabled. Toggles visibility of the center equilibrium line for each FVG
Eq. Line Color : Default: Black with 99% transparency. Sets the color of equilibrium lines, usually kept subtle to avoid chart clutter
Eq. Line Style : Default: Dotted, Options: Dotted, Solid, Dashed. Determines the line style for equilibrium lines
Mitigation Settings
Mitigation Method : Default: Wick, Options: Wick, Close. Determines how gap mitigation is calculated - “Wick” uses high/low values while “Close” uses open/close values for more conservative mitigation criteria
Hide Mitigated : Default: Enabled. When enabled, gaps become transparent once mitigated, reducing visual clutter while maintaining historical context
Volume Filter
Volume Filter : Default: Enabled. When enabled, only shows gaps formed with significant volume relative to recent average
Min Ratio : Default: 1.5, Range: 0.1-10.0. Minimum volume ratio compared to average required to display an FVG; higher values filter out more gaps
Periods : Default: 15, Range: 5-50. Number of periods used to calculate the average volume baseline
✅ Best Use Cases
Identifying potential reversal zones where price may react after extended moves
Finding precise targets for take-profit placement in trend-following strategies
Detecting institutional interest areas for potential breakout or breakdown confirmations
Plotting significant support and resistance zones based on structural imbalances
Developing fade strategies at key market structure points
Confirming trade entries when price approaches significant unfilled gaps
⚠️ Limitations
Works best on higher timeframes where gaps reflect more significant market inefficiencies
Very choppy or ranging markets may produce small gaps with limited predictive value
Volume filtering depends on accurate volume data, which may be less reliable for some symbols
Performance may be affected when displaying a very large number of historical gaps
Some gaps may never be fully mitigated, particularly in strongly trending markets
💡 What Makes This Unique
Volume Intelligence : Unlike basic FVG indicators, this script incorporates volume analysis to identify the most significant structural imbalances, focusing on quality over quantity.
Visual Clarity Management : Automatic handling of mitigated gaps and memory management ensures your chart remains clean and informative even over extended analysis periods.
Dual-Direction Comprehensive Analysis : Simultaneously tracks both bullish and bearish gaps, providing a complete market structure picture rather than forcing a directional bias.
🔬 How It Works
1. Gap Detection Process :
The indicator examines each candle in relation to previous candles, identifying when a gap forms between the low of candle and high of candle (bearish FVG) or between the high of candle and low of candle (bullish FVG). This specific candle relationship identifies true structural imbalances.
2. Volume Qualification :
For each potential gap, the algorithm calculates the relative volume compared to the configured period average. Only gaps formed with volume exceeding the minimum ratio threshold are displayed, ensuring focus on institutionally significant imbalances.
3. Equilibrium Calculation :
For each qualified gap, the script calculates the precise mathematical midpoint, which becomes the equilibrium line - a key target that price often gravitates toward during mitigation attempts.
4. Mitigation Tracking :
The indicator continuously monitors price action against existing gaps, determining mitigation based on the selected method (wick or close). When price reaches the equilibrium point, the gap is considered mitigated and can be visually updated accordingly.
💡 Note:
Fair Value Gaps represent market inefficiencies that often, but not always, get filled. Use this indicator as part of a complete trading strategy rather than as a standalone system. The most valuable signals typically come from combining FVG analysis with other confirmatory indicators and overall market context. For optimal results, start with the default settings and gradually adjust parameters to match your specific trading timeframe and style.
Imbalance(FVG) DetectorImbalance (FVG) Detector
Overview
The Imbalance (FVG) Detector is a technical analysis tool designed to highlight price inefficiencies by identifying Fair Value Gaps (FVGs). These gaps occur when rapid price movement leaves an area with little to no traded volume, which may later act as a zone of interest. The indicator automatically detects and marks these imbalances on the chart, allowing users to observe historical price behavior more effectively.
Key Features
- Automatic Imbalance Detection: Identifies bullish and bearish imbalances based on a structured three-bar price action model.
- Customizable Sensitivity: Users can adjust the minimum imbalance percentage threshold to tailor detection settings to different assets and market conditions.
- Real-time Visualization: Marked imbalances are displayed as colored boxes directly on the chart.
- Dynamic Box Updates: Imbalance zones extend forward in time until price interacts with them.
- Alert System: Users can set alerts for when new imbalances appear or when price tests an existing imbalance.
How It Works
The indicator identifies market imbalances using a three-bar price structure:
- Bullish Imbalance: Occurs when the high of three bars ago is lower than the low of the previous bar, forming a price gap.
- Bearish Imbalance: Occurs when the low of three bars ago is higher than the high of the previous bar, creating a downward gap.
When an imbalance is detected:
- Green Boxes indicate bullish imbalances.
- Red Boxes indicate bearish imbalances.
- Once price interacts with an imbalance, the box fades to gray, marking it as tested.
! Designed for Crypto Markets
This indicator is particularly useful in crypto markets, where frequent volatility can create price inefficiencies. It provides a structured way to visualize gaps in price movement, helping users analyze historical liquidity areas.
Customization Options
- Min Imbalance Percentage Size: Adjusts the sensitivity of the imbalance detection.
- Alerts: Users can enable alerts to stay notified of new or tested imbalances.
Important Notes
- This indicator is a technical analysis tool and does not provide trading signals or financial advice.
- It does not predict future price movement but highlights historical price inefficiencies.
- Always use this tool alongside other market analysis methods and risk management strategies.
ICT FVG & Swing Detector Basic by Trader RiazICT FVG & Swing Detector Basic by Trader Riaz
Unlock Precision Trading with the Ultimate Fair Value Gap (FVG) and Swing Detection Tool!
Developed by Trader Riaz , the ICT FVG and Swing Detector Basic is a powerful Pine Script indicator designed to help traders identify key market structures with ease. Whether you're a day trader, swing trader, or scalper, this indicator provides actionable insights by detecting Bullish and Bearish Fair Value Gaps (FVGs) and Swing Highs/Lows on any timeframe. Perfect for trading forex, stocks, crypto, and more on TradingView!
Key Features:
1: Bullish and Bearish FVG Detection
- Automatically identifies Bullish FVGs (highlighted in green) and Bearish FVGs (highlighted in red) to spot potential reversal or continuation zones.
- Displays FVGs as shaded boxes with a dashed midline at 70% opacity, making it easy to see the midpoint of the gap for precise entries and exits.
- Labels are placed inside the FVG boxes at the extreme right for clear visibility.
2: Customizable FVG Display
- Control the number of Bullish and Bearish FVGs displayed on the chart with user-defined inputs (fvg_bull_count and fvg_bear_count).
- Toggle the visibility of Bullish and Bearish FVGs with simple checkboxes (show_bull_fvg and show_bear_fvg) to declutter your chart.
3: Swing High and Swing Low Detection
- Detects Swing Highs (blue lines) and Swing Lows (red lines) to identify key market turning points.
- Labels are positioned at the extreme right edge of the lines for better readability and alignment.
- Customize the number of Swing Highs and Lows displayed (swing_high_count and swing_low_count) to focus on the most recent market structures.
4: Fully Customizable Display
- Toggle visibility for Swing Highs and Lows (show_swing_high and show_swing_low) to suit your trading style.
- Adjust the colors of Swing High and Low lines (swing_high_color and swing_low_color) to match your chart preferences.
5: Clean and Efficient Design
- Built with Pine Script v6 for optimal performance on TradingView.
- Automatically removes older FVGs and Swing points when the user-defined count is exceeded, keeping your chart clean and focused.
- Labels are strategically placed to avoid clutter while providing clear information.
Why Use This Indicator?
Precision Trading: Identify high-probability setups with FVGs and Swing points, commonly used in Smart Money Concepts (SMC) and Institutional Trading strategies.
User-Friendly: Easy-to-use inputs allow traders of all levels to customize the indicator to their needs.
Versatile: Works on any market (Forex, Stocks, Crypto, Commodities) and timeframe (1M, 5M, 1H, 4H, Daily, etc.).
Developed by Trader Riaz: Backed by the expertise of Trader Riaz, a seasoned trader dedicated to creating tools that empower the TradingView community.
How to Use:
- Add the Custom FVG and Swing Detector to your chart on TradingView.
- Adjust the input settings to control the number of FVGs and Swing points displayed.
- Toggle visibility for Bullish/Bearish FVGs and Swing Highs/Lows as needed.
- Use the identified FVGs and Swing points to plan your trades, set stop-losses, and target key levels.
Ideal For:
- Traders using Smart Money Concepts (SMC), Price Action, or Market Structure strategies.
- Those looking to identify liquidity grabs, imbalances, and trend reversals.
- Beginners and advanced traders seeking a reliable tool to enhance their technical analysis.
Happy trading!
TR FVG & Swing High Low FinderTR FVG & Swing Level Finder
Overview:
The TR FVG & Swing Level Finder is a powerful Pine Script indicator designed for traders who want to identify Fair Value Gaps (FVGs) and Swing Highs/Lows on their charts. This indicator combines two essential technical analysis tools into one, helping traders spot potential areas of support, resistance, and trend reversals. FVGs are price gaps that often act as areas of interest for price to return to, while swing highs and lows help identify key turning points in the market. The indicator is highly customizable, allowing users to adjust colors, limits, and display options to suit their trading style.
Key Features:
1: Fair Value Gap (FVG) Detection:
- Identifies Bullish FVGs: Occur when the high of two candles ago is lower than the low of the current candle, indicating a potential upward price movement.
- Identifies Bearish FVGs: Occur when the low of two candles ago is higher than the high of the current candle, indicating a potential downward price movement.
- Displays FVGs as colored boxes on the chart, with customizable border and fill colors based on the timeframe.
- Labels each FVG box with the corresponding timeframe (e.g., "1m FVG", "1h FVG", "Daily FVG").
2: Swing High and Swing Low Detection:
- Detects Swing Highs: A 3-candle pattern where the middle candle's high is higher than the highs of the candles on either side.
- Detects Swing Lows: A 3-candle pattern where the middle candle's low is lower than the lows of the candles on either side.
- Draws a solid black line with 50% opacity at each swing high and low, extending 5 bars to the right for better visibility.
- Adds a small Swing High or Swing Low label at the right end of each line, colored according to user-defined settings.
3: Timeframe-Specific FVG Visualization:
- FVGs are color-coded based on the chart's timeframe, making it easy to distinguish between FVGs on different timeframes.
- Each timeframe has its own fill color for bullish and bearish FVGs, with adjustable transparency for better chart clarity.
- A dashed black line is drawn in the middle of each FVG box to highlight the midpoint of the gap.
4: Customizable Display Options:
- FVG Limit: Control the maximum number of FVGs displayed on the chart (from 1 to 20).
- Extend Options for FVG Boxes:
- "None": FVG boxes extend only 2 bars to the right.
- "Limited": FVG boxes extend a user-defined number of candles to the right (1 to 100 candles).
- "Default": FVG boxes extend 3 bars to the right of the current bar.
- Color Customization:
- Set border colors for bullish and bearish FVGs.
- Adjust fill colors for FVGs on different timeframes (1m, 5m, 15m, 30m, 1h, 4h, Daily, Weekly, Monthly).
- Customize the colors of swing high and swing low labels.
5: Performance Optimization:
- The indicator only plots FVGs and swings on the last confirmed bar (barstate.islastconfirmedhistory), ensuring efficient performance and reducing chart clutter.
- Limits the number of displayed FVGs and swings to the user-defined fvgLimit, keeping the chart clean and focused on the most recent price action.
6: Inputs and Customization:
- Number of FVGs to Show (fvgLimit): Set the maximum number of FVGs and swings to display (default: 3, range: 1 to 20).
- Bullish FVG Border Color (bullishColor): Choose the border color for bullish FVGs (default: green).
- Bearish FVG Border Color (bearishColor): Choose the border color for bearish FVGs (default: red).
- Swing High Color (swingHighColor): Set the color for swing high labels (default: blue).
- Swing Low Color (swingLowColor): Set the color for swing low labels (default: purple).
- Extend Options:
- Extend Option (extendOption): Choose how far FVG boxes extend to the right ("None", "Limited", or "Default"; default: "Default").
- Extend Candles (extendCandles): If "Limited" is selected, specify the number of candles to extend FVG boxes (default: 8, range: 1 to 100).
- Timeframe-Specific Fill Colors:
- Customize fill colors for bullish and bearish FVGs on various timeframes (1m, 5m, 15m, 30m, 1h, 4h, Daily, Weekly, Monthly).
- Each fill color has a default transparency (e.g., 93% for most timeframes, 90% for 30m), which can be adjusted as needed.
How to Use:
1: Add the Indicator to Your Chart:
- Open TradingView, go to the Pine Editor, and paste the script.
- Click "Add to Chart" to apply the indicator to your current chart.
2: Adjust Settings:
- Open the indicator settings by clicking the gear icon next to the indicator name on your chart.
- Modify the inputs to suit your preferences:
- Set the number of FVGs and swings to display.
- Choose your preferred colors for FVGs and swings.
- Adjust the extend options for FVG boxes.
3: Interpret the Indicator:
- FVG Boxes: Look for colored boxes on the chart, which represent Fair Value Gaps. Bullish FVGs (green borders by default) suggest potential buying opportunities, while bearish FVGs (red borders by default) suggest potential selling opportunities. The label inside each box indicates the timeframe of the FVG.
- Swing Highs and Lows: Identify key turning points with solid black lines (50% opacity) at swing highs and lows. Each line extends 5 bars to the right, with an "SH" (Swing High) or "SL" (Swing Low) label at the end. Swing highs can act as resistance levels, while swing lows can act as support levels.
4: Combine with Your Strategy:
- Use FVGs to identify areas where price might return to fill the gap, often acting as support or resistance.
- Use swing highs and lows to spot potential trend reversals or to set stop-loss and take-profit levels.
- Combine the indicator with other tools (e.g., trendlines, moving averages) for a more comprehensive trading strategy.
Notes:
- The indicator works on all timeframes, but the appearance of FVGs and swings will vary depending on the chart's timeframe.
- For best results, use the indicator on a clean chart to avoid visual clutter, especially if you increase the fvgLimit.
- The swing high/low lines are drawn with 50% opacity to ensure they don’t overpower other chart elements, but they are still clearly visible.
Author’s Note:
This script was developed to help traders identify key price levels with ease. I hope it adds value to your trading! If you have any feedback or suggestions for improvement, feel free to leave a comment. Happy trading!
TR FVG Finder 1.0TR FVG Finder 1.0 - Identify High-Probability Trading Zones
Unlock the power of Fair Value Gaps (FVGs) with this advanced TradingView indicator! Designed for traders seeking high-probability setups, the Fair Value Gap Detector identifies key price imbalances on your chart, helping you spot potential reversal and continuation zones with precision.
Key Features:
Accurate FVG Detection: Automatically detects bullish and bearish Fair Value Gaps based on a proven 3-candle pattern, highlighting areas where price is likely to return.
Customizable Display: Shows the most recent 3 FVGs by default (combined bullish and bearish), with an option to adjust the number of FVGs displayed.
Visual Clarity: Draws semi-transparent boxes (green for bullish FVGs, red for bearish FVGs) that extend 15 candles to the right, making it easy to track key levels.
Versatile for All Markets: Works on any timeframe and instrument—perfect for forex, stocks, crypto, and commodities like XAU/USD (gold).
User-Friendly: Simple to use with customizable settings, ideal for both beginner and experienced traders.
How It Works:
The indicator identifies FVGs by analyzing a 3-candle pattern:
- Bullish FVG: When the high of the candle two bars back is below the low of the current candle.
- Bearish FVG: When the low of the candle two bars back is above the high of the current candle. These gaps often act as magnets for price, making them powerful zones for trading strategies like breakouts, pullbacks, or reversals.
Why Use This Indicator?
- Enhance your technical analysis with a proven concept used by institutional traders.
- Spot high-probability trading opportunities with clear visual cues.
- Save time by automating FVG detection—no manual drawing required.
Best Practices:
- Use on lower timeframes (e.g., 15-minute or 1-hour) for more frequent FVGs, especially in volatile markets like forex or crypto.
- Combine with other indicators (e.g., support/resistance, volume) for confirmation.
- Ideal for strategies like ICT (Inner Circle Trader) concepts, Smart Money trading, and price action analysis.
Regards,
Trader Riaz
Fair Value Gap FinderFunctionality
Detection of Fair Value Gaps:
A bullish Fair Value Gap (FVG Up) is identified when the low of two candles before the current bar (low ) is greater than the high of the current bar (high ).
A bearish Fair Value Gap (FVG Down) is identified when the high of two candles before the current bar (high ) is lower than the low of the current bar (low ).
Color Coding:
Bullish Fair Value Gaps are highlighted in green to indicate potential areas of support.
Bearish Fair Value Gaps are highlighted in red to indicate potential areas of resistance.
Visualization Using Rectangles:
If an FVG is detected, the script creates a rectangle spanning a fixed number of bars (right=bar_index+5) to visualize the price inefficiency.
The rectangle extends from the upper to the lower boundary of the gap and has a semi-transparent fill (bgcolor=color.new(color, 90)) for better readability.
Implementation Details
Variable Initialization: The script defines floating-point variables (fvgUpTop, fvgUpBottom, fvgDownTop, fvgDownBottom) to store the price levels of identified gaps.
Conditional Assignments: When an FVG is detected, the corresponding top and bottom boundaries are assigned to the respective variables.
Box Creation: The box.new function is used to draw a rectangle on the chart, marking the FVG zones for better visualization.
POC-Candle-EMA-ATR-LongShadow-50percCandleThis is a script for those who trade based on volume and smart money strategies.
Some of the features of this script:
- Display "Time Price Opportunity Chart". These points help traders to identify price opportunities over time and have a better analysis of the market.
- Mark candles that have traded more volume than previous candles.
- Mark candles whose body is at least and not more than 50% of the total candle size, these candles can be found more easily in smart money strategies.
- Mark spike candles to find FVG faster
- Mark candles that have a shadow of at least more than 380 points and can be good reversal points.
- EMA indicator to check the market trend
- DonchianChannel indicator to check the price trend on the chart
Regards
Nirmal Fair Value GapsICT Fair Value Gaps
Trade Wisely
How a Fair Value Gap Works
Formation:
A Fair Value Gap occurs when a strong price movement (usually from institutional orders) creates an imbalance between buyers and sellers.
This is typically seen in a three-candle pattern, where the middle candle has a large body, and the two surrounding candles have wicks but little overlap with the middle candle’s range.
Identification:
The FVG is marked between the high of the first candle and the low of the third candle (for bullish gaps).
For bearish gaps, it’s the low of the first candle and the high of the third candle.
Market Behavior Around FVG:
Price often retraces into the gap before resuming its original direction.
This happens because the market seeks to "fill" the imbalance where few trades occurred.
Traders use FVGs as potential entry zones for trend continuation trades.
Trading Fair Value Gaps
In an Uptrend:
Look for bullish fair value gaps as potential support zones for buy entries.
Price may dip into the gap and then continue upward.
In a Downtrend:
Look for bearish fair value gaps as potential resistance zones for sell entries.
Price may retrace into the gap and then drop further.
Confluence Factors:
FVGs work best when combined with other strategies like order blocks, liquidity zones, or key Fibonacci levels.
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.