[CT] Displacement FVG Toolkit Displacement FVG Toolkit is a complete ICT market-structure and execution toolkit designed to help you identify when price is truly repricing, where that repricing left inefficiencies, and how to frame trades with clear context, confirmation, and invalidation. The indicator brings together six institutional-grade concepts into one workflow, Displacement, Fair Value Gaps, Reload Zones, Dealing Range premium and discount, CISD, and Market Structure breaks, so you can stop reacting to random candles and start trading the sequence that professional order flow tends to follow, impulse, imbalance, retrace, and continuation or reversal.
The Displacement tool is the engine that decides whether a candle represents meaningful participation or ordinary noise. Displacement is measured by comparing the current candle’s size to the average candle size over a user-defined lookback. You can choose whether the script uses the candle body size or the full high-to-low range for this calculation. When the candle exceeds the average by your selected displacement factor, it is flagged as displacement. Displacement is important because it is the clearest visible clue that the market has moved from balanced auction to aggressive repricing, which is the environment where inefficiencies form and where your best retest trades are born. In the photo, the yellow bars represent the displacement bars, and the indicator prints Buy and Sell markers on those displacement events. The user also has full control to color displacement bars to a color of their choice, so whether you prefer bright yellow, muted gray, or any custom brand color, you can set the exact bullish and bearish displacement bar colors in the inputs. If you do not want bar coloring at all, you can simply turn off displacement bar coloring and use only the markers.
The Structure Filter is a powerful addition that prevents displacement from becoming “any big candle.” When enabled, the indicator requires the displacement candle to also break recent structure, meaning price must break above a recent high for bullish displacement or below a recent low for bearish displacement. You can decide whether the structure break is judged by a candle close beyond the prior structure level or by a wick that pierces it. Close-based structure breaks are cleaner and generally reduce false positives, while wick-based breaks are more sensitive and can trigger earlier at the cost of more noise. This filter matters because a large candle in the middle of chop is not the same as a large candle that actually breaks a meaningful swing point, and the indicator gives you a way to enforce that distinction mechanically.
The Fair Value Gap tool identifies the most valuable type of imbalance, the three-candle FVG, but it only plots those gaps when they are created by validated displacement. A bullish FVG forms when the current candle’s low is above the high from two candles ago, showing that price skipped a region without fully transacting through it. A bearish FVG forms when the current candle’s high is below the low from two candles ago. These gaps represent unfinished auction, a fast repricing that often leaves behind an inefficiency the market may later revisit to rebalance. You can choose to extend FVGs to the right for a set number of bars so you can see the levels well into the future, or you can keep them confined to the period when they formed. You can also choose whether mitigated FVGs remain visible or are hidden. Mitigation in this script means price has traded back into the gap far enough to invalidate it as an active inefficiency, and when that happens you can either keep it on the chart as historical context or remove it to keep your chart clean. The script also manages object limits by keeping only a user-defined maximum number of FVGs, trimming older ones as needed so the indicator remains stable.
Reload Zones are derived directly from the FVGs and are built for execution. Instead of treating the entire gap as the same, the indicator highlights the portion of the imbalance that most often functions as the highest-quality retest area for continuation entries. For bullish FVGs, the Reload Zone is drawn as the upper portion of the gap, and for bearish FVGs it is drawn as the lower portion, which keeps your focus on the retest region that is closest to the direction of repricing and typically provides tighter invalidation. The indicator also includes an optional Invalidation line that marks the far edge of the full FVG, giving you a clean and consistent “line in the sand” for risk management. The intended use is straightforward, you wait for displacement to print and create an FVG, you allow price to retrace into the Reload Zone, and you look for rejection behavior that confirms responsive participation, such as wicks into the zone that close back out, sharp reaction candles, or structure holding in the direction of the displacement. When price accepts inside the zone with multiple closes and slow grind, that’s often a sign the inefficiency is being repaired rather than defended, and the reload entry loses quality. Because reload zones are tied to displacement-generated FVGs, they naturally filter out weaker imbalances and focus you on the kind created during true repricing.
The Dealing Range tool provides context by defining a rolling high-to-low range over a user-defined lookback, then splitting that range into premium and discount. The indicator plots DR High, DR Low, and a DR Mid 50% line, and can optionally show PD 62% and PD 38% reference levels inside the range. The fill visually highlights premium above the midpoint and discount below it, which helps you avoid the most common retail mistake, buying in premium and selling in discount without a strong reason. The dealing range is not meant to be a rigid “support and resistance box.” It is meant to help you frame location. In general, long ideas have better location when price is in discount or reclaiming the midpoint with momentum, and short ideas have better location when price is in premium or rejecting the midpoint from below. This becomes especially powerful when combined with your other tools, because a bullish displacement and FVG that forms in discount and then holds the reload zone tends to have much better continuation odds than the same pattern forming at the very top of premium into overhead liquidity.
CISD in this indicator is your liquidity-sweep and directional-shift engine, designed to answer a very specific question, did price just take liquidity and then flip orderflow enough to justify a new directional bias. The script first maps swing liquidity using pivot highs and pivot lows over your selected swing period, then tracks when those levels are wicked or mitigated within an expiry window. When a swing high or swing low is taken, the CISD logic watches for the characteristic shift pattern that follows, and when it qualifies it prints a CISD level and establishes a trend state. The “Noise Filter” setting controls how strict the CISD trigger is, higher values reduce noise and produce fewer but more meaningful CISDs, while lower values produce more signals but may include weaker shifts. The indicator also distinguishes between a normal CISD and a stronger CISD that occurs after opposing liquidity was recently wicked within your liquidity lookback, and those stronger events are marked with the directional ▲/▼ symbols so you can immediately recognize when a sweep-and-shift sequence likely occurred instead of a random flip.
A key feature you asked for, and that this indicator includes, is that CISD levels can extend in a very controlled way so you can keep trading them without guessing where the level “ends.” The current timeframe CISD lines are drawn at the origin level and then the script can extend only the most recent X CISD lines out past the current bar by a user-defined number of bars, without creating gaps or redrawing incorrectly. This means your newest CISD levels remain visually “live” and tradable into the immediate future, while older CISDs automatically restore to their original endpoints and behave normally. This is important for execution because it keeps the focus on the levels that are most likely to matter now, while still preserving history without clutter.
The MTF CISD add-on is what gives you institutional alignment, because it allows a higher timeframe CISD to print onto your execution timeframe. The script computes CISD on the selected HTF using request.security and then draws HTF CISD lines on your chart in real time. You can choose “Confirmed HTF only,” which means the HTF CISD only prints when the higher timeframe candle closes, or you can turn confirmation off to see developing HTF CISDs while the HTF candle is still building. The HTF line style is configurable, and the HTF lines can extend to the right so they behave like real mapped levels. The HTF label is also supported and can be pinned to the right edge with an x-offset, so you always know which timeframe the CISD came from without having to guess. Optional HTF markers can print ▲/▼ on the bar where a new HTF CISD event is detected, which gives you a fast “regime shift” alert that pairs extremely well with your displacement and FVG tools.
CISD also includes a candle coloring option so you can visually trade the bias without constantly reading every label. You can keep candle coloring off, turn on an overlay candle layer using plot candle, or use bar color to recolor the native chart candles. The trend that drives candle color can be the current timeframe CISD trend or, if enabled, the HTF CISD trend so your execution timeframe candles reflect the higher timeframe shift. In the combined script, displacement bar coloring still has priority if you leave it enabled, meaning displacement bars will show your displacement color choice first, and the CISD candle coloring will apply where displacement is not overriding. That’s intentional, because displacement bars are “event bars,” while CISD coloring is “state,” and you want to see both without confusion.
In terms of how to use CISD with the rest of this indicator, the cleanest institutional workflow is to treat CISD as the directional context and trigger, and use displacement, FVG, and Reload Zones as the execution framework. A fresh HTF CISD is your “macro shift” that tells you which side is likely building control, then you wait for displacement on your execution timeframe that agrees with that bias and produces an FVG. The Reload Zone becomes your location for entry on the retrace, BOS/CHOCH tells you if structure is truly transitioning or continuing, and your invalidation stays anchored to the far edge of the FVG or the CISD level depending on which is tighter and more structurally meaningful. When CISD and displacement disagree, that’s usually a “stand down or reduce size” condition unless you’re explicitly trading a reversal, because it often means the market is still in rotation or repairing imbalance rather than trending cleanly.
The BOS and CHOCH tool is the structure confirmation layer. The indicator finds swing highs and swing lows using a pivot-based swing length and then plots structure lines at those pivots. Breaks are detected either by close or by wick, based on your setting. BOS, Break of Structure, signals continuation in the current structural regime, while CHOCH, Change of Character, signals a likely regime change. The indicator uses a simple internal state to differentiate BOS from CHOCH, so you can read structure shifts in real time rather than labeling everything as a generic “break.” You can display structure as lines, labels, or both. The lines extend until price breaks them, then they stop at the break so you can visually see exactly where the market transitioned. This module is especially useful for keeping you out of the trap of assuming a pullback is a reversal. If you see displacement and FVGs but no structural confirmation, you can reduce size or wait. If you see a CHOCH that aligns with a displacement shift and then price returns to a reload zone, you have a much higher quality reversal framework.
When you put these tools together, the intended trading workflow becomes a complete narrative. First you identify meaningful movement through displacement, and if you use the structure filter you ensure it is not just a large candle but a break in the auction. That displacement then creates an FVG, the inefficiency left behind by repricing. The Reload Zone marks the most tradable retest area of that inefficiency, and the invalidation line gives you a clear risk boundary. The Dealing Range tells you whether you are taking that setup from a favorable location, discount for longs or premium for shorts. BOS and CHOCH provide the final confirmation layer that tells you whether you are trading continuation or a genuine structural shift. This structure keeps you from chasing breakouts, because it naturally trains you to wait for the pullback into the reload zone and to only participate when price proves acceptance and rejection behavior at the level.
This indicator is built to be flexible. You can run it as a clean displacement plus imbalance tool by focusing on displacement, FVGs, and reload zones, or you can turn it into a full context-and-confirmation system by adding dealing range and BOS/CHOCH. If you want a high-signal, low-noise chart, keep the structure break requirement on, use close-based breaks, limit the number of active gaps, and hide mitigated gaps. If you want more sensitivity and earlier signals, use wick-based breaks and allow more gaps to remain visible. The goal is always the same, to help you see when the market is actually repricing, to mark the price areas where that repricing left unfinished business, and to give you a consistent way to execute retests with defined risk and clear structural context.
Buscar en scripts para "fair value gap"
TPC-Buying and Selling areasTPC - Buying and Selling Areas
Open-source multi-timeframe indicator that automatically detects and displays Supply (resistance) and Demand (support) zones based on swing structure, along with Fair Value Gaps (FVGs) for imbalance visualization. Supports up to two higher timeframes (MTF) for Supply/Demand + optional current-chart or custom timeframe FVGs, with mitigation tracking, alerts, and a dashboard for FVG stats.
Overview
This tool helps identify key price areas where institutional buying/selling pressure may have accumulated (Supply/Demand zones) and inefficiencies/imbalances in price delivery (Fair Value Gaps).
It plots:
•Demand zones (potential support/buy areas) in green tones
•Supply zones (potential resistance/sell areas) in red tones
•Bullish/Bearish FVGs as filled or line areas (with dynamic or fixed extension options)
•A simple FVG dashboard showing count and mitigation percentage
Zones mitigate (disappear or mark as filled) when price closes/wicks through them. Designed for clean charts with configurable visibility, box pooling, and alerts on new zones or FVG events.
How It Works (Conceptual)
•Supply & Demand Zones
•Uses pivot-based swing highs/lows from one or two user-selectable higher timeframes (or chart timeframe).
•Detects structure breaks (e.g., higher highs/lows, lower highs/lows) near recent ATR range to form zones.
•Zones drawn as extendable boxes with timeframe label, customizable borders/text.
•Mitigation: Zones removed or marked when price breaches them (close or extreme/wick, configurable globally or per TF).
•Only shows recent zones (user-defined "show last N") and cleans up on lower timeframes if desired.
•Fair Value Gaps (FVGs)
•Detects 3-candle imbalances where price gaps aggressively (low > high for bullish, high < low for bearish, with optional size threshold).
•Plots as semi-transparent boxes (fixed extend) or dynamic fills that adjust with price.
•Tracks mitigation (when price fills the gap) and optionally draws dashed mitigation lines.
•Shows unmitigated recent FVGs as lines + dashboard stats (total count, % mitigated for bull/bear).
•Multi-timeframe logic uses request.security() for higher TFs, with careful handling for display on lower charts.
See the code for full pivot detection, array management, mitigation loops, and FVG conditions.
How to Use
•Best on volatile/liquid markets (crypto, forex, indices, futures) across intraday to daily timeframes.
•Use Demand zones (green) as potential long entries or support flips when price approaches from above.
•Use Supply zones (red) as potential short entries or resistance when price approaches from below.
•FVGs highlight inefficiencies: bullish FVGs often act as magnets/pullbacks in uptrends; bearish in downtrends.
•Combine with higher-timeframe bias (e.g., show HTF zones on LTF chart) for confluence.
•Alerts fire on: new demand/supply zone, new bullish/bearish FVG, or FVG mitigation.
•Keep "Show only on lower timeframes" enabled to avoid clutter on HTF charts.
•Adjust "Box Size" (pool) if you hit max_boxes limit on very long histories.
Settings
General Settings
•Hide all Demand / Supply zones
•Show S&D only on lower TFs
•S&D Box Size (pool limit, default 80)
•Mitigate on Close or Wick/Extreme
Timeframe 1 & Timeframe 2 (identical groups)
•Set to chart timeframe (or custom)
•Show Demand/Supply
•Alerts for new zones
•Timeframe multiplier + period (Min/Hour/Day/Week/Month)
•Swing Length for pivots
•Border type/width, text size/color
•Demand/Supply colors
•Show last N zones per type
FVG Settings
•Threshold % (min gap size) or Auto
•Unmitigated levels to show
•Mitigation levels (dashed lines)
•FVG Timeframe (blank = chart)
FVG Style
•Extend bars
•Dynamic fill (adjusts with price)
•Bullish/Bearish colors
FVG Dashboard
•Show dashboard
•Location (Top Right etc.)
•Text size
Notes / Limitations
•Non-repainting after bar close (uses confirmed pivots/security data).
•Heavy on boxes/lines — increase pool size carefully (TradingView limits apply).
•FVGs can fill quickly in ranging markets; use with structure/context.
•Always backtest and combine with your analysis — not financial advice, trading carries risk.
•Open-source: feel free to fork, improve, or learn from it.
TCT OBIF Detector█ OVERVIEW
The OBIF (Order Block Imbalance Fill) indicator automatically detects and visualizes high-probability trading zones by combining two powerful Smart Money Concepts: Order Blocks and Fair Value Gaps (FVGs).
An OBIF occurs when an Order Block forms immediately before a Fair Value Gap, creating a zone of institutional interest that price often revisits before continuing its move.
█ CONCEPTS
Order Block (OB)
An Order Block is the last opposing candle before a strong directional move. It represents an area where institutional traders likely placed orders.
- Bullish OB: Last bearish candle before an up-move
- Bearish OB: Last bullish candle before a down-move
Fair Value Gap (FVG)
An FVG is a price imbalance created when a candle's body completely gaps past the previous candle's range, leaving an unfilled area.
- Bullish FVG: Gap up where candle .low > candle .high
- Bearish FVG: Gap down where candle .high < candle .low
OBIF Zone
When an Order Block directly precedes an FVG, it creates an OBIF - a confluence zone with higher probability of acting as support/resistance.
█ HOW TO USE
1. Identify the Trend
Use OBIFs in the direction of the higher timeframe trend for best results.
2. Wait for Price to Return
OBIFs act as magnets - price often returns to fill the imbalance and test the order block.
3. Look for Confirmation
When price enters an OBIF zone, look for:
- Rejection wicks
- Engulfing patterns
- Break of structure on lower timeframes
4. Mitigation
Once price fully trades through the OBIF (touches the opposite edge), the zone is considered mitigated and loses its significance.
█ FEATURES
- Automatic Detection — Identifies OBIFs in real-time as they form
- Visual Zones — Clean, non-intrusive boxes that don't obscure price action
- Mitigation Tracking — Zones automatically update when price mitigates them
- Multi-Timeframe Friendly — Works on any timeframe from 1m to Monthly
- Customizable — Adjust colors, opacity, and display preferences
█ SETTINGS
- Lookback Window — How many candles back to search for the Order Block (default: 3)
- Show Bullish/Bearish — Toggle visibility of each type
- Show Mitigated — Display zones that have been mitigated (shown in gray)
- Fill Opacity — Adjust zone transparency (higher = more see-through)
- Border Width — Thickness of zone borders
█ BEST PRACTICES
✓ Use on higher timeframes (1H+) for more reliable zones
✓ Combine with market structure analysis
✓ Look for OBIFs at key support/resistance levels
✓ Use lower timeframe confirmation for entries
✗ Don't trade every OBIF blindly
✗ Avoid OBIFs against the dominant trend
█ CREDITS
The Composite Trader (TCT) methodologies.
Order Blocks Zones with Signals█ OVERVIEW
“Order Blocks Zones with Signals” is a technical analysis tool that automatically identifies Order Blocks (OB) and optionally Fair Value Gaps (FVG) on the chart.
The script visualizes these zones as colored rectangles, offering full customization of style, transparency, and signal display.
It also generates entry and exit signals (Break & Exit) that can serve as confirmations in strategies based on price action and market structure.
Thanks to flexible candle size filters and rich visual options, the indicator maintains chart clarity and readability.
█ CONCEPTS
Order Blocks (OB) are key zones on the chart where significant price movements previously occurred — areas where large market participants (institutions, so-called smart money) initiated or closed positions.
An OB is the last candle that followed the prior trend before the market reversed (e.g., for a Bullish OB: the last bearish candle before a pivot low and a strong upward impulse).
The script detects these levels using local price pivots, analyzing candle direction to filter out less significant movements.
FVG (Fair Value Gaps) represent areas of imbalance between buyers and sellers — price gaps formed by a sharp impulse where full trading did not occur due to one-sided order dominance (e.g., excess buy or sell orders).
Why combine OB and FVG in one indicator?
Combining OB and FVG analysis is essential because these phenomena often occur sequentially in the institutional market cycle:
1. Order Block — institutions enter the market in the OB zone, absorbing orders and building positions.
2. Strong impulse — after smart money entry, a rapid price move creates an FVG (imbalance gap).
3. Retest — price naturally returns to these zones (OB or FVG), drawn by unfilled orders and the search for equilibrium.
Such areas strongly attract price, as they represent not only historical institutional levels but also open “holes” in the order book. Retests of OB and FVG are ideal entry opportunities with high reaction probability (rebound or breakout). The indicator combines these two interconnected elements, enabling comprehensive market structure analysis in a single tool.
Order Blocks are labeled as:
Bullish OB – demand zones, often accumulation areas before an upmove.
Bearish OB – supply zones, signaling potential impulse end or correction start.
█ FEATURES
Order Block Detection (OB Detection):
- Automatic identification of demand and supply zones based on pivots.
- OB is the last candle aligned with the prior trend, just before the market reversal — precisely identified through candle sequence analysis around the pivot.
- OB zones appear with a delay equal to Pivot Length (default 10 bars).
- Break signals trigger when a candle’s body (close) fully pierces the zone, causing the zone to disappear immediately (e.g., close < low of Bullish OB → Break Down and zone deletion).
- Minimum size filtering via OB Size Multiplier.
- Option to create OB without wicks (Include Wicks in OB): when disabled, OB zones are based solely on candle bodies (open/close), ignoring wicks (high/low).
Fair Value Gap Detection (FVG Detection):
- Optional, with enable/disable capability.
- FVG are detected without delay — immediately upon gap occurrence.
- Size filtering via Candle Size Period and FVG Size Multiplier.
Customizable Styling:
- Separate colors and border styles (Solid / Dashed / Dotted) for each zone type.
- Adjustable transparency and border thickness.
- Unified color for box, border, and signal of the same type.
Breakout and Exit Signals:
- Break Up – triggered when a candle’s close breaks above a Bearish OB, causing the zone to disappear.
- Break Down – triggered when a candle’s close breaks below a Bullish OB, causing the zone to disappear.
- Exit Up / Exit Down – temporary exit from the zone without full breakout (price leaves the zone but doesn’t close beyond it). Signal type selection: Break, Exit, or Both.
- Alerts: built-in alerts for all signal types — triggered automatically on candle close confirming breakout or exit from OB.
█ HOW TO USE
Adding to chart: import the code into Pine Editor and run the script on TradingView.
Settings configuration:
- Pivot Length: controls swing detection sensitivity and OB display delay (default 10).
- Include Wicks in OB: enabled (default) – OB includes wicks; disabled – OB uses bodies only.
- Size Filter: adjust Candle Size Period and OB/FVG Size Multiplier to filter out small zones.
- Colors & Styles: set colors, styles, and transparency for each zone type.
- Signal Type: choose which signals to display (Break, Exit, or Both).
Signal interpretation:
- OB Break Up: price closes above Bearish OB → zone disappears → potential bullish continuation.
- OB Break Down: price closes below Bullish OB → zone disappears → potential bearish continuation.
- Exit Signals: price leaves the zone temporarily without breakout — often signals impending reversal or pullback.
Tips:
- Use OB signals alongside other indicators like RSI, MACD, SMI, or trend filters.
- Order Blocks from higher timeframes (e.g., 4H, 1D) carry greater significance and reaction strength.
- Remember: FVG are detected immediately, OB with delay — a complementary approach!
█ APPLICATIONS
- Smart Money Concepts (SMC): use OB zones as dynamic support and resistance levels. In an uptrend, look for buy opportunities in bullish OBs, which price often retests before further gains. Combining with RSI, MACD, or Fibonacci levels enhances zone significance, confirming institutional demand.
- Breakout Trading: trade based on OB breakout signals. A buy signal after breaking a bearish OB may indicate a strong upward impulse, especially if supported by rising MACD or RSI above 50. Similarly for sell signals after Break Down.
- Reversal Zones: Exit signals may indicate the end of a move or correction. Safest to use in alignment with higher-timeframe trend and confirmed by another indicator (e.g., RSI divergence, Fibonacci levels).
- Confluence Analysis: combine OB and FVG for deeper market structure and equilibrium insight. When an Order Block overlaps or borders an FVG, we get confluence of two institutional phenomena — OB (smart money entry) + FVG (imbalance) — making these areas particularly strong price magnets, increasing retest and reaction probability.
█ NOTES
- FVG can be fully disabled for a cleaner chart view.
- In consolidation periods, signals may appear more frequently — always confirm with additional trend filters.
- Works on all markets and timeframes (crypto, forex, indices, stocks).
FVG + Bank Level Targeting w/ Alert TriggerDescription:
FVG + Bank Level Targeting w/ Alert Trigger is an intraday trading tool that combines Fair Value Gap (FVG) detection with dynamic institutional targeting using prior-day, weekly, and monthly high/low "Bank Levels." When a Fair Value Gap is detected, the script projects a logical target using the closest bank level in price's direction, and visually extends that level on your chart.
This tool is designed to help traders anticipate where price is most likely to move after an FVG appears — and alert them when price breaks through key target zones.
How It Works:
* Bank Level Calculation:
The indicator calculates Daily, Weekly, and Monthly high and low levels from the previous bar of each respective timeframe.
These are optionally plotted on the chart with a slight tick offset to avoid overlap with price.
* FVG Detection:
Bullish FVGs are defined by a gap between the low of the current candle and the high two candles prior, with a confirming middle candle.
Bearish FVGs follow the reverse pattern.
Once detected, the script finds the nearest unbroken institutional level (Bank Level) in the direction of the FVG and anchors a target line at that price level.
* Target Line Projection:
The script draws a persistent horizontal line (not just a plotted value) at the selected bank level.
These lines automatically extend a set number of bars into the future for clarity and trade planning.
* Breakout Detection:
When price crosses above a Bull Target or below a Bear Target, the script triggers a breakout condition.
These breakouts are useful for trade continuation or reversal setups.
* Alerts:
Built-in alert conditions notify you in real time when price crosses above or below a target.
These can be used to set TradingView alerts for your preferred Futures symbols or intraday pairs.
Parameters:
Tick Offset Multiplier: Adds distance between price and plotted levels.
Show Daily/Weekly/Monthly Levels: Toggle for each institutional level group.
FVG Extend Right (bars): Controls how far the target lines extend into the future.
Color Controls: Customize colors for FVG fill and target lines.
Use Case:
This indicator is designed for traders who want to:
Trade continuation or reversal moves around institutional price zones
Integrate Fair Value Gap concepts with more logical, historically anchored price targets
Trigger alerts when market structure evolves around key levels
It is especially useful for intraday Futures traders on the 15-minute chart or lower, but adapts well to any instrument with strong reactionary behavior at prior session highs/lows.
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!
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).
Price Ranged FVG📌 Price Ranged FVG
Is a clean and efficient tool designed to detect Fair Value Gaps (FVGs) with adjustable filters and structural context. It’s especially useful for traders looking to filter out insignificant gaps and focus on high-probability areas, particularly around swing breaks or structural shifts.
🧠 What is a Fair Value Gap (FVG)?
A Fair Value Gap appears when there’s a price imbalance between candles — typically after a strong move — where the market skips over certain price levels without trading there. These zones can act as potential areas for price to return to (mean reversion), or serve as support/resistance depending on market structure.
🔍 FVG Detection Types
You can choose between three different detection modes under the "FVG Detection" input:
Same Type: Only detects FVGs where the last 3 candles are in the same direction (all bullish or all bearish).
All: Detects any FVG, regardless of candle direction.
Twin Close: Detects FVGs only when the last two candles are in the same direction and close accordingly — offering a stricter confirmation.
🎯 FVG % Filters
To filter out noise or insignificant gaps, this indicator includes:
Minimum FVG % Filter: Ignores FVGs smaller than your specified percentage of the current close.
Maximum FVG % Filter: Ignores overly large gaps that may be unreliable or caused by anomalies.
These filters help focus on relevant FVGs that are more likely to act as reaction zones.
🏛 Structural Context (Swing Highs and Lows)
The indicator plots swing highs and swing lows with dots to provide structure-based context:
Set Swing Strength to 3 for detecting internal structure (shorter-term moves).
Use a higher setting like 5 to focus on external structure (more significant highs/lows).
These levels can help you determine whether an FVG is forming within a consolidation, breakout, or key structural transition.
✅ Use Case (My Personal Workflow)
I personally use this indicator to:
Filter out weak or irrelevant FVGs using the % filters.
Watch for price interaction at swing breaks — especially when an FVG aligns with a break in internal or external structure.
Refine entry and exit planning in confluence with other tools or strategies.
⚠️ Disclaimer
This indicator is not financial advice. It is a technical analysis tool intended to support your own decision-making process. Always do your own research and risk management.
PRO SMC Full Suite BY Mashrur“PRO SMC Full Suite BY Mashrur”
A Pine Script (v5) indicator for TradingView, focused on Smart Money Concepts (SMC). It overlays on price charts and provides visual tools for identifying key institutional trading behaviors.
🎯 Purpose
This script is designed to help traders analyze and trade using SMC principles by automatically detecting:
Order Blocks (OBs)
Fair Value Gaps (FVGs)
Breaks of Structure (BoS)
Liquidity Sweeps (Buy/Sell Side Liquidity Grabs)
Mitigation Entries
⚙️ Inputs / Settings
Show Fair Value Gaps: Toggle FVGs on/off
Higher Timeframe (HTF): Choose HTF for OB analysis
Use HTF OBs: Switch between current TF OBs and HTF OBs
Show Order Blocks: Toggle OBs on/off
Show OB Mitigation Entries: Toggle mitigation entry signals on/off
🧠 Core Logic Overview
🔹 1. Swing Points Detection
Identifies swing highs/lows using a 3-bar pattern (pivot-based structure).
🔹 2. Break of Structure (BoS)
A bullish BoS happens when price closes above the last swing high.
A bearish BoS occurs when price closes below the last swing low.
🔹 3. Order Block Detection
Upon BoS, the script marks the previous candle as the Order Block.
Uses either:
Current TF OBs (based on price action)
HTF OBs (based on candle body direction)
🔹 4. Mitigation Entry Logic
A mitigation occurs when price returns to the OB and reacts with confirmation:
Bullish: price dips into OB and closes above
Bearish: price wicks into OB and closes below
Plots entry markers for these mitigations.
🔹 5. Liquidity Sweeps
Detects equal highs/lows (liquidity zones)
Marks Buy SL when price dips below an equal low then closes above
Marks Sell SL when price breaks above an equal high then closes below
🔹 6. Fair Value Gaps (FVGs)
FVG Up: Gap between candle 3 and candle 1 (low > high )
FVG Down: Gap between candle 3 and candle 1 (high < low )
Plots highlighted boxes on these gaps
📊 Visual Elements
Boxes: For OB zones and FVGs
Shapes:
Labels: OB Buy/Sell entries
Triangles: Buy SL / Sell SL liquidity sweeps
Lines: Equal Highs and Lows
🔔 Alerts
Built-in alerts to notify when:
OB entries are confirmed
Liquidity sweeps happen
Helps in automation or active monitoring
✅ Ideal For
Traders using SMC, ICT concepts, Wyckoff, or institutional trading models
Anyone wanting to automate detection of structural elements on their chart
TR FVG & Swing High Low FinderTR FVG & Swing Level Finder
Overview:
The TR FVG & Swing Level Finder is a powerful Pine Script indicator designed for traders who want to identify Fair Value Gaps (FVGs) and Swing Highs/Lows on their charts. This indicator combines two essential technical analysis tools into one, helping traders spot potential areas of support, resistance, and trend reversals. FVGs are price gaps that often act as areas of interest for price to return to, while swing highs and lows help identify key turning points in the market. The indicator is highly customizable, allowing users to adjust colors, limits, and display options to suit their trading style.
Key Features:
1: Fair Value Gap (FVG) Detection:
- Identifies Bullish FVGs: Occur when the high of two candles ago is lower than the low of the current candle, indicating a potential upward price movement.
- Identifies Bearish FVGs: Occur when the low of two candles ago is higher than the high of the current candle, indicating a potential downward price movement.
- Displays FVGs as colored boxes on the chart, with customizable border and fill colors based on the timeframe.
- Labels each FVG box with the corresponding timeframe (e.g., "1m FVG", "1h FVG", "Daily FVG").
2: Swing High and Swing Low Detection:
- Detects Swing Highs: A 3-candle pattern where the middle candle's high is higher than the highs of the candles on either side.
- Detects Swing Lows: A 3-candle pattern where the middle candle's low is lower than the lows of the candles on either side.
- Draws a solid black line with 50% opacity at each swing high and low, extending 5 bars to the right for better visibility.
- Adds a small Swing High or Swing Low label at the right end of each line, colored according to user-defined settings.
3: Timeframe-Specific FVG Visualization:
- FVGs are color-coded based on the chart's timeframe, making it easy to distinguish between FVGs on different timeframes.
- Each timeframe has its own fill color for bullish and bearish FVGs, with adjustable transparency for better chart clarity.
- A dashed black line is drawn in the middle of each FVG box to highlight the midpoint of the gap.
4: Customizable Display Options:
- FVG Limit: Control the maximum number of FVGs displayed on the chart (from 1 to 20).
- Extend Options for FVG Boxes:
- "None": FVG boxes extend only 2 bars to the right.
- "Limited": FVG boxes extend a user-defined number of candles to the right (1 to 100 candles).
- "Default": FVG boxes extend 3 bars to the right of the current bar.
- Color Customization:
- Set border colors for bullish and bearish FVGs.
- Adjust fill colors for FVGs on different timeframes (1m, 5m, 15m, 30m, 1h, 4h, Daily, Weekly, Monthly).
- Customize the colors of swing high and swing low labels.
5: Performance Optimization:
- The indicator only plots FVGs and swings on the last confirmed bar (barstate.islastconfirmedhistory), ensuring efficient performance and reducing chart clutter.
- Limits the number of displayed FVGs and swings to the user-defined fvgLimit, keeping the chart clean and focused on the most recent price action.
6: Inputs and Customization:
- Number of FVGs to Show (fvgLimit): Set the maximum number of FVGs and swings to display (default: 3, range: 1 to 20).
- Bullish FVG Border Color (bullishColor): Choose the border color for bullish FVGs (default: green).
- Bearish FVG Border Color (bearishColor): Choose the border color for bearish FVGs (default: red).
- Swing High Color (swingHighColor): Set the color for swing high labels (default: blue).
- Swing Low Color (swingLowColor): Set the color for swing low labels (default: purple).
- Extend Options:
- Extend Option (extendOption): Choose how far FVG boxes extend to the right ("None", "Limited", or "Default"; default: "Default").
- Extend Candles (extendCandles): If "Limited" is selected, specify the number of candles to extend FVG boxes (default: 8, range: 1 to 100).
- Timeframe-Specific Fill Colors:
- Customize fill colors for bullish and bearish FVGs on various timeframes (1m, 5m, 15m, 30m, 1h, 4h, Daily, Weekly, Monthly).
- Each fill color has a default transparency (e.g., 93% for most timeframes, 90% for 30m), which can be adjusted as needed.
How to Use:
1: Add the Indicator to Your Chart:
- Open TradingView, go to the Pine Editor, and paste the script.
- Click "Add to Chart" to apply the indicator to your current chart.
2: Adjust Settings:
- Open the indicator settings by clicking the gear icon next to the indicator name on your chart.
- Modify the inputs to suit your preferences:
- Set the number of FVGs and swings to display.
- Choose your preferred colors for FVGs and swings.
- Adjust the extend options for FVG boxes.
3: Interpret the Indicator:
- FVG Boxes: Look for colored boxes on the chart, which represent Fair Value Gaps. Bullish FVGs (green borders by default) suggest potential buying opportunities, while bearish FVGs (red borders by default) suggest potential selling opportunities. The label inside each box indicates the timeframe of the FVG.
- Swing Highs and Lows: Identify key turning points with solid black lines (50% opacity) at swing highs and lows. Each line extends 5 bars to the right, with an "SH" (Swing High) or "SL" (Swing Low) label at the end. Swing highs can act as resistance levels, while swing lows can act as support levels.
4: Combine with Your Strategy:
- Use FVGs to identify areas where price might return to fill the gap, often acting as support or resistance.
- Use swing highs and lows to spot potential trend reversals or to set stop-loss and take-profit levels.
- Combine the indicator with other tools (e.g., trendlines, moving averages) for a more comprehensive trading strategy.
Notes:
- The indicator works on all timeframes, but the appearance of FVGs and swings will vary depending on the chart's timeframe.
- For best results, use the indicator on a clean chart to avoid visual clutter, especially if you increase the fvgLimit.
- The swing high/low lines are drawn with 50% opacity to ensure they don’t overpower other chart elements, but they are still clearly visible.
Author’s Note:
This script was developed to help traders identify key price levels with ease. I hope it adds value to your trading! If you have any feedback or suggestions for improvement, feel free to leave a comment. Happy trading!
ICT 9:30am First FVGThis indicator is designed based on ICT (Inner Circle Trader)'s algorithmic price action theory, specifically targeting the first fair value gap (FVG) that forms immediately after the New York Stock Exchange opens at 9:30am. The FVG represents an imbalance in the price delivery where a significant price action gap occurs, which can play a crucial role in future price movements.
Features:
Identification of First FVG: Automatically identifies and plots the first fair value gap that forms post the 9:30am NY open.
Customizable Visualization: Choose between block or line styles for visual representation, with customizable colors and border styles.
Date Labeling: Optionally displays date labels for each identified gap to track patterns over time.
Imbalance Extension: Options to extend the imbalances to the current bar, helping to visualize their influence on ongoing price action.
Purpose:
The first fair value gap formed after the market opens is an important algorithmic price range in ICT's price action theory. This indicator simplifies the identification of these critical gaps and helps in understanding their impact on future price action.
Price & Volume Profile (Expo)█ Overview
The Price & Volume Profile provides a holistic perspective on market dynamics by simultaneously tracking price action and trading volume across a range of price levels. So it is not only a volume-based indicator but also a price-based one. In addition to illustrating volume distribution, it quantifies how frequently the price has fallen within a particular range, thus offering a holistic perspective on market dynamics.
This unique and comprehensive approach to market analysis by considering both price action and trading volume, two crucial dimensions of market activity. Its distinctive methodology offers several advantages:
Holistic Market View: By simultaneously tracking the frequency of specific price ranges (Price Profile) and the volume traded at those ranges (Volume Profile), this indicator provides a more complete picture of market behavior. It shows not only where the market is trading but also how much it's trading, reflecting both price acceptance levels and market participation intensity.
Point of Control (POC): The POC, as highlighted by this indicator, serves as a significant reference point for traders. It identifies the price level with the highest trading activity, thus indicating a strong consensus among market participants about the asset's fair value. Observing how price interacts with the POC can offer valuable insights into market sentiment and potential trend reversals.
Support and Resistance Levels: Price levels with high trading activity often act as support or resistance in future price movements. The indicator visually represents these levels, enabling traders to anticipate potential price reactions.
Price Profile
Price and Volume Profile
█ Calculations
The algorithm analyzes both trade frequency and volume across different price levels. It identifies these levels within the visible chart range, then examines each bar to determine if the selected price falls within these levels. If so, it increases a counter and adds the trading volume. This process repeats across the visible range and is visualized as a horizontal histogram, each bar representing a price level and the bar length reflecting trade frequency and volume. Additionally, it calculates the Point of Control (POC), signifying the price level with the highest activity.
In summary: The histogram presents a dual perspective - not only the traded volume at each price level but also the frequency of the price hitting each range. The longer the bar, the more times the price has frequented that specific range, revealing key insights into price behavior and acceptance levels. These frequently visited areas often emerge as strong support or resistance zones, helping traders navigate market movements.
Please note that the indicator adjusts to the visible price range, making it adaptable to changing market conditions. This dynamic analysis can provide more relevant and timely information than static indicators.
█ How to use
This indicator is beneficial for traders as it offers insights into the distribution of trading activity across different price levels. It helps identify key areas of support and resistance and gives a visual representation of market sentiment and liquidity.
The point of control (POC) , which is the price level with the highest traded volume or frequency count, becomes even more crucial in this context. It marks the price at which the most trading activity occurred, signaling a strong consensus among market participants about the asset's fair value. If the market price deviates significantly from the POC, it could suggest an overbought or oversold condition, potentially leading to a price reversion.
Fair Price Areas/gaps are specific price levels or zones where an asset has spent limited time in the past. These areas are considered interesting or significant because they may have an impact on future price action.
Similar to the concept of fair value gaps, which refers to discrepancies between an asset's market price and its estimated intrinsic value, Fair Price Areas/gaps focus on price levels that have been relatively underutilized in terms of trading activity. When an asset's price reaches a Fair Price Area/gap, traders and investors pay attention because they expect the price to react in some way. The rationale behind this concept is that price tends to gravitate towards areas where it has spent less time in the past, as the market perceives them as significant levels.
█ Settings
The indicator is customizable, allowing users to define the number of price levels (rows), the offset, the data source, and whether to display volume or frequency count. It also adjusts dynamically to the visible price range on the chart, ensuring that the analysis remains relevant and timely with changing market conditions.
Source: The price to use for the calculation. Typically, this is the closing price. By considering the user-selected Source (typically the closing price), the indicator determines the frequency with which the price lands within each designated price level (row) over the selected period. In essence, the indicator provides a count of bars where the Source price falls within each range, essentially creating a "Price Profile."
Row Size: The number of price levels (rows) to divide the visible price range into.
Display: Choose whether to display the number of bars ("Counter") or the total volume ("Volume") for each price level.
Offset: The distance of the histogram from the price chart.
Point of Control (POC): If enabled, the indicator will highlight the price level with the most activity.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
Displacement (Two FVGs)A simple indicator that attempts to identify displacement in price by alerting you when two simultaneous Fair Value Gaps (FVGs) occur.
When two fair value gaps occur, the indicator will print a green bar (if bullish) or a red bar (if bearish). If you right click on the indicator you can turn on alerts that will pop up every time a dual FVG occurs.
Fair Value Gaps are most commonly used amongst price action traders and are defined as instances in which there are inefficiencies, or imbalances, in the market.
The concept for this indicator is very simple. Apply it to your chart and enable alerts on the instruments and timeframe you trade. When you get an alert, it could indicate larger players getting involved.
This is NOT a trading strategy. Its intention is to save time by alerting you to large imbalances in price on the instruments you trade.
Gold Fair Value Gap Entry(FVG GOLD)This script calculates the fair value of gold, which is set as an input parameter. It then gets the current price of gold and calculates the gap between the price and the fair value. If the gap is positive, it enters a long trade, and if it's negative, it enters a short trade.
The script also uses proper risk management techniques by setting a stop loss and take profit for each trade. The plot() function is used to display the fair value and gap on the chart.
Please note that this is just an example script, and you should customize it based on your specific trading strategy and criteria. It's also important to backtest your strategy and refine it before using it with real money.
DuoBlocks - ICT Order Block detectorDuoBlocks (ICT Order Block Detector)
(An ICT(Inner Circle Trading)-style Order Block(OB) tool that highlights only the most relevant and recent Demand/Supply zones using FVG and Engulfing based OB sources.)
Overview
DuoBlocks is an ICT-inspired Order Block detector that uses the mostly used two major order block types: FVG(Fair Value Gap) or Engulfing. There are many Order Block indicators out there, but I couldn’t find one that consistently highlights the most relevant, most recent OB relative to the current price without making the chart a mess and that's why so I built this script.
FVG-based OB (FVG-OB): OBs derived from 3-candle fair value gap logic.
Engulfing-based OB (Engulfing-OB): OBs derived from strong 2-candle reversal/displacement (engulf) logic.
Usage
FVG-OB (Fair Value Gap Order Blocks)
This script finds bullish/bearish FVGs and draws an Order Block zone from the candle that created the move. Think of these zones as your potential next support (bullish) and resistance (bearish) levels.
Engulfing-OB (Engulfing Order Blocks)
This script also finds strong bullish/bearish engulfing candles and draws an Order Block zone from the candle that got engulfed.
Same idea: treat them as potential next support (bullish) and resistance (bearish) levels.
**Use these zones like “next level” support/resistance areas. Don’t blindly buy/sell—wait for your own confirmation and manage risk properly.
Settings
Show FVG-OB
Toggle display of the selected FVG-based bullish/bearish OB (one per side).
Show Engulfing-OB
Toggle display of the selected Engulfing-based bullish/bearish OB (one per side).
Max Invalidation Attempts (FVG OB or Engulf OB)
Controls how many separate breach events a stored OB can absorb before it is marked invalid (discarded). The counting happens when either of below occurs.
Bullish OB: price prints a low below the OB bottom.
Bearish OB: price prints a high above the OB top.
Each time this happens, the OB’s invalidation counter increments by +1.
Once the counter reaches your Max Attempts, that OB is flagged as no longer live, so it will stop being eligible for selection. Then the script automatically falls through to the next best/next nearest valid OB in memory.
Right Extend (bars)
How far to extend the selected OB boxes to the right.
Lookback bars
Maximum historical bars scanned for detection. Lower values = faster/cleaner, higher values = more history retained.
Max stored OB per side
Maximum stored bullish and bearish OBs in memory (per source).
Bullish/Bearish OB Color
Controls border/midline coloring for bullish and bearish zones.
Disclaimer
This script is for educational and informational purposes only and does not constitute financial advice or investment recommendations. Trading cryptocurrencies and other financial instruments involves significant risk, and you are solely responsible for your own decisions based on your financial situation, objectives, and risk tolerance. The author assumes no liability for losses arising from the use of this indicator.
Helper Lib by tristanlee85Library "helpers"
This library offers various functions and types based on the algorithmic
concepts as authored by ICT.
kv(key, value)
Returns a string of the key/value set, suitable for debug logging
Parameters:
key (string)
value (string)
Returns: A string formatted as "{key}: {value}"
kv(key, value)
Parameters:
key (string)
value (int)
kv(key, value)
Parameters:
key (string)
value (float)
kv(key, value)
Parameters:
key (string)
value (bool)
method enable(this, enable)
Enable/Disable debug logging
Namespace types: Debugger
Parameters:
this (Debugger)
enable (bool) : Set to `true` by default.
method group(this, label)
Creates a group label for nested debug() invocations
Namespace types: Debugger
Parameters:
this (Debugger)
label (string)
method groupEnd(this, label)
Ends the specified debug group
Namespace types: Debugger
Parameters:
this (Debugger)
label (string)
method log(this, s, arg1, arg2, arg3, arg4, arg5)
Logs the param values if debug mode is enabled
Namespace types: Debugger
Parameters:
this (Debugger)
s (string) : Title of the log message
arg1 (string)
arg2 (string)
arg3 (string)
arg4 (string)
arg5 (string)
method logIf(this, expr, s, arg1, arg2, arg3, arg4, arg5)
Same behavior as debug() except will only log if the passed expression is true
Namespace types: Debugger
Parameters:
this (Debugger)
expr (bool) : Boolean expression to determine if debug logs should be logged
s (string) : Title of the log message
arg1 (string)
arg2 (string)
arg3 (string)
arg4 (string)
arg5 (string)
style_getLineStyleFromType(opt)
Returns the corresponding line style constant for the given LineStyleType
Parameters:
opt (series LineStyleType) : The selected line style type
Returns: The Pine Script line style constant
style_getTextSizeFromType(opt)
Returns the corresponding text size constant for the given TextSizeType
Parameters:
opt (series TextSizeType) : The selected text size type
Returns: The Pine Script text size constant
style_getTextHAlignFromType(t)
Returns the corresponding horizontal text align constant for the given HAlignType
Parameters:
t (series HAlignType) : The selected text align type
Returns: The Pine Script text align constant
style_getTextVAlignFromType(t)
Returns the corresponding vertical text align constant for the given VAlignType
Parameters:
t (series VAlignType) : The selected text align type
Returns: The Pine Script text align constant
format_sentimentType(sentiment, pd)
Used to produce a string with the sentiment and PD array type (e.g., "+FVG")
Parameters:
sentiment (series SentimentType) : The sentiment value (e.g., SentimentType.BULLISH)
pd (series PDArrayType) : The price data array (e.g., PDArrayType.FVG)
Returns: A formatted string with the sentiment and PD array (e.g., "+FVG")
format_timeToString(timestamp)
Formats a UNIX timestamp into a date and time string based on predefined formats
Parameters:
timestamp (int) : The UNIX timestamp to format
Returns: A formatted string as "MM-dd (E) - HH:mm"
method init(this)
Initializes the session and validates the configuration. This MUST be called immediately after creating a new instance.
Namespace types: Session
Parameters:
this (Session) : The Session object reference
Returns: The Session object (chainable) or throws a runtime error if invalid
method isActive(this, _time)
Determines if the session is active based on the current bar time
Namespace types: Session
Parameters:
this (Session) : The Session object reference
_time (int)
Returns: `true` if the session is currently active; `false` otherwise
method draw(this)
Draws the line and optional label
Namespace types: LineLabel
Parameters:
this (LineLabel) : The LineLabel object reference
Returns: The LineLabel object (chainable)
method extend(this, x)
Extends the line and label right to the specified bar index
Namespace types: LineLabel
Parameters:
this (LineLabel) : The LineLabel object reference
x (int) : The bar index to extend to
Returns: The LineLabel object (chainable)
method destroy(this)
Removes the line and label from the chart
Namespace types: LineLabel
Parameters:
this (LineLabel) : The LineLabel object reference
isFVG(includeVI, barIdx)
Checks if the previous bars form a Fair Value Gap (FVG)
Parameters:
includeVI (bool) : If true, includes Volume Imbalance in the FVG calculation
barIdx (int) : The index of the bar to check from (default is 0 for the current bar)
Returns: A Gap object if a FVG is detected; otherwise, `na`
isVolumeImbalance(barIdx)
Checks if the previous bars form a Volume Imbalance (VI)
Parameters:
barIdx (int) : The index of the bar to check from (default is 0 for the current bar)
Returns: A Gap object if a VI is detected; otherwise, `na`
isLiquidityVoid(barIdx)
Checks if the previous bars form a Liquidity Void (LV)
Parameters:
barIdx (int) : The index of the bar to check from (default is 0 for the current bar)
Returns: A Gap object if an LV is detected; otherwise, `na`
isSwingPoint(barIdx)
Checks if the previous bars form a swing point
Parameters:
barIdx (int) : The index of the bar to check from (default is 0 for the current bar)
Returns: A SwingPoint object if a swing point is detected; otherwise, `na`
Debugger
A debug logging utility with group support
Fields:
enabled (series bool)
_debugGroupStack (array)
Session
Defines a trading session with a name and time range. When creating a new instance of this type, you MUST call init() immediately.
Fields:
name (series string) : A display-friendly name (e.g., "NY AM")
session (series string) : A string defining the session time range (e.g., "1300-1400")
enabled (series bool) : Optional flag for custom logic; defaults to false
start (series int) : UNIX time representing the session start (set via isActive())
end (series int) : UNIX time representing the session end (set via isActive())
_t (series int)
_start_HH (series float)
_start_mm (series float)
_end_HH (series float)
_end_mm (series float)
Gap
Represents a price inefficiency (gap) with details on sentiment and price levels
Fields:
type (series SentimentType) : The sentiment of the gap (e.g., SentimentType.BULLISH)
name (series string) : A display-friendly name (e.g., "+FVG")
startTime (series int) : UNIX time value for the gap's start
endTime (series int) : UNIX time value for the gap's end
startIndex (series int) : Bar index where the gap starts
endIndex (series int) : Bar index where the gap ends
gapLow (series float) : The lowest price level of the gap
gapHigh (series float) : The highest price level of the gap
ce (series float) : The consequent encroachment level of the gap
SwingPoint
Represents a swing point with details on type and price level
Fields:
type (series SwingPointType) : The type of swing point (e.g., SwingPointType.HIGH)
time (series int) : UNIX time value for the swing point
barIdx (series int) : Bar index where the swing point occurs
price (series float) : The price level of the swing point which is either the high or low of the middle bar
LineLabel
Combines a line and box type to produce a line with a label that is properly aligned
Fields:
x (series int) : The X-axis starting point as a bar index
y (series float) : The Y-axis starting point as the price level
color (series color) : Both the line and text color
width (series int) : Thickness of the line
label (series string) : Text to display
showLabel (series bool) : Boolean to conditionally show/hide the label (default is false)
lineStyle (series LineStyleType) : The style of the line
textSize (series TextSizeType)
_b (series box)
_l (series line)
Balanced Price Range | Flux Charts💎 GENERAL OVERVIEW
Introducing our new Balanced Price Range (BPR) indicator! A Balanced Price Range is a trading concept used by price action traders. It is detected by finding overlapping area between two contrary Fair Value Gaps (FVGs). These areas can be used as entry points during market pullbacks. For more information about the process, please check the "HOW DOES IT WORK ?" section.
Balanced Price Range Features :
Balanced Price Range Detection : Identifies areas where bullish and bearish FVGs overlap, suggesting a zone of price equilibrium.
Customizable FVG & BPR Detection : You can fine-tune FVG detection and sensitivity for BPR detection to your liking.
Retest Labels : Bullish & Bearish retest labels will be rendered for BPRs.
Alerts : You can set alerts for Bullish & Bearish BPR detection and their retests.
🚩 UNIQUENESS
This indicator doesn't just detect standard FVGs but specifically looks for areas where bullish and bearish IFVGs (Invalidated Fair Value Gaps) overlap, defining a Balanced Price Range. It also actively manages and updates identified BPR zones, removing them when they are invalidated or remain untouched for a specified period. It highlights and alerts users to retests of established BPR zones, signaling potential trading opportunities. Users can tailor the appearance of the BPR zones and retest markers, as well as configure specific alerts for new BPR formations and retests.
📌 HOW DOES IT WORK ?
A Fair Value Gap generally occur when there is an imbalance in the market. They can be detected by specific formations within the chart. The indicator first detects bullish & bearish FVG zones according to their formations on chart. Then, they are dynamically tracked and flagged as invalidated if the price crosses them, turning them into IFVGs. When a FVG & IFVG of the same type overlaps, the indicator combines them into a single BPR of corresponding type. The detected BPR is updated as new data comes in, and renders retests labels as they occur. A bullish BPR can be used to find long trade entry opportunities, while a bearish BPR can be used to find short trade entry opportunities. Retests can also indicate potential movements in the corresponding direction of the BPR. Users can set-up alerts for BPR detection & BPR retests and will get notified as they occur.
⚙️ SETTINGS
Show Historic Zones: If enabled, invalidated or expired BPR zones will remain visible on the chart.
Balanced Price Range:
FVG Detection Method: Determines the criteria for the bar types forming the initial FVG.
Same: All three bars forming the FVG must be of the same type (all bullish or all bearish).
Mixed: The bar types must vary (a mix of bullish and bearish bars).
All: Bar types can vary or be the same.
FVG Invalidation Method: Determines which part of the candle (wick or close) invalidates the initial FVG.
BPR Invalidation Method: Determines which part of the candle (wick or close) invalidates the Balanced Price Range.
Sensitivity: Adjusts the sensitivity of FVG detection. Higher values may identify fewer, larger BPRs, while lower values may detect more, smaller BPRs.
Labels: Toggles the display of text labels on the identified zones.
Retests: Enables or disables the detection and visualization of BPR retests.
FVG Positioning Average with 200EMA Auto Trading [Pakun]Description
Strategy Name and Purpose
FVG Positioning Average with 200EMA Auto Trading
This strategy uses Fair Value Gaps (FVG) combined with a 200-period Exponential Moving Average (EMA) and Average True Range (ATR) to generate trend-based trading signals. It is designed to help traders identify high-probability entry points by leveraging the gaps between fair value prices and current market prices.
Originality and Usefulness
This script combines multiple indicators to create a cohesive trading strategy that is greater than the sum of its parts. While FVG is a powerful tool on its own, combining it with the EMA and ATR adds layers of confirmation and risk management, enhancing its effectiveness. Here’s how the components work together:
Fair Value Gap (FVG): Identifies gaps in the market where price action has not fully filled, indicating potential reversal or continuation points.
200-period Exponential Moving Average (EMA): Acts as a trend filter to ensure trades are taken in the direction of the overall trend, improving the probability of success.
Average True Range (ATR): Used to filter out insignificant gaps and set dynamic stop-loss levels based on market volatility, enhancing risk management.
Entry Conditions
Long Entry
The close price crosses above the downtrend FVG.
The close price, FVG up average, and down average are all above the 200 EMA, indicating a strong bullish trend.
Short Entry
The close price crosses below the uptrend FVG.
The close price, FVG up average, and down average are all below the 200 EMA, indicating a strong bearish trend.
Exit Conditions
For long positions, the stop loss is set at the recent low, and the take profit is set at a point with a risk-reward ratio of 1:1.5.
For short positions, the stop loss is set at the recent high, and the take profit is set at a point with a risk-reward ratio of 1:1.5.
Risk Management
Account Size: 1,000,000 yen
Commission and Slippage: 2 pips commission and 1 pip slippage per trade
Risk per Trade: 10% of account equity
The stop loss is based on the recent low or recent high, ensuring trades are exited when the market moves against the position.
Settings Options
FVG Lookback: Set the lookback period for calculating FVGs.
Lookback Type: Choose the type of lookback (Bar Count or FVG Count).
ATR Multiplier: Set the multiplier for ATR to filter significant gaps.
EMA Period: Set the period for the EMA to adjust the trend filter sensitivity.
Show FVGs on Chart: Choose whether to display FVGs on the chart for visual confirmation.
Bullish/Bearish Color: Set the color for bullish and bearish FVGs to distinguish them easily.
Show Gradient Areas: Choose whether to display gradient areas to highlight the zones of interest.
Sufficient Sample Size
The strategy has been backtested with 113 trades, providing a sufficient sample size to evaluate its performance.
Notes
This strategy is based on historical data and does not guarantee future results.
Thoroughly backtest and validate results before using in live trading.
Market volatility and other external factors can affect performance and may not yield expected results.
Acknowledgment
This strategy uses the FVG Positioning Average Strategy indicator. Thanks to for their contribution.
Clean Chart Explanation
The script is published with a clean chart to ensure that its output is readily identifiable and easy to understand. No other scripts are included on the chart, and any drawings or images used are specifically to illustrate how the script works.
ICT Setup 01 [TradingFinder] FVG + Liquidity Sweeps/Hunt Alerts🔵 Introduction
The ICT (Inner Circle Trader) style of trading involves analyzing the behavior of market participants and market makers to identify areas where fake buy and sell activities occur. This trading style helps retail traders align with market maker behavior and avoid falling into market traps.
A key aspect of the ICT strategy is focusing on liquidity hunts. This involves searching for trading opportunities in areas of the market with low liquidity or where other traders have little activity. The ICT method leverages market inefficiencies and weaknesses, allowing traders to profit from small price movements that might go unnoticed by others.
In "ICT Setup 01," our focus is on these liquidity areas and stop hunts that form in Fair Value Gaps (FVGs). Trading within FVGs, combined with confirmations from "Hunts" and "Sweeps," can enhance trader performance.
🔵 How to Use
The presence of Fair Value Gaps (FVGs) in the market indicates rapid, powerful movements likely caused by the influx of smart money. When the price returns to these levels, a market reaction is expected.
Combining this with the complex and deceptive behavior of smart money—such as "Liquidity Sweeps" and "Stop Hunts"—forms an ICT-based price action setup that we expect to perform well.
Components of "ICT Setup 01" :
● Fair Value Gap (FVG)
● Premium and Discount
● Hunts / Sweeps
Whenever the price returns to an FVG area and reacts in such a way that only the wicks of the candles remain in the area and the candle bodies are outside the FVG, the first condition for creating the setup is met.
If subsequent candles hunt the wick that has penetrated the deepest into the FVG, a buy or sell signal is issued. In the format where hunting is based on Sweeps, penetrations that extend even outside the area are considered signals, provided they do not form a body within the area.
Additionally, a refining system exists for cases where a candle body forms in the area, optimizing the proximal levels of the FVG.
Bullish Setup :
Bearish Setup :
🔵 Features and Settings of "ICT Setup 01"
You can Find out more in Setting :
● FVG Detector Multiplier Factor
● FVG Validity Period
● Level in Low-Risk Zone
● Issuing Signals Method
● Number of Signals Allowed from a Zone
● Signal after Hunts/Sweeps
● How Many Hunts/Sweeps
● Show or Hide
● Alert Sender
FVG Detector Multiplier Factor :
This feature allows you to determine the size of the moves forming the FVGs based on the ATR (Average True Range). The default value is 1 to identify the majority of setups. You can increase this value according to the symbol and market you are trading in to achieve better results.
FVG Validity Period :
This shows the validity period of an FVG based on the number of candles. By default, an FVG area is valid for up to 15 candles. However, you can increase or decrease this period.
Level in Low-Risk Zone :
This feature helps reduce your risk. The method works by identifying the entire length of the three candles forming the FVG and dividing it into two equal areas. The upper area is "Premium," and the lower area is "Discount." To reduce risk, it is better for "Demand FVG" to be in the "Discount" and "Supply FVG" in the "Premium." This feature is off by default.
Issuing Signals Method :
This feature allows you to specify whether the hunt should occur only within the FVG area or if the wicks can extend outside the area.
If set to "Hunts," only signals where the wicks are within the area are issued, and the area loses its validity if the wicks extend outside.
In "Sweeps" mode, wicks can extend outside the area as long as they do not form a body within the area.
Number of Signals Allowed from a Zone :
This feature allows you to specify how many valid signals can be issued from one area.
Signal after Hunts/Sweeps :
In markets or symbols with a tendency for frequent stop hunts, this feature allows you to specify how many hunts should occur before you receive a signal to avoid receiving potentially failed signals.
How Many Hunts/Sweeps :
Enter the number of hunts you want to set for the "Signal after Hunts/Sweeps" feature here.
Show or Hide :
The number of setups formed may be very large, and displaying all of them on the chart can be distracting and messy. By default, only the last setup is displayed, but if you want to see all setups, you can turn on the relevant options.
Alert Sender :
You cannot constantly monitor multiple charts to identify trading opportunities. Using the alert sending feature can save time and improve performance.
Alerts Name : Customize the alert name to your preference.
Message Frequency : Determines the frequency of alert messages. Options include 'All' (triggers every time the function is called), 'Once Per Bar' (triggers only on the first call within the bar), and 'Once Per Bar Close' (triggers only on the final script execution of the real-time bar upon closure). The default is 'Once per Bar.'
Show Alert Time by Time Zone : Configure the alert messages to reflect any chosen time zone. For instance, input 'UTC+1' for London time. The default is 'UTC.'
By configuring these settings, traders can effectively utilize ICT setups to improve their trading strategies and outcomes.
Smart Range ProfilerSmart Market Structure Viewer: Gaps, Swings & Dealing Ranges
Overview
This script is a comprehensive technical analysis viewer designed to provide a clear and objective visualization of market structure. By mapping liquidity gaps, multi-tier swing points, and dynamic dealing ranges, it helps traders identify key institutional levels and price action context without the clutter of predictive signals.
Key Features
1. Gap Analysis (FVG & Breakaway)
The tool identifies and tracks price imbalances to help visualize market inefficiency:
Fair Value Gaps (FVG): Highlights standard price imbalances.
Breakaway Gaps: Specifically marks gaps where the candle close remains outside the previous range, indicating strong directional commitment.
Sophisticated Mitigation: Users can choose how gaps are cleared from the chart (e.g., when price touches, leaves, or completely covers the gap), ensuring only relevant imbalances are displayed.
2. Hierarchical Swing Points
To help distinguish between minor fluctuations and major trend shifts, the viewer categorizes market structure into three hierarchical levels:
Short-Term (ST): Localized swing points identified in relation to gap formations.
Intermediate-Term (IT): Structural points derived from the relationship between short-term swings.
Long-Term (LT): High-level structural points that define the broader market framework.
3. Dynamic Dealing Range & Profiling
The script calculates and projects the current "Dealing Range" based on the selected structural hierarchy (ST, IT, or LT).
Range Geometry: Displays the Range Top, Range Bottom, and the Equilibrium (50%) level.
MTP (Most Traded Price): A volume-based profile indicating the price level with the highest trading activity within the current range.
MTS (Most Time Spent): A time-based profile highlighting the price level where the market spent the most duration.
How to use this Viewer
Structural Context: Use the multi-tier swings to identify the current market phase (Bullish/Bearish) and seniority of the trend.
Imbalance Tracking: Monitor how price interacts with Fair Value and Breakaway gaps to gauge the strength of a move.
Premium vs. Discount: Utilize the Dealing Range Equilibrium in conjunction with MTP/MTS levels to identify where price sits relative to its value distribution.
Iridescent Liquidity Prism [JOAT]Iridescent Liquidity Prism | Peer Momentum HUD
A multi-layered order-flow indicator that combines microstructure analysis, smart-money footprint detection, and intermarket momentum signals. The script uses dynamic color-shifting themes to visualize liquidity patterns, structure, and peer momentum data directly on the chart.
There is so much to choose from inside the settings, if you think it's a mess on the chart it's because you have to personally customize it based on your needs...
Core Functionality
The indicator calculates and displays several analytical layers simultaneously:
Order-Flow Imbalance (OFI): Calculates buy vs. sell volume pressure using volume-weighted price distribution within each bar. Uses an EMA filter (default: 55 periods) to smooth the signal. Values are normalized using standard deviation to identify significant imbalances.
Smart Money Footprints: Detects accumulation and distribution zones by comparing volume rate of change (ROC) against price ROC. When volume ROC exceeds a threshold (default: 65%) and price ROC is positive, accumulation is detected. When volume ROC is high but price ROC is negative, distribution is detected.
Fractal Structure Mapping: Identifies pivot highs and lows using a fractal detection algorithm (default: 5-bar period). Maintains a rolling window of recent structure points (default: 4 levels) and draws connecting lines to show trend structure.
Fair Value Gap (FVG) Detection: Automatically detects price gaps where three consecutive candles create an imbalance. Bullish FVGs occur when the current low exceeds the high two bars ago. Bearish FVGs occur when the current high is below the low two bars ago. Gaps persist for a configurable duration (default: 320 bars) and fade when price fills the gap.
Liquidity Void Detection: Identifies candles where the high-low range exceeds an ATR threshold (default: 1.7x ATR) while volume is below average (default: 65% of 20-bar average). These conditions suggest areas where liquidity may be thin.
Price/Volume Divergence: Uses linear regression to detect when price trend direction disagrees with volume trend direction. A divergence alert appears when price is trending up while volume is trending down, or vice versa.
Peer Momentum Heatmap (PMH): Calculates composite momentum scores for up to 6 symbols across 4 timeframes. Each score combines RSI (default: 14 periods) and StochRSI (default: 14 periods, 3-bar smooth) to create a momentum composite between -1 and +1. The highest absolute momentum score across all combinations is displayed in the HUD.
Custom settings using Fractal Pivots, Skeleton Structure, Pulse Liquidity Voids, Bottom Colorful HeatMaps, and Iridescent Field.
---
Visual Components
Spectrum Aura Glow: ATR-weighted bands (default: 0.25x ATR) that expand and contract around price action, indicating volatility conditions. The thickness adapts to market volatility.
Chromatic Flow Trail: A blended line combining EMA and WMA of price (default: 8-period EMA blended with WMA at 65% ratio). The trail uses gradient colors that shift based on a phase oscillator, creating an iridescent effect.
Volume Heat Projection: Creates horizontal volume profile bands at price levels (default: 14 levels). Scans recent bars (default: 150 bars) to calculate volume concentration. Each level is colored based on its volume density relative to the maximum volume level.
Structure Skeleton: Dashed lines connecting fractal pivot points. Uses two layers: a primary line (2-3px width) and an optional glow overlay (4-5px width) for enhanced visibility.
Fractal Markers: Diamond shapes placed at pivot high and low points. Color-coded: primary color for highs, secondary color for lows.
Iridescent Color Themes: Five color themes available: Iridescent (default), Pearlescent, Prismatic, ColorShift, and Metallic. Colors shift dynamically using a phase oscillator that cycles through the color spectrum based on bar index and a speed multiplier (default: 0.35).
---
HUD Console Metrics
The right-side HUD displays seven key metrics:
Flow: Shows OFI status: ▲ FLOW BUY when normalized OFI exceeds imbalance threshold (default: 2.2), ▼ FLOW SELL when below -2.2, or ◆ FLOW BAL when balanced.
Struct: Structure trend bias: ▲ STRUCT BULL when microtrend > 2, ▼ STRUCT BEAR when < -2, or ◆ STRUCT RANGE when neutral.
Smart$: Institutional activity: ◈ ACCUM when smart money index = 1, ◈ DISTRIB when = -1, or ○ IDLE when inactive.
Liquid: Liquidity state: ⚡ VOID when a liquidity void is detected, or ● NORMAL otherwise.
Diverg: Divergence status: ⚠ ALERT when price/volume divergence detected, or ✓ CLEAR when aligned.
PMH: Peer Momentum Heatmap status: Shows dominant timeframe and momentum score. Displays 🪩 for bull surge (above 0.55 threshold) or 🧨 for bear surge (below -0.55).
FVG: Fair Value Gap status: Shows active gap count or CLEAR when no gaps exist. Displays GAP LONG when bullish gap detected, GAP SHORT when bearish gap detected.
Pearlscent Color with Volume Heatmap.
Parameters and Settings
Microstructure Engine:
Analysis Depth: 20-250 bars (default: 55) - Controls OFI smoothing period
Liquidity Threshold ATR: 1.0-4.0 (default: 1.7) - Multiplier for void detection
Imbalance Ratio: 1.5-6.0 (default: 2.2) - Standard deviations for OFI significance
Smart Money Layer:
Smart Money Window: 10-150 bars (default: 24) - Period for ROC calculations
Accumulation Threshold: 40-95% (default: 65%) - Volume ROC threshold
Structural Mapping:
Fractal Pivot Period: 3-15 bars (default: 5) - Period for pivot detection
Structure Memory: 2-8 levels (default: 4) - Number of structure points to track
Volume Heat Projection:
Heat Map Lookback: 60-400 bars (default: 150) - Bars to analyze for volume profile
Heat Map Levels: 5-30 levels (default: 14) - Number of price level bands
Heat Map Opacity: 40-100% (default: 92%) - Transparency of heat map boxes
Heat Map Width Limit: 6-80 bars (default: 26) - Maximum width of heat map boxes
Heat Map Visibility Threshold: 0.0-0.5 (default: 0.08) - Minimum density to display
Iridescent Enhancements:
Visual Theme: Iridescent, Pearlescent, Prismatic, ColorShift, or Metallic
Color Shift Speed: 0.05-1.00 (default: 0.35) - Speed of color phase oscillation
Aura Thickness (ATR): 0.05-1.0 (default: 0.25) - Multiplier for aura band width
Chromatic Trail Length: 2-50 bars (default: 8) - Period for trail calculation
Trail Blend Ratio: 0.1-0.95 (default: 0.65) - EMA/WMA blend percentage
FVG Persistence: 50-600 bars (default: 320) - Bars to keep FVG boxes active
Max Active FVG Boxes: 10-200 (default: 40) - Maximum boxes on chart
FVG Base Opacity: 20-95% (default: 80%) - Transparency of FVG boxes
Peer Momentum Heatmap:
Peer Symbols: Comma-separated list of up to 6 symbols (e.g., "BTCUSD,ETHUSD")
Peer Timeframes: Comma-separated list of up to 4 timeframes (default: "60,240,D")
PMH RSI Length: 5-50 periods (default: 14)
PMH StochRSI Length: 5-50 periods (default: 14)
PMH StochRSI Smooth: 1-10 periods (default: 3)
Super Momentum Threshold: 0.2-0.95 (default: 0.55) - Threshold for surge detection
Clarity & Readability:
Liquidity Void Opacity: 5-90% (default: 30%)
Smart Money Footprint Opacity: 5-90% (default: 35%)
HUD Background Opacity: 40-95% (default: 70%)
Iridescent Field:
Field Opacity: 20-100% (default: 86%) - Background color intensity
Field Smooth Length: 10-200 bars (default: 34) - Smoothing for background gradient
---
Alerts
The indicator provides seven alert conditions:
Liquidity Void Detected - Triggers when void conditions are met
Strong Order Flow - Triggers when normalized OFI exceeds imbalance ratio
Smart Money Activity - Triggers when accumulation or distribution detected
Price/Volume Divergence - Triggers when divergence conditions occur
Structure Shift - Triggers when structure polarity changes significantly
PMH Bull Surge - Triggers when PMH exceeds positive threshold (if enabled)
PMH Bear Surge - Triggers when PMH exceeds negative threshold (if enabled)
Bull/Bear Prismatic FVG - Triggers when new FVG is detected (if FVG display enabled)
---
Usage Considerations
Performance may vary on lower timeframes due to the volume heat map calculations scanning multiple bars. Consider reducing heat map lookback or levels if experiencing slowdowns.
The PMH feature requires data requests to other symbols/timeframes, which may impact performance. Limit the number of peer symbols and timeframes for optimal performance.
FVG boxes automatically expire after the persistence period to prevent chart clutter. The maximum box limit (default: 40) prevents excessive memory usage.
Color themes affect all visual elements. Choose a theme that provides good contrast with your chart background.
The indicator is designed for overlay display. All visual elements are positioned relative to price action.
Structure lines are drawn dynamically as new pivots form. On fast-moving markets, structure may update frequently.
Volume calculations assume typical volume data availability. Symbols without volume may show incomplete data for volume-dependent features.
---
Technical Notes
Built on Pine Script v6 with dynamic request capability for PMH functionality.
Uses exponential moving averages (EMA) and weighted moving averages (WMA) for trail calculations to balance responsiveness and smoothness.
Volume profile calculation uses price level buckets. Higher levels provide finer granularity but require more computation.
Iridescent color engine uses a phase oscillator with sine wave calculations for smooth color transitions.
Box management includes automatic cleanup of expired boxes to maintain performance.
All visual elements use color gradients and transparency for smooth blending with price action.
---
Customization Examples
Intraday Scalping Setup:
Analysis Depth: 30 bars
Heat Map Lookback: 100 bars
FVG Persistence: 150 bars
PMH Window: 15 bars
Fast color shift speed: 0.5+
Macro Structure Tracking:
Analysis Depth: 100+ bars
Heat Map Lookback: 300+ bars
FVG Persistence: 500+ bars
Structure Memory: 6-8 levels
Slower color shift speed: 0.2
---
Limitations
Volume heat map calculations may be computationally intensive on lower timeframes with high lookback values.
PMH requires valid symbol names and accessible timeframes. Invalid symbols or timeframes will return no data.
FVG detection requires at least 3 bars of history. Early bars may not show FVG boxes.
Structure lines connect points but do not predict future structure. They reflect historical pivot relationships.
Color themes are aesthetic choices and do not affect calculation logic.
The indicator does not provide trading signals. All visual elements are analytical tools that require interpretation in context of market conditions.
Open Source
This indicator is open source and available for modification and distribution. The code is published with Pine Script v6 compliance. Users are free to customize parameters, modify calculations, and adapt the visual elements to their trading needs.
For questions, suggestions, or anything please talk to me in private messages or comments below!
Would love to help!
- officialjackofalltrades
Daily Bias Trade Manager [MarkitTick]💡 The Daily Bias Trade Manager is a sophisticated technical analysis suite designed to automate the identification of high-probability intraday setups based on liquidity concepts and structural shifts. By synthesizing Previous Day High/Low (PDH/PDL) interactions with momentum confirmation and strict risk management protocols, this tool assists traders in navigating the "Daily Bias." It moves beyond simple signal generation by offering a complete trade management visualization system, projecting entries, stop losses, and take-profit levels directly onto the chart in real-time.
✨ Originality and Utility
This script distinguishes itself by integrating institutional price action theory—specifically Liquidity Sweeps and Change in State of Delivery (CISD)—with mechanical filtering. While many indicators simply highlight highs and lows, the Daily Bias Trade Manager validates these levels by analyzing what happens *after* price tests them.
It solves a common problem for intraday traders: "Analysis Paralysis." By automating the detection of structure breaks (MSS) and Fair Value Gaps (FVG) following a sweep of daily liquidity, it provides an objective framework for entry. Furthermore, the built-in "Position Box" feature removes the guesswork from trade execution by instantly calculating risk-to-reward ratios and visualizing them, allowing traders to see the feasibility of a trade before execution.
🔬 Methodology and Concepts
The core logic operates on a sequential detection model:
Liquidity Identification: The script first plots the Previous Day High (PDH) and Previous Day Low (PDL). These are critical institutional reference points where stop-loss orders (liquidity) often reside.
The Sweep: A "Sweep" is confirmed when price breaches a PDH/PDL but fails to sustain the breakout, closing back inside the previous day's range. This suggests a "Fake-out" or liquidity grab, often a precursor to a reversal.
Change in State of Delivery (CISD): Following a sweep, the script monitors local market structure. It looks for a decisive close past a recent swing point (Swing High for shorts, Swing Low for longs) within a user-defined bar window. This confirms that the counter-trend move has momentum.
Confluence Filtering: To reduce false positives, the engine applies optional filters:
RVOL (Relative Volume): Ensures the sweep occurred on significant volume (Climax behavior).
RSI Momentum: Verifies that momentum supports the reversal direction.
Trend Filter: Uses a long-term EMA to ensure trades align with the broader market direction.
Entry Model: Upon validation, the script calculates an entry at the close (or optionally at a Fair Value Gap), places a Stop Loss at the sweep extreme, and projects three Take Profit targets based on configurable R:R ratios.
🎨 Visual Guide
The indicator uses a distinct color-coded system to keep the chart clean yet informative:
● Liquidity Levels & Sweeps
Orange/Blue Lines: Represent the PDH (Previous Day High) and PDL (Previous Day Low).
Teal Shaded Zones: Indicate a "Buy-Side Sweep" (Price took highs and rejected).
Red Shaded Zones: Indicate a "Sell-Side Sweep" (Price took lows and rejected).
● Position Management Boxes
When a signal triggers, a structured box appears:
Solid Gray Line: The theoretical Entry Price.
Solid Red Line: The Stop Loss (SL), typically placed at the swing high/low of the sweep.
Dashed Blue Lines: Represent TP1, TP2, and TP3 targets based on Reward-to-Risk settings.
Labels: Data tags on the right side of the box show exact price coordinates for Entry, SL, and Targets.
● Signals & Clouds
Green "BUY" Labels: Appear below the bar when a bullish sweep and structural shift are confirmed.
Red "SELL" Labels: Appear above the bar when a bearish sweep is validated.
Yellow Clouds: Highlight Fair Value Gaps (FVG) used for entry confluence or retests.
● Multi-Timeframe (MTF) Dashboard
A panel (default: Top Right) displays the status of up to three higher timeframes.
Trend: Shows "BULL" or "BEAR" based on EMA alignment.
Liquidity: Indicates if the timeframe is "Taking Buy Liq", "Taking Sell Liq", or "Inside Range".
📖 How to Use
● Bullish Reversal Setup
Wait for price to drop below the Blue PDL Line.
Look for a Red Sell-Side Sweep Zone to form, indicating price has rejected lower prices.
Wait for the Green BUY Signal . This confirms a shift in structure (CISD) back to the upside.
Observe the Position Box. If the Risk/Reward is favorable (targets are within reasonable reach), consider the trade.
Optional: Use the "Dynamic Targets" setting to target the previous swing high instead of a fixed ratio.
● Bearish Reversal Setup
Wait for price to rally above the Orange PDH Line.
Look for a Teal Buy-Side Sweep Zone .
Wait for the Red SELL Signal confirming the rejection.
Ensure the dashboard shows alignment (e.g., Higher Timeframe Trend is Bearish) for higher probability.
● Trade Management
Enable the "ATR Trailing Stop" in settings to have the Stop Loss line dynamically adjust as price moves in your favor, locking in potential gains.
⚙️ Inputs and Settings
● General & Display
Show Daily Liquidity: Toggles the PDH/PDL lines.
Max Signals/Zones: Limits the visual clutter by restricting historical shapes.
● Detection Logic
Swing Detection Length: Controls the sensitivity of pivot points. Higher numbers = fewer, more significant swings.
CISD Window: How many bars after a sweep are allowed for the structure shift to occur.
Use FVG Entry: If true, the signal waits for a retest of a gap rather than entering immediately at the close.
● Filters
Volume (RVOL): Requires the sweep candle volume to be X times larger than average.
Trend Filter: Only allows Buy signals above the EMA and Sell signals below it.
Session Filter: Restricts signals to specific hours (e.g., New York Killzone).
● Targets & Management
Target R:R: Sets the multiplier for TP1, TP2, TP3 relative to the stop loss distance.
Use Dynamic Targets: Targets structural liquidity (Previous Highs/Lows) instead of fixed math ratios.
ATR Trailing Stop: Activates the trailing stop mechanism.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
This indicator is grounded in the principles of Market Microstructure and Mean Reversion theory .
1. Liquidity Pools & Stop Runs:
Academic literature on market microstructure suggests that order flow clusters around obvious visual references (PDH/PDL). Large market participants often utilize this "resting liquidity" to fill large block orders with minimal slippage. The "Sweep" logic detects this absorption phase.
2. Volatility Breakout vs. Fake-out:
The script differentiates between a genuine breakout and a mean-reverting "fake-out" by analyzing the Close relative to the Range . A close back within the prior day's range after a breach signifies a failure of auction in the new territory, statistically increasing the probability of a reversion to the mean (equilibrium).
3. Momentum Validation (RSI & RVOL):
By integrating Relative Volume (RVOL) and RSI, the script applies statistical significance testing to the price action. High volume at a range extreme without price progress (the sweep) indicates "Stopping Volume" or absorption, a key concept in Volume Spread Analysis (VSA).
🙏 Gratitude
I would like to express my gratitude to harry040708 for sharing the insightful idea that made this script possible.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. I expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion.
FVG Candle - Auto Threshold + MitigationFVG Candle (MTF) is a clean and lightweight Fair Value Gap indicator designed for traders who want a structured and non-repainting view of imbalance zones across timeframes.
This script focuses on clarity, mitigation logic, and multi-timeframe consistency, making it suitable for discretionary trading and market structure analysis.
🔹 Key Features
Detects Bullish and Bearish Fair Value Gaps
Multi-Timeframe (MTF) FVG detection
Automatic volatility-based threshold
Split-box visualization for clearer imbalance structure
Automatic mitigation detection and cleanup
Optional bar-based extension
Built-in alerts for new FVG formation
Non-repainting by default
🔹 What Makes This Script Different
Uses a controlled MTF workflow to avoid unnecessary repainting
Automatically removes mitigated gaps to keep the chart clean
Visual split of FVG zones improves precision when interacting with price
Designed to be lightweight and readable, avoiding chart clutter
🔹 Repainting Notice
By default, this script does NOT repaint.
An optional repainting mode is available for study and visualization purposes only.
When enabled, historical FVGs may adjust as higher timeframe candles complete.
🔹 How to Use
Use FVGs as reaction zones, not direct entry signals
Combine with market structure, liquidity, or volume
Bullish FVGs may act as demand zones
Bearish FVGs may act as supply zones
Mitigated FVGs are automatically removed
🔹 Credits
The Fair Value Gap concept and core detection logic are inspired by
Smart Money Concepts .
This script is distributed under the CC BY-NC-SA 4.0 license, with proper attribution.






















