Fair Value MSThis indicator introduces rigid rules to familiar concepts to better capture and visualize Market Structure and Areas of Support and Resistance in a way that is both rule-based and reactive to market movements.
Typical "Market Structure" or "Zig-Zag" methods determine swing points based on fixed thresholds (length or percentage). While this does provide rigid structure, the results may be lagging or confusing due to the timing, since it is fixed to static parameters.
I believe the concept of Fair Value Gaps can solve this problem.
As you will notice, there are no length settings in this indicator.
> FVG Market Structure
Fair Value Gaps are a well known concept used to indicate directional intent, forming when price moves aggressively in one direction, leaving behind an imbalance between buyers and sellers. While the term FVG was popularized by ICT, the underlying concept predates them, known historically as imbalances, inefficiencies, or liquidity voids in institutional trading.
Note: For simplicity, in this indicator they'll be called FVGs.
By reading into this, we are able to clearly and rigidly define market structure simply by "looking" at the chart, using objective price events rather than subjective interpretation, or lengths.
By using FVGs to determine structure direction, the length, and speed of identification lies entirely on the market. If an FVG Down occurs immediately after a New Higher High forms, it is reasonable to assume there was a seller at that point, so the script would indicate a New Swing High.
The script is NOT stuck, waiting for a % retrace, or # bars to pass to identify it as such.
Sometimes the market is in a steady trend in a single direction and no FVGs form; therefore, no structure forms. -> Why would we try to impose structure on a clear trend?
Ultimately, the FVG Structure Method uses real reactions from the market to determine Market structure, and is not fixed to specific parameters.
As with other market structure indicators, "Market Structure Breaks" are still identifiable when price moves outside the most recent swing points.
These are helpful to indicate larger direction. In the following section you will see how these help us determine when we should start the search for an "Area of Interest (AOI)".
> Areas of Interest (AOIs)
"Area of Interest (AOI)" is a generalized term, and could refer to many types of zones you might recognize under different names. While the AOIs in this indicator are specialized in their own way, I have chosen to simply use the term "Area of Interest" because it’s more important to understand how they behave and why they exist than to focus on what they’re called.
The goal of an AOI is to point out reasonable areas where buyers or sellers may be staging, as is typical with support and resistance.
In order to reasonably identify these areas, we look for cause and effect relationships. When considering these relationships, it's easier to understand the placement of the points to define each zone.
(Buyer Examples)
Cause: Strong Buyers step in at Swing Low
Effect: Fair Value Gap Forms
Cause: Sustained Buying Pressure
Effect: Market Structure Breaks
In this example, The zone is drawn from the Swing Low, to the Bottom of the FVG closest to the swing point.
In theory, the participation at the swing point was strong and aggressive enough to create the FVG imbalance. Which then found acceptance and continued into a Market Structure Break. So with these AOIs, we are trying to locate the aggressive Buyers or Sellers which were positioned BEFORE the FVG.
These Zones are intended to act as areas to look for reactions from market participants, to judge where price may be going. When revisiting these zones, we look for a reaction or a break, to further provide us information to if the buyers or sellers are still there.
As seen in the screenshot above, The information we gain is not from the creation of these zones, but from the behavior we witness when these zones are revisited.
Technical Note: In this indicator, Market Structure Breaks are only considered when price closes outside the recent swing points. Wicks are not considered as confirmation, therefore are not used to detect structural breaks.
Inside each AOI you can optionally display a readout of the volume which accumulated during the time starting at the swing point and going until the closing bar of the FVG.
Note: We are counting volume until the closing bar of the FVG since the FVG is a 3 bar formation, and aggressive volume is required throughout to create the imbalance.
There are multiple FVGs that typically occur in a single direction, but we do not look to every single one to be indicative of structure, only the first FVG in the opposite direction of the previous direction (which is determined by previous FVGs)
You will probably notice, the AOIs do not form from the closest swing or FVG to the break, this is because we are targeting larger directional changes to draw these AOIs from.
Since they do not always happen perfectly every time, the AOI formation waits for an FVG to occur AND a Market structure break to happen. One without the other will result in no Zone displaying.
> Reflection Lines
While they may seem slightly redundant, Reflection Lines serve as reminders of previous support and resistance pivots. They are drawn at the same Pivots where and AOI is formed, and extend beyond the mitigation of the AOI.
These lines are often points of price to look for "Support Flips", a re-test pattern where price trades through previous support (or resistance) then returns to it and rejects, continuing into a larger move or trend.
Their namesake is based on the behavior of price, "reflecting" at these levels.
The Reflection lines are simple and change color based on price's location.
If price is above, we would typically look to a reflection line in with support in mind.
As a basic filter, these lines use an average price to determine their color, this way they will not change their color as frequently in choppy situations.
> Session Start/End Lines
For analysis purposes and trade review, it is helpful to analyze with context.
For that reason, I have implemented start and end session lines into the indicator, these are helpful when reviewing historical charts to not provide additional context.
By default, they are set to the NYSE Session, but can be changed to fit any needs.
These lines are not advanced, and simply draw a line as the chart passes the start and end of the sessions. It's very likely that you may need to adjust the session for your specific needs.
Note: The Timezone can be adjusted within the code if needed. By Default, the indicator uses "America/New_York" Timezone.
> Conclusion
If you’ve ever felt like your structure tools were confusing or lagging, drawing zones too late, or zones that simply don't make sense, this should feel like a breath of fresh air.
By removing arbitrary length settings and instead using FVGs to define structure and as a basis for AOIs, you're getting a more accurate look at what price is doing and where it's reacting from.
This indicator is rule-based, reactive, and aims to keep things logical without fluff or false confidence.
Enjoy!
Cerca negli script per "imbalance"
Magic VIBs V1Introducing the "Magic Vib Indicator" V1 Adeed more extention so it works better on higher time frames, Plus a colour changer so now you can pick a colour for bullish and bearish
a powerful tool designed to identify and highlight unique market scenarios known as "magic volume imbalances." This indicator is specifically crafted to recognize specific candlestick patterns that have demonstrated a significant impact on price movements.
The Magic Vib Indicator is meticulously engineered to detect a particular pattern, which occurs when the high of the first candle aligns perfectly with the open of the subsequent candle, while simultaneously witnessing the close of the first candle matching the low of the second candle. These precise conditions generate what is commonly referred to as a "magic vib."
This indicator has been developed with the sole purpose of capturing these magical moments in the market. By systematically scanning and analyzing price data, it spots instances where these extraordinary price imbalances occur. Once identified, the indicator promptly marks these candles on your trading platform, providing clear visual cues for enhanced decision-making.
The Magic Vib Indicator acts as a catalyst for traders and investors, as it has proven to be a reliable precursor to significant price reactions. These marked candles act as potent signals, suggesting an impending shift in market sentiment and a high probability of substantial price movement. The resulting price action often sees significant volatility, making it an enticing opportunity for those seeking substantial gains.
However, it's important to note that while the Magic Vib Indicator offers valuable guidance, it should not be the sole basis for trading decisions. It is crucial to incorporate other technical and fundamental analysis tools, risk management strategies, and market awareness to achieve consistent success.
In summary, the Magic Vib Indicator represents a breakthrough in technical analysis, specifically tailored to identify and mark candles exhibiting the remarkable characteristics of a "magic volume imbalance." By harnessing the power of this indicator, traders can anticipate substantial price reactions, allowing them to seize opportunities and maximize their trading outcomes.
MTF Candles [Fadi x MMT]MTF Candles
Overview
The MTF Candles indicator is a powerful tool designed for traders who want to visualize higher timeframe (HTF) candles directly on their current chart. Built with flexibility and precision in mind, this Pine Script indicator displays up to six higher timeframe candles, complete with customizable styling, sweeps, midpoints, fair value gaps (FVGs), volume imbalances, and trace lines. It’s perfect for multi-timeframe analysis, helping traders identify key levels, market structure, and potential trading opportunities with ease.
Key Features
- Multi-Timeframe Candles : Display up to six higher timeframe candles (e.g., 5m, 15m, 30m, 4H, 1D, 1W) on your chart, with configurable timeframes and visibility.
- Sweeps Detection : Identify liquidity sweeps (highs/lows) with customizable line styles, widths, and colors, plus optional alerts for confirmed bullish or bearish sweeps.
- Midpoint Lines : Plot the midpoint (average of high and low) of the previous HTF candle, with customizable color, width, and style for enhanced market analysis.
- Fair Value Gaps (FVGs) : Highlight gaps between non-adjacent candles, indicating potential areas of interest for price action.
- Volume Imbalances : Detect and display volume imbalances between adjacent candles, aiding in spotting significant price levels.
- Trace Lines : Connect HTF candle open, close, high, and low prices to their respective chart bars, with customizable styles and optional price labels.
- Custom Daily Open Times : Support for custom daily candle open times (Midnight, 8:30, or 9:30) to align with specific market sessions.
- Dynamic Labels : Show timeframe names, remaining time until the next HTF candle, and interval labels (e.g., day of the week for daily candles) with adjustable positions and sizes.
- Highly Customizable : Fine-tune candle appearance, spacing, padding, and visual elements to suit your trading style.
How It Works
The indicator renders HTF candles as boxes (bodies) and lines (wicks) on the right side of the chart, with each timeframe offset for clarity. It dynamically updates candles in real-time, tracks their highs and lows, and displays sweeps and midpoints when conditions are met. FVGs and volume imbalances are calculated based on candle relationships, and trace lines link HTF candle levels to their originating bars on the chart.
Sweep Logic
- A bearish sweep occurs when the current candle’s high exceeds the previous candle’s high, but the close is below it.
- A bullish sweep occurs when the current candle’s low falls below the previous candle’s low, but the close is above it.
- Sweeps are visualized as horizontal lines and can trigger alerts when confirmed on the next candle.
Midpoint Logic
- A midpoint line is drawn at the average of the previous HTF candle’s high and low, extending until the next HTF candle forms.
- Useful for identifying potential support/resistance or mean reversion levels.
Imbalance Detection
- FVGs : Identified when a candle’s low is above the next-but-one candle’s high (or vice versa), indicating a price gap.
- Volume Imbalances : Detected between adjacent candles where the body of one candle doesn’t overlap with the next, signaling potential liquidity zones.
Settings
Timeframe Settings
- HTF 1–6 : Enable/disable up to six higher timeframes (default: 5m, 15m, 30m, 4H, 1D, 1W) and set the maximum number of candles to display per timeframe (default: 4).
- Limit to Next HTFs : Restrict the number of active timeframes (1–6).
Styling
- Body, Border, Wick Colors : Customize bull and bear candle colors (default: light gray for bulls, dark gray for bears).
- Candle Width : Adjust the width of HTF candles (1–4).
- Padding and Spacing : Set the offset from the current price action and spacing between candles and timeframes.
Label Settings
- HTF Label : Show/hide timeframe labels (e.g., "15m", "4H") at the top/bottom of candle sets.
- Remaining Time : Display the countdown to the next HTF candle.
Interval Value: Show day of the week for daily candles or time for intraday candles.
- Label Position/Alignment : Choose to display labels at the top, bottom, or both, and align them with the highest/lowest candles or follow individual candle sets.
Imbalance Settings
- Fair Value Gap : Enable/disable FVGs with customizable color (default: semi-transparent gray).
- Volume Imbalance : Enable/disable volume imbalances with customizable color (default: semi-transparent red).
Trace Settings
- Trace Lines : Enable/disable lines connecting HTF candle levels to their chart bars, with customizable colors, styles (solid, dashed, dotted), and sizes.
- Price Labels : Show price levels for open, close, high, and low trace lines.
- Anchor : Choose whether trace lines anchor to the first or last enabled timeframe.
Sweep Settings
- Show Sweeps : Enable/disable sweep detection and visualization.
- Sweep Line : Customize color, width, and style (solid, dashed, dotted).
- Sweep Alert : Enable alerts for confirmed sweeps.
Midpoint Settings
- Show Midpoint : Enable/disable midpoint lines.
- Midpoint Line : Customize color (default: orange), width, and style (solid, dashed, dotted).
Custom Daily Open
Custom Daily Candle Open : Choose between Midnight, 8:30, or 9:30 (America/New_York) for daily candle opens.
Usage
- Add the indicator to your TradingView chart.
- Configure the desired higher timeframes (HTF 1–6) and enable/disable features via the settings panel.
- Adjust styling, labels, and spacing to match your chart preferences.
Use sweeps, midpoints, FVGs, and volume imbalances to identify key levels for trading decisions.
- Enable sweep alerts to receive notifications for confirmed liquidity sweeps.
Notes
Performance: The indicator is optimized for up to 500 boxes, lines, and labels, with a maximum of 5000 bars back. Can be slow at a time
Time Zone: Custom daily opens use the America/New_York time zone for consistency with major financial markets.
Compatibility: Ensure selected HTFs are valid (higher than the chart’s timeframe and divisible by it for intraday periods).
Sweep Candle [odnac]
ATR Imbalance Detection
This feature highlights candles that have a significantly larger range compared to the average true range (ATR).
How it works: A candle is considered imbalanced if its range (high - low) exceeds a specified multiple of the ATR (default multiplier is 1.5, with an ATR length of 5).
Visualization: Such candles are highlighted in yellow.
Engulfing Candle Detection
This feature detects bullish and bearish engulfing candles.
Types
Standard: Traditional engulfing pattern where the current candle fully "engulfs" the previous one.
Sweep: A variation where the candle engulfs the previous one and sweeps the previous low (for bullish) or high (for bearish).
Visualization:
Bullish engulfing patterns are marked with a green triangle below the candle.
Bearish engulfing patterns are marked with a red triangle above the candle.
Momentum Candle Detection
This feature identifies candles with strong upward or downward momentum compared to the previous candle.
Types
Standard: A basic momentum pattern where the current candle continues the price direction with strong momentum.
Sweep: A variation where the candle sweeps the previous low (for bullish) or high (for bearish).
Visualization:
Bullish momentum candles are marked with a green circle below the candle.
Bearish momentum candles are marked with a red circle above the candle.
Summary
This indicator helps traders identify significant market conditions such as imbalances, engulfing candles, and momentum patterns, making it a valuable tool for technical analysis and trend-following strategies.
The customizable settings provide flexibility to adapt the tool to different trading styles.
Fair Value Gap [UkutaLabs]█ OVERVIEW
Fair Value Gaps are price jumps caused by the imbalance buying and selling pressures in trading and are most commonly used amongst price action traders. Fair Value Gaps are formed via a three-candle sequence in which a large candle’s neighbouring candles’ upper and lower wicks do not fully overlap the large candle.
The Fair Value Gaps Indicator also supports Multi Time Frame Plotting, allowing you to plot the Fair Value Gaps from higher time frames onto lower time frame charts.
The Fair Value Gaps Indicator is a powerful trading toolkit that provides users with more information than they would typically have available to them by allowing them to configure several charts worth of information onto one single chart.
█ USAGE
The script automatically identifies imbalances between buying and selling pressure in the market in real time, offering traders valuable insight into current market sentiment. These gaps are considered to be levels where the supply and demand of a commodity are imbalanced, and the price tends to return to fill these gaps (But are not guaranteed to).
The Fair Value Gaps Indicator also allows gaps from higher time frames to be drawn on lower time frame charts, providing traders with more information than they would typically have access to to further simplify the decision making process.
█ SETTINGS
Configuration
• Show Labels: Determines whether labels that identify which time frame a FVG is calculated from.
• Max FVG Display: Determines the limit to the number of FVGs that can be drawn from all time frames. Set this value to 0 to remove this limit.
Current Time Frame
• Display: Determines whether or not FVGs from the current time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the current time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the current time frame.
5 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 5 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 5 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 5 minute time frame.
15 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 15 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 15 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 15 minute time frame.
30 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 30 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 30 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 30 minute time frame.
60 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 60 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 60 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 60 minute time frame.
240 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 240 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 240 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 240 minute time frame.
Daily (Higher Time Frame)
• Display: Determines whether or not FVGs from the daily time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the daily time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the daily time frame.
Dynamic Candle Balance Indicator (Binary)
Dynamic Candle Balance Indicator
The Dynamic Candle Balance Indicator is a powerful tool designed to identify imbalances in candle colors on a chart, which can indicate potential reversals or changes in market direction. This indicator is specifically developed for traders operating on short timeframes, such as 1-minute candles, and is particularly useful for identifying opportunities in binary options.
How to Use:
Set Parameters
Initial Position: Specify the number of initial candles to be considered for calculation.
Count: Determine the total number of candles to be analyzed, including the initial position.
Interpret Results:
Green: Indicates the number of bullish candles (where the closing price is higher than the opening price).
Red: Indicates the number of bearish candles (where the closing price is lower than the opening price).
Absent: Indicates the number of candles that were not considered due to the selected interval.
Performance Analysis:
The indicator calculates the percentage of green and red candles relative to the total number of analyzed candles, providing insights into market balance or imbalance.
Identify Trading Opportunities:
Significant imbalances between candle colors can indicate potential reversals or changes in market direction.
Traders can use this information to make informed decisions about their trading strategies, such as identifying entry or exit points.
Example:
In the last 40 candles, there were 13 green candles and 27 red candles, indicating a higher likelihood of the next candle being green.
Usage Tips:
The indicator is most effective when used on a 1-minute timeframe for binary options trading, especially during periods of high imbalance.
Adjust the parameters according to your trading strategy and the timeframe being analyzed.
Combine the Dynamic Candle Balance Indicator with other technical analysis tools to confirm trading signals.
Legal Disclaimer:
This indicator is provided for educational and informational purposes only. It represents a theory and should be used as part of a comprehensive trading strategy. Past performance is not indicative of future results. Traders should always conduct their own analysis before making trading decisions.
Try out the Dynamic Candle Balance Indicator and leverage its functionalities to identify trading opportunities on short-term charts, especially in 1-minute timeframes for binary options trading during periods of high imbalance. Remember to test the indicator on a practice account before using it on a real account.
Session Sweeps [LuxAlgo]The Session Sweeps indicator combines ICT-based features for a complete trading methodology involving market sessions, market structure, and fair value gaps to find optimal entry conditions for trading price action.
Traders frequently tend to place stop/limit orders at the high and low points of major trading sessions such as Asian (Tokyo), European (London), and North American (New York), resulting in the establishment of liquidity pools at those particular levels. The Session Sweeps indicator is crafted to recognize and underscore occurrences of session sweeps or liquidity sweeps during these major trading sessions.
🔶 USAGE
Default settings utilize major forex trading sessions, yet users can select their preferred opening and closing times, rename the sessions, or adjust the colors. It's important to note that the specified times for each session align with the respective local timezones: Asian (Tokyo) UTC+9, European (London) UTC, and North American (New York) UTC-5.
If the price briefly crosses either the highest or lowest point of a market session. These movements, aiming at triggering stop losses, suggest potential shifts in the market direction. Detecting such movements is the fundamental purpose and core functionality of the script.
🔹Market Structure Shifts
A Market Structure Shift refers to a change in market direction, either from an uptrend to a downtrend or vice versa. A part of a common entry model when using session sweeps is waiting for the formation of a CHoCH after a session sweep.
🔹Fair Value Gaps
A Fair Value Gap (FVG) holds particular appeal for price action traders, emerging when there are inefficiencies or imbalances in the market, often a result of uneven buying and selling activity. The underlying concept of FVGs is that the market tends to revisit these inefficiencies before resuming its trajectory in alignment with the initial impulsive move.
After the formation of a CHoCH traders can enter a position when the price enters the area of a Fair Value Gap (FVG).
🔹Setup Examples
This entry setup is commonly used by ICT traders and is shared for informational & educational purposes only.
Long Positions (5-Minute Timeframe):
Wait for the previous session's low to be swept.
Look for a Bullish Choch.
Find a Bullish FVG formed by or before the Choch.
Entry Point: At the FVG.
Take Profit (TP): At the session high or aim for a 1:2 Risk-Reward Ratio.
Stop Loss (SL): At the session low or nearest Swing Low.
Take partial profits at intermediate swings, but don’t shift SL prematurely.
Short Positions (5-Minute Timeframe):
Wait for the previous session's high to be swept.
Look for a Bearish Choch.
Find a FVG formed by or before the Choch.
Entry Point: At the FVG.
Take Profit (TP): At the previous session's low or aim for a 1:2 RR.
Stop Loss (SL): At the session high or nearest Swing High.
Take partial profits at intermediate swings, but don’t shift SL prematurely.
🔶 SETTINGS
🔹Session Sweeps
Buyside Sweep Zones, Color, and Margin: toggles the visibility of bullside sweep zones, customizes the associated color, and sets the margin value defining the range of a bullside sweep zone.
Sellside Sweep Zones, Color, and Margin: toggles the visibility of sell-side sweep zones, customizes the associated color, and sets the margin value defining the range of a sell-side sweep zone.
Sweep Margin Length: specifies the maximum allowed length of a sweep zone invalidation, the length over which the price slightly invalidated the margin range.
Detect Sweeps Once per Session: if enabled will detect only once a sweep zone within a session.
Hide Fake Sweep Zones, and Color: controls the visibility and color of the fake sweep zones.
🔹Sessions
Session (Asia, London, New York AM, and New York PM), Start Time, and End Time: enables or disables the visibility of the named market session range, and customization of the session hours.
Color: color customization option of the named session.
Extend Max/Min: extends the highest and lowest price levels of the named session until the end of the next enabled session. This option is recommended to be enabled when sweep zone detection is activated to observe the relationship between the sweep zone and previous session extreme levels.
Extend Mid: extends the mean price levels of the named session until the end of the next enabled session. The extended line may serve as potential support and resistance levels.
Fill: enables/disables background coloring of the named session.
New York DST | London DST: enabling this option initiates Daylight Saving Time (DST) for New York or London. Note: Daylight Saving Time is not applied to the Asian (Tokyo) session.
Sessions Extreme Lines | Sessions Names: toggles the visibility of the highest and lowest price levels, as well as the names, for all market sessions.
Session Lines Width: sets the width of the lines for all sessions.
Session Fill Transparency: sets the background color transparency of the range for all sessions.
🔹Market Structure Shifts
Market Structure Shifts: toggles the visibility of market structure shifts, also known as change of character (CHoCH).
Detection Length: specifies the detection length.
Market Structure Shifts; Bull & Bear: color customization options.
🔹Fair Value Gaps
Fair Value Gaps: toggles the visibility of the fair value gaps.
Fair Value Gap Width Filter: specifies the filtering multiplier; additional details can be found in the tooltip of the respective input option.
Bullish & Bearish Imbalance: color customization options.
🔹Sessions Tabular View
Sessions Tabular View: toggles the visibility of the tabular view of the sessions, displaying date &time, status, and countdown counter.
Hide if not Forex Market Instrument: checks the market and automatically enables/disables the option based on the market instrument.
Table Text Size & Position: size and placement customization options
🔶 LIMITATIONS
Please be aware that fair value gap filtering cannot be applied to the initial 144 candles (with a fixed-length ATR) as the ATR value necessary for filtering won't be available during this period.
🔶 RELATED SCRIPTS
Buyside-Sellside-Liquidity
Sessions
Liquidity-Voids-FVG
Thank you to our community for the recommendation of this script. To explore additional conceptual scripts and related content, we invite you to visit >>> LuxAlgo-Scripts .
Footprint liteFootprint Lite enables you to monitor volume distribution for the current ticker, offering resolutions as 1 second, segmented by specified price levels with visual representations. Additionally, you have the flexibility to customize the displayed Imbalance price level and the number of consecutive Imbalance level lines.
Here are the input options:
Group Display:
This section allows you to adjust how Footprints are displayed.
"Count show bars": Directly adjusts the display to show the last 'n' bars.
"Display all available bars": Shows all available bars.
Group Row size:
Adjusts the parameters for generating Footprints based on price step size.
"Ticks Per Row": Directly sets the price step, calculated by multiplying the entered value by syminfo.mintick.
"Auto": Enables automatic mode for selecting the "Ticks Per Row" value.
"Max row": Relevant for auto mode, it sets the acceptable number of rows within a bar. The automatic "Ticks Per Row" calculation is based on the first available bar and applied to subsequent bars.
Group Imbalance:
Customizes the display of price levels represented by Imbalance and emphasizes consecutive lines.
"Imbalance Percent": A coefficient expressed as a percentage to determine the Imbalance of price levels, comparing the buy price diagonally to the previous sell price.
"Stacked levels": Sets the minimum number of consecutive Imbalance levels required to draw extended lines.
Alerts:
You can set alerts for various events:
"New imbalance line sell": Alerts on the appearance of a new imbalance line for selling.
"New imbalance line buy": Alerts on the appearance of a new imbalance line for buying.
"Stop past imbalance line sell": Alerts when the previous imbalance line for selling stops, indicating it has reached the range from low to high of the current bar.
"Stop past imbalance line buy": Alerts when the previous imbalance line for buying stops, indicating it is within the range from low to high of the current bar.
"New imbalance buy": Alerts on the appearance of a new or change in the current imbalance level for buying.
"New imbalance sell": Alerts on the appearance of a new or change in the current imbalance level for selling.
VIB / GIB v1.0The VIB / GIB indicator
V1 ----- 13 Feb 2023 ------------ Inital release.
This gives the user the ability to easily display VIB(Volume ImBalances) and GIB(Gap ImBalances) on their chart.
Volume imbalances (VIB) are created when there is a price difference between the close of a candle and the opening of the next candle. This price difference can be used as a level of support or resistance in future trading.
A Gap imbalance (GIB) has the same principles as a VIB, but also has the feature that no wick closes through the gap, showing an even more powerful imbalance in the market at that point.
GIBs and VIBs can be individually switched on or off via the settings, and optional icons can also be activated or not to show where the imbalance took place.
Please note that this is purely an indicator that should be used with other confluence before making trading decisions.
Sesiones + FVG + PDH / PDLMarket Sessions: Define and visualize four market sessions (New York, London, Tokyo, Sydney) with options to display ranges, trend lines, averages, VWAP, and highs/lows.
Dashboard: A panel that displays the status of the sessions (active/inactive) and, in advanced mode, the coefficient of determination (R2) of the trend line and the volume for each session.
Fair Value Gaps (FVG) / Imbalances: Detect and draw Fair Value Gaps (also known as imbalances or inefficiencies) on multiple time frames, with options to extend them, change their color when tested, and adjust their levels if the price touches them.
Previous Day/Week/Month Levels: Displays the highs and lows of the previous day and week (PDH/PDL, PWH/PWL), as well as the opening prices of the current day, week, and month (DO, WO, MO).
Dix$on's Weighted Volume FlowDixson's Weighted Volume Flow
Dixson's Weighted Volume Flow is a technical indicator designed to analyze and visualize the distribution of buy and sell volume within a given timeframe. It dynamically calculates the proportional allocation of volume based on price action within each bar, providing insights into market sentiment and activity. This indicator displays horizontal volume bars in a separate pane and annotates them with precise volume values.
How It Works
1. Volume Allocation:
- The indicator calculates buy and sell volume using the following formulas:
- Buy Volume = (Close - Low) / (High - Low) Total Volume
- Sell Volume = (High - Close) / (High - Low) Total Volume
- These formulas allocate volume proportionally based on the bar's price range, attributing more volume to buying or selling depending on the relationship between the close, high, and low prices.
2. Dynamic Scaling:
- The buy and sell volumes are scaled relative to their combined total for the period.
- The resulting values determine the length of the horizontal bars, providing a comparative view of buy and sell activity.
3. Bar Visualization:
- Buy Volume Bars: Displayed as green horizontal bars.
- Sell Volume Bars: Displayed as red horizontal bars.
- The lengths of the bars represent the dominance of buy or sell volume, scaled dynamically within the pane.
4. Labels:
- Each bar is annotated with a label showing its calculated buy or sell volume value.
5. Timeframe Adjustment:
- The indicator uses the request.security() function to fetch data from the selected timeframe, allowing users to customize their analysis for intraday, daily, or longer-term trends.
6. Customization Options:
- Enable or disable the indicator using a toggle.
- Adjust colors for the buy/sell bars and text labels to suit your chart theme.
How to Use It
1. Enable the Indicator:
- Activate the indicator using the "Enable/Disable" toggle in the settings.
2. Select a Timeframe:
- Choose the timeframe for analysis (e.g., 1-minute, 1-hour, daily). The indicator fetches volume data specific to the selected timeframe.
3. Interpret the Visualization:
- Compare Bar Lengths:
- Longer buy volume bars (green) indicate stronger buying activity.
- Longer sell volume bars (red) suggest dominant selling pressure.
- Labels:
- Use the labels to view the exact buy and sell volume values for precise analysis.
4. Combine with Other Tools:
- Use the indicator alongside price action analysis, support/resistance levels, or trend indicators to confirm market sentiment and detect potential reversals.
5. Monitor Imbalances:
- Significant disparities between buy and sell volume can signal shifts in market sentiment, such as the end of a trend or the start of a breakout.
Practical Applications
- Trend Confirmation:
- Align the dominance of buy or sell volume with price trends to confirm market direction.
- Reversal Signals:
- Watch for volume imbalances or a sudden shift in the dominance of buy or sell volume to identify potential reversals.
- High-Activity Zones:
- Identify areas with increased volume to anticipate significant price movements or key support/resistance interactions.
Dixson's Weighted Volume Flow provides a clear and systematic way to analyze market activity by visualizing the dynamics of buy and sell volume. It is particularly useful for traders looking to enhance their understanding of volume-based sentiment and its impact on price movements.
PVSRA Candles Auto OverrideWhat does this “PVSRA Candles Auto Override” Indicator
do?
This indicator automates PVSRA analysis for crypto traders. It finds the corresponding Binance Perpetual Futures chart for the current instrument, then replaces the current chart's volume profile with the perpetual futures data (if available) to ensure the PVSRA calculation uses the most relevant volume. This not only reduces human error during market scans but also automatically selects the appropriate Binance Perpetual Futures contract, saving time and improving the accuracy of PVSRA calculations.
How can a trader use this indicator?
This helps the trader to identify if there is volume data available in an equivalent Binance Perpetual Futures chart and automatically displays it, making it easier to switch coins whilst viewing the market. Why do we want to use Binance Perpetual Futures Volume? In most markets Binance volume surpasses those of other crypto exchanges so this will give us a better view on the volume spikes in the market.
What is PVSRA and how can I trade using this indicator?
PVSRA candles are a type of candlestick chart formatting. PVSRA stands for Price, Volume, Support and Resistance Analysis.
Here's a breakdown of what PVSRA candles aim to achieve:
Combine multiple factors: They take into account price movement, trading volume, and support and resistance levels to identify potential trading opportunities.
Highlight potential imbalances: By color-coding candles based on PVSRA analysis, they aim to show areas of high volume activity, potentially representing imbalances created by market makers (large institutions that influence price).
Identify areas of revisit: The theory is that these high-volume zones may be revisited by the market in the future, as there's "unrecovered liquidity" in those areas.
Usage of the Indicator:
By default the indicator will automatically use the Equivalent Binance Perpetual Chart for the Data
You can override the symbol manually if you what to view another instrument’s data.
Advanced Market TheoryADVANCED MARKET THEORY (AMT)
This is not an indicator. It is a lens through which to see the true nature of the market.
Welcome to the definitive application of Auction Market Theory. What you have before you is the culmination of decades of market theory, fused with state-of-the-art data analysis and visual engineering. It is an institutional-grade intelligence engine designed for the serious trader who seeks to move beyond simplistic indicators and understand the fundamental forces that drive price.
This guide is your complete reference. Read it. Study it. Internalize it. The market is a complex story, and this tool is the language with which to read it.
PART I: THE GRAND THEORY - A UNIVERSE IN AN AUCTION
To understand the market, you must first understand its purpose. The market is a mechanism of discovery, organized by a continuous, two-way auction.
This foundational concept was pioneered by the legendary trader J. Peter Steidlmayer at the Chicago Board of Trade in the 1980s. He observed that beneath the chaotic facade of ticking prices lies a beautifully organized structure. The market's primary function is not to go up or down, but to facilitate trade by seeking a price level that encourages the maximum amount of interaction between buyers and sellers. This price is "value."
The Organizing Principle: The Normal Distribution
Over any given period, the market's activity will naturally form a bell curve (a normal distribution) turned on its side. This is the blueprint of the auction.
The Point of Control (POC): This is the peak of the bell curve—the single price level where the most trade occurred. It represents the point of maximum consensus, the "fairest price" as determined by the market participants. It is the gravitational center of the session.
The Value Area (VA): This is the heart of the bell curve, typically containing 70% of the session's activity (one standard deviation). This is the zone of "accepted value." Prices within this area are considered fair and are where the market is most comfortable conducting business.
The Extremes: The thin areas at the top and bottom of the curve are the "unfair" prices. These are levels where one side of the auction (buyers at the top, sellers at the bottom) was shut off, and trade was quickly rejected. These are areas of emotional trading and excess.
The Narrative of the Day: Balance vs. Imbalance
Every trading session is a story of the market's search for value.
Balance: When the market rotates and builds a symmetrical, bell-shaped profile, it is in a state of balance . Buyers and sellers are in agreement, and the market is range-bound.
Imbalance: When the market moves decisively away from a balanced area, it is in a state of imbalance . This is a trend. The market is actively seeking new information and a new area of value because the old one was rejected.
Your Purpose as a Trader
Your job is to read this story in real-time. Are we in balance or imbalance? Is the auction succeeding or failing at these new prices? The Advanced Market Theory engine is your Rosetta Stone to translate this complex narrative into actionable intelligence.
PART II: THE AMT ENGINE - AN EVOLUTION IN MARKET VISION
A standard market profile tool shows you a picture. The AMT Engine gives you the architect's full schematics, the engineer's stress tests, and the psychologist's behavioral analysis, all at once.
This is what makes it the Advanced Market Theory. We have fused the timeless principles with layers of modern intelligence:
TRINITY ANALYSIS: You can view the market through three distinct lenses. A Volume Profile shows where the money traded. A TPO (Time) Profile shows where the market spent its time. The revolutionary Hybrid Profile fuses both, giving you a complete picture of market conviction—marrying volume with duration.
AUTOMATED STRUCTURAL DECODING: The engine acts as your automated analyst, identifying critical structural phenomena in real-time:
Poor Highs/Lows: Weak auction points that signal a high probability of reversal.
Single Prints & Ledges: Footprints of rapid, aggressive market moves and areas of strong institutional acceptance.
Day Type Classification: The engine analyzes the session's personality as it develops ("Trend Day," "Normal Day," etc.), allowing you to adapt your strategy to the market's current character.
MACRO & MICRO FUSION: Via the Composite Profile , the engine merges weeks of data to reveal the major institutional battlegrounds that govern long-term price action. You can see the daily skirmish and the multi-month war on a single chart.
ORDER FLOW INTELLIGENCE: The ultimate advancement is the integrated Cumulative Volume Delta (CVD) engine. This moves beyond structure to analyze the raw aggression of buyers versus sellers. It is your window into the market's soul, automatically detecting critical Divergences that often precede major trend shifts.
ADAPTIVE SIGNALING: The engine's signal generation is not static; it is a thinking system. It evaluates setups based on a multi-factor Confluence Score , understands the market Regime (e.g., High Volatility), and adjusts its own confidence ( Probability % ) based on the complete context.
This is not a tool that gives you signals. This is a tool that gives you understanding .
PART III: THE VISUAL KEY - A LEXICON OF MARKET STRUCTURE
Every element on your chart is a piece of information. This is your guide to reading it fluently.
--- THE CORE ARCHITECTURE ---
The Profile Histogram: The primary visual on the left of each session. Its shape is the story. A thin profile is a trend; a fat, symmetrical profile is balance.
Blue Box : The zone of accepted, "fair" value. The heart of the session's business.
Bright Orange Line & Label : The Point of Control. The gravitational center. The price of maximum consensus. The most significant intraday level.
Dashed Blue Lines & Labels : The boundaries of value. Critical inflection points where the market decides to either remain in balance or seek value elsewhere.
Dashed Cyan Lines & Labels : The major, long-term structural levels derived from weeks of data. These are institutional reference points and carry immense weight. Treat them as primary support and resistance.
Dashed Orange Lines & Labels : Marks a Poor or Unfinished Auction . These represent emotional, weak extremes and are high-probability targets for future price action.
Diamond Markers : Mark Single Prints , which are footprints of aggressive, one-sided moves that left a "liquidity vacuum." Price is often drawn back to these levels to "repair" the poor structure.
Arrow Markers : Mark Ledges , which are areas of strong horizontal acceptance. They often act as powerful support/resistance in the future.
Dotted Gray Lines & Labels : The projected daily range based on multiples of the Initial Balance . Use them to set realistic profit targets and gauge the day's potential.
--- THE SIGNAL SUITE ---
Colored Triangles : These are your high-probability entry signals. The color is a strategic playbook:
Gold Triangle : ELITE Signal. An A+ setup with overwhelming confluence. This is the highest quality signal the engine can produce.
Yellow Triangle : FADE Signal. A counter-trend setup against an exhausted move at a structural extreme.
Cyan Triangle : BREAKOUT Signal. A momentum setup attempting to capitalize on a breakout from the value area.
Purple Triangle : ROTATION Signal. A mean-reversion setup within the value area, typically from one edge towards the POC.
Magenta Triangle : LIQUIDITY Signal. A sophisticated setup that identifies a "stop run" or liquidity sweep.
Percentage Number: The engine's calculated probability of success . This is not a guarantee, but a data-driven confidence score.
Dotted Gray Line: The signal's Entry Price .
Dashed Green Lines: The calculated Take Profit Targets .
Dashed Red Line: The calculated Stop Loss level.
PART IV: THE DASHBOARD - YOUR STRATEGIC COMMAND CENTER
The dashboard is your real-time intelligence briefing. It synthesizes all the engine's analysis into a clear, concise, and constantly updating summary.
--- CURRENT SESSION ---
POC, VAH, VAL: The live values for the core structure.
Profile Shape: Is the current auction top-heavy ( b-shaped ), bottom-heavy ( P-shaped ), or balanced ( D-shaped )?
VA Width: Is the value area expanding (trending) or contracting (balancing)?
Day Type: The engine's judgment on the day's personality. Use this to select the right strategy.
IB Range & POC Trend: Key metrics for understanding the opening sentiment and its evolution.
--- CVD ANALYSIS ---
Session CVD: The raw order flow. Is there more net buying or selling pressure in this session?
CVD Trend & DIVERGENCE: This is your order flow intelligence. Is the order flow confirming the price action? If "DIVERGENCE" flashes, it is a critical, high-alert warning of a potential reversal.
--- MARKET METRICS ---
Volume, ATR, RSI: Your standard contextual metrics, providing a quick read on activity, volatility, and momentum.
Regime: The engine's assessment of the broad market environment: High Volatility (favor breakouts), Low Volatility (favor mean reversion), or Normal .
--- PROFILE STATS, COMPOSITE, & STRUCTURE ---
These sections give you a quick quantitative summary of the profile structure, the major long-term Composite levels, and any active Poor Structures.
--- SIGNAL TYPES & ACTIVE SIGNAL ---
A permanent key to the signal colors and their meanings, along with the full details of the most recent active signal: its Type , Probability , Entry , Stop , and Target .
PART V: THE INPUTS MENU - CALIBRATING YOUR LENS
This engine is designed to be calibrated to your specific needs as a trader. Every input is a lever. This is not a "one size fits all" tool. The extensive tooltips are your built-in user manual, but here are the key areas of focus:
--- MARKET PROFILE ENGINE ---
Profile Mode: This is the most fundamental choice. Volume is the standard for price-based support and resistance. TPO is for analyzing time-based acceptance. Hybrid is the professional's choice, fusing both for a complete picture.
Profile Resolution: This is your zoom lens. Lower values for scalping and intraday precision. Higher values for a cleaner, big-picture view suitable for swing trading.
Composite Sessions: Your timeframe for macro analysis. 5-10 sessions for a weekly view; 20-30 sessions for a monthly, structural view.
--- SESSION & VALUE AREA ---
These settings must be configured correctly for your specific asset. The Session times are critical. The Initial Balance should reflect the key opening period for your market (60 minutes is standard for equities).
--- SIGNAL ENGINE & RISK MANAGEMENT ---
Signal Mode: THIS IS YOUR PERSONAL RISK PROFILE. Set it to Conservative to see only the absolute best A+ setups. Use Elite or Balanced for a standard approach. Use Aggressive only if you are an experienced scalper comfortable with managing more frequent, lower-probability setups.
ATR Multipliers: This suite gives you full, dynamic control over your risk/reward parameters. You can precisely define your initial stop loss distance and profit targets based on the market's current volatility.
A FINAL WORD FROM THE ARCHITECT
The creation of this engine was a journey into the very heart of market dynamics. It was born from a frustrating truth: that the most profound market theories were often confined to books and expensive institutional platforms, inaccessible to the modern retail trader. The goal was to bridge that gap.
The challenge was monumental. Making each discrete system—the volume profile, the TPO counter, the composite engine, the CVD tracker, the signal generator, the dynamic dashboard—work was a task in itself. But the true struggle, the frustrating, painstaking process that consumed countless hours, was making them work in unison . It was about ensuring the CVD analysis could intelligently inform the signal engine, that the day type classification could adjust the probability scores, and that the composite levels could provide context to the intraday structure, all in a seamless, real-time dance of data.
This engine is the result of that relentless pursuit of integration. It is built on the belief that a trader's greatest asset is not a signal, but clarity . It was designed to clear the noise, to organize the chaos, and to present the elegant, underlying logic of the market auction so that you can make better, more informed, and more confident decisions.
It is now in your hands. Use it not as a crutch, but as a lens. See the market for what it truly is.
"The market can remain irrational longer than you can remain solvent."
- John Maynard Keynes
DISCLAIMER
This script is an advanced analytical tool provided for informational and educational purposes only. It is not financial advice. All trading involves substantial risk, and past performance is not indicative of future results. The signals, probabilities, and metrics generated by this indicator do not constitute a recommendation to buy or sell any financial instrument. You, the user, are solely responsible for all trading decisions, risk management, and outcomes. Use this tool to supplement your own analysis and trading strategy.
PUBLISHING CATEGORIES
Volume Profile
Market Profile
Order Flow
Ultimate Market Structure [Alpha Extract]Ultimate Market Structure
A comprehensive market structure analysis tool that combines advanced swing point detection, imbalance zone identification, and intelligent break analysis to identify high-probability trading opportunities.Utilizing a sophisticated trend scoring system, this indicator classifies market conditions and provides clear signals for structure breaks, directional changes, and fair value gap detection with institutional-grade precision.
🔶 Advanced Swing Point Detection
Identifies pivot highs and lows using configurable lookback periods with optional close-based analysis for cleaner signals. The system automatically labels swing points as Higher Highs (HH), Lower Highs (LH), Higher Lows (HL), and Lower Lows (LL) while providing advanced classifications including "rising_high", "falling_high", "rising_low", "falling_low", "peak_high", and "valley_low" for nuanced market analysis.
swingHighPrice = useClosesForStructure ? ta.pivothigh(close, swingLength, swingLength) : ta.pivothigh(high, swingLength, swingLength)
swingLowPrice = useClosesForStructure ? ta.pivotlow(close, swingLength, swingLength) : ta.pivotlow(low, swingLength, swingLength)
classification = classifyStructurePoint(structureHighPrice, upperStructure, true)
significance = calculateSignificance(structureHighPrice, upperStructure, true)
🔶 Significance Scoring System
Each structure point receives a significance level on a 1-5 scale based on its distance from previous points, helping prioritize the most important levels. This intelligent scoring system ensures traders focus on the most meaningful structure breaks while filtering out minor noise.
🔶 Comprehensive Trend Analysis
Calculates momentum, strength, direction, and confidence levels using volatility-normalized price changes and multi-timeframe correlation. The system provides real-time trend state tracking with bullish (+1), bearish (-1), or neutral (0) direction assessment and 0-100 confidence scoring.
// Calculate trend momentum using rate of change and volatility
calculateTrendMomentum(lookback) =>
priceChange = (close - close ) / close * 100
avgVolatility = ta.atr(lookback) / close * 100
momentum = priceChange / (avgVolatility + 0.0001)
momentum
// Calculate trend strength using multiple timeframe correlation
calculateTrendStrength(shortPeriod, longPeriod) =>
shortMA = ta.sma(close, shortPeriod)
longMA = ta.sma(close, longPeriod)
separation = math.abs(shortMA - longMA) / longMA * 100
strength = separation * slopeAlignment
❓How It Works
🔶 Imbalance Zone Detection
Identifies Fair Value Gaps (FVGs) between consecutive candles where price gaps create unfilled areas. These zones are displayed as semi-transparent boxes with optional center line mitigation tracking, highlighting potential support and resistance levels where institutional players often react.
// Detect Fair Value Gaps
detectPriceImbalance() =>
currentHigh = high
currentLow = low
refHigh = high
refLow = low
if currentOpen > currentClose
if currentHigh - refLow < 0
upperBound = currentClose - (currentClose - refLow)
lowerBound = currentClose - (currentClose - currentHigh)
centerPoint = (upperBound + lowerBound) / 2
newZone = ImbalanceZone.new(
zoneBox = box.new(bar_index, upperBound, rightEdge, lowerBound,
bgcolor=bullishImbalanceColor, border_color=hiddenColor)
)
🔶 Structure Break Analysis
Determines Break of Structure (BOS) for trend continuation and Directional Change (DC) for trend reversals with advanced classification as "continuation", "reversal", or "neutral". The system compares pre-trend and post-trend states for each break, providing comprehensive trend change momentum analysis.
🔶 Intelligent Zone Management
Features partial mitigation tracking when price enters but doesn't fully fill zones, with automatic zone boundary adjustment during partial fills. Smart array management keeps only recent structure points for optimal performance while preventing duplicate signals from the same level.
🔶 Liquidity Zone Detection
Automatically identifies potential liquidity zones at key structure points for institutional trading analysis. The system tracks broken structure points and provides adaptive zone extension with configurable time-based limits for imbalance areas.
🔶 Visual Structure Mapping
Provides clear visual indicators including swing labels with color-coded significance levels, dashed lines connecting break points with BOS/DC labels, and break signals for continuation and reversal patterns. The adaptive zones feature smart management with automatic mitigation tracking.
🔶 Market Structure Interpretation
HH/HL patterns indicate bullish market structure with trend continuation likelihood, while LH/LL patterns signal bearish structure with downtrend continuation expected. BOS signals represent structure breaks in trend direction for continuation opportunities, while DC signals warn of potential reversals.
🔶 Performance Optimization
Automatic cleanup of old structure points (keeps last 8 points), recent break tracking (keeps last 5 break events), and efficient array management ensure smooth performance across all timeframes and market conditions.
Why Choose Ultimate Market Structure ?
This indicator provides traders with institutional-grade market structure analysis, combining multiple analytical approaches into one comprehensive tool. By identifying key structure levels, imbalance zones, and break patterns with advanced significance scoring, it helps traders understand market dynamics and position themselves for high-probability trade setups in alignment with smart money concepts. The sophisticated trend scoring system and intelligent zone management make it an essential tool for any serious trader looking to decode market structure with precision and confidence.
PRINT_LOGICLibrary "PRINT_LOGIC"
method fill_imba_line(imba_line, foot_bar, sup)
fill imbalance line
Namespace types: footprint_type.Imbalance_line
Parameters:
imba_line (Imbalance_line type from Alesetup/PRINT_TYPE/1) : instance of Imbalance_line type
foot_bar (Footprint_bar type from Alesetup/PRINT_TYPE/1) : instance of Footprint_bar type
sup (Support_objects type from Alesetup/PRINT_TYPE/1) : instance of Support_objects type
Returns: Void
method fill_footprint_type(foot_bar, sup)
Namespace types: footprint_type.Footprint_bar
Parameters:
foot_bar (Footprint_bar type from Alesetup/PRINT_TYPE/1) : instance of Footprint_bar type
sup (Support_objects type from Alesetup/PRINT_TYPE/1) : instance of Support_objects type
Returns: Void
method fill_footprint_object(foot_bar, sup)
fill all footprint objects
Namespace types: footprint_type.Footprint_bar
Parameters:
foot_bar (Footprint_bar type from Alesetup/PRINT_TYPE/1) : instance of Footprint_bar type
sup (Support_objects type from Alesetup/PRINT_TYPE/1) : instance of Support_objects type
Returns: Void
Cnagda Liquidit Trading SystemCnagda Liquidit Trading System helps spot where price is likely to trap traders and reverse, then gives simple, actionable Level to entry, place SL, and take profits with confidence. It blends imbalance zones, trend bias, order blocks, liquidity pools, high-probability fake Signal, and context-aware candle patterns into one clean workflow.
🟩🟥 Imbalance boxes: “Crowd rushed, gaps left”
What it is: Green/red boxes mark fast, one-sided moves where price “skipped” orders—think FVG-like zones that often get revisited.
Why it helps: Price frequently pulls back to “fill” these zones, creating clean retest entries with logical stops.
⏩How to use:
Green box = potential demand retest; Red box = potential supply retest. Enter on pullback into box, not on first impulse. Put stop on far side of box and aim first targets at recent swing points.
↕️ Swing bias (HH/HL vs LH/LL): “Which way is the road?”
What it is: Higher-highs/higher-lows = up-bias; Lower-highs/lower-lows = down-bias. system plots Buy/Sell OB levels aligned with that bias.
Why it helps: Trading with the broader flow reduces “hero trades” against institutions. Bias gives clearer entries and cleaner drawdowns.
⏩How to use:
Up-bias: look for long on Buy OB retests. Down-bias: look for short on Sell OB retests. Wait for a small rejection/engulfing to confirm before triggering.
🧱Order blocks: “Where big players remember”
What it is: last opposite-colored candle before an impulsive move—these zones often hold memory and reaction. system plots these as Buy/Sell OB lines.
Why it helps: Many breakouts pull back to the origin. Good entries often happen on retest, not on the breakout chase.
⏩ How to use:
Let price return into the OB, show wick rejection, and decent volume. Enter with stop beyond OB; define risk-reward before entry.
📊Volume coloring: “How Volume is move?”
What it is: Bar color reflects relative volume; inside bars are black. The dashboard also shows Volume and “Volume vs Prev.”
Why it helps: Patterns without volume often fade; volume validates strength and intent of moves.
⏩ How to use:
Favor entries where imbalance/OB/liquidity-grab coincide with higher volume. If volume is weak, reduce size or skip.
🧲 BSL/SSL liquidity pools: “Fishing for stops”
What it is: Equal highs cluster stops above (BSL); equal lows cluster stops below (SSL). system plots these and highlights the nearest one (“magnet”).
Why it helps: Price often sweeps these pools to trigger stops before reversing. This is a prime trap-reversal location.
⏩ How to use:
Watch nearest BSL/SSL. If price wicks through and closes back inside, anticipate a reversal. Trade reaction, not first poke. When price closes beyond, consider that pool mitigated and move on.
🟢🔴 Advanced liquidity grab: “Catch fakeout”
What it is: Bullish grab = makes a new low beyond a prior low but closes back above it, with a long lower wick, small body, and higher volume. Bearish is mirror. Labeled automatically.
Why it helps: It exposes trap moves (stop hunts) and often precedes true direction.
⏩ How to use:
Best when it aligns with a nearby imbalance/OB and supportive volume. Enter on reversal candle break or on retest. Stop goes beyond sweep wick.
🧠 Smart candlestick patterns (only in right place)
What it is: Engulfing, Hammer, Shooting Star, Hanging Man, Doji (with high volume), Morning/Evening Star, Piercing—but marked “effective” only if context (swing/trend/location) agrees.
Why it helps: same pattern in the wrong place is noise; in the right place, it’s signal.
⏩ How to use:
Location first (BSL/SSL/OB/imbalance), then pattern. Treat pattern as trigger/confirmation—one fresh label shows to keep chart clean.
🧭 Dashboard: “Context in a glance”
⏩ Reversal Level: current swing anchor—expect turns or reactions nearby; great for alerts and planning.
⏩ Volume vs Prev + Volume: Strength meter for signal candle—higher adds conviction.
⏩ Nearest Pool: next “magnet” area—look for sweeps/rejections there.
🧩Step-by-step trading flow (with mindset)
⏩ Set bias: HH/HL = long bias, LH/LL = short bias. Counter-trend only on clean sweeps with strong confirmation.
⏩ Find magnet: Check Nearest Pool (BSL/SSL). Focus attention there; it saves screen time.
⏩ Wait for event: Look for a sweep/grab label, or sharp rejection at pool/OB/imbalance. Avoid FOMO.
⏩ Add confluence: Stack 2–3 of these—imbalance box, OB, contextual pattern, supportive volume.
⏩Plan entry: Bullish: trigger above reversal candle high or take retest of FVG/OB. Stop below sweep wick/zone. Target at least 1:1.5–1:2.
Bearish: mirror above.
⏩Manage smartly: Take partials, move to breakeven or trail thoughtfully. Don’t drag stops inside zone out of emotion.
🎛️ Parameter tuning (to reduce human error)
⏩ swingLen: Smaller = faster but noisier; larger = cleaner but slower. Backtest first, then go live.
⏩ Tolerance (ATR or percent): ATR tolerance adapts to volatility (good for fast markets and lower TFs). Start around 0.15–0.30. In calm markets, try percent 0.05–0.15%.
⏩ minBarsGap: Start with 3–5 so equal highs/lows are truly equal—reduces false pools.
❌Common mistakes → ✅ Better habits
⏩Chasing every breakout → Wait for sweep/rejection, then confirm.
⏩Ignoring volume → Validate strength; cut size or skip on weak volume.
⏩Losing history of pools → If reviewing/backtesting, keep mitigated pools visible (dashed/faded).
⏩Over-tight tolerance/too small swingLen → Increases false signals; backtest to find balance.
📝 checklist (before entry)
⏩ Is there a nearby BSL/SSL and did a sweep/grab happen there?
⏩ Is there a close imbalance/OB that price can retest?
⏩ Do we have an effective pattern plus supportive volume?
⏩Is the stop beyond the wick/zone and RR ≥ 1:1.5?
•?((¯°·._.• 🎀 𝐻𝒶𝓅𝓅𝓎 𝒯𝓇𝒶𝒹𝒾𝓃𝑔 🎀 •._.·°¯((?•
FVG Premium [no1x]█ OVERVIEW
This indicator provides a comprehensive toolkit for identifying, visualizing, and tracking Fair Value Gaps (FVGs) across three distinct timeframes (current chart, a user-defined Medium Timeframe - MTF, and a user-defined High Timeframe - HTF). It is designed to offer traders enhanced insight into FVG dynamics through detailed state monitoring (formation, partial fill, full mitigation, midline touch), extensive visual customization for FVG representation, and a rich alert system for timely notifications on FVG-related events.
█ CONCEPTS
This indicator is built upon the core concept of Fair Value Gaps (FVGs) and their significance in price action analysis, offering a multi-layered approach to their detection and interpretation across different timeframes.
Fair Value Gaps (FVGs)
A Fair Value Gap (FVG), also known as an imbalance, represents a range in price delivery where one side of the market (buying or selling) was more aggressive, leaving an inefficiency or an "imbalance" in the price action. This concept is prominently featured within Smart Money Concepts (SMC) and Inner Circle Trader (ICT) methodologies, where such gaps are often interpreted as footprints left by "smart money" due to rapid, forceful price movements. These methodologies suggest that price may later revisit these FVG zones to rebalance a prior inefficiency or to seek liquidity before continuing its path. These gaps are typically identified by a three-bar pattern:
Bullish FVG : This is a three-candle formation where the second candle shows a strong upward move. The FVG is the space created between the high of the first candle (bottom of FVG) and the low of the third candle (top of FVG). This indicates a strong upward impulsive move.
Bearish FVG : This is a three-candle formation where the second candle shows a strong downward move. The FVG is the space created between the low of the first candle (top of FVG) and the high of the third candle (bottom of FVG). This indicates a strong downward impulsive move.
FVGs are often watched by traders as potential areas where price might return to "rebalance" or find support/resistance.
Multi-Timeframe (MTF) Analysis
The indicator extends FVG detection beyond the current chart's timeframe (Low Timeframe - LTF) to two higher user-defined timeframes: Medium Timeframe (MTF) and High Timeframe (HTF). This allows traders to:
Identify FVGs that might be significant on a broader market structure.
Observe how FVGs from different timeframes align or interact.
Gain a more comprehensive perspective on potential support and resistance zones.
FVG State and Lifecycle Management
The indicator actively tracks the lifecycle of each detected FVG:
Formation : The initial identification of an FVG.
Partial Fill (Entry) : When price enters but does not completely pass through the FVG. The indicator updates the "current" top/bottom of the FVG to reflect the filled portion.
Midline (Equilibrium) Touch : When price touches the 50% level of the FVG.
Full Mitigation : When price completely trades through the FVG, effectively "filling" or "rebalancing" the gap. The indicator records the mitigation time.
This state tracking is crucial for understanding how price interacts with these zones.
FVG Classification (Large FVG)
FVGs can be optionally classified as "Large FVGs" (LV) if their size (top to bottom range) exceeds a user-defined multiple of the Average True Range (ATR) for that FVG's timeframe. This helps distinguish FVGs that are significantly larger relative to recent volatility.
Visual Customization and Information Delivery
A key concept is providing extensive control over how FVGs are displayed. This control is achieved through a centralized set of visual parameters within the indicator, allowing users to configure numerous aspects (colors, line styles, visibility of boxes, midlines, mitigation lines, labels, etc.) for each timeframe. Additionally, an on-chart information panel summarizes the nearest unmitigated bullish and bearish FVG levels for each active timeframe, providing a quick glance at key price points.
█ FEATURES
This indicator offers a rich set of features designed to provide a highly customizable and comprehensive Fair Value Gap (FVG) analysis experience. Users can tailor the FVG detection, visual representation, and alerting mechanisms across three distinct timeframes: the current chart (Low Timeframe - LTF), a user-defined Medium Timeframe (MTF), and a user-defined High Timeframe (HTF).
Multi-Timeframe FVG Detection and Display
The core strength of this indicator lies in its ability to identify and display FVGs from not only the current chart's timeframe (LTF) but also from two higher, user-selectable timeframes (MTF and HTF).
Timeframe Selection: Users can specify the exact MTF (e.g., "60", "240") and HTF (e.g., "D", "W") through dedicated inputs in the "MTF (Medium Timeframe)" and "HTF (High Timeframe)" settings groups. The visibility of FVGs from these higher timeframes can be toggled independently using the "Show MTF FVGs" and "Show HTF FVGs" checkboxes.
Consistent Detection Logic: The FVG detection logic, based on the classic three-bar imbalance pattern detailed in the 'Concepts' section, is applied consistently across all selected timeframes (LTF, MTF, HTF)
Timeframe-Specific Visuals: Each timeframe's FVGs (LTF, MTF, HTF) can be customized with unique colors for bullish/bearish states and their mitigated counterparts. This allows for easy visual differentiation of FVGs originating from different market perspectives.
Comprehensive FVG Visualization Options
The indicator provides extensive control over how FVGs are visually represented on the chart for each timeframe (LTF, MTF, HTF).
FVG Boxes:
Visibility: Main FVG boxes can be shown or hidden per timeframe using the "Show FVG Boxes" (for LTF), "Show Boxes" (for MTF/HTF) inputs.
Color Customization: Colors for bullish, bearish, active, and mitigated FVG boxes (including Large FVGs, if classified) are fully customizable for each timeframe.
Box Extension & Length: FVG boxes can either be extended to the right indefinitely ("Extend Boxes Right") or set to a fixed length in bars ("Short Box Length" or "Box Length" equivalent inputs).
Box Labels: Optional labels can display the FVG's timeframe and fill percentage on the box. These labels are configurable for all timeframes (LTF, MTF, and HTF). Please note: If FVGs are positioned very close to each other on the chart, their respective labels may overlap. This can potentially lead to visual clutter, and it is a known behavior in the current version of the indicator.
Box Borders: Visibility, width, style (solid, dashed, dotted), and color of FVG box borders are customizable per timeframe.
Midlines (Equilibrium/EQ):
Visibility: The 50% level (midline or EQ) of FVGs can be shown or hidden for each timeframe.
Style Customization: Width, style, and color of the midline are customizable per timeframe. The indicator tracks if this midline has been touched by price.
Mitigation Lines:
Visibility: Mitigation lines (representing the FVG's opening level that needs to be breached for full mitigation) can be shown or hidden for each timeframe. If shown, these lines are always extended to the right.
Style Customization: Width, style, and color of the mitigation line are customizable per timeframe.
Mitigation Line Labels: Optional price labels can be displayed on mitigation lines, with a customizable horizontal bar offset for positioning. For optimal label placement, the following horizontal bar offsets are recommended: 4 for LTF, 8 for MTF, and 12 for HTF.
Persistence After Mitigation: Users can choose to keep mitigation lines visible even after an FVG is fully mitigated, with a distinct color for such lines. Importantly, this option is only effective if the general setting 'Hide Fully Mitigated FVGs' is disabled, as otherwise, the entire FVG and its lines will be removed upon mitigation.
FVG State Management and Behavior
The indicator tracks and visually responds to changes in FVG states.
Hide Fully Mitigated FVGs: This option, typically found in the indicator's general settings, allows users to automatically remove all visual elements of an FVG from the chart once price has fully mitigated it. This helps maintain chart clarity by focusing on active FVGs.
Partial Fill Visualization: When price enters an FVG, the indicator offers a dynamic visual representation: the portion of the FVG that has been filled is shown as a "mitigated box" (typically with a distinct color), while the original FVG box shrinks to clearly highlight the remaining, unfilled portion. This two-part display provides an immediate visual cue about how much of the FVG's imbalance has been addressed and what potential remains within the gap.
Visual Filtering by ATR Proximity: To help users focus on the most relevant price action, FVGs can be dynamically hidden if they are located further from the current price than a user-defined multiple of the Average True Range (ATR). This behavior is controlled by the "Filter Band Width (ATR Multiple)" input; setting this to zero disables the filter entirely, ensuring all detected FVGs remain visible regardless of their proximity to price.
Alternative Usage Example: Mitigation Lines as Key Support/Resistance Levels
For traders preferring a minimalist chart focused on key Fair Value Gap (FVG) levels, the indicator's visualization settings can be customized to display only FVG mitigation lines. This approach leverages these lines as potential support and resistance zones, reflecting areas where price might revisit to address imbalances.
To configure this view:
Disable FVG Boxes: Turn off "Show FVG Boxes" (for LTF) or "Show Boxes" (for MTF/HTF) for the desired timeframes.
Hide Midlines: Disable the visibility of the 50% FVG Midlines (Equilibrium/EQ).
Ensure Mitigation Lines are Visible: Keep "Mitigation Lines" enabled.
Retain All Mitigation Lines:
Disable the "Hide Fully Mitigated FVGs" option in the general settings.
Enable the feature to "keep mitigation lines visible even after an FVG is fully mitigated". This ensures lines from all FVGs (active or fully mitigated) remain on the chart, which is only effective if "Hide Fully Mitigated FVGs" is disabled.
This setup offers:
A Decluttered Chart: Focuses solely on the FVG opening levels.
Precise S/R Zones: Treats mitigation lines as specific points for potential price reactions.
Historical Level Analysis: Includes lines from past, fully mitigated FVGs for a comprehensive view of significant price levels.
For enhanced usability with this focused view, consider these optional additions:
The on-chart Information Panel can be activated to display a quick summary of the nearest unmitigated FVG levels.
Mitigation Line Labels can also be activated for clear price level identification. A customizable horizontal bar offset is available for positioning these labels; for example, offsets of 4 for LTF, 8 for MTF, and 12 for HTF can be effective.
FVG Classification (Large FVG)
This feature allows for distinguishing FVGs based on their size relative to market volatility.
Enable Classification: Users can enable "Classify FVG (Large FVG)" to identify FVGs that are significantly larger than average.
ATR-Based Threshold: An FVG is classified as "Large" if its height (price range) is greater than or equal to the Average True Range (ATR) of its timeframe multiplied by a user-defined "Large FVG Threshold (ATR Multiple)". The ATR period for this calculation is also configurable.
Dedicated Colors: Large FVGs (both bullish/bearish and active/mitigated) can be assigned unique colors, making them easily distinguishable on the chart.
Panel Icon: Large FVGs are marked with a special icon in the Info Panel.
Information Panel
An on-chart panel provides a quick summary of the nearest unmitigated FVG levels.
Visibility and Position: The panel can be shown/hidden and positioned in any of the nine standard locations on the chart (e.g., Top Right, Middle Center).
Content: It displays the price levels of the nearest unmitigated bullish and bearish FVGs for LTF, MTF (if active), and HTF (if active). It also indicates if these nearest FVGs are Large FVGs (if classification is enabled) using a selectable icon.
Styling: Text size, border color, header background/text colors, default text color, and "N/A" cell background color are customizable.
Highlighting: Background and text colors for the cells displaying the overall nearest bullish and bearish FVG levels (across all active timeframes) can be customized to draw attention to the most proximate FVG.
Comprehensive Alert System
The indicator offers a granular alert system for various FVG-related events, configurable for each timeframe (LTF, MTF, HTF) independently. Users can enable alerts for:
New FVG Formation: Separate alerts for new bullish and new bearish FVG formations.
FVG Entry/Partial Fill: Separate alerts for price entering a bullish FVG or a bearish FVG.
FVG Full Mitigation: Separate alerts for full mitigation of bullish and bearish FVGs.
FVG Midline (EQ) Touch: Separate alerts for price touching the midline of a bullish or bearish FVG.
Alert messages are detailed, providing information such as the timeframe, FVG type (bull/bear, Large FVG), relevant price levels, and timestamps.
█ NOTES
This section provides additional information regarding the indicator's usage, performance considerations, and potential interactions with the TradingView platform. Understanding these points can help users optimize their experience and troubleshoot effectively.
Performance and Resource Management
Maximum FVGs to Track : The "Max FVGs to Track" input (defaulting to 25) limits the number of FVG objects processed for each category (e.g., LTF Bullish, MTF Bearish). Increasing this value significantly can impact performance due to more objects being iterated over and potentially drawn, especially when multiple timeframes are active.
Drawing Object Limits : To manage performance, this script sets its own internal limits on the number of drawing objects it displays. While it allows for up to approximately 500 lines (max_lines_count=500) and 500 labels (max_labels_count=500), the number of FVG boxes is deliberately restricted to a maximum of 150 (max_boxes_count=150). This specific limit for boxes is a key performance consideration: displaying too many boxes can significantly slow down the indicator, and a very high number is often not essential for analysis. Enabling all visual elements for many FVGs across all three timeframes can cause the indicator to reach these internal limits, especially the stricter box limit
Optimization Strategies : To help you manage performance, reduce visual clutter, and avoid exceeding drawing limits when using this indicator, I recommend the following strategies:
Maintain or Lower FVG Tracking Count: The "Max FVGs to Track" input defaults to 25. I find this value generally sufficient for effective analysis and balanced performance. You can keep this default or consider reducing it further if you experience performance issues or prefer a less dense FVG display.
Utilize Proximity Filtering: I suggest activating the "Filter Band Width (ATR Multiple)" option (found under "General Settings") to display only those FVGs closer to the current price. From my experience, a value of 5 for the ATR multiple often provides a good starting point for balanced performance, but you should feel free to adjust this based on market volatility and your specific trading needs.
Hide Fully Mitigated FVGs: I strongly recommend enabling the "Hide Fully Mitigated FVGs" option. This setting automatically removes all visual elements of an FVG from the chart once it has been fully mitigated by price. Doing so significantly reduces the number of active drawing objects, lessens computational load, and helps maintain chart clarity by focusing only on active, relevant FVGs.
Disable FVG Display for Unused Timeframes: If you are not actively monitoring certain higher timeframes (MTF or HTF) for FVG analysis, I advise disabling their display by unchecking "Show MTF FVGs" or "Show HTF FVGs" respectively. This can provide a significant performance boost.
Simplify Visual Elements: For active FVGs, consider hiding less critical visual elements if they are not essential for your specific analysis. This could include box labels, borders, or even entire FVG boxes if, for example, only the mitigation lines are of interest for a particular timeframe.
Settings Changes and Platform Limits : This indicator is comprehensive and involves numerous calculations and drawings. When multiple settings are changed rapidly in quick succession, it is possible, on occasion, for TradingView to issue a "Runtime error: modify_study_limit_exceeding" or similar. This can cause the indicator to temporarily stop updating or display errors.
Recommended Approach : When adjusting settings, it is advisable to wait a brief moment (a few seconds) after each significant change. This allows the indicator to reprocess and update on the chart before another change is made
Error Recovery : Should such a runtime error occur, making a minor, different adjustment in the settings (e.g., toggling a checkbox off and then on again) and waiting briefly will typically allow the indicator to recover and resume correct operation. This behavior is related to platform limitations when handling complex scripts with many inputs and drawing objects.
Multi-Timeframe (MTF/HTF) Data and Behavior
HTF FVG Confirmation is Essential: : For an FVG from a higher timeframe (MTF or HTF) to be identified and displayed on your current chart (LTF), the three-bar pattern forming the FVG on that higher timeframe must consist of fully closed bars. The indicator does not draw speculative FVGs based on incomplete/forming bars from higher timeframes.
Data Retrieval and LTF Processing: The indicator may use techniques like lookahead = barmerge.lookahead_on for timely data retrieval from higher timeframes. However, the actual detection of an FVG occurs after all its constituent bars on the HTF have closed.
Appearance Timing on LTF (1 LTF Candle Delay): As a natural consequence of this, an FVG that is confirmed on an HTF (i.e., its third bar closes) will typically become visible on your LTF chart one LTF bar after its confirmation on the HTF.
Example: Assume an FVG forms on a 30-minute chart at 15:30 (i.e., with the close of the 30-minute bar that covers the 15:00-15:30 period). If you are monitoring this FVG on a 15-minute chart, the indicator will detect this newly formed 30-minute FVG while processing the data for the 15-minute bar that starts at 15:30 and closes at 15:45. Therefore, the 30-minute FVG will become visible on your 15-minute chart at the earliest by 15:45 (i.e., with the close of that relevant 15-minute LTF candle). This means the HTF FVG is reflected on the LTF chart with a delay equivalent to one LTF candle.
FVG Detection and Display Logic
Fair Value Gaps (FVGs) on the current chart timeframe (LTF) are detected based on barstate.isconfirmed. This means the three-bar pattern must be complete with closed bars before an FVG is identified. This confirmation method prevents FVGs from being prematurely identified on the forming bar.
Alerts
Alert Setup : To receive alerts from this indicator, you must first ensure you have enabled the specific alert conditions you are interested in within the indicator's own settings (see 'Comprehensive Alert System' under the 'FEATURES' section). Once configured, open TradingView's 'Create Alert' dialog. In the 'Condition' tab, select this indicator's name, and crucially, choose the 'Any alert() function call' option from the dropdown list. This setup allows the indicator to trigger alerts based on the precise event conditions you have activated in its settings
Alert Frequency : Alerts are designed to trigger once per bar close (alert.freq_once_per_bar_close) for the specific event.
User Interface (UI) Tips
Settings Group Icons: In the indicator settings menu, timeframe-specific groups are marked with star icons for easier navigation: 🌟 for LTF (Current Chart Timeframe), 🌟🌟 for MTF (Medium Timeframe), and 🌟🌟🌟 for HTF (High Timeframe).
Dependent Inputs: Some input settings are dependent on others being enabled. These dependencies are visually indicated in the settings menu using symbols like "↳" (dependent setting on the next line), "⟷" (mutually exclusive inline options), or "➜" (directly dependent inline option).
Settings Layout Overview: The indicator settings are organized into logical groups for ease of use. Key global display controls – such as toggles for MTF FVGs, HTF FVGs (along with their respective timeframe selectors), and the Information Panel – are conveniently located at the very top within the '⚙️ General Settings' group. This placement allows for quick access to frequently adjusted settings. Other sections provide detailed customization options for each timeframe (LTF, MTF, HTF), specific FVG components, and alert configurations.
█ FOR Pine Script® CODERS
This section provides a high-level overview of the FVG Premium indicator's internal architecture, data flow, and the interaction between its various library components. It is intended for Pine Script™ programmers who wish to understand the indicator's design, potentially extend its functionality, or learn from its structure.
System Architecture and Modular Design
The indicator is architected moduarly, leveraging several custom libraries to separate concerns and enhance code organization and reusability. Each library has a distinct responsibility:
FvgTypes: Serves as the foundational data definition layer. It defines core User-Defined Types (UDTs) like fvgObject (for storing all attributes of an FVG) and drawSettings (for visual configurations), along with enumerations like tfType.
CommonUtils: Provides utility functions for common tasks like mapping user string inputs (e.g., "Dashed" for line style) to their corresponding Pine Script™ constants (e.g., line.style_dashed) and formatting timeframe strings for display.
FvgCalculations: Contains the core logic for FVG detection (both LTF and MTF/HTF via requestMultiTFBarData), FVG classification (Large FVGs based on ATR), and checking FVG interactions with price (mitigation, partial fill).
FvgObject: Implements an object-oriented approach by attaching methods to the fvgObject UDT. These methods manage the entire visual lifecycle of an FVG on the chart, including drawing, updating based on state changes (e.g., mitigation), and deleting drawing objects. It's responsible for applying the visual configurations defined in drawSettings.
FvgPanel: Manages the creation and dynamic updates of the on-chart information panel, which displays key FVG levels.
The main indicator script acts as the orchestrator, initializing these libraries, managing user inputs, processing data flow between libraries, and handling the main event loop (bar updates) for FVG state management and alerts.
Core Data Flow and FVG Lifecycle Management
The general data flow and FVG lifecycle can be summarized as follows:
Input Processing: User inputs from the "Settings" dialog are read by the main indicator script. Visual style inputs (colors, line styles, etc.) are consolidated into a types.drawSettings object (defined in FvgTypes). Other inputs (timeframes, filter settings, alert toggles) control the behavior of different modules. CommonUtils assists in mapping some string inputs to Pine constants.
FVG Detection:
For the current chart timeframe (LTF), FvgCalculations.detectFvg() identifies potential FVGs based on bar patterns.
For MTF/HTF, the main indicator script calls FvgCalculations.requestMultiTFBarData() to fetch necessary bar data from higher timeframes, then FvgCalculations.detectMultiTFFvg() identifies FVGs.
Newly detected FVGs are instantiated as types.fvgObject and stored in arrays within the main script. These objects also undergo classification (e.g., Large FVG) by FvgCalculations.
State Update & Interaction: On each bar, the main indicator script iterates through active FVG objects to manage their state based on price interaction:
Initially, the main script calls FvgCalculations.fvgInteractionCheck() to efficiently determine if the current bar's price might be interacting with a given FVG.
If a potential interaction is flagged, the main script then invokes methods directly on the fvgObject instance (e.g., updateMitigation(), updatePartialFill(), checkMidlineTouch(), which are part of FvgObject).
These fvgObject methods are responsible for the detailed condition checking and the actual modification of the FVG's state. For instance, the updateMitigation() and updatePartialFill() methods internally utilize specific helper functions from FvgCalculations (like checkMitigation() and checkPartialMitigation()) to confirm the precise nature of the interaction before updating the fvgObject’s state fields (such as isMitigated, currentTop, currentBottom, or isMidlineTouched).
Visual Rendering:
The FvgObject.updateDrawings() method is called for each fvgObject. This method is central to drawing management; it creates, updates, or deletes chart drawings (boxes, lines, labels) based on the FVG's current state, its prev_* (previous bar state) fields for optimization, and the visual settings passed via the drawSettings object.
Information Panel Update: The main indicator script determines the nearest FVG levels, populates a panelData object (defined in FvgPanelLib), and calls FvgPanel.updatePanel() to refresh the on-chart display.
Alert Generation: Based on the updated FVG states and user-enabled alert settings, the main indicator script constructs and triggers alerts using Pine Script's alert() function."
Key Design Considerations
UDT-Centric Design: The fvgObject UDT is pivotal, acting as a stateful container for all information related to a single FVG. Most operations revolve around creating, updating, or querying these objects.
State Management: To optimize drawing updates and manage FVG lifecycles, fvgObject instances store their previous bar's state (e.g., prevIsVisible, prevCurrentTop). The FvgObject.updateDrawings() method uses this to determine if a redraw is necessary, minimizing redundant drawing calls.
Settings Object: A drawSettings object is populated once (or when inputs change) and passed to drawing functions. This avoids repeatedly reading numerous input() values on every bar or within loops, improving performance.
Dynamic Arrays for FVG Storage: Arrays are used to store collections of fvgObject instances, allowing for dynamic management (adding new FVGs, iterating for updates).
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.
Fair Value Gap [by Oberlunar]Fair Value Gap
This indicator is designed to identify and display Fair Value Gaps (FVG) on the price chart. Fair Value Gaps are areas between candles where the price lacks continuity, leaving a "gap" that can serve as a reference point for price retracements. These zones are often considered important by traders as they represent market imbalances that tend to be "mitigated" (i.e., filled or tested) over time.
Purpose of Publication
This indicator addresses a common gap in FVG indicators. Most existing FVG indicators do not visually distinguish between mitigated (touched) FVGs and those that remain intact. With this indicator:
Mitigated FVGs are clearly displayed with distinct colors, allowing traders to identify which zones have been partially or fully filled by the price.
Unmitigated FVGs remain prominent, representing potential points of interest.
Key Features
Identification of Fair Value Gaps:
A Bullish FVG (upward gap) forms when the high of the three previous candles (candle -3) is lower than the low of the next candle (candle -1).
A Bearish FVG (downward gap) forms when the low of the three previous candles (candle -3) is higher than the high of the next candle (candle -1).
Dynamic Coloring:
Unmitigated FVGs are highlighted with specific colors: green for Bullish and red for Bearish gaps.
When an FVG is "touched" by the price (i.e., mitigated), the color changes:
Yellow-green for mitigated Bullish FVGs.
Purple for mitigated Bearish FVGs.
Handling Mitigated FVGs:
When an FVG is touched by the price, it is visually updated with a different color.
An option can be enabled to "shrink" the mitigated zone, adjusting the box to reflect the remaining untested portion of the gap.
Customization:
Configure the maximum number of FVGs to display on the chart.
Set specific colors for mitigated and unmitigated FVGs.
Choose whether to automatically shrink mitigated zones.
How to Identify Support and Resistance Levels
Support:
Bullish FVGs represent potential support levels, as they indicate areas where the price might return to seek liquidity or fill the imbalance.
An FVG that is repeatedly touched without being fully filled becomes a significant support zone.
Resistance:
Bearish FVGs represent potential resistance levels, indicating zones where the price might stall or reverse direction.
Why a Repeatedly Mitigated FVG is Significant
When an FVG is touched or mitigated multiple times, it means the market recognizes that area as significant. This can happen for several reasons:
Accumulation or Distribution: Institutional traders may use these zones to accumulate or distribute positions without causing excessive market movement.
Presence of Liquidity: FVGs often represent areas with pending orders (stop-losses, limit orders), and the price revisits these zones to seek liquidity.
Market Equilibrium: When an FVG is repeatedly filled, it indicates the market's attempt to balance a demand-supply imbalance. This makes the zone an important level to monitor for potential breakouts or reversals.
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.
Information Asymmetry Gradient (IAG) What is the Information Asymmetry Gradient (IAG)?
The Information Asymmetry Gradient (IAG) is a unique market regime and imbalance detector that quantifies the subtle, directional “information flow” in price and volume. Inspired by information theory and market microstructure, IAG is designed to help traders spot the early buildup of conviction or surprise—the kind of hidden imbalance that often precedes major price moves.
Unlike traditional volume or momentum indicators, IAG focuses on the efficiency and directionality of information transfer: how much “informational energy” is being revealed by up-moves versus down-moves, normalized by price movement. It’s not just about net flow, but about the quality and asymmetry of that flow.
Theoretical Foundation
Information Asymmetry: Markets move when new information is revealed. If one side (buyers or sellers) is consistently more “informationally efficient” per unit of price change, an imbalance is building—even if price hasn’t moved much yet.
Gradient: By tracking the rate of change (gradient) between fast and slow information flows, IAG highlights when a subtle imbalance is accelerating.
Volatility of Asymmetry: Sudden spikes in the volatility of information asymmetry often signal regime uncertainty or the approach of a “surprise” move.
How IAG Works
Directional Information Content: For each bar, IAG estimates the “information per unit of price change” for both up-moves and down-moves, using volume and price action.
Asymmetry Calculation: Computes the difference (or ratio) between up and down information content, revealing directional bias.
Gradient Detection: Calculates both a fast and slow EMA of the asymmetry, then measures their difference (the “gradient”), normalized as a Z-score.
Volatility of Asymmetry: Tracks the standard deviation of asymmetry over a rolling window, with Z-score normalization to spot “information shocks.”
Flow Strength: Quantifies the conviction of the current information flow on a 0–100 scale.
Regime Detection: Flags “extreme” asymmetry, “building” flow, and “high volatility” states.
Inputs:
🌌 Core Asymmetry Parameters
Fast Information Period (short_len, default 8): EMA period for detecting immediate information flow changes.
5–8: Scalping (1–5min)
8–12: Day trading (15min–1hr)
12–20: Swing trading (4hr+)
Slow Information Period (long_len, default 34): EMA period for baseline information context. Should be 3–5x fast period.
Default (34): Fibonacci number, stable for most assets.
Gradient Smoothing (gradient_smooth, default 3): Smooths the gradient calculation.
1–2: Raw, responsive
3–5: Balanced
6–10: Very smooth
📊 Asymmetry Method
Calculation Mode (calc_mode, default "Weighted"):
“Simple”: Basic volume split by direction
“Weighted”: Volume × price movement (default, most robust)
“Logarithmic”: Log-scaled for large moves
Use Ratio (show_ratio, default false):
“Difference”: UpInfo – DownInfo (additive)
“Ratio”: UpInfo / DownInfo (multiplicative, better for comparing volatility regimes)
🌊 Volatility Analysis
Volatility Window (stdev_len, default 21): Lookback for measuring asymmetry volatility.
Volatility Alert Level (vol_threshold, default 1.5): Z-score threshold for volatility alerts.
🎨 Visual Settings
Color Theme (color_theme, default "Starry Night"):
Van Gogh-inspired palettes:
“Starry Night”: Deep blues and yellows
“Sunflowers”: Warm yellows and browns
“Café Terrace”: Night blues and warm lights
“Wheat Field”: Golden and sky blue
Show Swirl Effects (show_swirls, default true): Adds swirling background to visualize information turbulence.
Show Signal Stars (show_stars, default true): Star markers at significant asymmetry points.
Show Info Dashboard (show_dashboard, default true): Top-right panel with current metrics and market state.
Show Flow Visualization (show_flow, default true): Main gradient line with artistic effects.
Color Schemes
Dynamic color gradients adapt to both the direction and intensity of the information gradient, using Van Gogh-inspired palettes for visual clarity and artistic flair.
Glow and aura effects: The main line is layered with glows for depth and to highlight strong signals.
Swirl background: Visualizes the “turbulence” of information flow, darker and more intense as flow strength and volatility rise.
Visual Logic
Main Gradient Line: Plots the normalized information gradient (Z-score), color-coded by direction and intensity.
Glow/Aura: Multiple layers for visual depth and to highlight strong signals.
Threshold Zones: Dotted lines and filled areas mark “Building” and “Extreme” asymmetry zones.
Volatility Ribbon: Area plot of volatility Z-score, highlighting information shocks.
Signal Stars: Circular markers at each “Extreme” event, color-coded for bullish/bearish; cross markers for volatility spikes.
Dashboard: Top-right panel shows current status (Extreme, Building, High Volatility, Balanced), gradient value, flow strength, information balance, and volatility status.
Trading Guide: Bottom-left panel explains all states and how to interpret them.
How to Use IAG
🌟 EXTREME: Major information imbalance—potential for explosive move or reversal.
🌙 BUILDING: Asymmetry is forming—watch for a breakout or trend acceleration.
🌪️ HIGH VOLATILITY: Information flow is unstable—expect regime uncertainty or “surprise” moves.
☁️ BALANCED: No clear bias—market is in equilibrium.
Positive Gradient: Bullish information flow (buyers have the edge).
Negative Gradient: Bearish information flow (sellers have the edge).
Flow >66%: Strong conviction—crowd is acting in unison.
Volatility Spike: Regime uncertainty—be alert for sudden moves.
Tips:
- Use lower periods for scalping, higher for swing trading.
- “Weighted” mode is most robust for most assets.
- Combine with price action or your own system for confirmation.
- Works on all assets and timeframes—tune to your style.
Alerts
IAG Extreme Asymmetry: Extreme information asymmetry detected.
IAG Building Flow: Information flow building.
IAG High Volatility: Information volatility spike.
IAG Bullish/Bearish Extreme: Directional extreme detected.
Originality & Usefulness
IAG is not a mashup of existing indicators. It is a novel approach to quantifying the “surprise” or “conviction” element in market moves, focusing on the efficiency and directionality of information transfer per unit of price change. The multi-layered color logic, artistic visual effects, and regime dashboard are unique to this script. IAG is designed for anticipation, not confirmation—helping you see subtle imbalances before they become obvious in price.
Chart Info
Script Name: Information Asymmetry Gradient (IAG) – Starry Night
Recommended Use: Any asset, any timeframe. Tune parameters to your style.
Disclaimer
This script is for research and educational purposes only. It does not provide financial advice or direct buy/sell signals. Always use proper risk management and combine with your own strategy. Past performance is not indicative of future results.
Trade with insight. Trade with anticipation.
— Dskyz , for DAFE Trading Systems
Supply & DemandWe can think of imbalanced as a signal of a huge order being filled.
For those who do not know what imbalanced candle are, an imbalanced candles are formed when the price move with force in a direction.
Taking the last 3 candles, when the wicks the of 1st and 3rd candle does not fully overlap the middle one, an imbalanced candle is formed.
Usually when a huge hands place its order it never gets filled entirely and the price usually comes back to this zone to fulfil the remaining order.
This indicator highlight range defined by previous high and low pivot right before an imbalanced candle.
Zones highlighted become zones to watch to enter a trade and become either supply or demand zone.
ShadowBlocks SMC indicator💼 SMC Indicator – Trade Like Smart Money
The SMC Indicator is a precision-engineered tool built around Smart Money Concepts, revealing how institutional players truly move the markets. Forget retail noise — SMC cuts through the fog to show the real structure, liquidity zones, and key manipulation points that big money uses to trap uninformed traders.
Key Features:
🔹 Market Structure Mapping: Real-time detection of Breaks of Structure (BOS) and Change of Character (CHoCH) for trend identification.
🔹 Liquidity Zones: Highlights internal and external liquidity pools where stop hunts are most likely to occur.
🔹 Order Blocks & Imbalances: Automatic marking of bullish/bearish order blocks, Fair Value Gaps (FVGs), and mitigation zones.
🔹 Premium/Discount Zones: Smart price equilibrium tracking using internal range Fibonacci logic.
🔹 Entry & Exit Clarity: Clearly defined high-probability entry zones, TP/SL levels, and confirmation-based signals.
Whether you're a price action purist or a strategic SMC trader, this indicator brings the invisible hand of institutions into full view — so you can follow smart money, not fight it.
⚠️ Disclaimer:
ShadowBlocks SMC Indicator is an educational and informational tool. It does not provide financial advice. Always do your own research and consult a licensed financial advisor before making trading decisions.